Sei sulla pagina 1di 24

UNIVERSIDAD:

Mariano Gálvez.
CEDE:
Mazatenango Suchitepéquez.
CARRERA:
Ingeniería En Sistemas.
Curso:
Algoritmos.
CATEDRATICO:
Mynor Cayetano Lapoyeu Lopez

LABORATORIO 2.

ESTUDIANTE:
Cristian Darío González Hernández.
CARNE:
3090-14-5438.
FECHA DE ENTREGA:
31/8/2019.
Laboratorio 2 Algoritmos, utilizando los comandos necesarios y adecuados.

1. teniendo en cuenta que la clave es “eureka”, escribir un algoritmo que nos pida una clave. Solo tenemos 3 intentos para acertar, si fallamos los 3 intentos nos mostrara un mensaje indicándonos
que hemos agotado esos 3 intentos. (Recomiendo utilizar un interruptor). Si acertamos la clave, saldremos directamente del programa.

2. Algoritmo que lea números enteros hasta teclear 0, y nos muestre el máximo, el mínimo y la media de todos ellos. Piensa como debemos inicializar las variables.

3. Algoritmo que visualice la cuenta de los números que son múltiplos de 2 o de 3 que hay entre 1 y 100

4. Leer tres números que denoten una fecha (día, mes, año). Comprobar que es una fecha válida. Si no es válida escribir un mensaje de error. Si es válida escribir la fecha cambiando el número del
mes por su nombre. Ej. si se introduce 1 2 2006, se deberá imprimir “1 de febrero de 2006”. El año debe ser mayor que 0. (Recuerda la estructura segun sea).

NOTA: en PSeInt, si queremos escribir sin que haya saltos de linea, al final de la operacion escribir escribimos sin saltar.
5. Calcular las calificaciones de un grupo de alumnos. La nota final de cada alumno se calcula según el siguiente criterio: la parte práctica vale el 10%; la parte de problemas vale el 50% y la parte
teórica el 40%. El algoritmo leerá el nombre del alumno, las tres notas, escribirá el resultado y volverá a pedir los datos del siguiente alumno hasta que el nombre sea una cadena vacía. Las notas
en estar entre 0 y 10, si no lo están, no imprimirá las notas, mostrara un mensaje de error y volverá a pedir otro alumno.
6. Algoritmo que lea un número entero (altura) y a partir de él cree una escalera invertida de asteriscos con esa altura. Debera quedar asi, si ponemos una altura de 5.

*****
****
***
**
*
7. Algoritmo que dado un año, nos diga si es bisiesto o no. Un año es bisiesto bajo las siguientes condiciones:

Un año divisible por 4 es bisiesto y no debe ser divisible entre 100.


Si un año es divisible entre 100 y además es divisible entre 400, también resulta bisiesto.
NOTA: este ejercicio tiene muchas formas de hacerlo si quieres comprobar que es correcto, puedes probarlo aquí, también encontraras información sobre las condiciones de cuando un año es
bisiesto.
8. Realice un algoritmo que calcule el monto a pagar por el servicio de estacionamiento, teniendo en cuenta que por la primera hora de estadía se tiene una tarifa de Q.10 y las restantes tienen un
costo de Q.3 Se tiene como datos: hora de entrada, hora de salida (formato militar), iniciada una hora se contabiliza como hora total.

9. Realice un algoritmo que a partir de proporcionarle la velocidad de un automóvil, expresada en

Kilómetros por hora, proporcione la velocidad en metros por segundo.


10. Desarrolle un algoritmo que permita calcular Promedio de Notas; finaliza cuando N = 0.

11. Desarrolle un algoritmo para la empresa Constructora Tecnovivir Casas C.A., que le permita calcular e imprimir la nómina para su cancelación a un total de 50 obreros calificados a quienes
debe cancelar por horas trabajadas. La hora trabajada se pautó en Q. 16.

12. Desarrolle un programa que permita determinar a partir de un número de días, ingresado por teclado, ¿Cuántos años, meses, semanas y días; constituyen el número de días proporcionado
utilizando la estructura Mientras.

