Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 ·...
Transcript of Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 ·...
![Page 1: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/1.jpg)
Ejemplos de secuencias de control.
● Resolver la ecuación cuadrática:
para valores dados de a, b y c.
ax2bxc=0
![Page 2: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/2.jpg)
Ecuación cuadrática (cont.)● Solución al problema:
– Hay 3 posibilidades para el discriminante:
● Si es positivo, hay 2 raíces reales.● Si es cero, hay solo una raíz real.● Si es negativo hay 2 raíces complejas.
x=−b±b2−4ac2a
![Page 3: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/3.jpg)
Ecuación cuadrática (cont.)● Diseño del algoritmo (pseudocódigo)(solo parte del condicional).
Si (discriminante>0) entoncesevalúa las dos raíces reales.
else if (discriminante=0)entoncesevalúa una raíz igual a: -b/2a
else evalúa las dos raíces complejas
![Page 4: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/4.jpg)
Ecuación cuadrática (cont.)● Programa.
– Ver:http://www.ifug.ugto.mx/~gonzart/notas/cuad.c
![Page 5: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/5.jpg)
Ecuación cuadrática (cont.)● Verificación del programa:
– Pensar en ejemplos:
●
●
●
x−3∗ x2=x2−x−6
x8∗x8=x216x64
x22x3=0
![Page 6: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/6.jpg)
Cajero automático:● Definición del problema:Se desea calcular el numero de billetes y monedas necesarias para entregar un monto en particular. Hay que utilizar el menor número de billetes y monedas posibles. Indicar la cantidad faltante si es el caso.– Los valores posibles de los billetes son:
500,200,100,50,20.– Los valores de las monedas son:
10,5,2,1,0.5,0.2,0.1.
![Page 7: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/7.jpg)
Cajero automático:(cont.)● Solución del problema:
– Dado que se desea el menor número de billetes y monedas primero hay que calcular el numero de billetes de la mayor denominación y el residuo completarlo con la siguiente denominación y así sucesivamente hasta acabar con los posibles billetes y monedas. Imprimir el faltante.
![Page 8: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/8.jpg)
Cajero automático:(cont.)● Algoritmo de solución:
definir cant,res como flotantes;definir num como entero;leer la cantidad deseada y guardarla en cant.res=cantnum=la parte entera de res/500.0res=res-num*500.0printf(“\n billetes de 500=%d”,num);Si res es distinto de cero, entoncesnum=la parte entera de res/200.0res=res-num*200.0printf(“\n billetes de 200=%d”,num);Si res es distinto de cero, entonces
●
●
●
Imprimir res.
![Page 9: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/9.jpg)
Cajero automático:(cont.)● Programa.
– Ver:http://www.ifug.ugto.mx/~gonzart/notas/cajero.c
![Page 10: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/10.jpg)
Cajero automático:(cont.)● Verificación de la operación.
– Que pasa con 123.25?– Con 123.35?– Con 0?– Con -123.25?
![Page 11: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/11.jpg)
Refracción de un rayo:● Definición del problema:Se desea calcular una tabla con el angulo de refracción para ángulos de incidencia desde 0o hasta 90o en incrementos de 5o, para agua, vidrio y diamante, como medios refractantes.
![Page 12: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/12.jpg)
Refracción de un rayo:(cont).
● Solución al problema:
– Indices de refracciónagua=1.33vidrio=1.50diamante=2.42
r=sin−1ni sin i nr
i
r
medio incidente
medio refractante
![Page 13: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/13.jpg)
Refracción de un rayo:(cont).● Algoritmo de solución:
Define PI=3.141592654Define ni, na,nv,nd, i,ir, ra,rv,rd, números dobles.Asigna na=1.33Asigna nv=1.50Asigna nd=2.42Asigna ni=1.00Imprime “tabla para el angulo ....”Repite (i=0 a 90 de 5 en 5)
asigna ir=i*PI/180.0asigna ra=asin(ni*sin(ir)/na)asigna ra=ra*180.0/PIasigna rv=asin(ni*sin(ir)/nv)asigna ra=ra*180.0/PIasigna rd=asin(ni*sin(ir)/nd)asigna ra=ra*180.0/PIescribe (ra,rv,rd)
● Fin de repite
![Page 14: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/14.jpg)
Refracción de un rayo:(cont).
● Programa.– Ver:http://www.ifug.ugto.mx/~gonzart/notas/refr.c
![Page 15: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/15.jpg)
Refracción de un rayo:(cont).
● Verificación de la ejecución.– Revisar que el angulo de incidencia esté dentro del rango solicitado.
– Hacer algunos cálculos de manera manual.
– Observar si tienen sentido los resultados.
![Page 16: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/16.jpg)
Contador de caracteres, palabras y renglones.
● Definición del problema:Hacer un programa que cuente el número de caracteres, palabras y renglones de algo tecleado.
![Page 17: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/17.jpg)
Tabla de código ascii.http://www.lookuptables.com/
![Page 18: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/18.jpg)
Contador de caracteres, palabras, renglones.(cont.)
● Solución al problema:– Un caracter es cualquier entrada excepto el fin del archivo
● Contar los caracteres que no sean EOF.
– Una palabra es la consecución de caracteres, las palabras se separan por espacios en blanco (spc), tabuladores (\t) y cambios de lineas (\n) (observar el plural).
● Contar el número de transiciones de no-palabra a palabra.
– Una linea SIEMPRE está separada por un cambio de linea.
● Contar el numero de \n.– El fin del docto es un EOF.
![Page 19: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/19.jpg)
Contador de caracteres, palabras, renglones.(cont.)
● Algoritmo de solución:Definición ch como carácter.Definición dentro_palabra como entero.Definición ncarac,npal,nren como enteros.Asigna dentro_palabra=0.Asigna ncarac=npal=nren=0.Leer (ch).repite mientras ch sea diferente a EOF
incrementa en uno a ncarac.si (ch es un cambio de linea)
incrementa en uno a nren.Si (ch es spc o tab o cambio de linea)
asigna dentro_palabra=0si no y si dentro_palabra es cero
incrementa npal en unoasigna dentro_palabra=1
leer (ch)fin de repite Imprime(ncarac,npal,nren)
![Page 20: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/20.jpg)
Contador de letras, palabras, renglones.(cont.)
● Programa.– Ver:http://www.ifug.ugto.mx/~gonzart/notas/cuenta.c
![Page 21: Ejemplos de secuencias de control.gonzart/lp/notas/Ejercicios_Secuencias.pdf · 2009-03-18 · Cajero automático:(cont.) Algoritmo de solución: definir cant,res como flotantes;](https://reader034.fdocuments.es/reader034/viewer/2022050715/5f34cc01f768f757c223b14d/html5/thumbnails/21.jpg)
Contador de letras, palabras, renglones.(cont.)● Verificación de la ejecución.
– Hacer un texto donde se conozcan el número de palabras, renglones y caracteres:texto.txt,lo puede encontrar en el archivo zip:http://www.ifug.ugto.mx/~gonzart/notas/secuencias.zip
o en:http://www.ifug.ugto.mx/~gonzart/notas/texto.txt