miércoles, 12 de marzo de 2008

Diagramas de flujo

1.- Hacer un diagrama de flujo que calcule la suma de los números impares que están entre 1000 y 5000


Observaciones.

a) La suma que se debe calcular es: 1001 + 1003 + 1005 + ............... + 4999

b) La variable I es la que va tomando los valores: 1001, 1003, 1005, ..........., 4997, 4999

c) Cada valor que va tomando la variable I se va sumando a la variable SU, y se deja en la variable SU.

d) La condición I<=4999 puede quedar I<=5000, y da lo mismo. También puede quedar I>=4999, o, I>=5000; en cuyo caso cambia la posición de las salidas SI, NO.

e) La condición de término es que I sea mayor que 4999. Este diagrama tiene 1 ciclo


un diagrama de flujo que calcule la suma y el promedio de los números pares menores o iguales que un número K que lee al comienzo.




Observaciones Ejemplo 2

a) Variables usadas : 5

K

SU

I

CO

PR

b) La suma a calcular es: 2 + 4 + 6 + ... + K, (K-1). Será hasta K si K es par, y será hasta K-1 si K es impar.

c) En la variable I se van formando los números pares que se van sumando a la variable SU y el resultado se deja en SU. La variable CO lleva la cuenta de cuantos números pares se han sumado.

d) Si el número K que lee es el 5, se imprimirá:

suma = 6

prom = 3

e) Si lee el número 5 para K, ¿Cuántas instrucciones ejecuta el computador?

RESP. Son 15; incluida PARE y no incluida INICIO.

a) La condición de término es I > N , o, I = N

b) Hay una instrucción de lectura, 3 instrucciones de impresión, 2 rombos de decisiones, y, se usan 3 variables y 3 constantes.

c) Si el N leído es número 3, sale a impresión:

3 factorial es : 6

3 es impar

d) Si el N leído es número 3, ¿Cuántas instrucciones se ejecutan en el computador?

( RESP. Son 22, incluida la instrucción PARE y no incluida INICIO.)

Lea dos números N y M, luego calcule la suma y el promedio de los múltiplos de 5 que están entre ellos, incluidos N y/o M si es que son múltiplos de 5.




Observaciones Ejemplo 5

a) Variables usadas : 6

N

M

SU

I

CO

PR

b) En la variable I se forman los múltiplos de 5 y cuando son mayores que N los suma a SU y aumenta en 1 la variable CO. Esta variable CO lleva la cuenta de los múltiplos de 5 sumados.

c) Por ejemplo, si los números leídos son N=21 y M=37, calcula la suma: 25 + 30 + 35 = 90, y PR= 90/3, saliendo a impresión:

suma = 90

promed. = 30

d) Por ejemplo, Si los números leídos son N = 21, M = 24 el programa calcula: SU = 25, y PR = 25. Se puede mejorar este programa de modo que en casos como éste, diga que no hay múltiplos de 5 entre N y M. ¿Cómo lo haría?

e) Se puede eliminar el uso de la variable PR, dejando el cuociente en I por ejemplo, ya que I no se ocupa al final del programa. Naturalmente la instrucción de impresión debe quedar:




.- Lea N y calcule el valor de la siguiente sumatoria:


Observaciones Ejemplo 6

a) Variables usadas : 4

N

SU

FA

I

b) La variable I toma los valores 2, 3, 4, ......, N y en FA se forman los factoriales: 2!, 3!, 4!, ......, N!.

c) La variable SU se inicializó en 2 para que contenga los 2 primeros términos de la suma, y con I = 2 calcula el tercer término de la sumatoria.

d) El valor de la sumatoria N cada vez mayor debe tender al valor: 2.71828 que es el valor de la constante matemática e.

e) Para N grande como 40, 70, 110 o más, la lógica del programa esta bien, pero la capacidad de almacenamiento de las variables se sobrepasa, produciéndose lo que se llama "overflow" o "rebalse" de una variable. En este programa se rebalsará la variable FA.

f) Si lee al comienzo N <= 0, N=1, o, N=2, el programa imprime:

Para N = ...... (ahí anotar el valor N leído)

