Está en la página 1de 12

EJERCICIOS DE PSEINT

//EJERCICIO #12 Estructura PARA (FOR)


//Conociendo la cantidad de personas (de forma dinámica)
Proceso Ej12_1
Definir cont, n, ultdig, tot_l, tot_ma, tot_mi, tot_j, tot_v Como Entero;
cont=0; n=0; ultdig=0; tot_l=0; tot_ma=0; tot_mi=0; tot_j=0; tot_v=0;

Escribir "Ingrese la cantidad de personas: ";


leer n;

Escribir "";
para cont Desde 1 hasta n Hacer
Escribir "Ingrese el Último Dígito: ";
leer ultdig;

si ultdig=1 o ultdig=2 Entonces


tot_l=tot_l+1;
FinSi
si ultdig=3 o ultdig=4 Entonces
tot_ma=tot_ma+1;
FinSi
si ultdig=5 o ultdig=6 Entonces
tot_mi=tot_mi+1;
FinSi
si ultdig=7 o ultdig=8 Entonces
tot_j=tot_j+1;
FinSi
si ultdig=9 o ultdig=0 Entonces
tot_v=tot_v+1;
FinSi
FinPara

Escribir "";
Escribir "El total (LUNES): ", tot_l;
Escribir "El total (MARTES): ", tot_ma;
Escribir "El total (MÍERCOLES): ", tot_mi;
Escribir "El total (JUEVES): ", tot_j;
Escribir "El total (VIERNES): ", tot_v;
Escribir "El total de personas: ", n;
FinProceso
// EJERCICIO #12 Estructura MIENTRAS (WHILE)
//Sin conocer la cantidad de personas (de forma dinámica), utilizando Centinela
Proceso Ej12_1
Definir ultdig, tot_l, tot_ma, tot_mi, tot_j, tot_v, total Como Entero;
Definir resp Como Caracter;
tot_l=0; tot_ma=0; tot_mi=0; tot_j=0; tot_v=0; resp=""; total=0;

Escribir "";
Mientras resp<>'n' hacer

Escribir "Ingrese el Último Dígito: ingrese solo valores (0-9)";


leer ultdig;

si ultdig=1 o ultdig=2 Entonces


tot_l=tot_l+1;
FinSi
si ultdig=3 o ultdig=4 Entonces
tot_ma=tot_ma+1;
FinSi
si ultdig=5 o ultdig=6 Entonces
tot_mi=tot_mi+1;
FinSi
si ultdig=7 o ultdig=8 Entonces
tot_j=tot_j+1;
FinSi
si ultdig=9 o ultdig=0 Entonces
tot_v=tot_v+1;
FinSi

Escribir "Existe otra persona: (s/n)";


leer resp;

total=total+1;
FinMientras

Escribir "";
Escribir "El total (LUNES): ", tot_l;
Escribir "El total (MARTES): ", tot_ma;
Escribir "El total (MÍERCOLES): ", tot_mi;
Escribir "El total (JUEVES): ", tot_j;
Escribir "El total (VIERNES): ", tot_v;
Escribir "El total de personas: ", total;

FinProceso
//EJERCICIO #12 Estructura REPETIR (DO-WHILE)
//Sin conocer la cantidad de personas (de forma dinámica), utilizando Centinela
Proceso Ej12_1
Definir ultdig, dia Como Entero;
Definir tot_l, tot_ma, tot_mi, tot_j, tot_v Como Entero;
Definir resp Como Caracter;
tot_l=0;tot_ma=0; tot_mi=0; tot_j=0; tot_v=0;resp="";

Repetir
Escribir "Ingrese el terminal de cédula: ";
leer ultdig;

si ultdig=1 o ultdig=2 Entonces


tot_l=tot_l+1;
FinSi
si ultdig=3 o ultdig=4 Entonces
tot_ma=tot_ma+1;
FinSi
si ultdig=5 o ultdig=6 Entonces
tot_mi=tot_mi+1;
FinSi
si ultdig=7 o ultdig=8 Entonces
tot_j=tot_j+1;
FinSi
si ultdig=9 o ultdig=0 Entonces
tot_v=tot_v+1;
FinSi

