You are on page 1of 50

CARRERA: INGENIERA EN INFORMTICA.

ASIGNATURA: FUNDAMENTOS DE PROGRAMACIN.

ALUMNO: JESSICA ROBLES GUERRERO.

GRUPO: 6151.

FECHA: 10 de enero de 2012.

PROFESOR: Axel Alcal Bucio.

EJERCICIO 1
DESCRIPCIN DEL PROBLEMA. La temperatura es una medida de concentracin o intensidad de energia calorfica en un cuerpo. Existen 4 escalas para medir la temperatura: Fahrenheit, Celsius, Kelvin y Rankin. Muchos experimentos de laboratorio requieren la conversin de una escala a otra. Por ejemplo, para convertir a Fahrenheit a Celsius, se restan 32 grados de la temperatura de Fahrenheit y la diferencia se multiplica por 5/9; para convertir de Celsius a Kelvin, se le suman 273 grados a la temperatura en Celsius; y para convertir de Fahrenheit a Rankin, se le suman 460 grados a la temperatura en Fahrenheit. Hacer un programa que calcule e imprima el equivalente de una temperatura en Fahrenheit en las otras tres medidas. ANLISIS DEL PROBLEMA. Datos de entrada: F Datos de salida: K, C, R Datos auxiliares: C: F 32 (5/9) R: F + 460 K: [(5/9) F 32] + 273 PSEUDO-CODIGO INICIO DECLARAR K, C, R, F (REALES) MOSTRAR DAME F ALMACENAR F CALCULAR C: F 32 (5/9) MOSTAR C CALCULAR R: F + 460 MOSTAR R CALCULAR K: [(5/9) F 32] + 273 MOSTAR K FIN

DIAGRAMA DE FLUJO INICIO K: 0 C: 0 R: 0 F: 0 DAME F F

C : F 32 C R : F + 460 R K [(5 /9) F -32] + 273 K

FIN PRUEBA DE ESCRITORIO MONITOR "Dame la temperatura en Fahrenheit" R 120 enter 0 0 Conversin a Celsius= 48 580 Conversin a Kelvin= 321 Conversin a Rankin= 580 120 F C 0 MEMORIA K 0 48 321

DIAGRAMA DE CLASE. CONVERSION DE TEMPERATURAS F C K R C=(F-32)*(5/9) K=C+273 R=F+460 input ( ) print ( )

CDIGO EN PHYTON F=0 C=0 K=0 R=0 print 'Dame la temperatura F' F=input ( ) C= (F-32)*(5/9) K=C+273 R=F+460 print 'TF=',F print 'TC=',C print 'TK=',K print 'TR=',R

EJERCICIO 2
DESCRIPCIN DEL PROBLEMA. Nancy presento 4 pruebas finales, siendo sus calificaciones 9.5, 6.8, 9.2 y 8.8 utilizar el modelo de las 6 Ds para desarrollar un programa para calcular e imprimir su promedio de Nancy. Datos de entrada: calificaciones = c1, c2, c3 y c4 Datos de salida: suma de calificaciones=SC, promedio = P Datos auxiliares: SC= c1+ c2+ c3 + c4 P=SC/4 ALGORITMO INICIO c1, c2, c3 y c4, SC, P (Reales) Preguntar dame tus calificaciones Almacenar c1, c2, c3, c4 Calcular SC= c1+ c2+ c3 + c4 Calcular P=SC/4 Mostrar tu promedio es, P FIN PSEUDO-CODIGO INICIO c1, c2, c3 y c4, SC, P (Reales) Mostrar dame tus calificaciones Almacenar c1, c2, c3, c4 Calcular: SC= c1+ c2+ c3 + c4 Calcular P=SC/4 Imprimir tu promedio es, P FIN

DIAGRAMA DE FLUJO

PRUEBA DE ESCRITORIO MONITOR

MEMORIA

DIAGRAMA DE CLASE.

Promedio Nancy
a b c d promedio nombre

promedio=(a+b+c+d)/4

input ( ) print ( )

CDIGO EN PHYTON