La suma = 2.50

g) Para N = 32 se obtiene la mayor exactitud en los microcomputadores que tienen un BASIC con variables reales de precisión simple con capacidad de 1038. Este número N, de la mayor exactitud sin que se produzca rebalse. Esto depende de la versión del lenguaje BASIC que se éste usando.

7.- Distancia a un punto lejano

Desde una camioneta que avanza por una carretera recta se descubre un cierto puesto de vigilancia forestal, digamos punto P. Cuando se desplaza con velocidad uniforme, se mide el ángulo de observación de P en 2 oportunidades: O1 y O2, manteniendo su rumbo y velocidad VE.

Teniendo el tiempo T entre las observaciones O1, O2 y los dos ángulos B1, B2 bajo los cuales vio el punto P en tierra, se calcula a que distancia X se encuentra P en el momento de la segunda observación, la mínima distancia Y a que se pasará de P (o ya se pasó), y la distancia D que se recorrió entre las 2 observaciones O1, O2.




1. Las instrucciones que se ocupen en un programa deben ser:

· Conocidas

· Precisas, no ambiguas.

Si se ocupa una instrucción no conocida el programa se cancelará, y el Sistema Operativo enviará un mensaje relativo a la situación desconocida que se le presentó al programa mientras este corría.

Si alguna instrucción no es precisa, el programa estará malo y obviamente no correrá bien.

El siguiente diagrama presenta un flujo ambiguo en uno de sus pasos.





2.




http://www.mis-algoritmos.com/images/stories/sum_of_first_50_natural_numbers.jpg

http://bp2.blogger.com/_pMJVbjY_KV4/RpxBAUgj0UI/AAAAAAAAAEk/HkYMNAO7yZQ/s320/ejemplo31.JPG

Imagen:DiagramaFlujoLampara.svg

Problemas Secuenciales

1) Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganara después de un mes si el banco paga a razón de 2% mensual.

Inicio

Leer cap_inv

gan = cap_inv * 0.02

Imprimir gan

Fin

2) Un vendedor recibe un sueldo base mas un 10% extra por comisión de sus ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones.

Inicio

Leer sb, v1, v2, v3

tot_vta = v1 + v2 + v3

com = tot_vta * 0.10

tpag = sb + com

Imprimir tpag, com

Fin

3) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto deberá pagar finalmente por su compra.

Inicio

Leer tc

d = tc * 0.15

tp = tc - d

Imprimir tp

Fin

4) Un alumno desea saber cual será su calificación final en la materia de Algoritmos. Dicha calificación se compone de los siguientes porcentajes:

55% del promedio de sus tres calificaciones parciales.

30% de la calificación del examen final.

15% de la calificación de un trabajo final.

Inicio

Leer c1, c2, c3, ef, tf

prom = (c1 + c2 + c3)/3

ppar = prom * 0.55

pef = ef * 0.30

ptf = tf * 0.15

cf = ppar + pef + ptf

Imprimir cf

Fin

5) Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.

Inicio

Leer nh, nm

ta = nh + nm

ph = nh * 100 / ta

pm = nm * 100 / ta

Imprimir ph, pm

Fin

6) Realizar un algoritmo que calcule la edad de una persona.

Inicio

Leer fnac, fact

edad = fact - fnac

Imprimir edad

Fin.

Problemas Propuestos

1) Dada un cantidad en pesos, obtener la equivalencia en dólares, asumiendo que la unidad cambiaría es un dato desconocido.

2) Leer un numero y escribir el valor absoluto del mismo.

3) La presión, el volumen y la temperatura de una masa de aire se relacionan por la formula:

masa = (presión * volumen)/(0.37 * (temperatura + 460))

4) Calcular el numero de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, si la formula es:

num. pulsaciones = (220 - edad)/10

5) Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.

1 comentario:

lebron dijo...

necesito un diagrama para un programa que lea un archivo en disco los registro de los estudiante de una universidad. determine y luego imprima el numero de estudiantes matriculados, organizados por carreras y sexo, considerando 7 carreras y el total de estudiantes matriculados en las 7 carreras gracias