Está en la página 1de 37

UNIVERSIDAD NACIONAL AUTNOMA DE MXICO FACULTAD DE INGENIERA

PRACTICA 8: DISEO DE PROGRAMAS PARTE II EQUIPO 10 INTEGRANTES: LPEZ TORRES MARA ESTHER MORALES CALDERN ETHIEL CALDERN RIVERO ESPNDOLA MAURO ALBERTO VILLEGAS MERLOS JESSICA
PROFESOR: RODRGUEZ GMEZ JUAN NGEL

RESUMEN: En esta prctica se continuar con el desarrollo de algoritmos y diagramas de flujo, los cuales mediante de un seguimiento de pasos resolvern una serie de problemas de la ingeniera, solo que estos tendrn una dificultad un poco mayor, debido a que se espera resolver operaciones ms complejas y para ello vamos a hacer uso de otro tipo de estructuras como son las estructuras de repeticin las cuales podran dar la impresin de ser ms complicadas pero al analizar el resultado vemos que hacen que nuestro trabajo sea menor. Al igual que la practica anterior nos apoyaremos mediante una aplicacin llamada DFD, para realizar dichos diagramas de flujo y comprobar si su funcin es la correcta. De los ejercicios propuestos en la prctica, esta vez desarrollaremos los nmeros impares. DESARROLLO: 1.-Calcular la ensima potencia de un nmero, utilizando la operacin producto a) Anlisis del problema -Se necesitan dos valores de entrada, el nmero base (n) y el exponente (k) -Para lograr slo potencias, se lleva a cabo dos filtros, primero, k debe ser mayor que cero; y segundo, k no debe ser fraccionario; ambos se logran utilizando una estructura de repeticin while pidiendo de nuevo el valor de k hasta que cumpla con ser positivo y no fraccionario -Posteriormente se introduce en otra estructura de repeticin, en este caso un For para llevar a cabo el producto de n*n hasta que k=0 que es el nmero de veces que se debe multiplicar n b) Construccin del algoritmo: 1. Inicio 2. Leer n, k 3. Mientras k<0 ir al paso 4, sino ir al paso 7

4. Introduce una potencia positiva 5. Leer k 6. Ir al paso 3 7. p=1 8. x=k MOD 1 9. Mientras x>0 ir al paso 10, de lo contrario ir al paso 13 10. Introduce una potencia no fraccionaria 11. Leer k 12. Ir al paso 9 13. Mientras k>0 ir al paso 14, de lo contrario ir al paso 17 14. p= p*n 15. k=k-1 16. Ir al paso 13 17. Imprimir p 18. Fin c) Prueba de Escritorio: Sea n=3 y k=2 1. Inicio 2. n=3, k=2 3. k<0 Si, Entonces ir al paso 6 7. p=1, x=0 8. x>0 No, Entonces ir al paso 12 12. k>0 Si, Entonces ir al paso 13 13. p=1*3=3 , k=2-1=1 14. Regresar al paso 12 12. k>0 Si, Entonces ir al paso 13 13. p=3*3=9 , k=1-1=0. Ir al paso 12

12. k>0 No, Entonces ir al paso 15 15. Imprimir p=9 16. Fin

a) Anlisis del algoritmo: Como datos de entrada se necesita el valor de los dos nmeros naturales (x) y (y). En las restricciones se observa que los nmeros pueden ser slo naturales. X, Y > 0 Finalmente se obtiene el residuo de la divisin al aplicar la frmula: res = X MOD Y b) Construccin del algoritmo: 1. Inicio 2. Leer nmero (x) y (y) 3. x, y > 0 4. res = X MOD Y 5. res = residuo de la divisin 6. Fin c) Prueba de escritorio Dado los valores X=10 y 1. Inicio Y= 2

2. res = 10/2 3. res = 5 4. Fin

5.- Calcular la suma de los dgitos de un numero natural. Por ejemplo: 1234= 10 1 2

1 2

b) Construccin del algoritmo 1. 2. 3. 4. 5. 6. 7. Inicio Introduce el numero de dgitos Leer n vector(n)=0 x=0 y=0 Para x=1 hasta x=m, con incremento de +1 ir al paso 8, de lo contrario ir al paso 15 8. Ingresa la posicin x 9. Leer vector(x) 10. Mientras vector(x) >10 ir al paso 11, de lo contrario ir al paso 14 11. Introduzca un valor menor a 10 12. Leer vector(x) 13. Ir al paso 10 14. Ir al paso 7 15. Para x=1 hasta x=m, con incremento de +1 ir al paso 16, de lo contrario ir al paso 16 16. y=y + vector(x) 17. Ir al paso 15 18. Imprimir y 19. Fin