a=0 b=0 c=0 d=0 promedio=0 nombre='' print 'Dame primera calificacin' a=input() print 'Dame segunda calificacin' b=input() print'Dame tercera calificacin' c=input() print'Dame cuarta calificacin' d=input() print'Dime t nombre' nombre=input() promedio=(a+b+c+d)/4 print nombre,'tiene',promedio,'de promedio'

EJERCICIO 3
DESCRIPCIN DEL PROBLEMA. Una formula para convertir kilogramos a libras, es P=2.2 (K), donde P son las libras y K los kilogramos. Utilizar el modelo de las 6Ds para desarrollar un programa que solicite una cantidad en kilogramos y la convierta a libras. ANLISIS DEL PROBLEMA. Datos de entrada: Kilogramos = K Datos de salida: libras = P Datos auxiliares: P=2.2 * K ALGORITMO INICIO K, P (Reales) Preguntar kilogramos Almacenar K Calcular P= 2.2 * K Mostrar tu cantidad en libras es, P FIN PSEUDO-CODIGO Prueba de escritorio MONITOR dame el numero de kilogramos 21 enter la cantidad en libras es,46.2 MEMORIA K 0 21 P 0 46.2 INICIO K, P (Reales) Mostrar kilogramos Almacenar K Calcular: P = 2.2 *K Imprimir tu cantidad en libras es, P FIN DIAGRAMA DE FLUJO

DIAGRAMA DE CLASE. LIBRAS P K P=2.2*K input ( ) print ( ) CDIGO EN PHYTON

P=0 K=0 print " kilogramos" K=input( ) P=2.2*K print 'tu cantidad en libras es',P

EJERCICIO 4 DESCRIPCIN DEL PROBLEMA. Hacer un programa que lea 2 nmeros enteros y si el primero es mayor que el segundo que haga una resta y si el segundo es mayor que el primero que haga una suma y si son iguales que lo divida. ANLISIS DEL PROBLEMA. Datos de entrada: a, b (enteros) Datos de salida: resultado = 1, resultado = 2, resultado = 3 Datos auxiliares: Si a > b resultado1 = a-b Si b > a resultado2= a+b Si a=b resultado3= a/b resultado3= 1 PSEUDO-CODIGO INICIO a, b (ENTEROS) MOSTRAR a? ALMACENAR a MOSTRAR b? ALMACENAR b DECIDIR SI a> b resultado1 = 0 resultado1 = a-b MOSTRAR resultado 1 FIN SI a> b resultado2= 0

resultado2= a+b MOSTRAR resultado 2 FIN NINGUNO MOSTRAR 1 FIN

DIAGRAMA DE FLUJO

PRUEBA DE ESCRITORIO
MONITOR a? MEMORIA a b

20 ENTER

b?

20

15

15 ENTER 15

DIAGRAMA DE CLASE.
2 Nmeros enteros resta, suma, divisin. a b if a>b: resultado1=a-b if b>a: RESULTADO2=a+b if a==b: resultado3=a/b input ( ) print ( )

CDIGO EN PHYTON a=0 b=0 print "a?"

a=input ( ) print "b?" b=input ( ) if a>b: resultado1=0 resultado1=a-b print resultado1 if b>a: resultado2=0 RESULTADO2=a+b if a==b: resultado3=0 resultado3=a/b print resultado3

EJERCICIO 5
DESCRIPCIN DEL PROBLEMA Hacer un programa que imprima 5 veces HOLA (CICLO PARA) ANLISIS DEL PROBLEMA. Datos de entrada: c (entero) Datos de salida: HOLA Datos auxiliares: PARA c = 0, 5+1 PSEUDO-CODIGO INICIO c = 0 (entero) PARA c = 0, 5 +1 MOSTRAR c FIN PARA FIN DIAGRAMA DE FLUJO

PRUEBA DE ESCRITORIO

MONITOR HOLA HOLA HOLA HOLA HOLA

MEMORIA c 1 2 3 4 5

DIAGRAMA DE CLASE.

5 veces HOLA (PARA) c