13. 31. Desarrollar un algoritmo que imprima los números impar en orden descendiente que hay entre 1y 100.

14. Algoritmo para leer 25 números, obtener su promedio, el mayor y menor de esos números.

15. Escribir un algoritmo que solicite un numero (1-10) y muestre la tabla de multiplicación de dicho número.
16. Cuatro enteros entre 0 y 100 representan las puntuaciones de un estudiante de informática. Escribir un programa para encontrar la media de estas puntuaciones y visualizar una tablado notas
de acuerdo al siguiente cuadro:
MEDIA PUNTUACION
90-100 A
80-89 B

70-79 C
60-69 D
0-59 E

17) Codificar un programa que escriba la calificación correspondiente a una nota, de acuerdo con el siguiente criterio:
0 a <5.0 Suspenso
5 a < 6.5 Aprobado
6.5 a < 8.5 Notable
8.5 a < 10 Sobresaliente
10 Matrícula de honor

18. Elabore un algoritmo para elevar un número x a una potencia n.

19. Escribir un algoritmo que juegue a adivinar un número del siguiente modo: la máquina piensa un número entre 1 y 100 el usuario debe averiguar dicho número. Para elle cada vez que el
usuario sugiera un número el ordenador debe contestar con demasiado grande, demasiado pequeño o correcto (g/p/c). Se debe implementar un algoritmo eficiente que el número menor en el
menor de intentos posibles.

20. Un zoólogo pretende determinar el porcentaje de animales que hay en las siguientes categorías de edades:

a. De 0 a 1 año, de mas de 1 año y menos de 3 años, y de 3 o mas años. El zoológico todavía no esta seguro del animal que va a estudiar. Sí se decide por elefantes solo tomara una muestra de 20
de ellos; sí se decide por jirafas, tomara 15 muestras y sí son chimpancés timara 40.

b. 39. Simular el comportamiento de un reloj digital, imprimiendo la hora, minutos y segundos de un día desde las 00:00:00 horas hasta las 23:59:59 horas

c. 40. Leer 50 calificaciones de un grupo de alumnos. Calcule y escriba el porcentaje de reprobados. Tomando en cuenta que la calificaron mínima aprobatoria es de 70
1) Teniendo en cuenta que la clave es “eureka”, escribir un algoritmo que nos pida una clave. Solo tenemos
3 intentos para acertar, si fallamos los 3 intentos nos mostrara un mensaje indicándonos que hemos
agotado esos 3 intentos. (Recomiendo utilizar un interruptor). Si acertamos la clave, saldremos
directamente del programa.

1 Proceso ejercicio_1
2 contador<-0
3 //interruptor
4 acierto<-Falso
5 //usamos un interruptor, cuando acertemos,
6 //cambiara y la condicion sera falsa
7 Mientras (contador<3 Y acierto=falso) Hacer
8 //ponemos aqui leer porque con las variables
9 //iniciales entra en el bucle
10 Escribir "introduce la clave"
11 Leer clave
12 si (clave="eureka") Entonces
13 Escribir "la clave es correcta"
14 //el interruptor cambia cuando acertamos
15 acierto<-Verdadero
16 FinSi
17 contador<-contador+1
18 FinMientras
19 //este mensaje solo aparecera si hemos agotado
20 //todos los intentos y no hemos acertado
21 si (contador=3 Y acierto=falso) Entonces
22 Escribir "Ya no tienes mas intentos"
23 FinSi
24 FinProceso
1) Algoritmo que lea números enteros hasta teclear 0, y nos muestre el máximo, el mínimo y la media de todos
ellos. Piensa como debemos inicializar las variables.