c) Prueba de escritorio

Sea n=4; y el numero natural =1234 1. Inicio 2. Introduce el nmero de digitos 3. n=4 4. vector(n)=0 5. x=0 6. y=0 7. Para x=1 hasta x=4 8. Ingresa la posicin x 9. vector(1)=1 10. vector(x) >10 No 14. x=1+1=2, Ir al paso 7 7. Para x=2 hasta x=4 8. Ingresa la posicin x 9. vector(2)=2 10. 2 >10 No 14. x=2+1=3, Ir al paso 7 7. Para x=3 hasta x=4 8. Ingresa la posicin x 9. vector(3)=3 10. 3>10 No

14. x=3+1=4, Ir al paso 7 7. Para x=4 hasta x=4 8. Ingresa la posicin x 9. vector(4)=4 10. 4 >10 No 14. x=4+1=5, Ir al paso 7 7. Para x=5 hasta x=4 ir al paso 15 15. Para x=1 hasta x=4, con incremento de +1 ir al paso 16, de lo contrario ir al paso 18 16. y=0+1=1 17. x=1+1=2, Ir al paso 15 15. Para x=2 hasta x=4, con incremento de +1 ir al paso 16, de lo contrario ir al paso 18 16. y=1+2=3 17. x=2+1=3, Ir al paso 15 15. Para x=3 hasta x=4, con incremento de +1 ir al paso 16, de lo contrario ir al paso 18 16. y=3+3=6 17. x=3+1=4, Ir al paso 15 15. Para x=4 hasta x=4, con incremento de +1 ir al paso 16, de lo contrario ir al paso 18

16. y=6+4=10 17. x=4+1=5, Ir al paso 15 15. Para x=5 hasta x=4, con incremento de +1 ir al paso 16, de lo contrario ir al paso 18 18. Imprimir 10 19. Fin 7.- 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 pagaran a razn de 1.5 veces la hora ordinaria. a) Anlisis del algoritmo: Para resolver el algoritmo se usaran variables para determinar las horas trabajadas, y otra para el pago de los empelados, estos valores no pueden ser negativos, ya que no se mencionan descuentos ni faltas. b) Construccin del algoritmo: 1. Inicio 2. Declarar variable: h=horas, para esto se supone que la horatrabajo est ya fija 3. Leer variables s y h 4. Establecer condicin si h 40, si es cierta ir al paso 6, si no ir al paso 8 5. Operar la hora de trabajo por las horas trabajadas mas 1.5 por las hora de trabajo 6. Operar la hora de trabajo por las horas trabajadas 7. Imprimir salario

8. Fin c) 1. 2. 3. 4. 5. 6. Prueba de escritorio: Inicio H=43 43 40? Si, ir al paso 6 S= hora-trabajo*40+3*1.5*hora trabajo. Imprimir S Fin

9.- Dado un nmero natural y dos valores, i y j, devolver el nmero resultante de intercambiar los dgitos isimo y jsimo del nmero inicial a) Anlisis del problema: - Se necesitan tres valores de entrada, n, i y j; ya que al trabajar con un arreglo llamado vector , es necesario dar a n el nmero de cifras del nmero natural; para tomar a n como el ndice de vector -Para restringir los valores que entran en el arreglo se introduce una condicin para que el nmero introducido sea menor a 10 -Y al final se hace el intercambio con ayuda de una variable auxiliar (aux) de i con j b) Construccin del algoritmo 1. Inicio 2. Introduce el nmero de dgitos 3. Leer n, i, j 4. Declarar el arreglo vector(n) e iniciarlo en 0 5. Iniciar la variable auxiliar x =0 6. Para x=1 hasta x=n con incremento de +1 ir al paso 7, de lo contrario paso 14

