Ejercicios While
=============
1.- Escribir un programa que solicite la carga de un valor positivo y nos muestre desde 1
hasta el valor ingresado de uno en uno. Ejemplo: Si ingresamos 30 se debe mostrar en
pantalla los números del 1 al 30.
Peseint
Proceso Numeros
num<-0
x<-0
Escribir 'Ingrese un numero mayor se 0:'
Leer num
Escribir '=========='
Mientras x<num Hacer
x<-x+1
Escribir ' ',x
FinMientras
FinProceso
Java
packagetarea.expo;
importjava.util.Scanner;
public class TareaExpo {
public static void main(String[] args) {
Scanner teclado=new Scanner(System.in);
intn,x;
System.out.print("Ingrese el valor final:");
n=teclado.nextInt();
x=1;
while (x<=n) {
System.out.print(x);
System.out.print(" - ");
x = x + 1;
}
}
}
2- Desarrollar un programa que permita la carga de 10 valores por teclado y nos muestre
posteriormente la suma de los valores ingresados y su promedio.
Pseint
Proceso sin_titulo
num<-0
x<-0
sum<-0
prom<-0
Mientras x<10 Hacer
x<-x+1
Escribir 'Ingrese un numero :'
Leer num
sum<-sum+num
FinMientras
Escribir '**************'
prom<-sum/10
Escribir 'La suma de todos los numeros ingresados es: ',sum
Escribir 'EL promedio de de los unmeros ingresados es: ',prom
FinProceso
Java
packagetarea.expo;
importjava.util.Scanner;
public class ejerc2 {
public static void main(String[] args) {
Scanner teclado=new Scanner(System.in);
intx,suma,valor,promedio;
x=1;
suma=0;
while (x<=10) {
System.out.print("Ingresevalores:");
valor=teclado.nextInt();
suma=suma+valor;
x=x+1;
}
promedio=suma/10;
System.out.print("La suma de los 10 valores es:");
System.out.println(suma);
System.out.print("El promedioes:");
System.out.print(promedio);
}
}
3.- Una planta que fabrica perfiles de hierro posee un lote de n piezas. Confeccionar un
programa que pida ingresar por teclado la cantidad de piezas a procesar y luego ingrese la
longitud de cada perfil; sabiendo que la pieza cuya longitud esté comprendida en el rango
de 1,20 y 1,30 son aptas. Imprimir por pantalla la cantidad de piezas aptas que hay en el
lote.
Psint
Proceso Fabrica
longpiesa<-0
num<-0
x<-0
pa<-0
Escribir 'Ingrese el numero de pizas en el lote'
Leer num
Mientras c<num Hacer
x<-x+1
Escribir 'Ingresar la longitud de la pieza ',x
Leer longpiesa
Si longpiesa<=1.30 y longpiesa>=1.20 Entonces
pa<-pa+1
FinSi
FinMientras
Escribir 'El numero de piezas abtas en el lote es: ',pa
FinProceso
Java
packagetarea.expo;
importjava.util.Scanner;
public class fabrica {
public static void main(String[] args) {
Scanner teclado=new Scanner(System.in);
intx,cantidad,n;
float largo;
x=1;
cantidad=0;
System.out.print("Cuantas piezar procesará:");
n=teclado.nextInt();
while (x<=n) {
System.out.print("Ingrese la medida de la pieza:");
largo=teclado.nextFloat();
if (largo>=1.20 && largo<=1.30) {
cantidad = cantidad +1;
}
x=x + 1;
}
System.out.print("La cantidad de piezas aptas son:");
System.out.print(cantidad);
}
}
4.- Escribir un programa que solicite ingresar 10 notas de alumnos y nos informe cuántos
tienen notas mayores o iguales a 7 y cuántos menores.
Pseint
Proceso Notas
nota<-0
x<-0
menor<-0
mayor<-0
Mientras x<10 Hacer
x<-x+1
Escribir 'Ingrese la nota ',x,' :'
Leer nota
Si nota>=7 Entonces
mayor<-mayor+1
Sino
menor<-menor+1
FinSi
FinMientras
Escribir '**************'
Escribir 'Las notas mayores o = a 7 son: ',mayor
Escribir 'LA notas menores a 7: ',menor
FinProceso
Java
packagetarea.expo;
public class notas {
public static void main(String[] args) {
doublenota,x=0,menor=0,mayor=0;
while (x<10){
System.out.print("Ingresar nota:");
nota=entrada.real();
if (nota>=7){
mayor=mayor+1;
}
else{
menor=menor+1;
}
}
}
5.- Se ingresan un conjunto de n alturas de personas por teclado. Mostrar la altura
promedio de las personas.
PSeint
Proceso Alturas
alt<-0
num<-0
x<-0
sum<-0
Escribir 'Ingrese el numero de personas a registar'
Leer num
Mientras x<num Hacer
x<-x+1
Escribir 'Ingresar la altura de la persona ',x
Leer alt
sum<-sum+alt
FinMientras
Escribir 'La altura promedio es: ',(sum/num)
FinProceso
Java
packagetarea.expo;
public class alturas {
public static void main(String[] args) {
doublealtura,n=0,x=0,suma=0;
System.out.print("Ingresenumero : ");
n=entrada.real();
while(x<n){
x=x+1;
System.out.println("Ingresar la altura : ");
altura=entrada.real();
suma=suma+altura;
}
System.out.println("La suma es: "+ suma);
System.out.println("El promedio es: "+ (suma/n));
}
}
6.- En una empresa trabajan n empleados cuyos sueldos oscilan entre $100 y $500,
realizar un programa que lea los sueldos que cobra cada empleado e informe cuántos
empleados cobran entre $100 y $300 y cuántos cobran más de $300. Además el programa
deberá informar el importe que gasta la empresa en sueldos al personal.
PSeint
Proceso Sueldo
suel<-0
num<-0
x<-0
ss<-0
sm<-0
montotal<-0
Escribir 'Ingrese el numero de empleados'
Leer num
Mientras x<num Hacer
x<-x+1
Escribir 'Ingresar el sueldo del empleado ',x
Leer suel
sisuel>=100 y suel<=500 Entonces
montotal<-montotal +suel
Si suel<=300 y suel>=100 Entonces
ss<-ss+1
Sino
sisuel> 300 Entonces
sim<-sim+1
FinSi
FinSi
Sino
x<-x-1
Escribir 'Valor incorrecto'
FinSi
FinMientras
Escribir '==========='
Escribir 'Los sueldos superiores a 300 es: ',ss
Escribir 'Los sueldos entre 100 y 300 son: ',sim
Escribir 'El monto total a pagar es: ', montotal
FinProceso
Java
packagetarea.expo;
public class Sueldo {
public static void main(String[] args) {
intn,x=0;
doublesuel,ss=0,sm = 0,montotal=0;
System.out.print("Ingrese el numero de empleados: ");
n=entrada.entero();
while (x<n){
x=x+1;
System.out.print("Ingresar el sueldo del empleado:");
suel=entrada.real();
if (suel>=100 &&suel<=500){
montotal=montotal+suel;
}
if ( suel>=100 &&suel<=300 ){
ss=ss+1;
}
if (suel>=300){
sm=sm+1;
}
}
System.out.println("Los sueldos superiores a 300 es: "+ss);
System.out.println("Los sueldos entre 100 y 300 son: "+sm);
System.out.println("El monto total a pagar es: "+montotal);
}
}
7.- Realizar un programa que imprima 25 términos de la serie 11 – 22 – 33 – 44, etc. (No
se ingresan valores por teclado)
PSeint
Proceso Terminos
n<-0
x<-0
Escribir 'Numeros en serie'
Mientras x<25 Hacer
x<-x+1
n<-n+11
Escribir n
FinMientras
FinProceso
Mostrar los múltiplos de 8 hasta el valor 500. Debe aparecer en pantalla 8 – 16 – 24, etc.
Proceso Multiplos_8
oc<-0
Escribir 'Numerosmultiplod de 8 asta 500'
x<-0
Mientras x<50 Hacer
x<-x+1
oc<-oc+8
Escribir oc
FinMientras
FinProceso
8.- Realizar un programa que permita cargar dos listas de 15 valores cada una. Informar
con un mensaje cual de las dos listas tiene un valor acumulado mayor (mensajes “Lista 1
mayor”, “Lista 2 mayor”, “Listas iguales”)
Tener en cuenta que puede haber dos o más estructuras repetitivas en un algoritmo.
PSeint
Proceso Listas
x<-0
num<-0
sum1<-0
sum2<-0
Escribir 'Lista 1'
Escribir 'Escribir 15 valores'
Mientras x<15 Hacer
x<-x+1
Leer num
sum1<-sum1+num
FinMientras
Escribir 'Lista 2'
Escribir 'Escribir 15 valores'
x<-0
Mientras x<15 Hacer
x<-x+1
Leer num
sum2<-sum2+num
FinMientras
Si sum1<sum2 Entonces
Escribir 'Lista 2 mayor'
Sino
Si sum1>sum2 Entonces
Escribir 'Lista 1 mayor'
Sino
Escribir 'Listas iguales'
FinSi
FinSi
FinProceso
Ejercicios Do While
================
1.- Escribir un programa que solicite la carga de un número entre 0 y 999, y nos muestre
un mensaje de cuántos dígitos tiene el mismo. Finalizar el programa cuando se cargue el
valor 0.
PSeint
Proceso carga_999
num<-0
x<-0
op<-0
Repetir
Escribir 'Ingrese un numero entre 0 y 999'
Leer num
sinum>= 0 y num<=999 Entonces
Si num>100 Entonces
Escribir 'El numero tiene 3 digitos'
Sino
sinum>10 Entonces
Escribir 'El numero tiene 2 digitos'
Sino
Escribir 'El numero tiene 1 digito'
FinSi
FinSi
Sino
Escribir 'Numero incorrecto'
FinSi
Escribir '================='
Hasta Que num = 0
FinProceso
Java
packagetarea.expo;
importjava.util.Scanner;
public class Do_while1 {
public static void main(String[] args) {
Scanner teclado=new Scanner(System.in);
int valor;
do {
System.out.print("Ingrese un valor entre 0 y 999 (0 finaliza):");
valor=teclado.nextInt();
if (valor>=100) {
System.out.println("Tiene 3 dígitos.");
} else {
if (valor>=10) {
System.out.println("Tiene 2 dígitos.");
} else {
System.out.println("Tiene 1 dígito.");
}
}
} while (valor!=0);
}
}
2.- Escribir un programa que solicite la carga de números por teclado, obtener su
promedio. Finalizar la carga de valores cuando se cargue el valor 0.
Cuando la finalización depende de algún valor ingresado por el operador conviene el
empleo de la estructura do while, por lo menos se cargará un valor (en el caso más
extremo se carga 0, que indica la finalización de la carga de valores)
Pseint
Proceso carga_0
num<-0
x<-0
sum<-0
Escribir 'Ingrese numeros (ingrese 0 para terminar)'
Repetir
x<-x+1
Leer num
sum<-sum+num
Hasta Que num=0
Escribir 'EL promedio de los numeros ingresados es: ',sum/(x-1)
FinProceso
Java
packagetarea.expo;
importjava.util.Scanner;
public class Do_while2 {
public static void main(String[] args) {
Scanner teclado=new Scanner(System.in);
intsuma,cant,valor,promedio;
suma=0;
cant=0;
do {
System.out.print("Ingrese un valor (0 para finalizar):");
valor=teclado.nextInt();
if (valor!=0) {
suma=suma+valor;
cant++;
}
} while (valor!=0);
if (cant!=0) {
promedio=suma/cant;
System.out.print("El promedio de los valores ingresados es:");
System.out.print(promedio);
} else {
System.out.print("No se ingresaron valores.");
}
}