1 Proceso ejercicio_2
2 Leer num
3 //maximo y el minimo se inician con el numero que
4 //insertemos para que lo podamos modificar
5 //durante el programa
6 minimo<-num
7 maximo<-num
8 suma<-0
9 Mientras (num<>0) Hacer
10 si (num>maximo) Entonces
11 maximo<-num
12 FinSi
13 si (num<minimo) Entonces
14 minimo<-num
15 FinSi
16 suma<-suma+num
17 contador<-contador+1
18 leer num
19 FinMientras
20 media<-suma/(contador)
21 //escrbimos los resultados
22 Escribir "El maximo es " maximo
23 Escribir "El minimo es " minimo
24 Escribir "La media es " media
25 FinProceso
2) Algoritmo que visualice la cuenta de los números que son múltiplos de 2 o de 3 que hay entre 1 y 100.

1 Proceso ejercicio_3
2 Para num<-1 Hasta 100 Con Paso 1
3 //asi indicamos si un numero es multiplo de 3 o de 2
4 si (num MOD 2=0 o num MOD 3=0) Entonces
5 Escribir num
6 FinSi
7 FinPara
8 FinProceso
3) Leer tres números que denoten una fecha (día, mes, año). Comprobar que es una fecha válida. Si no es válida
escribir un mensaje de error. Si es válida escribir la fecha cambiando el número del mes por su nombre. Ej.
si se introduce 1 2 2006, se deberá imprimir “1 de febrero de 2006”. El año debe ser mayor que 0. (Recuerda
la estructura segun sea).

NOTA: en PSeInt, si queremos escribir sin que haya saltos de linea, al final de la operacion escribir
escribimos sin saltar.

1 Proceso ejercicio_4
2 Escribir "Introduce el dia"
3 Leer dia
4 Escribir "Introduce el mes"
5 Leer mes
6 Escribir "Introduce el año"
7 Leer año
8 //comprobamos que la fecha es correcto
9 si ((dia<=31 y dia>=0) y (mes<=12 y mes>=0) y año>0) Entonces
10 Escribir dia sin saltar
11 //usamos el segun sea para escribir el mes
12 Segun mes Hacer
13 1:
14 escribir " de enero de" sin saltar
15 2:
16 escribir " de febrero de " sin saltar
17 3:
18 escribir " de marzo de " sin saltar
19 4:
20 escribir " de abril de " sin saltar
21 5:
22 escribir " de mayo de " sin saltar
23 6:
24 escribir " de junio de " sin saltar
25 7:
26 escribir " de julio de " sin saltar
27 8:
28 escribir " de agosto de " sin saltar
29 9:
30 escribir " de septiembre de " sin saltar
31 10:
32 escribir " de octubre de " sin saltar
33 11:
34 escribir " de noviembre de " sin saltar
35 12:
36 escribir " de diciembre de " sin saltar
37 FinSegun
38 Escribir año
39 Sino
40 Escribir "error"
41 FinSi
42 FinProceso
5) Calcular las calificaciones de un grupo de alumnos. La nota final de cada alumno se calcula
según el siguiente criterio: la parte práctica vale el 10%; la parte de problemas vale el 50% y la
parte teórica el 40%. El algoritmo leerá el nombre del alumno, las tres notas, escribirá el resultado
y volverá a pedir los datos del siguiente alumno hasta que el nombre sea una cadena vacía. Las
notas deben estar entre 0 y 10, si no lo están, no imprimirá las notas, mostrara un mensaje de error
y volverá a pedir otro alumno.

1 Algoritmo ejercicio_5
2 Escribir 'Ingresar nombre: '
3 Leer nom
4 Mientras nom!='' Hacer
5 Escribir 'Ingresar nota practica'
6 Leer practica
7 Escribir 'Ingresar nota de los problemas'
8 Leer problem
9 Escribir 'Ingresar nota teorica'
10 Leer teorica
11 practica <- practica*10/10
12 problem <- problem*50/10
13 teorica <- teorica*40/10
14 notF <- practica+problem+teorica
15 Escribir 'La nota final es: ',notF,'%'
16 Escribir 'Ingresar nombre: '
17 Leer nom
18 FinMientras
19 FinAlgoritmo
6) Algoritmo que lea un número entero (altura) y a partir de él cree una escalera invertida de asteriscos con
esa altura. Debera quedar asi, si ponemos una altura de 5.

