Mostrando entradas con la etiqueta Minimo. Mostrar todas las entradas
Mostrando entradas con la etiqueta Minimo. Mostrar todas las entradas

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



domingo, 24 de marzo de 2013

Pseudocódigo IX


Ejercicios de Estructuras Repetitivas:


Estructura Para:



Imprimir todos los números pares desde 2 hasta el 300.




1 Proceso NumerosParesDesde2al300
2      //Imprimir numeros pares desde el 2 al 300
3      Definir indice Como Entero;
4      Para indice<-2 Hasta 300 Con Paso 2 Hacer
5            Escribir indice;
6      FinPara
7 FinProceso



Imprimir todos los números impares desde 2 hasta el 300.




1 Proceso NumerosImParesDesde2al300
2      //Imprimir numeros pares desde el 2 al 300
3      Definir indice Como Entero;
4      Para indice<-3 Hasta 300 Con Paso 2 Hacer
5            Escribir indice;
6      FinPara
7 FinProceso


Imprimir los valores comprendidos entre el 460 y 500 en orden inverso.




1 Proceso ImprimirLosvaloresdel460Al500enInverso
2      Definir indice como entero;
3      Para indice <-500 hasta 460 con paso -1 hacer
4            Escribir indice;
5      FinPara
6 FinProceso



Un programa que lea  un valor  N, que indica cuantos números va a leer, y calcule la suma y la media. 




1 Proceso LeerNNumerosCalcularSumaYMedia
2      //Leer por teclado cantidad de numeros a leer
3      //Leer los numeros y calcular suma y media
4      Definir N, Indice Como Entero;
5      Definir Numero, Suma, Media Como Real;
6      Suma <- 0;
7      Escribir "Dime Cuantos Numeros";
8      Leer N;
9      Si ( N > 0 ) entonces
10           Para Indice<-1 hasta N hacer
11                  Escribir "Dime el ", Indice , "er Numero";
12                  Leer Numero;
13                  Suma <- Suma + Numero;
14           FinPara
15           Media <- Suma / N;
16           Escribir "La Suma es ", Suma , " La media es ", Media;
17     Sino
18           Escribir "0 Numeros leidos";
19     FinSi
20 FinProceso



Un programa que lea 200 números y me indique cual el máximo y el mínimo. 




1 Proceso Leer200NumerosYMuestreMaxYMin
2      //Leer 200 num de teclado y mostar max y min
3      Definir Indice Como Entero;
4      Definir Num, Max, Min Como Real;
5      Escribir "Dime un Numero";
6      Leer Num;
7      Max<-Num;
8      Min<-Num;
9      Para Indice <- 1 hasta 199 hacer
10           Escribir "Dime un Numero";
11           Leer Num;
12           Si (Num>Max) entonces
13                  Max<-Num;
14           FinSi
15           Si (Num<Min) Entonces
16                  Min<-Num;
17           FinSi
18     FinPara
19     Escribir "Max ", Max, " Min ", Min;
20 FinProceso



Otra alternativa.




1 Proceso Leer200NumerosYMuestreMaxYMin
2      //Leer 200 num de teclado y mostar max y min
3      Definir Indice Como Entero;
4      Definir Num, Max, Min Como Entero;
5      Max<--999999999999999;
6      //Escribir Max;
7      Min<-999999999999999;
8      Para Indice <- 1 hasta 10 hacer
9            Escribir "Dime un Numero";
10           Leer Num;
11           Si (Num>Max) entonces
12                  Max<-Num;
13           FinSi
14           Si (Num<Min) Entonces
15                  Min<-Num;
16           FinSi
17     FinPara
18     Escribir "Max ", Max, " Min ", Min;
19 FinProceso



Un programa que sume el valor de los número pares de 1 a 30.




1 Proceso SumarNumerosParesEntreUnoY30
2      //Suma los números pares entre 1 y 30
3      Definir indice Como Entero;
4      Definir Suma Como Entero;
5      Suma <- 0;
6      Para Indice <- 2 hasta 30 con paso 2 Hacer
7            Suma <- suma + Indice;
8      FinPara
9      Escribir Suma;
10 FinProceso