7. Ingrese la posicin x 8. Leer vector(x) 9. Si vector(x)>10 ir al paso 10, de lo contrario ir al paso 13 10. Introduzca un valor menor a 10 11. Leer vector(x) 12. Ir al paso 9 13. Ir al paso 6 14. aux=vector(i) 15. vector(i)=vector(j) 16. vector(j)=aux 17. Para x=1 hasta x=n con incremento de +1 ir al paso 18, de lo contrario ir al paso 20 18. Imprimir vector(x) 19. Ir al paso 17 20. Fin c) Prueba de escritorio Sea n=4, i=1, j=2, y el nmero natural=1234 1. Inicio 2. Introduce el nmero de dgitos 3. n=4, i=1, j=2 4. vector(n)=0, x=0 5. Para x=1 hasta x=4 hacer 6. vector(1)=1, 7. 1>10 No, Entonces ir al paso 5 5. Para x=2 6. vector(2)=2,

7. 2>10 No, Entonces ir al paso 5 5. Para x=3 6. vector(3)=3, 7. 3>10 No, Entonces ir al paso 5 5. Para x=4 6. vector(4)=4, 7. 4>10 No, Entonces ir al paso 5 5. x=4 , fin del ciclo, ir al paso 8 8. aux= vector(1)=1 9. vector(1)=vector(2), vector(1)=2 10. vector(2)=1 11. Para x=1 hasta x=4 hacer paso 12 12. vector(1)=2, x=x+1=2 13.Ir al paso 11 11. x=2 hacer paso 12 12. vector(2)=1, x=x+1=3 13.Ir al paso 11 11. x=3 hacer paso 12 12. vector(3)=3, x=x+1=4 13.Ir al paso 11 11. x=4 hacer paso 12 12. vector(4)=4, x=x+1=5 13. x=5, fin del ciclo para, ir al paso 14 14. Fin

a) Anlisis del algoritmo: Establecemos los nmeros enteros n,p,q, Damos la condicin i=1, mientras (i<n), realizamos las operaciones i=i*10;} i=i/10; p=n/i; q=n%10; y si p=q el nmero es capica.

b) Construccin del algoritmo: 1. entero n,p,q,i=1; 2. escribir "Digite un nmero "; 3. leer (n); 4. mientras (i < n){i=i*10;} i=i/10; p=n/i; q=n%10; 5. si (p==q) 6. escribir "El nmero es capica"; sino 7. escribir "El nmero no es capica";

13.- Calcular el rea de un circulo a partir de su radio (usar A= r2)

Anlisis del problema: Tomamos las restricciones, el radio del circulo no puede ser negativo, pues estamos hablando de una distancia. MQ (while) mientras la condicin no se cumpla, el sistema se cierra.

Construccin del algoritmo: 1. 2. 3. 4. 5. 6. 7. Inicio Leer r r >0, si: A = r*r*(3.1416) imprimir A no: volver al paso 2 Fin

Prueba de escritorio: 1. Inicio 2. R = 5 3. 5 > 0

4. A = 25 (3.1416) 5. A= 78.539 6. Fin

15.- Calcular la superficie de un cilindro a partir del radio de la base y la altura. (Hacer uso de la formula S = 2r h + 2r2 ). a) Anlisis del algoritmo: Para realizar este algoritmo es necesario tener la altura y el radio del cilindro y estos deben de ser mayores a cero, ya que no hay radios ni alturas negativas y si son cero no existira figura. b) Construccin del algoritmo: 1. Inicio 2. Leer radio 3. Si el radio >0 ir al paso 4, si no ir al paso 8 4. Leer altura 5. Si la altura >0 ir al paso 6, si no ir al paso 11 6. Calcular la superficie del cilindro con la formula S = 2r h + 2r2 . 7. Imprimir S 8. Repetir valor de r hasta que sea mayor a cero 9. Si el radio es mayor a cero Fin de MQ 10. Si no repetir radio 11. Repetir valor de h hasta que sea mayor a cero 12. Si el radio es mayor a cero Fin de MQ 13. Si no repetir altura 14. Fin c) Prueba de escritorio: Dados los valores r=2 h=7 1. Inicio

2. r = 2 3. r>0? Si, ir al paso 4. h=7 4. h>0? S. Ir al paso 7 5. S= 2r(2)(7) + 2(2)2 6.- S= 113.0973

17.- Dado un valor de velocidad medido en kilmetros/ hora, convertir a metros/segundo. Dado un valor de temperatura medida en grados Centgrados convertir a grados Fahrenheit. a) Anlisis del problema -Para realizar la conversin de km/h a m/s slo hay una variable de entrada para la velocidad (V), y el procedimiento es sencillo, se multiplica la velocidad por 1000 y se divide entre 3600 -Para el problema de la conversin de grados centgrados a grados Fahrenheit se necesita un valor de entrada en grados Celsius C, y aplicar la frmula F=((C*9)/5)+32 b) Construccin del algoritmo 1. 2. 3. 4. 5. 6. Inicio Leer V D=V*1000 M=D/3600 Imprimir M Fin