Escribir "Existe otro terminal: (s/n)";


leer resp;
Hasta Que resp='n';

Escribir "Total Lunes: ", tot_l;


Escribir "Total Martes: ", tot_ma;
Escribir "Total Miércoles: ", tot_mi;
Escribir "Total Jueves: ", tot_j;
Escribir "Total Viernes: ", tot_v;

FinProceso
//EJERCICIO #30 Estructura REPETIR (DO-WHILE)

Proceso Ej30_1
Definir nomb, sexo, resp Como Caracter;
Definir edad, tot_m, tot_f, tot_men20, tot_may20_men50, tot_may50_men100 Como Entero;
nomb=""; sexo=""; resp="";
edad=0; tot_m=0; tot_f=0; tot_men20=0; tot_may20_men50=0; tot_may50_men100=0;

Repetir
Escribir "Ingrese el nombre: ";
leer nomb;
Escribir "Ingrese el sexo: (m ó f)";
leer sexo;
Escribir "Ingrese la edad: ";
leer edad;

si sexo='f' Entonces
tot_f=tot_f+1;
Sino
tot_m=tot_m+1;
FinSi

si edad<=20 Entonces
tot_men20=tot_men20+1;
Sino
si edad>20 y edad<=50 Entonces
tot_may20_men50=tot_may20_men50+1;
Sino
si edad>50 y edad<=100 Entonces
tot_may50_men100=tot_may50_men100+1;
FinSi
FinSi
FinSi

Escribir "Existe otra persona: (s/n)";


leer resp;
Hasta Que resp='n';

Escribir "Total Personas de Sexo Masculino: ", tot_m;


Escribir "Total Personas de Sexo Femenino: ", tot_f;
Escribir "Total Personas Menores o igual a 20 años: ", tot_men20;
Escribir "Total Personas Mayores de 20 años y menores o igual a 50 años: ", tot_may20_men50;
Escribir "Total Personas Mayores de 50 años y menores o igual a 100 años: ", tot_may50_men100;

FinProceso
EJERCICIOS ARREGLOS

//Manejo de Arreglo con una cantidad fija de elementos (Estático)

Proceso Ej5
Dimension pedido[3], pago[3];
Definir tarifa, i, cant, n como entero;
tarifa=1200;

Para i<-1 hasta 3 hacer


Escribir "Ingrese el Código de la Comunidad (Pedido#",i,")";
Leer pedido[i];
//Si pedido[i]<1 o pedido[i]>6 Entonces
// Escribir "El Código ingresado no es válido";
// i=i-1;
//FinSi
FinPara

Para i<-1 hasta 3 hacer


cant=0;
Para j<-1 hasta 3 hacer
si i<>j entonces
Si pedido[j]=pedido[i] Entonces
cant=cant+1;
FinSi
FinSi
FinPara
pago[i]=tarifa-tarifa*(cant*0.15);
FinPara

Para i<-1 hasta 3 hacer


Escribir "El Total a pagar de la comunidad #",i," es: ",pago[i];
FinPara

FinProceso
//Manejo de arreglos de forma dinámica//

Proceso Ej5
Definir tarifa, i, cant, n como entero;
tarifa=1200;

Escribir "Ingrese la Cantidad de Elementos: ";


Leer n;

Dimension pedido[n], pago[n];

Para i<-1 hasta n hacer


Escribir "Ingrese el Código de la Comunidad: ";
Leer pedido[i];
//Si pedido[i]<1 o pedido[i]>6 Entonces
// Escribir "El Código ingresado no es válido";
// i=i-1;
//FinSi
FinPara

Para i<-1 hasta n hacer


cant=0;
Para j<-1 hasta n hacer
si i<>j entonces
Si pedido[j]=pedido[i] Entonces
cant=cant+1;
FinSi
FinSi
FinPara
pago[i]=tarifa-tarifa*(cant*0.15);
FinPara
Para i<-1 hasta n hacer
Escribir "El Total a pagar de la comunidad #",i," es: ",pago[i];
FinPara
FinProceso
EJERCICIOS ARREGLOS (SÁBADO 21-11-2015)