for i in xrange(5): c=+1 print ( ) CDIGO EN PHYTON c=0 for i in xrange(5):

c=+1 print "HOLA"

EJERCICIO 6 DESCRIPCIN DEL PROBLEMA Hacer un programa que imprima 5 veces HOLA (CICLO MQ) ANLISIS DEL PROBLEMA. Datos de entrada: c (entero) Datos de salida: HOLA Datos auxiliares: MQ c< 5 c = c+1
PSEUDO-CODIGO INICIO c= O (entero) MQ c <5 MOSTRAR HOLA CALCULAR c = c+1 FIN MQ FIN

DIAGRAMA DE FLUJO

PRUEBA DE ESCRITORIO MONITOR HOLA HOLA HOLA HOLA HOLA

MEMORIA

c= c+1 c= 0+1 c= c+1 c= 1+1 c= c+1 c= 2+1 c= c+1 c= 3+1 c= c+1 c= 4+1

c 0

1 2 3 4 5

DIAGRAMA DE CLASE.

5 veces HOLA (MQ) c


while c<5: c=c+1 print ( )

CDIGO EN PHYTON c=0 while c<5: c=c+1

print "HOLA" + str(c)

EJERCICIO 7
DESCRIPCIN DEL PROBLEMA Hacer un programa que imprima nmeros del 1 al 10 (CICLO PARA) ANLISIS DEL PROBLEMA. Datos de entrada: c (entero) Datos de salida: c+1 Datos auxiliares: PARA c= 0, 10, +1 PSEUDO-CODIGO INICIO c = 0 (entero) PARA c= 0, 10, +1 MOSTRAR c+1 FIN PARA FIN

DIAGRAMA DE FLUJO

PRUEBA DE ESCRITORIO MONITOR 1 2 3 4 5 6 7 8 9 10 MEMORIA c 0 1 2 3 4 5 6 7 8 9 10

DIAGRAMA DE CLASE.

Nmeros 1 al 10 (PARA) c
for i in range (c+9): c=c+1 print ( ) CDIGO EN PHYTON c=1 for i in range (c+9):

print c c=c+1

EJERCICIO 8
DESCRIPCIN DEL PROBLEMA Hacer un programa que imprima nmeros del 1 al 10 (CICLO MQ) ANLISIS DEL PROBLEMA. Datos de entrada: c (entero) Datos de salida: c+1 Datos auxiliares: MQ c < 10 c= c +1 PSEUDO-CODIGO INICIO c = 0 (entero) MQ c< 10 MOSTRAR c+1 CALCULAR c = c +1 FIN MQ FIN

DIAGRAMA DE FLUJO

PRUEBA DE ESCRITORIO MONITOR 1 2 3 4 5 6 7 8 9 10 MEMORIA c 0 1 2 3 4 5 6 7 8 9 10

DIAGRAMA DE CLASE.

Nmeros 1 al 10 (MQ) c
while c<=10: c=c+1 print ( ) CDIGO EN PHYTON c=1 while c<=10:

print c c=c+1

EJERCICIO 9
DESCRIPCIN DEL PROBLEMA Hacer un programa que imprima nmeros del 10 al 1 (ciclo PARA) Datos de entrada: c (entero) Datos de salida: c Datos auxiliares: PARA c = 10 , 0 1 PSEUDO-CODIGO
INICIO c = 0 (entero) PARA c = 10, 0 1 MOSTRAR c FIN PARA FIN

DIAGRAMA DE FLUJO

PRUEBA DE ESCRITORIO MONITOR 10 9 8 7 6 5 4 3 2 MEMORIA c 0 10 c 9 c 8 c 7 c 6 c 5 c 4 c 3 c

= = = = = = = =

10 1 91 81 71 61 51 41 31

1 0

2 1

c=21

DIAGRAMA DE CLASE.

Nmeros 10 al 1 (PARA) c
for i in range(10): c=c-1 print ( )

CDIGO EN PHYTON c=10 for i in range(10): print c c=c-1