1. 2. 3. 4. 5.

Inicio Leer C F=((C*9)/5)+32 Imprimir F Fin

c) Prueba de escritorio Sea V=35 Km/h 1. Inicio 2. V=35 3. D=V*1000=35000 4. Imprimir 9.7222 5. M=9.7222 6. Fin Sea C=37 Centgrados 1. Inicio 2. C=37 3. F=((37*9)/5)+32 = 98.6 4. Imprimir 98.6 5. Fin

a) Anlisis del algoritmo: Como datos de entrada se necesita el valor de los dos nmeros naturales (A) y (B). Finalmente se obtiene el residuo de la divisin al aplicar la frmula: R = (A+B)*B^2 b) Construccin del algoritmo: 1. Inicio 2. Leer nmero (A) y (B) 3. R= (A+B)*B^2 4. R = Resultado de la operacin 5. Fin c) Prueba de escritorio Dado los valores A=10 y 1. Inicio 2. R = (A+B)*B^2 3. R = resultado de la operacin 4. Fin B= 2

21.- Leer 5 nmeros dados e imprimir la suma del primero y el quinto, la resta del segundo con el cuarto y la multiplicacin de los cinco. a) Anlisis del problema - Necesitamos 5 variables que reprecentaran 5 numeros que sern operados entre ellos, y otras 3 que reprecentaran el resultado de dichas operaciones. 2 b) Construccin del algoritmo 1) Inicio 2) Leer v, w, x, y, z 3) S = V+Z 4) Imprimir S 5) T = W-Y 6) Imprimir T 7) F=V*W*X*Y*Z* 8) Imprimir F 9) Fin c) Prueba de escritorio 1) Inicio 2) Leer 8, 3, 1, 4, 2 3) S= 8+2 4) Imprimir 10 5) T= 3-4 6) Imprimir -1 7) P=3*8*4*1*2* 8) Imprimir 192 9) Fin
1 1

23.- Leer dos nmeros e imprimir las 4 operaciones fundamentales entre los dos, usando slo una variable auxiliar. (En todo el ejercicio se debe de usar solo 3 variables). a) Anlisis del algoritmo: En este ejercicio se van a usar solamente tres variables, donde dos van a ser de los valores y la otra es de los resultados, la nica condicin es que los valores introducidos sean reales b) Construccin del algoritmo: 1. Inicio 2. Leer a 3. Leer b 4. Realizar X= a+b 5. Imprimir X 6. Realizar X= a-b 7. Imprimir X 8. Realizar X= a*b 9. Imprimir X 10. Realizar X= a/b 11. Imprimir X 12. Fin c) Prueba de escritorio: 1. Inicio 2. Leer 3 3. Leer 2 4. Realizar X= 3+2 5. Imprimir 5 6. Realizar X= 3-2

7. Imprimir 1 8. Realizar X= 3*2 9. Imprimir 6 10. Realizar X= 3/2 11. Imprimir 1.5 12. Fin 25) Leer un nmero y determinar si este es mltiplo de 3. a) Anlisis del algoritmo: Como datos de entrada se necesita el (n). La restriccin es n>0 Tenemos que para todo nmero n dividido entre 3 el residuo es igual a 0 es mltiplo de 3, pero si el residuo es diferente a 0 no lo es.

b) Construccin del algoritmo: 1. Inicio 2. Leer nmero (n), n>0 3. res = n MOD 3 4. res = 0? NO, finalizar programa 5. res= 0? SI ir al paso 6 6. n es mltiplo de tres 5. Fin

c) Prueba de escritorio: Dado los valores n= 9 1. Inicio 2. 0 = 9/3 3. 9 es mltiplo de 3 4. Fin

a) Anlisis del algoritmo: Como datos de entrada se necesita el valor del nmero n. Se pone una condicin a n, si es mayor a 0 es positivo si no lo es negativo. b) Construccin del algoritmo: 1. Inicio 2. Leer nmero (n) 3. n>0 SI = Es positivo 4 n>0 NO = Es negativo 5. Fin c) Prueba de escritorio Dado los valores n= 7 1. Inicio 2. n = 7

3. 7>0 SI = 7 Es positivo 4. Fin

