Está en la página 1de 19

Universidad Nacional Autnoma de Mxico Facultad de Ingeniera

Equipo 13

Prctica 8 Diseo de Programas Parte 1


ALGORITMO: 1.- Es una secuencia de pasos o procesos lgicamente relacionados entre s a fin de obtener la solucin a un problema planteado. 2.- Es una lista de instrucciones para efectuar paso a paso un proceso. 3.- Conjunto FINITO de pasos o instrucciones, seguidas en un orden lgico, los cuales nos llevan a la solucin de un problema especfico. 4.- Una serie de instrucciones colocadas en cierta secuencia, necesarias para la descripcin de las operaciones que llevan a la solucin de un problema. 5.- Es un procedimiento completo para resolver un problema especfico en un nmero FINITO de pasos. 6.- Es un mtodo para resolver un problema mediante una serie de datos precisos, definidos y finitos.

[18/10/11]

1.- Medir Clculo de los salarios mensuales de los empleados de una empresa, sabiendo que stos se calculan con base en las horas semanales trabajadas y de acuerdo a un precio especificado por horas. Si se pasan de cuarenta horas semanales, las horas extraordinarias se pagarn a razn de 1.5 veces la hora ordinaria. 1. 2. 3. 4. 5. Inicio. Leer el valor empleado. Leer el valor de horas. Leer el valor de precioxhora. Si la cantidad de horas trabajadas es igual o menor a 40, realizar s=(h)(precioxhora). En caso contrario, ir a 6. 6. Si la cantidad de horas trabajadas es mayor que 40, realizar salario=[(40)(precioxhora)]+[(1.5)(precioxhora)(hora s-40)]. 7. Fin. Dados matrcula=empleado1, horas=41 y precio hora=30 1. 2. 3. 4. 5. 6. Inicio. matrcula=empleado1. horas=41 precio hora=30 horas40? NO, ir a 6. horas>40? S. salario=[(41)(30)]+[(1.5)(30)(4140)]=1275 7. Fin.

Inicio

Leer empleado, horas, precioxhora

SI

Horas <=40

NO

Salario horas*precioxhora

Salario 40*precioxhora +1,5*precioxhora* (horas-40)

Imprimir Salario

Pgina

Fin

3.-Calcular el rea de un crculo a partir de su radio. (Usar A=r^2). 1. 2. 3. 4. 5. 6. 7. INICIO Ingrese valor r Leer valor r Si r>0 realizar r*r*3.1416 Imprimir resultado Si r<0 mostrar valor invalido FIN INICIO

r : Real

Ingrese Base

Pruebas de escritorio 1. 2. 3. 4. 5. 6. 7. 1. 2. 3. 4. 5. 6. 7. INICIO Ingrese valor r (r=5) Leer valor r Si r>0 realizar 5*5*3.1416 Imprimir resultado 78.54 Si r<0 mostrar valor invalido FIN INICIO Ingrese valor r (r=-10) Leer valor r Si r>0 realizar r*r*3.1416 Imprimir resultado Si r<0 mostrar valor invalido FIN Leer Base V r>0 F

El radio es r*r*3.1416

Radio invalido

FIN

Pgina

5.- Calcular la superficie de un cilindro a partir del radio de la base y la altura. (Hacer uso de la frmula S=2rh+2r^2). Algoritmo 1. 2. 3. 4. 5. 6. Inicio Introducir un valor de r; r debe pertenecer a los nmeros reales y r es el radio. Proporcionar un valor h para la altura; h debe pertenecer a los nmeros reales. Sustituir los valores de r y h en la frmula Superficie=2rh + 2r2 Imprimir valor de la superficie Fin

Inicio

Radio= r

Altura=h

Prueba de escritorio 1. 2. 3. 4. 5. 6. Inicio r=5 h=10 S= 25*10 + 2(5)2 Superficie es 314.16 Fin

S= 2rh + 2r2

La superficie es S

Fin

Pgina

7.-Dado un valor de velocidad medido en kilmetros/hora convertirlo a metros/segundo. 1. 2. 3. 4. Inicio. Ingresar el valor de v. Leer el valor de v. Si v no pertenece a los Reales, regresar al paso 2, de lo contrario ir al paso 5. 5. Realizar V = v/(3.6) 6. Fin.
INICIO

Ingresar el valor de v

Prueba de escritorio: Dado el valor v = 100 Km/h 1. 2. 3. 4. 5. Inicio v = 100 v pertenece a los Reales? S. Al paso 4. V = 100/3.6 = 27.77777 m/s Fin.

Leer el valor de v

F
v pertenece a los Reales

Dado el valor v = 230 km/h 1. 2. 3. 4. 5. Inicio v = 230 km/h v pertenece a los Reales? S. Al paso 4. V = 230/3.6 = 63.88888888 m/s Fin.
Realizar V = v/(3.6) Imprimir V

