PROGRAMACION AVANZADA LABORATORIO SESION 05
NOMBRE: SÁNCHEZ QUINTO CESAR ANTONIO
CODIGO: 1723225411
1. Crea un programa que pida al usuario una contraseña, de forma repetitiva mientras
que no introduzca “1234”. Cuando finalmente escriba la contraseña correcta, se le dirá
“Bienvenido” y terminara el programa.
Solución:
PSEUDOCODIGO:
Proceso contraseña
definir clave Como Entero
Repetir
Escribir 'Dime tu clave de acceso: ';
leer clave;
si clave<>1234 Entonces
Escribir 'Clave incorrecta.';
FinSi
Hasta Que clave=1234
Escribir 'Bienvenido.';
FinProceso
EJECUCION O PRUEBA EN CONSOLA:
DIAGRAMA DE FLUJO:
CODIGO EN JAVA:
package area;
import java.util.Scanner;
public class Area {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int clave;
do {
System.out.println("Dime tu clave de acceso: ");
clave = entrada.nextInt();
if (clave!=1234) {
System.out.println("Clave incorrecta.");
} while (clave!=1234);
System.out.println("Bienvenido.");
}}
EJECUCION O PRUEBA EN CONSOLA:
2. Haz un programa que permita calcular la suma de pares de números. Pedirá dos
números al usuario y mostrará su suma, volviendo a repetir hasta que ambos números
sean 0.
Solución:
PSEUDOCODIGO:
Proceso area
definir num1,num2,suma Como Entero
Escribir 'Ingrese el primer numero: ';
leer num1;
Escribir 'Ingrese el segundo numero: ';
leer num2;
Mientras num1<>0 y num2<>0 hacer
suma = num1+num2;
Escribir 'La suma de los numeros es: ',suma;
Escribir 'Ingrese el primer numero: ';
leer num1;
Escribir 'Ingrese el segundo numero: ';
leer num2;
finmientras
Escribir 'Terminado.';
FinProceso
EJECUCION O PRUEBA EN CONSOLA:
DIAGRAMA DE FLUJO:
CODIGO EN JAVA:
package area;
import java.util.Scanner;
public class Area {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int num1;
int num2;
int suma;
do {
System.out.println("Ingrese el primer numero: ");
num1 = entrada.nextInt();
System.out.println("Ingrese el segundo numero: ");
num2 = entrada.nextInt();
suma = num1+num2;
System.out.println("La suma de los numeros es: "+suma);
} while (!(num1==0 && num2==0));
}}
EJECUCION O PRUEBA EN CONSOLA:
3. Cree un programa que genere dos números al azar entre el 0 y 100, y pida al usuario
que introduzca y calcule la suma. Si la respuesta no es correcta, deberá volver a pedirla
tantas veces como sea necesario hasta que el usuario acierte. Pista: como veras en el
apartado 10, para generar un numero al azar del 0 al 100 puedes hacer numero<-
AZAR(101).
Solución:
PSEUDOCODIGO:
Proceso area
Definir num1,num2,s,n como entero;
num1<-AZAR(101);
num2<-AZAR(101);
Escribir 'El primer nuemro al azar entre 0 y 100 es: ',num1;
Escribir 'El segundo nuemro al azar entre 0 y 100 es: ',num2;
s= num1+num2;
Repetir
Escribir 'Ingrese la suma de los 2 numeros: ';
leer n;
si n!=s entonces
Escribir 'La suma es incorrecta.';
Sino
Escribir 'La suma es correcta.';
FinSi
Hasta Que n=s;
FinProceso
EJECUCION O PRUEBA EN JAVA:
DIAGRAM DE FLUJO:
CODIGO EN JAVA:
package area;
import java.util.Scanner;
public class Area {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
double n;
double num1;
double num2;
double s;
num1 = Math.floor(Math.random()*101);
num2 = Math.floor(Math.random()*101);
System.out.println("El primer nuemro al azar entre 0 y 100 es: "+num1);
System.out.println("El segundo nuemro al azar entre 0 y 100 es: "+num2);
s = num1+num2;
do {
System.out.println("Ingrese la suma de los 2 numeros: ");
n = entrada.nextDouble();
if (n ==s){
System.out.println("La suma es correcta.");
} else {
System.out.println("La suma es incorrecta.");
} while (n !=s);
EJECUCION O PRUEBA EN CONSOLA:
Solución:
PSEUDOCODIGO:
Proceso area
Definir cont,c como entero;
Repetir
Escribir 'Ingrese el codigo de usuario: ';
leer c;
si c=666 entonces
Escribir 'El usuario es correcto.';
Escribir 'Ingrese la contraseña: ';
leer cont;
si cont=2020 Entonces
Escribir 'La contraseña es correcta.'
Sino
Escribir 'La contraseña es incorrecta.'
FinSi
Sino
Escribir 'El usuario es incorrecto.';
FinSi
Hasta Que c=666 y cont=2020;
FinProceso
EJECUCION O PRUEBA EN CONSOLA:
DIAGRAMA DE FLUJO:
CODIGO EN JAVA:
package area;
import java.util.Scanner;
public class Area {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int c;
int cont = 0;
do {
System.out.println("Ingrese el codigo de usuario: ");
c = entrada.nextInt();
if (c==666) {
System.out.println("El usuario es correcto.");
System.out.println("Ingrese la contraseña: ");
cont = entrada.nextInt();
if (cont==2020) {
System.out.println("La contraseña es correcta.");
} else {
System.out.println("La contraseña es incorrecta.");
} else {
System.out.println("El usuario es incorrecto.");
} while (!(c==666 && cont==2020));
EJECUCION O PRUEBA EN CONSOLA:
5. Haz un programa que permita calcular la suma de pares de números. Pedirá dos
números al usuario y mostrará su suma, volviendo a repetir hasta que ambos números
sean 0. Esta vez deberás usar “repetir”, por lo que tu solución no será igual a la del
ejercicio 2, que empleaba “mientras”.
Solución:
PSEUDOCODIGO:
Proceso area
definir num1,num2,suma Como Entero
Repetir
Escribir 'Ingrese el primer numero: ';
leer num1;
Escribir 'Ingrese el segundo numero: ';
leer num2;
suma = num1+num2;
Escribir 'La suma de los numeros es: ',suma;
Hasta Que num1=0 y num2=0
DIAGRAMA DE FLUJO:
CODIGO EN JAVA:
package area;
import java.util.Scanner;
public class Area {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int num1;
int num2;
int suma;
do {
System.out.println("Ingrese el primer numero: ");
num1 = entrada.nextInt();
System.out.println("Ingrese el segundo numero: ");
num2 = entrada.nextInt();
suma = num1+num2;
System.out.println("La suma de los numeros es: "+suma);
} while (!(num1==0 && num2==0));
}}
EJECUCION O PRUEBA EN CONSOLA:
6. Prepara un programa que divida dos números que introduzca el usuario. Si el segundo
número es cero, se deberá avisar y volver a pedir tantas veces como sea necesario,
hasta que introduzca un número distinto de cero, momento en que se calculará y
mostrará el resultado de la división.
Solución:
PSEUDOCODIGO:
Proceso area
definir num1,num2,div Como real
Escribir 'Ingrese el numerador: ';
leer num1;
Escribir 'Ingrese el denominador: ';
leer num2;
repetir
si num2=0 entonces
Escribir 'ERROR, el denominador no puede ser cero.';
Escribir 'Ingrese el numerador: ';
leer num1;
Escribir 'Ingrese el denominador: ';
leer num2;
FinSi
Hasta Que num2!=0
div = num1/num2;
Escribir 'La division de los numeros es: ',div;
FinProceso
EJECUCION O PRUEBA EN CONSOLA:
DIAGRAMA DE FLUJO:
CODIGO EN JAVA:
package area;
import java.util.Scanner;
public class Area {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
double div;
double num1;
double num2;
System.out.println("Ingrese el numerador: ");
num1 = entrada.nextDouble();
System.out.println("Ingrese el denominador: ");
num2 = entrada.nextDouble();
do {
System.out.println("ERROR, el denominador no puede ser cero.");
System.out.println("Ingrese el numerador: ");
num1 = entrada.nextDouble();
System.out.println("Ingrese el denominador: ");
num2 = entrada.nextDouble();
} while (num2==0);
div = num1/num2;
System.out.println("La division de los numeros es: "+div);
EJECUCION O PREUBA EN JAVA:
7. Crea un propio programa que escriba los números del 5 al 15, ambos incluidos.
Solución:
PSEUDOCODIGO:
Proceso area
definir x Como Entero;
para x<-5 hasta 15 Hacer
Escribir x;
FinPara
FinProceso
EJECUCION O PRUEBA EN CONSOLA:
DIAGRAMA DE FLUJO:
CODIGO EN JAVA
package area;
import java.util.Scanner;
public class Area {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int x;
for (x=5;x<=15;x++) {
System.out.println(x);
}}
EJECUCION O PRUEBA EN CONSOLA:
8. Crea un programa que escriba los múltiplos de 3, desde 3 hasta 30, usando un paso de
tamaño 3.
Solución:
PSEUDOCODIGO:
Proceso area
Definir x como entero;
para x<-3 Con Paso 3 hasta 30 Hacer
Escribir x;
FinPara
FinProceso
EJECUCION O PREUBA EN CONSOLA:
DIAGRAMA DE FUJO:
CODIGO EN JAVA:
package area;
import java.util.Scanner;
public class Area {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int x;
for (x=3;x<=30;x+=3) {
System.out.println(x); }}}
EJECUCION O PREUBA EN CONSOLA:
9. Crea un programa que escriba los múltiplos de 3, desde el 3 hasta el 30, contando del
uno al diez, pero mostrando ese contador multiplicado por 3
Solución:
PSEUDOCODIGO:
Proceso area
Definir x,n como entero;
n=3;
x=1;
Mientras x<=10 Hacer
Escribir x," x ",n,' = ',n*x;
x=x+1;
FinMientras
FinProceso
EJECUCION O PREUBA EN CONSOLA:
DIAGRAMA DE FLUJO:
CODIGO EN JAVA:
package area;
import java.util.Scanner;
public class Area {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int n;
int x;
n = 3;
x = 1;
while (x<=10) {
System.out.println(x+" x "+n+" = "+n*x);
x = x+1;
}
EJECUCION O PRUEBA EN CONSOLA:
10. Crea un programa que escriba los números del 20 al 10, descendiendo.
Solución:
PSEUDOCODIGO:
Proceso area
definir x Como Entero;
para x<-20 Con Paso -1 hasta 10
Escribir x;
FinPara
FinProceso
EJECUCION O PRUEBA EN CONSOLA:
DIAGRAMA DE FLUJO:
CODIGO EN JAVA:
package area;
import java.util.Scanner;
public class Area {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int x;
for (x=20;x>=10;x--) {
System.out.println(x);
EJECUCION O PRUEBA EN CONSOLA:
Solución:
PSEUDOCODIGO:
Proceso area
Definir x,n como entero;
n=5;
x=0;
Mientras x<=10 Hacer
Escribir n," x ",x,' = ',n*x;
x=x+1;
FinMientras
FinProceso
EJECUCION O PREUBA EN CONSOLA:
DIAGRAMA DE FLUJO:
CODIGO EN JAVA:
package area;
import java.util.Scanner;
public class Area {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int n;
int x;
n = 5;
x = 0;
while (x<=10) {
System.out.println(n+" x "+x+" = "+n*x);
x = x+1;
}
EJECUCION O PRUEBA EN CONSOLA:
12. También se puede contar usando una orden “mientras” o una orden “repetir”, si usas
una variable como contador e incrementas (o disminuyes) su valor en cada pasada de
forma manual. Compruébalo creando un programa que escriba los números del uno al
15 usando “mientras” en vez de “para”.
Solución:
PSEUDOCODIGO:
Proceso area
Definir i como entero
i<-0
Mientras i<15 Hacer
i=i+1;
Escribir i;
FinMientras
FinProceso
EJECUCION O PRUEBA EN CONSOLA:
DIAGRAMA DE FLUJO:
CODIGO EN JAVA:
package area;
import java.util.Scanner;
public class Area {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int i;
i = 0;
while (i<15) {
i = i+1;
System.out.println(i);
EJECUCION O PROCESO EN JAVA:
13. A partir del ejemplo que dibuja un rectángulo de asteriscos, crea un que dibuje un
cuadrado (deberá pedir sólo un dato, el lado, y ambas órdenes "para" deberán tener
ese valor como límite).
Solución:
PSEUDOCODIGO:
Proceso area
Definir lado, fila,columna Como Entero;
Escribir Sin Saltar 'Introduce el lado del cuadrado: ';
leer lado;
para fila<-1 hasta lado Hacer
para columna<-1 hasta lado Hacer
Escribir Sin Saltar '#';
FinPara
Escribir " ";
FinPara
FinProceso
EJECUCION O PRUEBA EN CONSOLA:
DIAGRAMA DE FLUJO:
CODIGO EN JAVA:
package area;
import java.util.Scanner;
public class Area {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int columna;
int fila;
int lado;
System.out.print("Introduce el lado del cuadrado: ");
lado = entrada.nextInt();
for (fila=1;fila<=lado;fila++) {
for (columna=1;columna<=lado;columna++) {
System.out.print("#");
System.out.println(" ");
EJECUCION O PRUEBA EN CONSOLA:
14. Dibuja un triángulo creciente de asteriscos, del tamaño que indique el usuario. Por
ejemplo, si escoge 4, el resultado debería ser:
Solución:
PSEUDOCODIGO:
Proceso area
Definir num,num2,n,i como entero;
Escribir 'Ingrese la base del traingulo: ';
leer n;
num2=0;
para i=0 hasta n con paso 1 hacer
num=0;
mientras num<=num2 hacer
Escribir sin saltar '*';
num= num+1;
FinMientras
num2=num2+1;
Escribir ' ';
FinPara
FinProceso
EJECUCION O PRUEBA EN CONSOLA:
DIAGRAMA DE
FLUJO:
CODIGO EN JAVA:
package area;
import java.util.Scanner;
public class Area {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int n;
System.out.println("Ingrese la base del triangulo: ");
n = entrada.nextInt();
int num2 = 0;
for(int i=0; i<n; i++){
int num=0;
while (num<=num2){
System.out.print("*");
num++;
num2++;
System.out.println(" ");
EJECUCION O PRUEBA EN CONSOLA:
FIN.