Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
. Liduvina Vega ALUMNO: Simn David Del Pozo Nez Algoritmos, Estructuras Secuenciales y Condicionales Resuelve los siguientes ejercicios Con DFD
1. Ingresar 2 nmeros e imprimir la sumatoria y el promedio Planteamiento a= 10 b= 20 s= 10+20= 30 p= s/2= 30/2= 15 Diccionario a, b = nmeros ingresado Inicio s= donde se acumulan y suman los nmeros p = promedio
Leer (a, b)
s= a+b
p= s/2
Imprimir s
Imprimir p
Fin
2. Calcular el sueldo de un operario conociendo la cantidad de horas que trabaj en el mes y el monto a pagar por hora Planteamiento h= 20 m= 1000 s= m*h= 20000
Inicio
Diccionario h = horas trabajadas por mes m = pago recibido por hora Ss= sueldo
Leer (h)
Imprimir s
Prueba de Escritorio Horas trabaja Pago por hora en el mes (h) (m) 50 10
Fin
s=h*m S = 50 * 10 = 500
3. Escribir un algoritmo que permita leer el nombre y la cantidad de ausencias en el ao de un alumno, e imprimir el nombre acompaado de la leyenda REGULAR o LIBRE (Un alumno se considera Libre cuando posee ms de 20 ausencias).
Planteamiento nombre= Simn ausencias= 10 Ausencias menor a 20? Si, entonces es regular nombre= David ausencias= 25 Ausencias menor a 20? No, entonces es libre
Inicio
Ingresar nombre
Leer (nom)
Diccionario nom = nombre del alumno aus= cantidad de ausencias
NO
SI
Fin
Prueba de Escritorio Nombre (nom) Cantidad de ausencias (aus) Simn David Daniel 10 30 20
Es menor a 20? Si No No Por lo tanto es Regular Por lo tanto es Libre Por lo tanto es Libre
Con Pseudocdigo 4. Desarrollar un algoritmo que permita leer el nombre, la edad, el sexo y el estado civil de cualquier persona e imprima el nombre de la persona si es un hombre soltero y menor de 30 aos o una mujer casada mayor de 50 aos. Plantemiento Nombre: Simn Sexo: hombre Edad: 22 Estado civil: soltero Es es un hombre soltero y menor de 30 aos o una mujer casada mayor de 50 aos? Hombre: Si Soltero: SI Menor a 30: Si Mostrar su nombre. Simn Var nom: cadena ed, sx, ec: numrico Inicio Escribir "Ingrese nombre"; Leer (nom) Escribir "Ingrese edad"; Leer (ed) Escribir "Ingrese sexo (mujer = 1 y varn = 2)"; Leer (sx) Escribir "Ingrese estado civil (soltero/a = 1 y casado/a = 0)"; Leer Cec) Si (sx = 2) Entonces Si (ed<30) y (ec=1)Entonces Escribir "Su nombre es: " ,nom FinSi Sino Si (ed>50) y (ec=0) Entonces Escribir "Su nombre es: " ,nom FinSi FinSi Fin Diccionario nom = nombre de la persona ed = edad sx = sexo ec = estado civil Prueba de Escritorio Nombre Edad Sexo (Nom) (ed) (sx) varn = 2 mujer =1 Simn Dalia Alicia 22 25 56 2 1 1
Alicia
5. Dado un nmero que representa un mes, escribir el nombre del mes correspondiente. Si se ingresa un numero que no puede corresponder a un mes (es negativo o bien, es mayor que 12), imprimir el mensaje "Mes incorrecto" y terminar el programa.
Planteamiento var n= 1= enero n: numrico n= 2= febrero Inicio n= 3= marzo Escribir "Ingrese el nmero" n= 4= abril Leer (n) n= 5= mayo Si (n = 1) Entonces n= 6= junio Escribir "Enero" n= 7= julio FinSi n= 8= agosto Si (n = 2) Entonces n= 9= septiembre Escribir "Febrero" n= 10= octubre FinSi n= 11= noviembre Si (n = 3) Entonces n= 12= diciembre Escribir "Marzo" Si n> 12 o n< 0 entonces mes incorrecto FinSi Si (n = 4) Entonces Escribir "Abril" FinSi Si (n = 5) Entonces Escribir "Mayo" FinSi Si (n = 6) Entonces Escribir "Junio" FinSi Si (n = 7) Entonces Escribir "Julio" FinSi Si (n = 8) Entonces Escribir "Agosto" FinSi Si (n = 9) Entonces Escribir "Septiembre" FinSi Si (n = 10) Entonces Escribir "Octubre" FinSi Si (n = 11) Entonces Escribir "Noviembre" FinSi Si (n = 12) Entonces Escribir "Diciembre" FinSi Si (n>12) o(n<0) Entonces Escribir "Mes Incorrecto" FinSi Fin
Diccionario n = nmero del mes Prueba de Escritorio N n=1 n=2 n=3 n=4 n=5? n=6 n=7 n=8 n=9? n=10 n=11 n=12 n>12 mer ? ? ? ? ? ? ? ? ? ? o o n<0? (n) 5 13 No No No No No No No No Si Mayo No No No No No No No No Mes inco_ rrect o
6. Ingresar un tipo de figura (triangulo, cuadrado o rectngulo), la medida de los lados, y calcular permetro y rea.
Planteamiemto Se ingresa el nombre de la figura Triangulo La figura es un triangulo? Si, entonces ingresar los 3 lados; calcular permetro y rea; mostralos Se ingresa el nombre de la figura Cuadrado La figura es un triangulo? No La figura es un cuadrado? Si, entonces ingrear el lado; calcular permetro y rea; mostralos Var fig: cadena l1, l2, l3, l, a, sp, pt, at, pc, ac, ar, pr : numrico Inicio Escribir "Ingrese tipo de figura (triangulo, cuadrado o rectangulo)"; Leer (fig) Si (fig ="triangulo") entonces Escribir"Ingrese medida del lado 1: " Leer (l1) Escribir "Ingrese medida del lado 2: " Leer (l2) Escribir "Ingrese medida del lado 3: " Leer (l3) pt = l1+l2+l3 sp = pt/2 at = raiz(sp * (sp-l1) * (sp-l2) * (sp-l3)) Escribir "El Perimetro del Triangulo es:", pt Escribir "El Area del Triangulo es:", at Sino Si (fig = "cuadrado") Entonces Escribir "Ingrese medida del lado: " Leer (l) pc = l*4 ac = l^2 Escribir "El Permetro del Cuadrado es: " ,pc Escribir "El rea del Cuadrado es: " ,ac Sino Si (fig = "rectangulo") Entonces Escribir "Ingrese medida del largo: " Leer (l) Escribir "Ingrese medida del ancho: " Leer (a) pr = (l+a)*2 ar = l*a Escribir "El Perimetro del Rectagulo es: " ,pr Escribir "El Area del Rectagulo es: " ,ar FinSi FinSi FinSi Fin Diccionario l1, l2 l3= lados del triangulo
l = lados del cuadrado y del rectngulo a = ancho del restgulo pt = permetro del tringulo sp = semipermetro del tringulo at = rea del tringulo pc = permetro del cuadrado ac = rea del cuadrado pr = permetro el rectngulo ar = rea del rectngulo Prueba de Escritorio Se ingresa el nombre de la figura Triangulo La figura es un triangulo? Si, entonces ingresar los 3 lados; calcular permetro y rea; mostralos Se ingresa el nombre de la figura Cuadrado La figura es un triangulo? No La figura es un cuadrado? Si, entonces ingrear el lado; calcular permetro y rea; mostralos Se ingresa el nombre de la figura Rectngulo La figura es un triangulo? No La figura es un cuadrado? No entonces ingrear el lado; calcular permetro y rea; mostral La figura es un rectngulo? Si, entonces ingrear el largo y ancho; calcular permetro y rea; mostralos
7. Un banco antes de conceder un prstamo, comprueba los ingresos y la cantidad de hijos del solicitante. El crdito se concede si los ingresos son superiores a 24.000.000 de guaranes anuales, o bien los ingresos estn entre 24.000.000 y 12.000.000 de guaranes anuales y el cliente tiene hasta 2 hijos; o bien si el cliente tiene ingresos entre 10.000.000 y 12.000.000 de guaranes pero no tiene hijos. Realizar un algoritmo que pida los ingresos mensuales y el nmero de hijos del solicitante, y calcule si el banco puede o no otorgar el crdito. Planteamiento Condiciones para dar crdito: ingresos superiores a 24.000.000 de guaranes anuales, o bien los ingresos estn entre 24.000.000 y 12.000.000 de guaranes anuales y el cliente tiene hasta 2 hijos; o bien si el cliente tiene ingresos entre 10.000.000 y 12.000.000 de guaranes pero no tiene hijos Cuantos es su ingreso? im= 5000 ia= im*12= 5000*12= 60000 Tienes hijos? Si, 1 Se le concede crdito? No Var ia, im, h: numrico Inicio Escribir " Cantidad del ingreso mensual" Leer (im) ia = im*12 Escribir "Cantidad de hijos ( sino tiene coloque 0)" Leer (h) Si (ia>24000000) Entonces Escribir "Se le otorga crdito" Sino Si (ia<=24000000) y (ia>12000000) Entonces Si (h=1) o (h=2) Entonces Escribir "Se le otorga crdito" FinSi Sino Si (ia<=12000000) y (ia>=10000000) Entonces Si (h=0) Entonces Escribir "Se le otorga crdito" FinSi FinSi FinSi Sino Escribir "NO se le otorga crdito" FinSi Fin Diccionario mi = ingreso mensual ia = ingreso anual h = hijos
Escritorio Cantida Ingreso Tiene d hijos anual (ia) ia>24000 (h) ia = 000? im*12
Se le d el crdto ?
1000000 2000000
1 0
1200000 no 0
si
2400000 No Si y no no 0 Condiciones para dar crdito: ingresos superiores a 24.000.000 de guaranes anuales, o bien los ingresos estn entre 24.000.000 y 12.000.000 de guaranes anuales y el cliente tiene hasta 2 hijos; o bien si el cliente tiene ingresos entre 10.000.000 y 12.000.000 de guaranes pero no tiene hijos 8. Escribir un algoritmo que lea tres nmeros enteros correspondientes a lados de un supuesto tringulo, determine si realmente forman un tringulo, y muestre el tipo de tringulo que es (si es un tringulo). Tringulo: La suma de dos cualesquiera de los lados debe ser mayor que el otro. Equiltero: todos los lados son iguales. Issceles: solo dos lados son iguales. Escaleno: no tiene dos lados iguales. Planteamiento Ingresar lado del tringulo: 10, 20, 30 Si es un tringulo la suma de dos cualesquiera de los lados debe ser mayor que el otro. 10< 20+30? Si 20< 10+30? Si 30< 10+20? No Entonces no es tringulo Ingresar lado del tringulo: 10, 10, 10 10< 10+10? Si 10< 10+10? Si 10< 10+10? Si Entonces es un tringulo Los lados son iguales? Sin es equiltero var a, b ,c: numrico Inicio Escribir "Ingrese lado 1 del triangulo" Leer (a) Escribir "Ingrese lado 2 del triangulo" Leer (b) Escribir "Ingrese lado 3 del triangulo" Leer (c) Si ((a<b+c) y (b<a+c) Y (c<a+b)) entonces Si ((a=b) y (b=c)) entonces Escribir "El triangulo es equilatero" Sino Si (a<>b) y (a<>c) y (b<>c) entonces Escribir "El triangulo es escaleno" Sino Escribir "El triangulo es isosceles" FinSi FinSi Sino Escribir "No forman triangulo" FinSi Fin Diccionario a, b, c = lados de tringulo
Prueba de Escritorio Ingresar lado del tringulo: 10, 20, 30 Es 10< 20+30 y 20< 10+30 y 30< 10+20? No, no es un tringulo Ingresar lado del tringulo: 10, 10, 10 Es 10< 10+10 y 10< 10+10 y 10< 10+10? Si, es un tringulo Sus lados son iguales? Si, es equiltero Ingresar lado del tringulo: 10, 10, 15 Es 10< 10+10 y 10< 10+10 y 15< 10+10? Si, es un tringulo Sus lados son iguales? No Tiene 2 lados iguales? Si, es issceles Ingresar lado del tringulo: 5, 6, 7 Es 5< 6+7 y 6< 5+7 y 7< 5+6? Si, es un tringulo Sus lados son iguales? No Tiene 2 lados iguales? No, entonces es escaleno 9. Un equipo de ftbol ha tenido una buena campaa y desea premiar a sus jugadores con un aumento del salario para el siguiente campeonato. Los sueldos deben ajustarse de la siguiente forma: Sueldo actual (en USD) Aumento 0-6.000 10% 6.000-8000 5% Mas de 8.000 2% Disear un algoritmo que lea el salario de un jugador, y que a continuacin muestre el tanto por ciento de aumento, el sueldo actual y el sueldo aumentado. Planteamiento Ingresar sueldo: 6500 Es <= 6000? Si, entonces calcular aumento del 10 (sca=sua+0,1*sua) var sua, suca: numrico Inicio Escribir Su Sueldo Actual Leer (sua) Si (sua <= 6000) Entonces suca = sua + sua*0.1 Escribir "Su Sueldo Actual es:" ,sua Escribir "Su Sueldo Aumentado es" ,suca Escribir "El porcentaje de aumento es: 10%" Sino Si ( sua > 6000) y (sua <= 8000) Entonces suca = sua + sua*0.05 Escribir "Su Sueldo Actual es:" ,sua Escribir "Su Sueldo Aumentado es" ,suca Escribir "El porcentaje de aumento es: 5%" Sino Si ( sua > 8000) Entonces suca = sua + sua*0.02 Escribir "Su Sueldo Actual es:" ,sua Escribir "Su Sueldo Aumentado es" ,suca Escribir "El porcentaje de aumento es: 2%" FinSi FinSi FinSi Fin Diccionario
sua = sueldo actual suca = sueldo con el aumento Prueba de Escritorio Ingresar sueldo: 6500 Es <= 6000? Si, entonces calcular aumento del 10 (sca=sua+0,1*sua) mostrar sua,suca y aumento del 10% Ingresar sueldo: 7500 Es <= 6000? No Es > 6000 y <= 8000? Si, entonces calcular aumento del 5 (sca=sua+0,05*sua) mostrar sua,suca y aumento del 5% Ingresar sueldo: 8500 Es <= 6000? No Es > 6000 y <= 8000? No Es > 8000? Si, entonces calcular aumento del 2 (sca=sua+0,02*sua) mostrar sua,suca y aumento del 2% 10. Disear un algoritmo que intercambie los valores de dos variables numricas. Plateamiento n1= 5 n2= 8 Hacer que se intercambien, n1= 8 y n2= 5 var n1, n2, aux: numrico Inicio Escribir "Ingrese el primer numero" Leer (n1) Escribir "Ingrese el segundo numero" Leer (n2) aux = 0 Si (n1<>n2) Entonces aux = n1 n1 = n2 n2 = aux FinSi Escribir "Ingrese el primer numero: " ,n1 Escribir "Ingrese el segundo numero: " ,n2 Fin Diccionario n1 y n2 = nmeros ingresados aux = un auxiliar, donde se coloca el primer nmero para hacer el intercambio Prueba de Escritorio 1 2 aux = n1 n1 = n2 Nmero Nmero * ** (n1) (n2) 10 15 10 15
2 Nmero (n2) 10
* al inicio tiene el valor de cero luego tiene el valor de n1 o sea para el ejemplo 10 ** n1 obtiene el valor de n2, en el ejemplo obtiene el valor de 15 *** n2 btiene el valor del auxiliar osea en este ejemplo obtiene el valor de 10