29.- Devolver el dgito menos significativo de un nmero natural Anlisis del problema: Necesitamos encontrar el valor que se ubica en la posicin de las unidades dentro de un numero natural, para esto utilizamos: MOD el cual nos va a dar el residuo de una divisin entre 10, sabiendo que el numero decimal se recorre una pocin hacia la izquierda.

Construccin del algoritmo: 1. 2. 3. 4. 5. Inicio Leer R S = R MOD 10 Imprimir S Fin

Prueba de escritorio: 1. 2. 3. 4. 5. Inicio R = 173562 S = 173562 MOD 10 S=2 Fin

33.- Calcular el nmero de dgitos de un nmero natural. Calcular el dgito isimo de un nmero natural a) Anlisis del problema -Se necesitan dos valores de entrada, el nmero natural a estudiar (n), y el dgito isimo que se busca (i); se divide el nmero entre 10 hasta que el resultado de esta divisin sea >= 1 se detienen las divisiones, y el nmero de divisiones realizadas son el nmero de dgitos del nmero introducido -Para calcular el dgito isimo, simplemente al nmero de dgitos se le resta i; y el resultado es el nmero de veces que se debe de obtener el mdulo de n entre 10, ya que el mdulo representara el valor del dgito isimo. b) Construccin del algoritmo 1. Inicio 2. Leer n; leer i 3. Iniciar un contador (c=0); y una variable auxiliar(h=n) 4. Mientras h>=1 Ir al paso 5, de lo contrario ir al paso 7 5. h=h/10 6. c=c+1 7. Imprimir c 8. i=c-i 9. Mientras i>0 hacer paso 10, de lo contrario ir al paso 12 10. n=n/10-((n MOD 10)/10) 11. i=i-1 12. 12 k=n MOD 10 13. Imprimir k 14. Fin

c) Prueba de escritorio Sea n=1234, i=2 1. Inicio 2. n= 1234, i=2 3. c=0, h=1234 4. 1234>=1 si 5. h=1234/10=123.4 6. c=0+1=1, regresar al paso 4 4. 123.4>=1 si 5. h=123.4/10=12.34 6. c=1+1=2, regresar al paso 4 4. 12.34>=1 si 5. h=12.34/10=1.234 6. c=2+1=3, regresar al paso 4 4. 1.234>=1 si 5. h=1.234/10=.1234 6. c=3+1=4, regresar al paso 4 4. .1234>=1 No 7. numero de dgitos 4 8. i=4-2=2 9. 2>0 si 10. n=(1234/10)-((1234 MOD 10)/10)=123 11. i=2-1=1, regresar al paso 9 9. 1>0 si 10. n=(123/10)-((123 MOD 10)/10)=12 11. i=1-1=0, regresar al paso 9 9. 0>0 no

12. k=12 MOD 10=2 13. el digito isimo es 2 14. Fin

a) Anlisis del algoritmo: Como datos de entrada se necesita el valor de los nmeros n Se establece un ciclo para el residuo de los nmeros de 0 a 4. Se realiza la operacin n MOD 2= res, y si es residuo es igual a 0 es un nmero par, por el contrario n es impar. b) Anlisis del algoritmo 1. Inicio 2. Leer n 3. Establecer ciclo para n de 0 a 4 en intervalos de 1 4. res= MOD 2 5. res= 0 Si entonces n es par 6. res= 0 No entonces n es impar 7. Fin c) Prueba de escritorio Dado los valores n= 7,5.8.10, 2 1. 2. 3. 4. Inicio n = 7,5.8.10, 2 res = (7,5.8.10, 2) MOD 2 res=0

5. 8,10,2 es par 6. Fi 37.- Leer un nmero y verificar si se encuentra entre 10 y 20. Anlisis del problema: El numero a introducir debe ser 10<= K <= 20. De lo contrario se cerrara.

Construccin del algoritmo: 1. 2. 3. 4. 5. 6. 7. 8. Inicio Leer K K >= 10 No(K >= 10): regresar al paso 2 Si: K >=20 Si: Regresar al paso 2 No (K >=20): imprimir K Fin

Prueba de escritorio: 1. Inicio 2. K = 5 3. 5 < 10; regresar al paso 2 4. (paso 2) K= 35 5. 35 > 20; regresar al paso 2 6. (paso 2) K = 12 7. 12 > 10