Proceso Ej45
Dimension num[10]; //Arreglo Dinámico de TAMAÑO ESTÁTICO (FIJO)
Definir x, res, z, sw Como Entero; //La variable sw se utiliza como un switch
x=1;

Mientras x<=10 Hacer //Se capturan los 10 valores


Escribir "Ingrese el Número#",x;
Leer num[x];
x=x+1;
FinMientras

Para x=1 Hasta 10 Hacer //El ciclo se mueve acorde al tamaño del Arreglo
sw=0;
Para z=2 Hasta num[x] Hacer //Este ciclo se realiza para revisar desde 2 hasta el núm capturado si el valor es Primo
res = num[x] mod z;
Si res=0 Entonces
Si num[x]=z Entonces
sw=1;
Sino
z=num[x];
FinSi
FinSi
FinPara
Si sw=1 Entonces
Escribir "El número ", num[x], " es Primo";
Sino
Escribir "El número ", num[x], " NO es Primo";
FinSi
FinPara
FinProceso
Proceso Ej27
definir t, cont Como Entero;
cont=0;
Escribir "Ingrese la cantidad de Personas";
leer t;
Dimension p[t];

Para cont=1 Hasta t Hacer


Escribir "Ingrese el día de la Persona#",cont;
leer p[cont];
FinPara
cont=1;
Mientras cont<=t Hacer
//ESTAS CONDICIONES SE PUEDEN OPTIMIZAR UTILIZANDO OTRO ARREGLO PARA EL NOMBRE DE LOS DÍAS
Si p[cont]=1 Entonces
Escribir "La Persona #",cont," debe asistir el día Lunes";
FinSi
Si p[cont]=2 Entonces
Escribir "La Persona #",cont," debe asistir el día Martes";
FinSi
Si p[cont]=3 Entonces
Escribir "La Persona #",cont," debe asistir el día Miércoles";
FinSi
Si p[cont]=4 Entonces
Escribir "La Persona #",cont," debe asistir el día Jueves";
FinSi
Si p[cont]=5 Entonces
Escribir "La Persona #",cont," debe asistir el día Viernes";
FinSi
Si p[cont]=6 Entonces
Escribir "La Persona #",cont," debe asistir el día Sábado";
FinSi
Si p[cont]=7 Entonces
Escribir "La Persona #",cont," debe asistir el día Domingo";
FinSi
cont=cont+1;
FinMientras

FinProceso
EJERCICIOS DE PSEINT (ARREGLOS)

EJERCICIO #41
Realizar un algoritmo que capture un arreglo de 10 números, posteriormente, determinar cuántas veces se repite cada número (distinto) dentro del
arreglo.

EJERCICIO #44
Realizar un algoritmo que capture un arreglo de 10 números, posteriormente, solicitar un valor y determinar si el número ingresado existe y cuántas
veces se repite dentro del arreglo.

EJERCICIO #46
Realizar un algoritmo que permita calcular el vuelto que recibirá una persona que realiza una compra de un artículo. El costo del artículo estará
comprendido entre Bs.1 y Bs.20000, el cambio deberá ser entregado con las siguientes denominaciones: monedas (1 y 0.5), billetes (2, 5, 10, 20, 50 y
100)

EJERCICIO #(Ejercicio Nuevo)


Elaborar un Algoritmo que realice lo siguiente:
1. Elabore un Arreglo de Tamaño Dinámico donde guarde: Nombre, Estatura y Estado Civil de Z personas.

2. Posteriormente (después de capturar los datos de las Z personas) solicite lo siguiente (para realizar un filtro):
a. Estatura Mínima.
b. Estado Civil.

3. De acuerdo al filtro establecido en el punto 3, calcular lo siguiente:


