miércoles, 27 de marzo de 2013

Pseudocódigo XV

Ejercicios Pseudocódigo con PSeInt:





El IMSS requiere clasificar a las personas que se jubilaran en el año.Existen tres tipos de jubilaciones: 



  • por edad
  • por antigüedad joven
  • por antigüedad adulta

Las personas adscritas a la jubilación por edad deben tener 60 años o mas y una antigüedad en su empleo de menos de 25 años.
Las personas adscritas a la jubilación por antigüedad joven deben tener menos de 60 años y una antigüedad en su empleo de 25 años o mas.
Las personas adscritas a la jubilación por antigüedad adulta deben tener 60 años o mas y una antigüedad en su empleo de 25 años o mas.
Determinar en que tipo de jubilación, quedara adscrita una persona.

1 Proceso Jubilaciones
2      //Calcular edad con fecha de nacimiento
3      //Calcular años trabajados
4      // Por contratos A M D 12 Meses 30 Dias
5      // Por Edad >= 60 años y < 25 cotizados
6      // Por Antig uedad Adulta Edad >= 60 y >= 25 cotizados
7      // Por Antiguedad joven Edad < 60 y >= 25 cotizados
8      // No Jubilado < 60 y < 25 cotizados.
9
10 //Calcular Edad
11     Definir DiaNac, MesNac, AnyoNac, Edad como entero;
12     Definir DiaAct, MesAct, AnyoAct como entero;
13     DiaAct <- 12;
14     MesAct <- 03;
15     AnyoAct<- 2013;
16     Escribir "Dime tu fecha de nacimiento dd mm aaaa";
17     Leer DiaNac, MesNac, AnyoNac;
18     Edad <- AnyoAct - AnyoNac;
19     si MesAct < MesNac entonces
20           Edad <- Edad - 1;
21     Sino
22           si MesAct = MesNac & DiaAct < DiaNac Entonces
23                  Edad <- Edad - 1;
24           FinSi
25     FinSi
26     Escribir "Hoy es ",DiaAct,"/",MesAct,"/",AnyoAct," naciste el ";
27     Escribir Dianac,"/",MesNac,"/",Anyonac, " Tienes " , Edad, " Años.";
28     //Calcular Años trabajados
29     Definir ATra, MTra, DTra como entero; //Almacena los totales trabajados
30     Definir ACon, MCon, DCon Como Entero; //Cada contrato
31     Definir Mas Como Caracter; //Si mas='S' pedir mas contratos
32     ATra<-0;
33     MTra<-0;
34     DTra<-0;
35     Mas<-"S";
36     Mientras Mas="S" Hacer
37           Escribir "Dime los Años , Meses y Dias del contrato:";
38           Leer Acon, MCon, DCon;
39           ATra <- Atra + Acon;
40           MTra <- MTra + MCon;
41           DTra <- DTra + DCon;
42           //Ajustar dias a 30 y meses a 12
43           Si DTra > 30 entonces
44                  MTra <- MTra + ( DTra / 30 );
45                  DTra <- DTra % 30;
46           FinSi
47           Si Mtra > 12 Entonces
48                  ATra <- ATra + ( MTra / 12);
49                  MTra <- MTra % 12;
50           FinSi
51            Escribir "Tienes trabajados ",ATra," Años",MTra,"Meses",DTra, "Dias";
52            Escribir "¿Tienes mas contratos (S/N)?";
53           Leer Mas;
54 FinMientras
55     Si Edad >= 60 entonces
56           Si ATra < 25 Entonces
57                  Escribir "Jubilacion Por Edad >= 60 años y < 25 cotizados.";
58           sino
59                  Escribir "Jubilacion Por Antiguedad Adulta Edad>=60 >= 25 cotizados";
60           FinSi
61     sino
62           Si ATra >= 25 Entonces
63                  Escribir "Jubilacion Por Antiguedad joven Edad<60 >=25 cotizados.";
64           sino
65                  Escribir "No Jubilado < 60 y < 25 cotizados.";
66           FinSi
67     FinSi
68 FinProceso

Calcular la media de un alumno que tiene 7 calificaciones en la materia de Diseño Estructurado de Algoritmos.


1 Proceso NotaCursoDeMTP
2      //Calcular la nota final del curso
3      //Como la media de 7 examenes parciales.
4      Definir NumExam Como Entero;
5      Definir NotaFinal, NotaACtual Como Real;
6      NotaFinal <- 0;
7      Para NumExam <- 1 hasta 7 Hacer
8            Escribir "De la nota del ", NumExam , " examen .";
9            Leer NotaActual;
10           NotaFinal <- NotaFinal + NotaActual;
11     FinPara
12     NotaFinal <- NotaFinal / 7;
13     Escribir "Tu nota final es " , NotaFinal;
14 FinProceso

Leer 10 números y obtener su cubo y su cuadrado.


1 Proceso Leer10NumerosYMostarCuboyCuadrado
2      //Leer 10 numeros calcular el cubo y el cuadrado.
3      Definir Numero Como Real;
4      Definir Indice Como Entero;
5      para Indice <- 1 hasta 10 Hacer
6            Escribir "Dime el ", Indice , " Numero";
7            Leer Numero;
8            Escribir "Numero: " , Numero , " Cuadrado: " , Numero^2;
9            Escribir "Numero: " , Numero , " Cubo: " , Numero^3;
10     FinPara
11 FinProceso

Leer 10 números e imprimir solamente los números positivos.


1 Proceso leer10NumerosYMostarPositvos
2      //leer 10 num de teclado y mostrar los > 0
3
4      Definir Indice, Numero Como Entero;
5      Para Indice <-0 hasta 9 Hacer
6            Escribir "Dime un Numero";
7            Leer Numero;
8            Si Numero > 0 Entonces
9                   Escribir Numero ," Es Positivo";
10           FinSi
11     FinPara
12
13 FinProceso

Suponga que se tiene un conjunto de calificaciones de un grupo de 40 alumnos. Realizar un algoritmo para calcular la calificación media y la calificación mas baja de todo el grupo. 


1 Proceso Leer40NotascalcularMediayMin
2      //en un curso tenemos 40 alumnos queremos
3      //saber la nota media y la nota minima.
4      Definir Indice Como Entero;
5      Definir Nota, NotaMedia, NotaMinima Como Real;
6      Escribir "Dime la 1 Nota";
7      leer Nota;
8      NotaMedia <- Nota;
9      NotaMinima <- Nota;
10     Para Indice <- 2 hasta 40 hacer
11           Escribir "Dime la ", Indice, " Nota";
12           leer Nota;
13           NotaMedia <- NotaMedia + Nota;
14           Si Nota < NotaMinima entonces
15                  NotaMinima <- Nota;
16           FinSi
17     FinPara
18     NotaMedia <- NotaMedia / 40;
19     Escribir "La nota media es " , NotaMedia ;
20     Escribir "La nota minima es ", NotaMinima;
21
22 FinProceso



No hay comentarios:

Publicar un comentario