8. 12< 20 9. K= 12 10. Fin 39.- Leer dos nmeros e imprimir el menor. a) Anlisis del algoritmo: En este problema se necesitan los valores de los dos nmeros que se van a comparar, que se encuentren en el campo de los reales b) Construccin del algoritmo: 1. Inicio 2. Leer a 3. Leer b 4. Si a>b ir al paso 5, si no ir al paso 7 5. Imprimir a es el menor 6. Imprimir b es el menor 7. Fin c) Prueba de escritorio: 1. Inicio 2. Leer 5 3. Leer 8 4. 5>8? S, ir al paso 5 5. 5 es el menor 6. Fin

41. Calcular las soluciones de un polinomio de tercer grado a) Anlisis del problema -Para resolver un polinomio de tercer grado, se requieren 4 variables, a, b, c y d; y un mtodo para llevarlo a cabo es el mtodo de Cardano, es cual consiste en lo siguiente: -Igualar b= b/a, c=c/a y d=d/a; luego p=c-(b*b)/c y q=2(b*b*b)/27-b*c/3+d. -Calcular la discriminante D=q*q+(4(p*p*p)/27); si D es positivo, se obtienen las races primero obteniendo u y v de las siguientes frmulas u=((-q+D^(1/2))/2)^(1/3); v=((-q-D^(1/2))/2)^(1/3). Y las races de a cuerdo a las siguientes frmulas; la raz real z0=u+v, y las complejas: z1=u*j+v*j2 ; z1=u*j2+v*j1; siendo j=-1/2+.866i y j2=-1/2-.866i. -En caso de que sea D=0, se obtienen las races con las frmulas: zo= 3*q/p y z1=z2= (-3*q)/(2*p) -En el ltimo caso, que D sea negativo, las tres races son reales, y se obtienen de la frmula: z= (2*(-p/3)^(1/2))*((1/3)*arc cos((q/2)*(27/-(p*p*p))^(1/2)+(2*k*3.14)/3); para k=[0,1,2] b) Construir el algoritmo 1. Inicio 2. Leer a, b, c, d 3. b= b/a 4. c=c/a 5. d=d/a 6. p=c-(b*b)/c 7. q=2(b*b*b)/27-b*c/3+d. 8. D=q*q+(4(p*p*p)/27) 9. Si D>=0 Ir al paso 10, de lo contrario ir al paso 23 10. Si D>0 Ir al paso 11, de lo contrario ir al paso 19

11. u=((-q+D^(1/2))/2)^(1/3) 12. v=((-q-D^(1/2))/2)^(1/3) 13. z0=u+v 14. z1= u*(-1/2)+(-1/2)*v 15. z2= u(.866)-(.866)v 16. z3= v(.866)-(.866)u 17. Imprimir z0, ' , z1,'+',z2,'i ',z1,'+',z3,'i' 18. Fin 19. z0= 3*q/p 20. z1=(-3*q)/(2*p) 21. Imprimir z0, z1, z1 22. Fin 23. z0=(2*(-p/3)^(1/2))*((1/3)*arc cos((-q/2)*(27/-(p*p*p))^(1/2)+(2*0*3.14)/3 24. z1=(2*(-p/3)^(1/2))*((1/3)*arc cos((-q/2)*(27/-(p*p*p))^(1/2)+(2*1*3.14)/3 25. z2=(2*(-p/3)^(1/2))*((1/3)*arc cos((-q/2)*(27/-(p*p*p))^(1/2)+(2*2*3.14)/3 26. Imprimir z0,z1,'z2 27. Fin 28. Fin

c)

c) Prueba de escritorio Sea el polinomio x^3-5x-12 1. Inicio 2. a=1, b=0, c=-5, d=-12 3. b= 0 4. c=-5 5. d=-12 6. p=-5-(0*0)/-5=1 7. q=2(0*0*0)/27-0*(-5)/3-12= -12 8. D=(-12)*(-12)+(4(1)/27)=144.1481481 9. D>=0 10. Si D>0 11. u=((12+144.1481481^(1/2))/2)^(1/3)=2.289624 12. v=((12-144.1481481^(1/2))/2)^(1/3)=-.145584 13. z0=2.4 14. z1= 2.28*(-1/2)+(-1/2)*(-.14)=-1.07 15. z2= 2.28(.866)-(.866)(-.14)=2.09 16. z3= (-.14)(.866)-(.866)*2.28=-2.09 17. Imprimir 2, -1.07+2.09i, -1.07-2.09i 18. Fin

