0% encontró este documento útil (0 votos)
130 vistas38 páginas

Generación y Validación de Números Al Azar

Este documento presenta 6 ejercicios de programación resueltos en pseudocódigo y Java. Cada ejercicio pide al usuario ingresar datos y realiza cálculos u operaciones condicionales. Se incluyen las soluciones completas con código, ejecuciones y diagramas de flujo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
130 vistas38 páginas

Generación y Validación de Números Al Azar

Este documento presenta 6 ejercicios de programación resueltos en pseudocódigo y Java. Cada ejercicio pide al usuario ingresar datos y realiza cálculos u operaciones condicionales. Se incluyen las soluciones completas con código, ejecuciones y diagramas de flujo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

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.

También podría gustarte