1 Proceso ejercicio_22
2 Leer altura
3 //iniciamos las variables segun lo necesitamos
4 asterisco<-altura
5 espacio<-0
6 Para linea<-1 hasta altura con paso 1
7 //escribimos los espacios iniciales
8 Para espacio_linea<-0 hasta espacio con paso 1
9 Escribir " " sin saltar
10 FinPara
11 //escribimos los asteriscos de la escalera
12 Para asterisco_linea<-1 hasta asterisco con paso 1
13 Escribir "*" sin saltar
14 FinPara
15 //aumentamos los espacios y disminuimos los asteriscos
16 asterisco<-asterisco-1
17 espacio<-espacio+1
18 Escribir " "
19 FinPara
20 FinProceso
7) Algoritmo que dado un año, nos diga si es bisiesto o no. Un año es bisiesto bajo las siguientes condiciones:

 Un año divisible por 4 es bisiesto y no debe ser divisible entre 100.

 Si un año es divisible entre 100 y además es divisible entre 400, también resulta bisiesto.
NOTA: este ejercicio tiene muchas formas de hacerlo si quieres comprobar que es correcto, puedes probarlo
aquí. también encontraras información sobre las condiciones de cuando un año es bisiesto.

1 Proceso ejercicio_23
2 Escribir "Introduce un año"
3 leer año
4 si (año MOD 4=0 y año MOD 100<>0)Entonces
5 Escribir "El año " año " es bisiesto"
6 Sino
7 si (año MOD 400=0 y año MOD 100=0) Entonces
8 Escribir "El año " año " es bisiesto"
9 Sino
10 escribir "El año " año " no es bisiesto"
11 FinSi
12 FinSi
13 FinProceso
8) Realice un algoritmo que calcule el monto a pagar por el servicio de estacionamiento teniendo
en cuenta que por la primera hora de estadia se tiene una tarifa de Q10 y los restantes tienen un
costo de Q3 se tiene como datos: hora de entrada hora de salida(formato militar) , iniciada una
hora se contabiliza como hora total.

1 Proceso ejercico_8
2 Escribir Sin Saltar "Ingrese el valor de horas:";
3 Leer horas;
4 cobro <- 0;
5 Si horas<=2 Entonces
6 cobro <- horas*5;
7 FinSi
8 Si horas>2 Y horas<=5 Entonces
9 cobro <- 2*5+(horas-2)*4;
10 FinSi
11 Si horas>5 Y horas<=10 Entonces
12 cobro <- 2*5+3*4+(horas-5)*3;
13 FinSi
14 Si horas>10 Entonces
15 cobro <- 2*5+3*4+3*5+(horas-10)*2;
16 FinSi
17 Escribir "Valor de cobro: Q ", cobro;
18 FinProceso
9) Realice un algoritmo que apartir de proporcionarle la velocidad de un automovil, expresada en
kilometros por hora, proporcione la velocidad en metros por segundo

1 Algoritmo ejercicio_9
2 Definir ms,kh Como Real
3 Escribir 'conversor de m/s a kh'
4 Escribir ''
5 Escribir 'diga el numero de la aceleracion (m/s):', Sin Saltar;
6 Leer ms
7 kh <- (ms/1000)*3600
8 Escribir ''
9 Escribir 'la aceleracion es: ',kh,'k/h'
10 FinAlgoritmo
10) desarrolle un algoritmo que permita calcular promedio de notas; finaliza cuando N=0.

1 Proceso ejercicio_10
2 Escribir "Ingrese la cantidad de datos:"
3 Leer n
4 acum<-0
5 Para i<-1 Hasta n Hacer
6 Escribir "Ingrese el dato ",i,":"
7 Leer dato
8 acum<-acum+dato
9 FinPara
10 prom<-acum/n
11 Escribir "El promedio es: ",prom
12 FinProceso
11) Desarrolle un algoritmo para la empresa Constructora Tecnovivir Casas C.A., que le permita calcular e
imprimir la nómina para su cancelación a un total de 50 obreros calificados a quienes debe cancelar por horas
trabajadas. La hora trabajada se pautó en 30.000 Bolívares.

