Universidad Nacional de Ingeniera
Recinto Universitario Pedro Arauz Palacios
Facultad Tecnologa de la Industria
Trabajo de programacin I
Solucin de algoritmos
Elaborado por:
Iriam Ali Lpez Zuniga
Carolina
Chester
Docente:
Ftima del Rosario
Fecha de entrega:
Grupo: 2T3-IND
Managua, Nicaragua
Introduccion
1. Escriba un programa que lea la calificacin de un alumno, imprima el mensaje APROBADO
si su calificacin es mayor o igual que 60, en caso contrario imprima REPROBADO.
Inicio
Datos
Variables
Entero num
Programa ejer_3
Escribir "Dame un numero: "
leer num
si num<0 Entonces
cal<-(num-2)
Si_no
cal<-(num+2)
Fin_Si
Escribir "El Resultado es ", cal
Fin_programa
2. Escriba un programa que lea la calificacin de un alumno, imprima el mensaje APROBADO
si su calificacin es mayor o igual que 60, en caso contrario imprima REPROBADO.
Inicio
Datos
Variables
Entero: nota
Programa ejer_5
escribir "Cual es la nota del estudiante"
leer nota
si nota<60 Entonces
Escribir "Reprobado"
Si_no
Escribir "Aprobado"
Fin_Si
Fin_programa
3. Una tienda vende camisas de determinado estilo. Estas camisas se venden a 10 crdobas cada una si
se compran ms de tres unidades, y a 12 crdobas en los dems casos. Estructure un programa que
lea un nmero que corresponde a una cantidad de camisas a comprar e imprima el costo total por
estas.
Inicio
Variables
Entero: cam
programa ejer_9
Escribir "Cuantas camisas se han vendido"
leer cam
si cam<3 Entonces
costo_total<-cam*12
Si_no
costo_total<-cam*10
Fin_Si
Escribir "El costo total es: ", costo_total
Fin_programa
4. Escriba un programa que lea dos nmeros enteros positivos distintos y escriba la diferencia entre el
mayor y el menor. Asegrese que su programa escriba por ejemplo 6 si los nmeros son 9 y 15, o
bien 15 y 9.
Inicio
Variables
Enteros: a, b
programa ejer_11
Escribir "Escribe los dos numeros positivos: "
leer a,b
si a>0 y b>0 Entonces
si a>b Entonces
dif<-a-b
Si_no
dif<-b-a
Fin_Si
Si_no
Escribir "Error, solo escribe numeros positivos"
Fin_Si
Escribir "El resultado es: ", dif
Fin_programa
5. Un trabajador recibe un salario normal por hora por las primeras 30 horas y se le paga 1.5 veces su
salario normal por hora por cada hora despus de las primeras 30. Escriba un programa que
calcule e imprima el salario bruto del empleado basado en el sueldo normal por hora y el nmero
de horas de trabajo que deben ser introducidos por el usuario.
Inicio
Variables
Entero: horas, h_ext
Real: sal_ht
Programa ejer_13
Escribir "Salario por horas trabajadas"
leer sal_ht
Escribir "Cuantas horas has trabajado"
leer horas
h_ext<-(horas-30)
si horas<=30 Entonces
salario<-(horas*sal_ht)
Si_no
salario<-(horas*sal_ht + h_ext*(1.5*sal_ht))
Fin_Si
Escribir Tu sueldo es de: salario
Fin_programa
6. En una universidad, los veteranos pagan 30 crdobas por materia inscrita mientras que los
regulares pagan 50 por materia inscrita. Escriba un programa en que lea el tipo de estudiante
(veterano o regular) y el nmero de materias a matricular. La salida debe indicar si el estudiante es
de la categora VETERANO o REGULAR e indicar el nmero de materias inscritas y los costos de
colegiatura.
Inicio
Variables
Entero: clases
Cadena: tipo
programa ejer_15
Escribir "Que tipo de estudiante eres?"
leer tipo
Escribir "Cuantas clases vas a inscribir"
leer clases
si tipo='veterano'
pagar<-clases*30
Si_no
pagar<-clases*50
Fin_Si
Escribir "Eres ", tipo, " y pagaras ", pagar
Fin_progra
7. Escriba un programa que lea un cierto nmero x, y que imprima el valor de y, dado la siguiente
condicin:
Si 0.0 < x <= 10.9 entonces y = 8.7 + x
Si 10.9 < x <= 21.6 entonces y = 16 * x
Si 21.6 < x <= 50.0 entonces y = 24/x
Inicio
Variables
Real: x,y
Programa ejer_17
r<-0
Escribir "Cual es el numero:"
leer x
si x>0 y x<=10.9 Entonces
r<-8.7+x
Sino
si x>10.9 y x<=21.6 Entonces
r<-16*x
Si_no
Si x>21.5 y x<=50.0 Entonces
r<-24/x
Si_no
Escribir "Error intentelo nuevamente"
Fin_Si
Fin_Si
Fin_Si
Escribir "el resultado es: ", r
Fin_programa
8. El seguro social especifica el porcentaje a deducir a cada empleado segn las condiciones
siguientes:
Si es soltero se le deduce el 1% de su salario.
Si es casado y sin hijos el 2% de su salario.
Si es casado y con hijos el 3% de su salario.
Escriba un programa que lea el salario y la condicin del asegurado, e imprima su cuota del mes evaluado.
Inicio
Variables
Real:sal_neto
Cadena: cond
programa ejer_19
Escribir 'Cual es tu salario neto'
Leer sal_neto
Escribir 'Cual es tu condicion'
Leer cond
Si cond='soltero' Entonces
cuota_mes<-sal_neto*0.01
Fin_Si
Si cond='casado y sin hijos' Entonces
cuota_mes<-sal_neto*0.02
Fin_Si
Si cond='casado y con hijos' Entonces
cuota_mes<-sal_neto*0.03
Fin_Si
Escribir 'Tu cuota del mes es: ',cuota_mes
Fin_programa
9. Un tringulo es equiltero si posee
sus tres lados iguales, es issceles si
tiene solamente dos lados iguales, y es
escaleno cuando todos sus lados son desiguales. Escriba un programa que lea las dimensiones de
los lados de un tringulo, y presente como salida el mensaje la clasificacin del tringulo
(EQUILTERO, ISSCELES O ESCALENO).
Inicio
Variables
Real: a,b,c
Programa ejer_21
Escribir "Escribe los lados del triangulo"
Leer a,b,c
si a=b b=c Entonces
Escribir "Es un tiangulo EQUILATERO"
Fin_Si
Si (a=b y b<>c) o (b=c y a<>c) o (c=a y b<>a) Entonces
Escribir "Es un triangulo ISOSCELES"
Fin_Si
Si a<>b y b<>c y c<>a Entonces
Escribir "Es un triangulo ESCALENO"
Fin_Si
Fin_programa
10. Una agencia de seguros para automviles asigna costos basados en el sexo y en la edad del
conductor. Los varones de menos de 25 aos pagan las primas ms altas, 1000 crdobas. Los
varones de 25 o ms pagan 700 crdobas. Las mujeres de menos de 21 aos 800 crdobas,
mientras que las mujeres de 21 o ms pagan 500 crdobas. Escriba un programa que tenga como
entrada el sexo y la edad del conductor y de salida la prima a pagar.
Inicio
Variables
Entero: edad
Cadena: sex
programa agencia
Escribir 'Que edad tienes'
Leer edad
Escribir 'Que sexo eres'
Leer sex
Si sex='hombre' Entonces
Si edad<25 Entonces
Escribir 'Pagaras C$1000'
Sino
Escribir 'Pagaras C$700'
FinSi
FinSi
Si sex='mujer' Entonces
Si edad<21 Entonces
Escribir 'Pagaras C$800'
Sino
Escribir 'Pagaras 500'
FinSi
FinSi
Fin_programa
11. Escriba un programa que convierta una fecha dada numricamente en una fecha con el mes en
letras. Por ejemplo, recibe la fecha 30, 5, 91, debe imprimir 30 de Mayo de 1991.
Inicio
Variables
Entero a, mes, a
programa Fecha
Escribir 'Dame la fecha en numeros dia, mes, ao:'
Leer d, mes, a
Si a<0 o a>9999 Entonces
Escribir 'Error intenta nuevamente'
Si_no
Si (mes<=0 o mes>12) Y (d<=0 o d>31) Entonces
Escribir 'Datos incorrectos'
Si_no
Segun mes Hacer
1: f<-'Enero'
2: f<-'Febrero'
3: f<-'Marzo'
4: f<-'Abril'
5: f<-'Mayo'
6: f<-'Junio'
7: f<-'Julio'
8: f<-'Agosto'
9: f<-'Septiembre'
10: f<-'Octubre'
11: f<-'Noviembre'
12: f<-'Diciembre'
Fin_Segun
Escribir 'La fecha es: ',d,' de ',f,' del ao ',a
Fin_Si
Fin_Si
Fin_programa
12. Escriba un programa llamado cajero automtico controlado por men. Se debe inicializar el saldo
de una cuenta en un banco en mil crdobas. Se trata de permitir al usuario hacer tantas
transacciones como quiera a partir del men:
1. Depsito
2. Retiro
3. Ver saldo
4. Salir
Seudocodigo
Inicio
Variables
Real: dep, saldo, ret
programa cajero_automatico
dep<-0
saldo<-1000
ret<-1
Escribir "Cajero Automatico"
Escribir "[Link]"
escribir "[Link]"
escribir "[Link]"
escribir "[Link]"
mientras saldo>ret y ret<>0 Hacer
Escribir "Escriba un numero para realizar la accion:"
leer ac
si ac=1 Entonces
Escribir "DEPOSITO"
Escribir "Cual es el monto a depositar:"
Leer x
dep<-x
saldo<-saldo+dep
Escribir "Has hecho un deposito de: ", x
finsi
si ac=2 entonces
Escribir "RETIRO"
Escribir "Cuanto deseas retirar:"
leer ret
si ret<=0 o ret>saldo entonces
ret<-1
Escribir "Tu monto a retirar es invalido"
Escribir "O No tienes saldo en tu cuenta no puedes realizar esta operacion"
Sino
saldo<-saldo-ret
escribir "El deposito se ha realizado exitosamente"
escribir "Tu saldo es de ", saldo
FinSi
FinSi
si ac=3 Entonces
escribir "CONSULTA DE SALDO"
Escribir "Tu Saldo es: ", saldo
Fin_si
si ac=4 Entonces
Escribir "Gracias por utilizarme"
ret<-0
FinSi
FinMientras
Fin_programa
13. Escriba un programa que lea "N" nmeros enteros y que los imprima.
14. Escriba un programa que lea n nmeros, y que calcule e imprima la suma de ellos.
15. Escriba un programa para cada uno de los siguientes incisos
a) 1 + 1/2 + 1/3 + 1/4 +... 1/n
b) 1/(1 + 1*a) + 1/(1 + 2*a) + 1/(1 + 3*a) +... 1/(1 + n*a)
c) 1 + 2 + 3 + 4 +... + 100
16. Escriba un programa que obtenga cada uno de los siguientes resultados de productos de forma
independiente:
a) 2/1 * 4/3 * 6/5 * 8/7 *... * 22/21
b) * 3/4 * 5/6 * 7/8 *... * 21/22
c) 1/1 * 3/2 * 5/3 * 7/4 *... * (2*n-1)/n
17. Escriba un programa que tenga como entrada "N" nmeros enteros, y que calcule la cantidad de
nmeros pares e impares en la lista.
18. Escriba un programa que lea las notas de "N" alumnos, y que calcule cuntos aprobados y
reprobados hay. (Recuerde que una nota aprobada es aquella que es mayor o igual que 60).
19. Escriba un programa que determine el coeficiente binomial definido como:
20. Escriba un programa que lea N nmeros, y que calcule la suma de ellos, la cantidad de negativos, la
cantidad de positivos y la cantidad de ceros que hay en la lista.
21. En un curso de N alumnos se practican 3 exmenes. Los datos de cada estudiante se registran as:
nombre, nota1, nota2, nota3. Escriba un programa que calcule e imprima por cada estudiante el
promedio de las notas.
22. Escriba un programa para cada una de las series que a continuacin se detallan:
Para cada serie considere como datos de entrada el valor de x que es el ngulo en las dos primeras series y
en la tercera en el valor al cual se va a elevar el nmero e, y n la cantidad de trminos a considerar.
Nota: X debe ser dado en ledo en grados y transformado a radianes.
23. Dada la edad de una N personas. Escriba un programa que imprima "NIO si la edad es menor
que 13, "JOVEN" si la edad es mayor que 13 pero menor o igual que 25, "ADULTO" si la edad es
mayor que 25 pero menor o igual a 49 y ANCIANO si la edad es mayor o igual a 50
24. Escriba un programa que determine si un nmero entero ledo es nmero primo o no. Por
definicin un nmero primo es aquel que solo es divisible por s mismo y por la unidad.
25. Escriba un programa que imprima una pirmide de nmeros colocados en la manera siguiente :
1
121
12321
1234321
123454321
12345654321
1234567654321
123456787654321
12345678987654321
26. Dado un arreglo lineal de "n" elementos. Escriba un programa por cada inciso que calcule e
imprima lo que se solicita :
a. La suma de sus elementos.
b. La suma de sus elementos elevados al cuadrado.
c. Que determine el menor elemento.
d. Que determine el mayor elemento.
e. Del inciso c y d, obtener la posicin de esos elementos.
f. El promedio de los elementos.
g. Ordenarlos en forma ascendente.
h. Calcular la productoria de sus elementos.
i. El mdulo del arreglo.
27. Dado un arreglo bidimensional de orden n, escriba un programa por cada inciso
a. Que lea el arreglo y que lo imprima en el orden dado.
b. Que imprima los elementos de la diagonal principal.
c. Que imprima los elementos que estn por encima de la diagonal principal.
d. Que imprima los elementos que estn por debajo de la diagonal principal.
e. Que imprima los elementos que estn por debajo y por encima de la diagonal principal.
28. El departamento de becas de la Universidad Nacional de Ingeniera requiere clasificar a los
estudiantes segn el promedio de sus calificaciones en:
EXCELENTE: 91..100
MUY BUENO: 81.. 90
BUENO: 71.. 80
REGULAR: 60.. 70
REPROBADO: 0.. 59
29. Elabore un programa que permita conocer la cantidad de estudiantes que estn en cada categora.
Datos de entrada: Cantidad de estudiantes y su promedio.
30. Confeccionar un programa que calcule el da de la semana que corresponde a la fecha introducida.