viernes, 16 de octubre de 2009

problema secuenciales

ESTRUCTURA SECUENCIALES

Se caracteriza porque una acción se ejecuta detrás de otra. El flujo del programa coincide con el orden físico en el que se han ido poniendo las instrucciones. Dentro de este tipo podemos encontrar operaciones de inicio/fin, inicialización de variables, operaciones de asignación, cálculo, sumarización, etc. Este tipo de estructura se basa en las 5 fases de que consta todo algoritmo o programa:Definición de variables (Declaración)Inicialización de variables.Lectura de datosCálculoSalida
Ejemplo 1. Se desea encontrar la longitud y el área de un círculo de radio 5.
Solución. El objetivo del ejercicio es encontrar la longitud y el área de un círculo con un radio conocido y de valor 5. Las salidas serán entonces la longitud y el área. (Fase 5 del algoritmo) Sabemos que la longitud de un círculo viene dada por la fórmula 2 * pi * radio y que el área viene dada por pi * radio al cuadrado. (Fase 4 del algoritmo) Si definimos las variables como: (fase 1 del algoritmo)L = Longitud A = área R = radio pi = 3.1416 hagamos el algoritmo:InicioPi ¬ 3.1416 (definición de un valor constante)R ¬ 5 (radio constante ya que es conocido su valor)A ¬ pi * R ^ ² (asignación del valor del área)L ¬ 2 * pi * R (asignación del valor de la longitud)Escribir (A, L) (salida del algoritmo)Fin
Representación en Diagrama de Flujo para el ejemplo:

Representación en Diagrama Nassi Schneiderman:Los problemas secuenciales en diagramas N-S se representan solamente por cajas con líneas horizontales




En este ejercicio no existen datos de entrada ya que para calcular el área y la longitud necesitamos únicamente el radio y el valor de Pi los cuales ya son dados en el problema Modificar el problema anterior para que sea capaz de calcular el área y la longitud de un círculo de cualquier radio requerido.Solución.
El problema es el mismo con la variante de que ahora ya existe un dato de entrada, puesto que el radio puede ser cualquiera y será necesario que el usuario sea quien lo introduzca de teclado. Usando las misma definición de variables tenemos:
Algoritmo: InicioPi ¬ 3.1416 (fase de inicialización)Leer (R) (fase de lectura)Area ¬ pi * R ^ ² (fase de cálculos)L ¬ 2 * pi * REscribir ( A, L ) (fase de salida)Fin
Note que la instrucción de asignación fue cambiada por la instrucción leer. En el flujograma deberán cambiarse también los símbolos que los representan:

Ejemplo 3. Leer el sueldo de tres empleados y aplicarles un aumento del 10, 12 y 15% respectivamente. Desplegar el resultado.Salidas: Sueldos finalesEntradas: Salarios de los empleadosDatos adicionales: aumentos del 10, 12 y 15% Cálculos:Sueldo final = sueldo inicial + aumentoAumento = sueldo inicial * porcentaje/100 Definición de variables:Sf1, Sf2, Sf3 = los sueldos finalesS1, S2, S3 = salarios de los empleadosAum1, aum2, aum3 = aumentos
ALGORITMO InicioLeer (S1,S2,S3)Aum1 ¬ S1 * 0.10Aum2 ¬ S2 * 0.12Aum3 ¬ S3 * 0.15Sf1 ¬ S1 + Aum1Sf2 ¬ S2 + Aum2Sf3 ¬ S3 + Aum3Escribir (SF1,SF2,SF3)Fin

FLUJOGRAMA