EJERCICIO 10
DESCRIPCIN DEL PROBLEMA Hacer un programa que imprima nmeros del 10 al 1 (ciclo MQ) Datos de entrada: c (entero) Datos de salida: c Datos auxiliares: MQ c > = 10 c = c -1

PSEUDO-CODIGO INICIO c = 0 (entero) MQ c > = 10 MOSTRAR c CALCULAR c = c -1 FIN MQ FIN DIAGRAMA DE FLUJO

PRUEBA DE ESCRITORIO
MONITOR MEMORIA c 10 9 8 7 6 5 4 3 2 1 0 10 9 8 7 6 5 4 3 2 c=10-1 c=9-1 c=8-1 c=7-1 c=6-1 c=5-1 c=4-1 c=3-1 c=2-1

DIAGRAMA DE CLASE.

Nmeros 10 al 1 (MQ) c
while c>=1: c=c-1 print ( )

CDIGO EN PHYTON c=10 while c>=1: print c c=c-1

EJERCICIO 11
DESCRIPCIN DEL PROBLEMA Hacer un programa que pida un nmero positivo e imprima una serie de ese nmero hasta cero de uno en uno. (Ciclo MQ) ANLISIS DEL PROBLEMA. Datos de entrada: c (entero) Datos de salida: serie de nmeros desde c hasta 1 Datos auxiliares: MQ c > 0 c = c +1 PSEUDO-CODIGO INICIO c = 0 (entero) MOSTRAR c? MQ c > 0 MOSTRAR c CALCULAR c = c +1 FIN MQ FIN DIAGRAMA DE FLUJO

PRUEBA DE ESCRITORIO DIAGRAMA DE CLASE.

Nmeros cualquiera al 1 (MQ) c


while c>0: c=c-1 input ( ) print ( )

CDIGO EN PHYTON c=0 print "c?"

c=input ( ) while c>0: print c c=c-1

EJERCICIO 12
DESCRIPCIN DEL PROBLEMA Hacer un programa que lea dos nmeros enteros y sin multiplicarlos diga si es el producto positivo o negativo. ANLISIS DEL PROBLEMA. Datos de entrada: a, b (enteros) Datos de salida: POSITIVO O NEGATIVO Datos auxiliares: Si a>0 y b>0 POSITIVO Si a<0 y b<0 POSITIVO Si a>0 y b<0 NEGATIVO Si a<0 y b>0 NEGATIVO PSEUDO-CODIGO INICIO a=0 (enteros) b=0 (enteros) MOSTRAR ALMACENAR
MOSTRAR ALMACENAR DECIDIR SI (a>0 y b>0) (a<0 y b<) MOSTRAR POSITIVO FIN SI (a>0 y b<0) (a<0 y b>0) MOSTRAR NEGATIVO FIN NINGUNA "b?" b

"a?" a

MOSTRAR Resultado cero FIN FIN

DIAGRAMA DE FLUJO

PRUEBA DE ESCRITORIO MONITOR "a?" 5 enter b? 5 enter Resultado cero DIAGRAMA DE CLASE.

MEMORIA a 0 5 b 0 5

2 Nmeros enteros positivo negativo

a b if a>0 and b>0 or a<0 and b<0: if a>0 and b<0 or a<0 and b>0:
input ( ) print ( )

CDIGO EN PHYTON a=0 b=0 print"a?" a=input ( ) print"b?" b=input ( ) if a>0 and b>0 or a<0 and b<0: print "POSITIVO" if a>0 and b<0 or a<0 and b>0: print "NEGATIVO" else: print 'Resultado Cero'

EJERCICIO 13
DESCRIPCIN DEL PROBLEMA Hacer un programa que imprima solo nmeros pares del 0 al 100. (Ciclo PARA).Esttico ANLISIS DEL PROBLEMA. Datos de entrada: c (entero)

Datos de salida: serie de nmeros pares de 0 al 100 Datos auxiliares: PARA c=0, 100, +2 PSEUDO-CODIGO INICIO c= 0 (entero) PARA c=0, 100, +2 MOSTRAR FIN PARA FIN DIAGRAMA DE FLUJO c

PRUEBA DE ESCRITORIO MONITOR 1 2 3 4 MEMORIA C 0 1 2