Algoritmo ejercicio_11
Definir num_obr,num_ht,total_n,salario Como Real
salario <- 0
total <- 0
Escribir 'nomina tecnovivir casas C.A '
Escribir ''
Para num_obr<-1 Hasta 50 Hacer
Escribir 'ingrese las cantidades de las horas trabajadas para el trabajador',num_obr,':'
Leer num_ht
salario <- num_ht*16
total_n <- total_n+salario
Borrar Pantalla
FinPara
Escribir 'total nomina :',total_n
FinAlgoritmo
12) desarrollar un algoritmo que permita determinar un numero de dias ingresado por el teclado ¿cuantos
años meses y dias constituyen el numero de dias; proporcionado utilizando la estructura mientras

Algoritmo ejercicio_12
Definir n,año,mes,semana Como Real
Definir anos,meses,semanas,diass Como Real
Escribir ' Ingrese los Dias'
Leer n
ano <- 365
mes <- 30.417
semana <- 7
Si n>0 Entonces
anos <- n/ano
meses <- n/mes
semanas <- n/semana
diass <- n
// Operaciones
Escribir ' Dada la cantidad de dias ingresados se tiene : '
Escribir 'Años : ',anos
Escribir 'Meses : ',meses
Escribir 'Semanas : ',semanas
Escribir 'Dias : ',diass
SiNo
Escribir ' No se ha ingresado ningun Dia'
FinSi
FinAlgoritmo
13) desarrolle un algoritmo que imprima los numeros impares en orden desendente que hay entre 1
y 100

ALGORITMO ejercicio

MIENTRAS c < 100


ESCRIBIR c
c <- c + 2
son <- son + 1
FINMIENTRAS
ESCRIBIR "El numero de impares: "
ESCRIBIR son
FinAlgoritmo
14) algoritmo para leer 25 numeros, obtener su promedio el mayor y menor de esos nuemros

Algoritmo ejercicio_14
Leer num
mayor <- num
menor <- num
prom <- num
Leer num
prom <- prom+num
Si (num<=menor) Entonces
menor <- num
Si (num>=mayor) Entonces
mayor <- num
FinSi
FinSi
Escribir 'el promedio:',prom/25
Escribir 'el numero menor es',menor
Escribir 'si el numero es mayor',mayor
FinAlgoritmo
15) escribir un algoritmo que soilicite un numero (1-10) y muestre la tabla de multiplicacion de
dicho numero

Algoritmo ejercicio_15
definir num Como Entero
escribir "ingrese un numero para multiplicar"
leer num
para i<-0 hasta 10 con paso 1 Hacer
Escribir num " x ",i," = ",(num*i)
FinPara
FinAlgoritmo
16) cuatro numero entre 0 y100 representan las puntuaciones de un estudiante de informatica
esribir un progrma para encontrar la media de estas puntuaciones y visualizar una tabla de notas al
siguiente cuadro

Algoritmo ejercicio_16
n <- 4;
nota <- 0;
Dimension notas[n];
Para i<-0 Hasta n-1 Con Paso 1 Hacer
Escribir "Ingrese nota ",i+1;
Leer notas( i );
Si notas[i]>= 0 Y notas[i]<=100 Entonces
Escribir "Nota OK";
Sino
Escribir "Nota incorrecta ";
i <- i-1;
FinSi
FinPara
Para i<-0 Hasta n-1 Con Paso 1 Hacer
nota <- nota + notas[i];
FinPara
nota <- nota/n;
Escribir "MEDIA PUNTUACION";
Si nota>=60 Y nota<=69 Entonces
Escribir nota," D";
FinSi
Si nota>=70 Y nota<=79 Entonces
Escribir nota," C";
FinSi
Si nota>=80 Y nota<=89 Entonces
Escribir nota," B";
FinSi
Si nota>=90 Y nota<=100 Entonces
Escribir nota," A";
FinSi
FinAlgoritmo
17) codificar un programaque escriba la calificacion correspondiente a una nota, de acuerdo con el
siguiente criterio.
18) elabore un algoritmo para elevar un numero x a una potencia n.

