ejemplos de secuencias de control.gonzart/lp/notas/ejercicios_secuencias.pdf · 2009-03-18 ·...

21
Ejemplos de secuencias de control. Resolver la ecuación cuadrática: para valores dados de a, b y c. ax 2 bx c = 0

Upload: others

Post on 10-Jul-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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