5 6 7 8 9. 99 100

3 4 5 6 7 8 9 99

DIAGRAMA DE CLASE.

Nmeros pares del 0 al 100 (PARA) c


for i in xrange(50): c=c-1 print ( )

CDIGO EN PHYTON c=0 for i in xrange(50): c=c+2 print c

EJERCICIO 14
DESCRIPCIN DEL PROBLEMA Hacer un diagrama de flujo que pida un nmero inicial el incremento y el nmero final. (DINAMICO). ANLISIS DEL PROBLEMA. Datos de entrada: a, b, c (enteros) Datos de salida: a Datos auxiliares: a= a+b PSEUDO-CODIGO INICIO

a= 0 (entero) b=0 (entero) c=0 (entero) MOSTRAR Dame el numero inicial ALMACENAR a MOSTRAR Cunto se va a incrementar? ALMACENAR b MOSTRAR Hasta dnde se tiene que llegar? ALMACENAR c MQ a<c MOSTRAR a CALCULAR a=a+b FIN MQ FIN

DIAGRAMA DE FLUJO

PRUEBA DE ESCRITORIO MONITOR MEMORIA

Dame el numero inicial c 3 enter 17 Cunto se va a incrementar? 5 enter Hasta dnde se tiene que llegar? 17 enter 3 8 13 18 DIAGRAMA DE CLASE.

a 3 8 13

b 5

Nmero inicial incremento y el nmero final (CONTADORES) (DINAMICO) a b c


while a<c: a=a+b input ( ) print ( )

CDIGO EN PHYTON a=0 b=0 c=0 print "Dame el numero inicial" a=input ( )

print "Cunto se va a incrementar?" b=input ( ) print "Hasta dnde se tiene que llegar?" c=input ( ) while a<c: print a a=a+b

EJERCICIO 15
DESCRIPCIN DEL PROBLEMA Hacer un diagrama de flujo de un programa que muestre la tabla de multiplicar del 7. (CICLO PARA) (ESTATICO). ANLISIS DEL PROBLEMA. Datos de entrada: a, b, c (enteros) Datos de salida: La tabla de multiplicar del 7 1*7=7 2*7=14 3*7=21. 10*7=70 Datos auxiliares: PARA a=1, 11, +1 c=a*b PSEUDO-CODIGO INICIO a= 0 (entero) b=0 (entero) c=0 (entero) b=7 PARA a=1, 11, +1

CALCULAR c=a*b MOSTRAR a,*,b,=,c FIN PARA FIN DIAGRAMA DE FLUJO

PRUEBA DE ESCRITORIO Monitor 0*7=0 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 8*7=56 9*7=63 10*7=70

Memoria a 1 2 3 4 5 6 7 8 9 10 b 7 7 7 7 7 7 7 7 7 7 c 0 7 14 21 28 35 42 49 56 63 70

DIAGRAMA DE CLASE.

Tabla de multiplicar del 7 ( PARA) (CONTADORES) (ESTATICO) a b c b=7


rango=range(1,11) for a in rango : c=b*a print ( )

CDIGO EN PHYTON a=0 b=0 c=0 b=7

rango=range(1,11) for a in rango : c=b*a print b,"*",a,"=",c

EJERCICIO 16
DESCRIPCIN DEL PROBLEMA Hacer un diagrama de flujo de un programa que muestre la tabla de multiplicar del 1 al 10 con solo dos variables. (CICLO PARA) (DINAMICO). ANLISIS DEL PROBLEMA. Datos de entrada: a, b, (enteros) Datos de salida: La tabla de multiplicar del 1 al 10 Datos auxiliares: PARA a=1, 11, +1 a*b PSEUDO-CODIGO INICIO a= 0 (entero) b=0 (entero) PARA a=1, 11, +1 MOSTRAR Tabla del ,a,: FIN PARA PARA b=1, 11, +1 MOSTRAR a,*,b,=a*b FIN PARA FIN

DIAGRAMA DE FLUJO

PRUEBA DE ESCRITORIO MONITOR MEMORIA

