Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Francisco Morazán
Espacio Pedagógico:
Programación I
Docente:
Lic. José Gerardo Fuentes Zúñiga
Sección: U
Asunto:
Ejercicios estructuras condicionales simples
Responsable:
Martin Gerardo García Gabarrete
1413 1994 00373
Lugar y fecha:
San Marcos Ocotepeque, 03 de julio de 2021
1. Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobará si su promedio de
tres calificaciones es mayor o igual a 60; reprueba en caso contrario.
Análisis:
Entrada: 3 datos [(Enteros, Nota 1 n1), Nota 2 n2), Nota 3 (n3)]
Salida: 1 dato [Real, Promedio (prom)]
Proceso:
prom=(n1+n2+n3)/3
Inicio {
Escriba” Ingrese la primera nota” Ingrese la primera nota
Lea n1 60
Escriba” Ingrese la segunda nota” Ingrese la segunda nota
Lea n2 65
Escriba” Ingrese la tercera nota” Ingrese la tercera nota
Lea n3 75
prom=(n1+n2+n3)/3 prom=(70+65+75)/3=70
Si (prom>=60) 70>=60
Escriba “El alumno aprueba” El alumno aprueba
Si no Su promedio es 70
Escriba “El alumno reprueba”
Fin si
Escriba “Su promedio es ”+prom
Fin }
2. Unas camisas se venden en 10 dólares, cada una si es que se compran más de tres y en 12 dólares
en otro caso. Escriba un programa que lea un número de entrada con la cantidad de camisas a
adquirir y escriba al fina el costo total.
Análisis:
Entrada: 2 datos [(Reales, Cantidad de camisas (c), Billete (billete)]
Salida: 3 datos [Reales, Costo final (Cf), Cambio (Cambio) || Faltante (Faltante)]
Proceso:
Cf=c*10 || c*12
Cambio=Billete-Cf || Faltante=Cf-Billete
Inicio {
Escriba” Ingrese la cantidad de camisas que compra” Ingrese la cantidad de camisas que compra
Lea c 4
Si (c>3) 4>3
Cf=c*10 Cf=4*10=40
Si no Usted debe 40
Cf=c*12 De cuanto es el billete que paga
Fin si 100>40
Escriba “Usted debe ”+Cf Cambio=100-40=60
Escriba “De cuanto es el billete con el que paga” Su cambio es 60
Lea billete
Si (billete>Cf)
Cambio=Billete-Cf
Escriba “Su cambio es “+Cambio
Si no
SI (Billete==Cf)
Escriba “No hay cambio”
Si no
Faltante=Cf-Billete
Escriba “Le falta”+Faltante
Fin Si
Fin }
3. Escriba un programa que reciba dos números enteros y que diga cuál de los dos es el mayor.
Análisis:
Entrada: 2 datos [(Enteros, primer número (a), segundo número (b)]
Salida: El primer número es mayor||El primer número es igual que el segundo||El segundo número es mayor
Proceso: a>b||a==b||a<b
Inicio {
Escriba” Ingrese el primer número” Ingrese el primer número
Lea a 17
Escriba” Ingrese el segundo número” Ingrese el segundo número
Lea b 22
Si (a>b) 17<22
Escriba “El primer número es mayor” El segundo número es mayor
Si no
Si (a==b)
Escriba “El primer número es igual que el segundo”
Si no
Escriba “El segundo número es mayor”
Fin Si
Fin }
4. Escriba un programa que reciba como entrada 2 números naturales uno mayor que otro, (sin importar
el orden) que realice la diferencia entre ellos, pero el resultado de la diferencia debe ser positivo.
Análisis:
Entrada: 2 datos [(Real, Primer número (n1), Segundo número (n2)]
Salida: 1 dato [Real, (Diferencia (dif)]
Proceso:
dif=n1-n2||dif=-dif
Inicio {
Escriba ”Ingrese el primer número” Ingrese el primer numero
Lea n1 12
Escriba “Ingrese el segundo número” Ingrese el primer numero
Lea n2 16
Si (n1!=n2) 12!=16
dif=n1-n2 dif=12-16=-4
Si (dif<0) -4<0
dif=-dif dif=-(-4)=4
Escriba “La diferencia entre los números es “+dif La diferencia entre los números es de 4
Si no
Escriba “La diferencia entre los números es “+dif
Fin Si
Si no
Escriba “No ingreso números diferentes”
Fin Si
Fin }
5. Suponga que el precio unitario de unos balones de futbol es de L. 500 si se compran más de 10
balones y de L. 700 si se compran menos.
Análisis:
Entrada: 2 datos [(Reales, Cantidad de balones (b), Billete (billete)]
Salida: 3 datos [Reales, Costo final (Cf), Cambio (Cambio) || Faltante (Faltante)]
Proceso:
Cf=b*500 || b*700
Cambio=Billete-Cf||Faltante=Cf-Billete
Inicio {
Escriba” Cuantos balones desea comprar” Cuantos balones desea comprar
Lea b 12
Si (b>10) 12>10
Cf=b*500 Cf=12*500=6000
Si no Usted debe 6000
Cf=b*700
Fin Si Cuanto es el dinero con el que paga
Escriba “Usted debe ”+Cf 6000
Escriba “Cuanto es el dinero con el que paga” 6000=6000
Lea dinero No hay cambio
Si (dinero>Cf)
Cambio=dinero-Cf
Escriba “Su cambio es “+Cambio
Si no
Si (dinero==Cf)
Escriba “No hay cambio”
Si no
Faltante=Cf-Billete
Escriba “Le falta”+Faltante
Fin Si
Fin }
6. Escriba un programa que reciba un número entero y que escriba si es positivo, negativo o cero.
Análisis:
Entrada: 1 dato [(Entero, Numero 1 (a)]
Salida: El número es positivo||El número es cero||El número es negativo
Proceso: a>0||a==0||a<0
Inicio {
Escriba” Ingrese el número 1” Ingrese el numero 1
Lea a -3
Si a>0 -3<0
Escriba “El número es positivo” El número es negativo
Si no
Si a==0
Escriba “El número es cero”
Si no
Escriba “El número es negativo”
Fin Si
Fin }
7. Escriba un programa que reciba dos números enteros y que diga si son de signos opuestos.
Análisis:
Entrada: 2 datos [(Real, Primer número (n1), Segundo número (n2)]
Salida: Los números son de signos opuestos||Al menos uno de los números es cero||Los números son de igual signo
Proceso: (n1*n2<0)||(n1*n2==0)
Inicio {
Escriba” Ingrese un número entero” Ingrese un número entero
Lea n1 -5
Escriba” Ingrese otro número entero” Ingrese otro número entero
Lea n2 7
Si (n1*n2<0) -5*7<0=-35<0
Escriba “Los números son de signo opuesto” Los números son de signos opuestos.
Si no
Si (n1*n2==0)
Escriba “Al menos uno de los números es cero”
Si no
Escriba “Los números son de igual signo”
Fin Si
Fin }
8. Un trabajador recibe su sueldo normal por las primeras 30 horas y se le paga 1,5 veces su sueldo
normal por cada hora después de las primeras 30 horas. Escriba un programa que calcule y escriba
el pago que recibirá el empleado.
Análisis:
Entrada: 2 datos [(Reales, Horas trabajadas (hr), Sueldo por hora (Sh)]
Salida: 1 dato [(Reales, Sueldo total (St)]
Proceso:
St=Sn*hr||Sn*1.5*hr
Inicio {
Escriba” Ingrese el sueldo por hora del trabajador” Ingrese el sueldo por hora del trabajador
Lea Sh 100
Escriba” Ingrese la cantidad de horas por el trabajador” Ingrese las horas trabajadas por el trabajador
Lea hr 44
Si (hr<30) hr>30
St=Sh*hr St=100*1.5*44=6 600
Escriba “El sueldo del trabajador es “+St El sueldo del trabajador es 6 600
Si no
St=Sh*1.5*hr
Escriba “El sueldo del trabajador es “+St
Fin Si
Fin }
9. Escriba un programa que reciba un número que representa a cada planeta del sistema solar según
su orden desde el Sol y que diga que planeta es. P.e. Si se ingresa el número 3 el programa debe
decir es el planeta Tierra.
Análisis:
Entrada: 1 dato [(Entero, Numero (num))]
Salida: Mercurio||Venus||Tierra||Marte||Júpiter||Saturno||Urano||Neptuno
Proceso: num==1|| num==2|| num==3|| num==4|| num==5|| num==6|| num==7|| num==8
Inicio {
Escriba” Ingrese un número del 1 al 8” Ingrese un número del 1 al 8
Lea num 5
Si (num=1) Júpiter
Escriba “Mercurio”
Si no
SI (num=2)
Escriba “Venus”
Si no
Si (num=3)
Escriba “Tierra”
Si no
Si (num=4)
Escriba “Marte”
Si no
SI (num=5)
Escriba “Jupiter”
Si no
Si (num=6)
Escriba “Saturno”
Si no
Si (num=7)
Escriba” Urano”
Si no
Si (num=8)
Escriba “Neptuno”
Si no
Escriba “Gracias por participar”
Fin }
10. Escriba un programa que realice una de las operaciones aritméticas básicas según lo pida el
usuario. Al inicio debe presentar un menú presentándole las opciones a elegir. Así:
Menú
1. Suma
2. Resta
3. Multiplicación
4. División
5. Salir
Al elegir según el número realizará la operación solicitada.
Análisis:
Entrada: 2 datos [(Reales, opción (op), numero 1 (a) y numero 2 (b)]
Salida: 4 datos [(Reales, suma (sum), resta (res), multiplicación (mult), división (div)]
Proceso:
sum=a+b || rest=a-b || mult=a*b || div=a/b
Inicio {
Escriba” Elija un número del siguiente menú ” Elija un número del siguiente menú
Escriba” 1. Suma ” 1. Suma
Escriba” 2. Resta ” 2. Resta
Escriba” 3. Multiplicación ” 3. Multiplicación
Escriba” 4. División ” 4. División
Lea op 3
Si (op=1) Ingrese un numero
Escriba “Ingrese un número” 4
Lea a Ingrese otro numero
Escriba “Ingrese otro número” -5
Lea b mult=4*-5=-20
sum=a+b La multiplicación da como resultado -20
Escriba “La suma da como resultado “+sum
Si no
Si (op=2)
Escriba “Ingrese un número”
Lea a
Escriba “Ingrese otro número”
Lea b
res=a-b
Escriba “La resta da como resultado “+res
Si no
Si (op=3)
Escriba “Ingrese un número”
Lea a
Escriba “Ingrese otro número”
Lea b
mult=a*b
Escriba “La multiplicación da como resultado “+mult
Si no
SI (op=4)
Escriba “Ingrese un número”
Lea a
Escriba “Ingrese otro número”
Lea b
SI (b!=0)
div=a/b
Escriba “La división da como resultado “+div
Si no
Escriba “La división no está definida”
Si no
Escriba “Gracias por participar”
Fin }
11. Un sistema de ecuaciones lineales
ax+by=c
dx+ey=f
Análisis:
Entrada: 6 datos [(Reales, coeficiente a (a), coeficiente b (b), coeficiente c (d), coeficiente d (d), coeficiente e (e),
coeficiente f (f)]
Salida: 2 datos [Reales, variable x (x), variable y (y)]
Proceso:
x=(ce-bf) /(ae-bd)
y=(af-cd) / (ae-bd)
Inicio {
Escriba” Ingrese el coeficiente a” Ingrese el coeficiente a
Lea a 2
Escriba” Ingrese el coeficiente b” Ingrese el coeficiente b
Lea b 3
Escriba” Ingrese el coeficiente c” Ingrese el coeficiente c
Lea c 2
Escriba” Ingrese el coeficiente d” Ingrese el coeficiente d
Lea d -2
Escriba” Ingrese el coeficiente e” Ingrese el coeficiente e
Lea e 4
Escriba” Ingrese el coeficiente f” Ingrese el coeficiente f
Lea f -2
Si ((a*e-b*d)!=0) 2*4-3*-2)!=0=14)!=0
x=(c*e-b*f) /(a*e-b*d) x=(2*4-3*-2) /(2*4-3*-2)=1
Si no y=(2*-2-2*-2) /(2*4-3*-2)=0
Escriba “El sistema no tiene solución” C.S: (1,0)
Si ((a*e-b*d)!=0)
y=(a*f-c*d) /(a*e-b*d)
Si no
Escriba “El sistema no tiene solución”
Inicio {
Escriba” Elija uno de los siguientes meses” Elija uno de los siguientes meses
Escriba “1. Enero” 1. Enero
Escriba “2. Febrero” 2. Febrero
Escriba “3. Marzo” 3. Marzo
Escriba “4. Abril” 4. Abril
Escriba “5. Mayo” 5. Mayo
Escriba “6. Junio” 6. Junio
Escriba “7. Julio” 7. Julio
Escriba “8. Agosto” 8. Agosto
Escriba “9. Septiembre” 9. Septiembre
Escriba “10. Octubre” 10. Octubre
Escriba “11. Noviembre” 11. Noviembre
Escriba “12. Diciembre” 12. Diciembre
Lea mes 16
Si (mes=1)||(mes=3)||(mes=5)||(mes=7)||(mes=8)||(mes=10)||(mes=12) Gracias por participar
Escriba “El mes tiene 31 días”
Si no
Si (mes=4)||(mes=6)||(mes=9)||(mes=11)
Escriba “El mes tiene 30 días”
Si no
Si (mes=2)
Escriba “El mes tiene 28 días”
Si no
Escriba “Gracias por participar”
Fin }
13. Escribir un programa que muestre el mayor de 3 números enteros ingresados por el usuario.
Análisis:
Entrada: 3 datos [(Enteros, primer número (a), segundo número (b), tercer número (c)]
Salida: a es el mayor||b es el mayor||c es el mayor
Proceso: a>b&&b<c||a<b&&b>c||a<b&&b<c
Inicio {
Escriba” Ingrese el primer número” Ingrese el primer número
Lea a -4
Escriba” Ingrese el segundo número” Ingrese el segundo número
Lea b 5
Escriba” Ingrese el tercer número” Ingrese el tercer número
Lea c 0
Si (a>b&&b<c) 5 es el mayor.
Escriba +a” es el mayor”
Si no
Si (a<b&&b>c)
Escriba +b” es el mayor”
Si no
Si (a<b&&b<c)
Escriba +c” es el mayor”
Fin }
14. Escribir un programa que calcule las raíces de una ecuación cuadrática.
Análisis:
Entrada: 3 datos [Reales, coeficiente a (a), coeficiente b (b), coeficiente c (c)]
Salida: 3 datos [Reales, discriminante (d), variable x1 (x), variable x2 (x2)]
Proceso: d=Math.sqrt(b*b-4*a*c))
Inicio {
Escriba” Ingrese el coeficiente a” Ingrese el coeficiente a
Lea a 1
Escriba” Ingrese el coeficiente b” Ingrese el coeficiente b
Lea b -4
Escriba” Ingrese el coeficiente c” Ingrese el coeficiente c
Lea c 3
Si (a!=0) d=sqrt(-4*-4-4*1*3)=2
d=Math.sqrt(b*b-4*a*c) x1=(-(-4)+2)/(2*1)=3
Si (d>0) x2=(-(-4)-22)/(2*1)=1
x1=(-b+d)/(2*a) La ecuación tiene dos soluciones y
x2=(-b-d)/(2*a son x1=3 y x2=1
Escriba “La ecuación tiene dos soluciones y son x1= ”+x1 “ x2=”+x2
Si no
SI (d=0)
x1=-b/(2*a)
Escriba “La ecuación tiene una solución y es x1= ”+x1
Si no
SI (d<0)
Escriba “La ecuación no tiene solución”
Fin si
Fin }
15. Dado el número de orden de los días de la semana escriba que día le corresponde.
Análisis:
Entrada: 1 dato [semana (s)]
Salida: lunes||martes||miércoles||jueves||viernes||sábado||domingo
Proceso: s==1||s==2||s==3||s==4||s==5|| s==6||s==7
Inicio {
Escriba” Escoja un número del 1 al 7” Ingrese un número del 1 al 7
Lea s 5
Si (s==1) viernes
Escriba “lunes”
Si no
Si (s==2)
Escriba “martes”
Si no
Si (s==3)
Escriba “miércoles”
Si no
Si (s==4)
Escriba “jueves”
Si no
Si (s==5)
Escriba “viernes”
Si no
Si (s==6)
Escriba “sábado”
Si no
Si (s==7)
Escriba “domingo”
Si no
Escriba “Gracias por participar”
Fin }
16. Dadas las medidas de tres lados de un triángulo (a, b, c) ver si se forma un triángulo, si se forma,
ver qué tipo de triángulo es, si es equilátero, si es isósceles o si es escaleno
Análisis:
Entrada: 3 datos [Reales, lado 1 (a), lado 2 (b), lado 3 (c)]
Salida: Los tres lados forman un triángulo||Los tres lados no forman un triángulo, El triángulo es isósceles ||El triángulo es
equilátero||El triángulo es escaleno
Proceso: (a+b>c)&&(a+c>b)&&(b+c)>a), (a==b)||(b==c)||(a==c) (a==b)&&(b==c)&&(a==c)
Inicio {
Escriba” Ingrese el lado 1” Ingrese el lado a
Lea a 4
Escriba” Ingrese el lado 2” Ingrese el lado b
Lea b 3
Escriba” Ingrese el lado 3” Ingrese el lado c
Lea c 5
Si ((a+b>c)&&(a+c>b)&&(b+c)>a) ((4+3>7)&&(4+5>3)&&(3+5)>4)
Escriba” Las tres medidas forman un triángulo” Las tres medidas forman un triángulo
Si (a==b)||(b==c)||(a==c) (4!=3)&&(4!=5)&&(3!=5)
Escriba “El triángulo es isósceles” El triángulo es escaleno
Si no
Si (a==b)&&(b==c)&&(a==c)
Escriba “El triángulo es equilátero”
Si no
Si (a!=b)&&(a!=c)&&(b!=c)
Escriba “El triángulo es escaleno”
Fin }
17. Escribir un programa que diga si un año es o no bisiesto.
Análisis:
Entrada: 1 dato [Enteros, año (anho)]
Salida: El anho es bisiesto||El año no es bisiesto
Proceso: Si (((anho%4==0)&&((U!=0)||(D!=0)))||((D==0)&&(U==0)&&(anho%100==0)&&(anho%400==0)))
Inicio {
Escriba” Ingrese un año cualquiera” Escriba un año cualquiera
Lea nh 1700
M=anho/1000 m=1700/1000=1
Res=anho%1000 r=1700%1000=700
C=Res/100 c=700/100=7
Res2=Res%100 r2=700%100=0
D=Res2/10 d=0/10=0
Res3=Res2%10 r3=0/10=0
U=Res3 u=0
Si (((anho%4==0)&&((U!=0)||(D!=0)))||((D==0)&&(U==0)&&(anho%100==0)&&(anho%400==0))) El año no es bisiesto
Escriba “El año es bisiesto”
Si no
Escriba “El año no es bisiesto”
Fin }