Pgina

FIN

9.-Calcular la distancia entre dos puntos. (Sea P1(A1, B1) y P2(A2, B2), hacer uso de D = (A1A2 )2 + (B1B2 )2 ) 1. 2. 3. 4. 5. 6. Inicio Leer valores de P1(a1, b1) y P2(a2, b2). Restar a2 de a1 y multiplicar el resultado por s mismo. Restar b2 de b1, multiplicar el resultado por s mismo y sumarlo con el resultado del punto 3. Obtener la raz cuadrada de la suma anterior. Fin

Inicio

Ingresar P1 = (a1, b1) y P2 = (a2, b2)

(a2-a1)2 + (b2-b1)2
Prueba de escritorio:

1. 2. 3. 4. 5. 6. 7.

Inicio P1=(2, 1) , P2=(1,3) (a2-a1)2= -1*-1 = 1 (b2-b1)2= 2*2 = 4 1+4=5 D = Sqrt[5] Fin

(a2 a1)2 + (b2 b1)2

La distancia es D

Fin

Pgina

11.- Imprimir el primer digito de un numero: p.e.645, imprime 6. INICIO 1. 2. 3. 4. 5. 6. 7. 8. INICIO Ingrese un nmero n Leer valor n Ingrese el nmero de dgitos del nmero Leer b Si b>0 imprimir ' El primer dgito es ', trunc (n/10^(b-1)) Sino imprimir ' valor invalido de b ' FIN

n, b : Real

Ingrese un nmero n

Pruebas de escritorio 1. 2. 3. 4. 5. 6. 7. 8. INICIO Ingrese un nmero n=-523854 Leer valor n Ingrese el nmero de dgitos del nmero b=6 Leer b Si b>0 imprimir 'El primer dgito es',trunc(523854/10^(6-1))=5 Sino imprimir ' valor invalido de b ' FIN

Leer n

Ingrese el nmero de dgitos de n Leer b V b>0 F

Pgina

9. INICIO 10. Ingrese un nmero n=3523212 11. Leer valor n 12. Ingrese el nmero de dgitos del nmero b=-7 13. Leer b 14. Si b>0 imprimir ' El primer dgito es ', trunc (n/10^(b-1)) 15. Sino imprimir ' valor invalido de b ' 16. FIN

El primer dgito es trunc (n/10^(b-1))

Valor invalido de b

FIN

13.- Imprime el ltimo digito de un nmero: p.e. 456, imprime 6 1. 2. 3. 4. 5. 6. Inicio Ingresar un numero N Leer N Numerar dichos dgitos de 1 hasta M de derecha a izquierda, donde M es el ultimo digito del nmero N Imprimir el numero que se sita en el primer digito Fin

Inicio

Leer N

Prueba de escritorio

Asignar nmeros del 1 a M de izquierda a derecha de acuerdo al nmero de dgitos de N


1. 2. 3. 4. 5. 6. 7. Inicio N = 6245 Leer 6245 N = 6245, asignando nmeros a dichos dgitos, queda 6=4, 2=3, 4=2 y 5=1 Imprimir 5 Fin

Tomar el nmero asignado al digito 1

Imprimir el digito 1

Fin

Pgina

15.- Leer dos nmeros y verificar si el primero es mltiplo del segundo.


INICIO

1. 2. 3. 4. 5. 6.

. Inicio Ingresar los valores de x y de z Leer los valores de x y de z Realizar a = x/z Si a = entero, x es mltiplo de z. En caso contrario, x no es mltiplo de z. Fin

Ingresar los valores de x y de z

Prueba de escritorio Dados los valores x = 2 y z = 98 1. 2. 3. 4. 5. Inicio x = 2 y z = 98 a = 2/98 = 0.020408163264128 0.020408163264128 = entero? No. x no es mltiplo de z. Fin.
x s es mltiplo de z

Leer los valores de x y de z

Realizar a = x/z

Dados los valores x = 29.38 y z = 7.345


V F x no es mltiplo de z

1. 2. 3. 4. 5.
Pgina

Inicio x = 29.38 y z = 7.345 a = 29.38/7.345 = 4 4 = entero? S. x es mltiplo de z Fin..

a = entero

FIN

17.-Dadas 2 fechas, expresadas como tres nmeros naturales, determinar si la primera es cronolgicamente menor que la segunda. 1. 2. Inicio Ingresar fechas: (D1, M1, A1) y (D2, M2, A2). Nmeros naturales. D1, D2 menores o iguales a 31. M1, M2 menores o iguales a 12. Si A2-A1 es positivo, entonces Fecha1 es menor que Fecha 2. Si es negativo entonces Fecha 2 es menor que Fecha 1. Si A2-A1=0, verificar M2-M1. Si M2-M1 es positivo, entonces Fecha1 es menor que Fecha 2. Si es negativo entonces Fecha 2 es menor que Fecha 1. Si M2-M1=0, verificar D2-D1. Si D2-D1 es positivo, entonces Fecha1 es menor que Fecha 2. Si es negativo entonces Fecha 2 es menor que Fecha 1. Si D2-D1=0, entonces las fechas son iguales. Fin