a. Mostrar Nombre y Estatura de las Personas que posean la edad mínima requerida.
b. Total de personas de Sexo ‘Masculino’
Proceso ej54
Definir cant, p, l, suma, may, pl como Entero;
cant=0; p=0; l=0; suma=0; may=0;
Escribir "Ingrese cantidad de personas";
Leer cant;
Dimension jug[cant], punt[cant];
Mientras p<cant Hacer
Escribir "Ingrese el nombre del jugador: ";
Leer jug[p];
Para l=1 hasta 3 hacer
Escribir "Ingrese puntaje del lanzamiento # ", l," de la persona ", jug[p];
Leer pl;
Si pl=40 Entonces
l=l-1;
Escribir "Usted tiene un lanzamiento adicional ";
FinSi
suma=suma+pl;
FinPara

punt[p]=suma;
Si suma>may Entonces
may=suma;
FinSi
suma=0;
p=p+1;
FinMientras

p=0;
Repetir
Escribir "El total de puntos de ", jug[p] ,"es:",punt[p];
p=p+1;
Hasta Que p>=cant;
Escribir "El puntaje mayor fue de: ", may;
FinProceso

Proceso ej36
Definir x, i como Entero;
x=0; i=0;
Escribir "Ingrese el número de personas:";
Leer x;
Dimension censo[x], nombre[x], edad[x], sexo[x], edocivil[x];
Repetir
Escribir "Ingrese el número de censo de la persona #",(i+1);
Leer censo[i];
Escribir "Ingrese nombre de la persona #",(i+1);
Leer nombre[i];
Escribir "Ingrese edad de la persona #",(i+1);
Leer edad[i];
Escribir "Ingrese sexo de la persona #",(i+1);
Leer sexo[i];
Escribir "Ingrese el estado de la persona #",(i+1);
Leer edocivil[i];
i=i+1;
Hasta Que i>=x;

i=0;

Repetir
Si sexo[i]='f' y edad[i] >=16 y edad[i] <=21 y edocivil[i]='s' Entonces
Escribir "Nombre:", nombre[i];
Escribir "Censo:", censo[i];
FinSi
i=i+1;
Hasta Que i>=x;
FinProceso

Proceso Ej5
Definir tarifa, i, cant, n como entero;
tarifa=1200;

Escribir "Ingrese la Cantidad de Elementos: ";


Leer n;
Dimension pedido[n], pago[n];

Para i<-1 hasta n hacer


Escribir "Ingrese el Código de la Comunidad: ";
Leer pedido[i];
//Si pedido[i]<1 o pedido[i]>6 Entonces
// Escribir "El Código ingresado no es válido";
// i=i-1;
//FinSi
FinPara

Para i<-1 hasta n hacer


cant=0;
Para j<-1 hasta n hacer
si i<>j entonces
Si pedido[j]=pedido[i] Entonces
cant=cant+1;
FinSi
FinSi
FinPara
pago[i]=tarifa-tarifa*(cant*0.15);
FinPara
Para i<-1 hasta n hacer
Escribir "El Total a pagar de la comunidad #",i," es: ",pago[i];
FinPara
FinProceso

//Manejo de Arreglo con una cantidad fija de elementos (Estático)


Proceso Ej5
Dimension pedido[3], pago[3];
Definir tarifa, i, cant, n como entero;
tarifa=1200;

Para i<-1 hasta 3 hacer


Escribir "Ingrese el Código de la Comunidad (Pedido#",i,")";
Leer pedido[i];
//Si pedido[i]<1 o pedido[i]>6 Entonces
// Escribir "El Código ingresado no es válido";
// i=i-1;
//FinSi
FinPara

Para i<-1 hasta 3 hacer


cant=0;
Para j<-1 hasta 3 hacer
si i<>j entonces
Si pedido[j]=pedido[i] Entonces
cant=cant+1;
FinSi
FinSi
FinPara
pago[i]=tarifa-tarifa*(cant*0.15);
FinPara
Para i<-1 hasta 3 hacer
Escribir "El Total a pagar de la comunidad #",i," es: ",pago[i];
FinPara
FinProceso

También podría gustarte