a) Anlisis del algoritmo: Como datos de entrada se necesita el valor del nmero n y m Se pone una condicin de n<m, si esto es verdad se restar el valor de n-m, por lo contrario si m>n se restar el valor de m- n.

b) Construccin del algoritmo: 1. Inicio 2. Leer nmeros (n) y (m) 3. n<m SI entonces n-m= k 4 n<m NO entonces m-n = k 5. Fin c) Prueba de escritorio Dado los valores n= 7 y m = 6 7. Inicio 8. n <m NO entonces m-n = -1 9. k = -1 10. Fin

45.- Determinar si un carcter es una vocal o no Anlisis del problema: Tenemos 5 vocales. Delimitaremos ese rango.

Construccin del algoritmo: 1. Inicio 2. Leer Q 3. Q = a 4. Si: vocal 5. No: Q=e 6. Si; imprimir: Q es vocal 7. No: Q= i? 8. Si; imprimir: Q es vocal 9. No: Q = o? 10. Si; imprimir Q es vocal 11. No: Q = u? 12. Si: imprimir Q es vocal 13. No: imprimir Q no es vocal 14. Fin Prueba de escritorio: 1. 2. 3. 4. 5. Inicio Q=w Q=a (paso 5) Q =e (paso 6) Q es vocal

6. Fin 47.- Leer 10 nmeros e imprimir solo los positivos. a) Anlisis del algoritmo: Como datos de entrada se necesita el valor de los nmeros n Se establece un ciclo para el residuo de los nmeros de 0 a 9. Se realiza la operacin m es n >=0, si la respuesta es afirmativa significa que el valor es positivo. b) Construccin del algoritmo: 1. Inicio. 2. Definir variables n, num : 0 num=0. 3. Establecer ciclo para n=1, n<=10 n= n+1 4. Imprimir (Ingrese el nmero:). 5. Leer num. 6. Continuar con el ciclo hasta tener 10 nmeros 7. Fin para. 8. Evaluar los nmeros para M= n 0, 9. Imprimir M 10. Fin. c) Prueba de escritorio: 1. Inicio 2. n = -1, -5, 8, 9, 2, -4, 4, 8, 1, -6 3. M= -10? No 4. M= -50? No 5. M= 80? Si

6. M= 90? Si 7. M= 20? Si 8. M= -40? No 9. M= 40? Si 10. M= 80? Si 11. M= 10? Si 12. M= -60? NO 13. M= 8,9,2,4,8,1. 14. Fin

CONCLUSIONES: En la prctica encontramos muchas dificultades con respecto al uso de estructuras diferentes a las que estbamos acostumbrados a usar, debido a la falta de conocimiento acerca de las mismas, ya que la explicacin en clase teorica no ha sido la ideal que digamos y apoyarnos en Internet ha sido complicado debido a las bases que debemos tener para conocer ciertos conceptos. Aunque por otra parte algunas fueron fciles debido a su estructura lineal, y que solo contaban con la parte de decisin. El uso apropiado de estos conceptos como lo son diagramas de flujo y algoritmos es bsico para poder aprender a programar en diversos lenguaje, ya que estos son la estructura lgica de toda computadora y una forma eficiente de comunicacin entre maquina y usuario. Para que la solucin de un problema se lleve a cabo de la manera correcta debemos de checar cada detalle en nuestro algoritmo, ya que alguna palabra mal escrita o una variable no planteada provocar la falla del diagrama. Otro problema que encontramos fue el uso de el programa DFD, ya que esta de una forma muy abreviada y esto impide que entiendas bien cmo funciona el flujo en cada diagrama, ya que te simplifica el mtodo, aunque la ventaja es para usarlo como prueba de escritorio donde te dice en que fallaste o que planteaste mal

GLOSARIO: Algoritmo: . El algoritmo constituye un mtodo para resolver un problema mediante una secuencia de pasos a seguir. Dicha secuencia puede ser expresada en forma de diagrama de flujo con el fin de seguirlo de una forma ms sencilla. Bucle: es un tipo de estructura de control que permite repetir una o ms sentencias mltiples veces. Estructura de repeticin: La instruccin WHILE se usa para implementar una estructura de repeticin (bucle while) en la que la repeticin se controla mediante una expresin booleana y contina ejecutndose mientras esta expresin permanece cierta, finalizando cuando se hace falsa.

También podría gustarte