INICIO

Fechas: Entero, formato D/M/A

Ingrese fechas Error V D<=31, M<=12 F F

3.

Leer fechas

4. 5.

A2-A1>0
F A>C>B B>C F B>A F A>C>B v A>C v B>A>C v V A>B>C

6. 7.

8. 9.

Prueba de escritorio 1. 2. 3. 4. 5. 6. 7. Inicio Fecha1 (21,10,2011) Fecha2 (12, 12, 2011) A2 A1 = 0 M2 M1 = 2 Fecha 1 es menor que fecha 2. Fin

F
C>B F v v C>B>A B>A C>A>B

FIN

Pgina

19.- Leer un nmero y verificar si es positivo, negativo o neutro. 1. 2. 3. 4. 5. 6. 7. INICIO Ingrese un nmero n Leer valor n Si n=0 imprimir nmero neutro si no pasar a 5 Si n>0 imprimir nmero positivo si no pasar a 6 imprimir nmero negativo FIN

INICIO

Ingresar un nmero n

Pruebas de Escritorio 1. 2. 3. 4. 5. 6. 7. 1. 2. 3. 4. 5. 6. 7. INICIO Ingrese un nmero n=-9 Leer valor n Si n=0 imprimir nmero neutro si no pasar a 5 Si n>0 imprimir nmero positivo si no pasar a 6 imprimir nmero negativo FIN INICIO Ingrese un nmero n= 0 Leer valor n Si n=0 imprimir nmero neutro si no pasar a 5 Si n>0 imprimir nmero positivo si no pasar a 6 imprimir nmero negativo FIN
Nmero negativo

Leer n

F V n=0 F V F V Nmero positivo

n>0

Numero neutro

FIN

Pgina

10

21.- Leer un nmero y verificar si es par o impar. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Inicio Introducir A Introducir B Introducir C Introducir D Introducir E Dividir cada uno de los nmeros: A, B, C, D, E entre 2 Si las divisiones resultan un nmero entero, entonces son pares Imprimir los nmeros pares Fin

Inicio

Nmeros A, B, C, D, E

A/2, B/2, C/2, D/2, E/2

Prueba de escritorio S i Imprimir valores que hayan sido enteros

A/2 = entero, B/2 = entero, C/2 = entero, D/2 = entero, e/2 = entero

No

Pgina

1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Inicio A= 7 B= 16 C= 6 D= 3 E= 9 7/2 = 3.5, 16/2 = 8, 6/2 = 3, 3/2 = 1.5, 9/2 = 4.5 8 y 3 son enteros, por lo tanto, 16 y 6 son nmeros pares Imprimir 16, 6 Fin

Fin

11

INICIO

23.- Leer un nmero y verificar si se encuentra entre 10 y 20 1. 2. 3. 4. Inicio Ingresar el valor de x Leer el valor de x Si x pertenece a los reales, ir al paso 5. De lo contrario, regresar al paso 2. 5. Si x >= 10, ir al paso 6. De lo contrario, x no se encuentra entre 10 y 20. 6. Si x <= 20, x se encuentra entre 10 y 20. De lo contrario, x no se encuentra entre 10 y 20. 7. Fin. Prueba de escritorio
x = Real

Ingresar el valor de x

Leer el valor de x

Dado el valor x = 19/2 1. 2. 3. 4. 5. Inicio x = 19/2 x pertenece a los Reales? S. Al paso 4. 19/2 >= 10? No. x no se encuentra entre 10 y 20. Fin.
x se encuentra entre 10 y 20 V x <= 20 V F x >= 10

V F x no se encuentra entre 10 y 20

Dado el valor x = 32.3 1. 2. 3. 4. 5. 6. Inicio x = 32.3 x pertenece a los Reales? S. Al paso 4. 32.3 >= 10? S. Al paso 5. 32.3 <= 10? No. x no se encuentra entre 10 y 20. Fin.

Pgina

12

FIN

25.- Leer 2 nmeros e imprimir el menor. 1. 2. 3. 4. 5. Inicio Leer los valores de A y B. (nmeros distintos entre s) Si A-B es mayor que cero, imprimir A. Si no se cumple la condicin, imprimir B. Fin

Inicio

Nmeros A, B

Prueba de escritorio

No
1. 2. 3. 4. 5. 6. Inicio A=2, B=5 A-B= -3 B-A=3 Imprimir B Fin