Algoritmo sin_titulo
Definir a,b,po,c Como Entero;
Escribir "Resuelve la potencia de un número ";
Escribir "ingrese la base";
Leer a;
Escribir "ingrese la potencia";
Leer b;
po<-1;
c<-1;
Mientras c<=b Hacer//se repite mientas la condición se verdadera
po<-po*a;
c<-c+1;//Se aumenta en 1 más cada vez que se repite la condición
Fin Mientras//finaliza el ciclo
Escribir a,"^",b,"=",po;
FinAlgoritmo
19) escribir un algoritmo que juegue adivinar un numero del siguiente modo: la maquina piensa un
numero entre el 1 y 100 el usuario debe averiguar dicho numero. Para ello cada ves que el usuario
sugiera un numero el ordenador debe contestar con demaciado grande, demaciado pequeño o
correcto (g/p/c). se debe implemntar un algoritmo enficiente que el numero menor en el menor de
intentos posibles.
20.a) Un zoologico pretende determinar el porcentaje de animales que hay en la siguiente categorias de edades. De 0 a 1 año, de mas de un
año y menos de 3 añosy de 3 o mas años el zoologico no esta seguro de cual animal va estudiar si se decide por elefante se tomara una
muestra de 20 de ellos, si se decide por las jirafas se tomaran 15 muestras y son chimpace se tomaran 40

Algoritmo ejercicio_20
nom <- ''
Escribir 'Ingrese el nombre del animal (salir para terminar): '
Leer nom
Si nom=='elefantes' Entonces
muestras <- 20
SiNo
Si nom=='jirafas' Entonces
muestras <- 15
SiNo
Si nom=='chimpances' Entonces
muestras <- 40
SiNo
Escribir 'Nombre de animal inválido.'
muestras <- 0
FinSi
FinSi
FinSi
Si muestras<>0 Entonces
Escribir 'Ingrese la cantidad de ',nom,' de 0 A 1 año: '
Leer cantidad
porcentajeUNO <- (muestras*100)/cantidad
Escribir 'Ingrese la cantidad de ',nom,' de 2 años: '
Leer cantidad
porcentajeDOS <- (muestras*100)/cantidad
Escribir 'Ingrese la cantidad de ',nom,' de 3 a más años: '
Leer cantidad
porcentajeTRES <- (muestras*100)/cantidad
Escribir 'El porcentaje de ',nom,' de 0 a 1 año es: ',porcentajeUNO
Escribir 'El porcentaje de ',nom,' de 2 años es: ',porcentajeDOS
Escribir 'El porcentaje de ',nom,' de 3 a más años es: ',porcentajeTRES
FinSi
FinAlgoritmo
20.b) Simular El Comportamiento De Un Reloj Digital, Imprimiendo La Hora, Minutos Y Segundos De Un Día
Desde Las 0:00:00 Horas Hasta Las 23:59:59 Horas

Algoritmo ejercicio_20b
Definir h,m,s Como Entero
Para h<-1 Hasta 23 Hacer // para las horas
Para m<-1 Hasta 59 Hacer // para los segundos
Para s<-1 Hasta 59 Hacer // para los segundos
Escribir h,':',m,':',s
FinPara
FinPara
FinPara
FinAlgoritmo
20.c) leer 50 calificaciones de un grupo de estudiantes. Calcule y escriba el porcentaje de
reprobados tomando en cuenta que la cailificacion aprobatoria es de 70.

Algoritmo ejercico_20c
suma <- 0
Para i<-1 Hasta 50 Hacer
Escribir 'Introduce calificación'
Leer cal
Si cal<70 Entonces
suma <- suma+1
FinSi
FinPara
p <- (suma/50)*100
Escribir 'El porcentaje de reprobados es: ',p
FinAlgoritmo

Potrebbero piacerti anche