La tabla del 1: 1*1=1 1*2=2 1*3=3. La tabla del 2: 3 2*1=2 2*2=4 2*3=6. 3. La tabla del 10: 10*1=10 10*2=20 3 10*3=30 10 10*10=100 DIAGRAMA DE CLASE.

a 0 1 1 1 2 2 2 10 10 10 10

b 0 1 2

1 2

1 2

Tabla de multiplicar del 1 al 10 con solo dos variables (PARA) (CONTADORES) (DINAMICO) producto factor elemento
rango=range(1,11) for a in rango : producto=factor * elemento input ( ) print ( )

EJERCICIO 17 DESCRIPCIN DEL PROBLEMA (CICLO MQ) (ACUMULADORES) (ESTATICO). ANLISIS DEL PROBLEMA. Datos de entrada: x, c=97 (enteros) Datos de salida: x+c Datos auxiliares: MQ c<100 PSEUDO-CODIGO INICIO c=97 (entero) x= 0 (entero) MQ c<100 CALCULAR x=x+c CALCULAR c=c+1 FIN MQ MOSTRAR c,,,x FIN DIAGRAMA FLUJO DE

PRUEBA DE ESCRITORIO MONITOR 100 , 294 MEMORIA c x 97 98 99 100 0 97 195 294

DIAGRAMA DE CLASE.

(ACUMULADOR) (ESTATICO) c=97 x


while c<100: x=x+c c=c+1 print ( )

CDIGO EN PHYTON c=97 x=0 while c<100: x=x+c c=c+1

print c,',',x

EJERCICIO 18
DESCRIPCIN DEL PROBLEMA (CICLO MQ) (ACUMULADORES) (DINAMICO). ANLISIS DEL PROBLEMA. Datos de entrada: c,x,a (enteros) Datos de salida: c-a Datos auxiliares: MQ c<x PSEUDO-CODIGO INICIO c=0 (entero) x= 0 (entero) a=0 (entero) MOSTRAR c,x?

ALMACENAR c,x MQ c<x CALCULAR a=a+c CALCULAR c=c+1 FIN MQ MOSTRAR c,-,a FIN DIAGRAMA DE FLUJO

PRUEBA DE ESCRITORIO MONITOR c,x? 13 enter 17 enter 17 - 58 MEMORIA c 13 14 15 16 17 x 17 a 13 27 42 58

DIAGRAMA DE CLASE.

CICLO MQ) (ACUMULADORES) (DINAMICO) c x a


while c<x:

a=a+c c=c+1 input ( ) print ( )

CDIGO EN PHYTON c=0 x=0 a=0 print 'c,x?' c=input ( ) x=input ( ) while c<x: a=a+c c=c+1 print c,'-',a

EJERCICIO 19
DESCRIPCIN DEL PROBLEMA Hacer un Programa que imprima Positivo si es mayor que cero, que imprima Negativo si es menor a cero y que imprima Cero si ninguna de las dos anteriores se cumplen. (Dinmico) ANLISIS DEL PROBLEMA. Datos de entrada: a (entero) Datos de salida: a Positivo Negativo Cero Datos auxiliares: SI a>0 a Positivo Si a<0 a Negativo

Ninguno Cero

PSEUDO-CODIGO INICIO a =0 (entero) MOSTRAR ALMACENAR DECIDIR SI a>0 MOSTRAR Positivo FIN SI a<0 MOSTRAR Negativo FIN NINGUNA MOSTRAR Cero a? a

FIN

DIAGRAMA DE FLUJO

PRUEBA DE ESCRITORIO

MONITOR a? -7 enter -7 Negativo a? 10 enter 10 Positivo a? 0 enter 0 Cero

MEMORIA a 0 -7 10 0

DIAGRAMA DE CLASE. NEGATIVO, POSITIVO, CERO. a if a>0: if a<0: if a==0: input ( ) print ( )

CDIGO EN PHYTON
a=0 print "a?" a=input ( ) if a>0: print "Positivo" if a<0: print "Negativo" if a==0:

print "Cero"

You might also like