A>B

Imprimir B

Si Imprimir A

Fin

Pgina

13

27.- Calcular las soluciones de un polinomio de tercer grado. 1. INICIO 2. Sea la formula ax^3+bx^2+cx+d=0 introducir a, b, c, d 3. Leer a, b, c, d 4. =
(

Pruebas de Escritorio 1. INICIO 2. Sea la formula ax^3+bx^2+cx+d=0 introducir a=1, b=2, c=2, d=5 3. Leer a, b, c, d 4. = 2 15 911 84 5. = 7545554217 + 1 5227944 6. = 7545554217 1 5227944 7. FIN 1. 2. 3. 4. 5. 6. 7. INICIO Sea la formula ax^3+bx^2+cx+d=0 introducir a, b, c, d Leer a=5, b=12, c=9, d=20 = 2 35648 346 = 21759827 4 + 1 3 2679278 = 21759827 4 1 3 2679278 FIN

+
( ( ) (

( ) (

) ( ) ) ) )

5.

=
( ( ( )( )( ( ( ) ) ( ) ( ) ) ) )

6.

= +
( ( ( )( )( ( ( ) ) ( ) ( ) ) ) )

14

1. INICIO 2. Sea la formula ax^3+bx^2+cx+d=0 introducir a=1, b=-2, c=9, d=-18 3. Leer a, b, c, d 4. =2 5. =3 6. = 3 7. FIN

Pgina

7. FIN

INICIO

Sea la formla ax^3+bx^2+cx+d=0 introducir a, b, c, d'

Leer Base

2 ( + 3) 3 (2 + 9 27 + 4( + 3) + (2 + 9 27 ) )

(2 + 9 27 + 4( + 3) + (2 + 9 27 ) ) 32

(1 3)( + 3)

32 (2 + 9 27 + 4( + 3) + (2 + 9 27 ) )
+ (1 3) (2 + 9 27 + 4( + 3) + (2 + 9 27 ) ) 62

+ 3

(1 3)( + 3) 32 (2 + 9 27 + 4( + 3) + (2 + 9 27 ) ) +

FIN

Pgina

62

15

(1 + 3) (2 + 9 27 + 4( + 3) + (2 + 9 27 ) )

29.- Leer 2 nmeros y mostrar la resta del menor menos el mayor. Algoritmo 1. 2. 3. 4. 5. 6. Inicio Introducir A Introducir B Comprobar cul es el menor Imprimir la resta Fin
Inicio

Nmeros A, B

No

Prueba de escritorio 1. 2. 3. 4. 5. 6. Inicio A=4 B=8 4>8, no, por lo tanto 8 >4 Imprimir: 4-8= -4 Fin
Si

A>B

Restar= A-B

Restar= B-A

El resultado es: B-A A-B

Pgina

16

Fin

INICIO

31.- Determinar si un carcter es una vocal o no. 1. 2. 3. 4. Inicio Ingresar el valor de x. Leer el valor de x. Si x = letra, ir al paso 5. En caso contrario, x no es una vocal. 5. Si x = A, x es una vocal. En caso contrario, ir al paso 5. 6. Si x = E, x es una vocal. En caso contrario, ir al paso 6. 7. Si x = I, x es una vocal. En caso contrario, ir al paso 7. 8. Si x = O, x es una vocal. En caso contrario, ir al paso 8. 9. Si x = U, x es una vocal. En caso contrario, x no es una vocal. 10. Fin. Dado el valor x = A 1. 2. 3. 4. 5. Inicio. x=A x = letra? S. Al paso 4. x = A? S. x es una vocal. Fin.
Ingresar el valor de x

Leer el valor de x

x = letra

x = A

F x = E V

F x = I V

Dado el valor x = 2 1. 2. 3. 4. Inicio x=2 x = letra? No. x no es una vocal. Fin.

x = q

F x = U V

FIN

x es una vocal.

Pgina

F x no es una vocal

17

33.- Leer 10 nmeros e imprimir solo los positivos.


Inicio

1. 2. 3. 4. 5. 6.

Inicio Leer los valores de N1, N2,,N10. Si Nx es mayor que cero, escribirlo en Lista1 Si Nx es menor o igual a cero, descartar. Imprimir Lista 1 Fin

Nmeros n1, n2, n3, n4, n5, n6n10

Prueba de escritorio 1. 2. 3. 4. 5. Inicio Ingresar nmeros: 2, 5, 1, -7, -2, 9, -22, 10, 12, -1. 2, 2, 1, 9, 10, 12 son mayores que cero, ingresan a lista 1. Imprimir lista1. Fin
Nx>0

No descartar

Escribir nx el lista 1

Si

Lista 1

Pgina

18

Fin

También podría gustarte