Sie sind auf Seite 1von 37

COLEGIODEBACHILLERES

PLANTEL4CULHUACN
LZAROCRDENAS

MATERIALDEPRCTICAS

AnlisisyResolucindeProblemas

NoAmbrosioPimentel

2014

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

35&7,&$
Calcular e imprimir el rea de un triangulo a partir de su base y altura.
2EMHWLYRGHODSUiFWLFD

,PSOHPHQWDU XQD FODVH SDUD FRQRFHU VX HVWUXFWXUD H LPSOHPHQWDFLyQ HQ XQ OHQJXDMH GH
SURJUDPDFLyQ
$QiOLVLVGHOSUREOHPD

Para calcular el rea de la figura es necesario la introduccin de dos variables: Base y Altura, y una
tercera Area en donde se almacenara el resultado, todas de tipo IORDW. La superficie de un triangulo se
calcula aplicando la siguiente frmula:
Area =

(Base * Altura)
2

inicio

leer Base, Altura

Area = ( Base * Altura ) / 2

Escribir
Area

fin

 
  

3VHXGRFyGLJR
inicio
leer Base, Altura
hacer Area = (Base * Altura) / 2
escribir Area
fin

130

Prctica 1

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

3URJUDPDHQ-DYD
import java.io.*;
public class Practica_1{
public static void main (String args[]) throws IOException{
float Base, Altura, Area;
InputStreamReader res=new InputStreamReader(System.in);
BufferedReader calculo=new BufferedReader(res);
System.out.println("Introduzca la base del triangulo");
Base = Float.parseFloat(calculo.readLine());
System.out.println("Introduzca la altura del triangulo");
Altura = Float.parseFloat(calculo.readLine());
Area = (Base * Altura)/2;
System.out.println("La superficie del triangulo es: "+ Area);
}
}

35&7,&$
Calcular e imprimir el costo total a cobrar al cliente en una gasolinera, tomando en cuenta que la
gasolina que surten la registran en galones, pero el precio de la gasolina esta fijado en litros.
2EMHWLYRGHODSUiFWLFD
,PSOHPHQWDU XQD FODVH SDUD FRQRFHU VX HVWUXFWXUD H LPSOHPHQWDFLyQ HQ XQ OHQJXDMH GH
SURJUDPDFLyQ
$QiOLVLVGHOSUREOHPD

Para obtener el costo total a cobrar por el surtidor al cliente, sean dos variable Galones y Precio,
que se necesitan leer desde el teclado y asignar el valor de la conversin del costo total de la gasolina
en una variable Total, todas tipo GRXEOH. El equivalente a utilizar es de 3.785 Litros por Galn.

inicio

leer Galones, Precio

Total = Galones * 3.785 * Precio

Escribir
Total

fin

 
  

Prctica 2
131

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

3VHXGRFyGLJR
inicio
leer Galones, Precio
hacer Total = Galones * 3.780 * Precio
escribir Total
fin
3URJUDPDHQ-DYD
import java.io.*;
public class Practica_2{
public static void main (String args[])throws IOException{
double Galones, Total, Precio;
InputStreamReader res=new InputStreamReader(System.in);
BufferedReader calculo=new BufferedReader(res);
System.out.println("Introduzca los galones de gasolina");
Galones=Float.parseFloat(calculo.readLine());
System.out.println("Introduzca el precio del litro de gasolina");
Precio=Float.parseFloat(calculo.readLine());
Total=Galones*3.785*Precio;
System.out.println("Total a pagar del cliente es:"+Total);
}
}

35&7,&$
Calcular e imprimir el rea y volumen de un cilindro, dados su radio y altura.
2EMHWLYRGHODSUiFWLFD
,PSOHPHQWDU XQ JUXSR GH FODVHV TXH XWLOLFHQ FRQVWUXFWRUHV \ PRGLILFDGRUHV GH DFFHVR SDUD
DQDOL]DUGHTXpIRUPDDIHFWDQHOIXQFLRQDPLHQWRGHODVFODVHV\FXDQGRVRQUHFRPHQGDEOHVFDGDXQR
GHHOORV
$QiOLVLVGHOSUREOHPD


Para el clculo de los valores del rea y volumen de un cilindro, es necesaria la lectura de dos
variables Radio y Altura de tipo GRXEOH, as como dos variables de asignacin de los valores de rea y
volumen, ambos de tipo GRXEOH.
El rea del cilindro lo calculamos aplicando la siguiente formula:
'RQGH  

rea = 2 *  UDGLR DOWXUD

El volumen del cilindro lo calculamos aplicando la siguiente formula:


9ROXPHQ   UDGLR2 * altura
132

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

inicio

Pi = 3.141592

leer Radio, Altura

Area = 2 * Pi * Radio * Altura


Volumen = Pi * Radio * Radio * Altura

Escribir
Area, Volumen

fin

 
  

Prctica 3

3VHXGRFyGLJR
inicio
Pi = 3.141592
leer Radio, Altura
hacer Area = 2 * Pi * Radio * Altura
hacer Volumen = Pi * Radio * Radio * Altura
escribir Area
escribir Volumen
fin
3URJUDPDHQ-DYD
1
import java.io.*;
2
public class Practica_3{
3
public static void main (String args[])throws IOException{
4
double Radio, Altura;
5
InputStreamReader res=new InputStreamReader(System.in);
6
BufferedReader calculo=new BufferedReader(res);
7
System.out.println("Introduzca el radio");
8
Radio=Float.parseFloat(calculo.readLine());
9
System.out.println("Introduzca la altura");
10
Altura=Float.parseFloat(calculo.readLine());
11
Cilindro cilindro = new Cilindro(Altura, Radio);
12
System.out.println("El volumen del cilindro es:"+cilindro.volumen);
13
System.out.println("El area del cilindro es:"+cilindro.area);
14
}
15 }
16 class Cilindro{
17
public static final double PI = 3.14159265;
18
public double area, volumen;
133

MANUAL DE PRCTICAS

19
20
21
22
23 }

FUNDAMENTOS DE PROGRAMACIN

public Cilindro(double h, double r) {


area = 2 * r * PI * h;
volumen = PI * r * r * h;
}

En esta prctica se hace uso de dos clases, Practica_3 y Cilindro; la primera contiene la funcin
PDLQ, en la cual realizamos la solicitud de las variables Radio y Altura, como se muestra de la lnea 7 a
la 10; la segunda clase es Cilindro, en donde inicialmente se define la variable PI como SXEOLFVWDWLF
ILQDO, que indica que el valor no puede ser modificado, o lo que es lo mismo, es una FRQVWDQWH. La
sentencia 18 nos muestra el modificador de acceso SXEOLF el cual nos indica que los atributos area y
volumen son visibles fuera de la clase, contrario a si fueran declarados como SULYDWH. La sentencia 19
define el constructor general de la clase Cilindro, que recibe como argumentos (KU que son utilizados
para calcular el rea y volumen del cilindro.

35&7,&$
Realizar e imprimir, la conversin de grados Celsius a grados Fahrenheit.
2EMHWLYRGHODSUiFWLFD
,PSOHPHQWDU XQ JUXSR GH FODVHV TXH XWLOLFHQ FRQVWUXFWRUHV \ PRGLILFDGRUHV GH DFFHVR SDUD
DQDOL]DUGHTXpIRUPDDIHFWDQHOIXQFLRQDPLHQWRGHODVFODVHV\FXDQGRVRQUHFRPHQGDEOHVFDGDXQR
GHHOORV
$QiOLVLVGHOSUREOHPD
El clculo de grados Celsius (centgrados) a grados Fahrenheit se genera a partir de la siguiente
frmula:
F = 1.8 * C +32

inicio

leer Centigrados

Fahrenheit = 1.8 * Centigrados + 32

Escribir
Fahrenheit

fin


134

 
  

Prctica 4

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

3VHXGRFyGLJR
inicio
leer Centigrados
hacer Fahrenheit = 1.8 * Centigrados +32
escribir Fahrenheit
fin
3URJUDPDHQ-DYD
import java.io.*;
public class Practica_4{
public static void main (String args[])throws IOException{
double Centigrado;
InputStreamReader res=new InputStreamReader(System.in);
BufferedReader calculo=new BufferedReader(res);
System.out.println("Introduzca el grados centigrados");
Centigrado=Float.parseFloat(calculo.readLine());
Grados grados = new Grados (Centigrado);
System.out.println("Los grados Fahrenheit son: "+grados.fahrenheit);
}
}
class Grados{
public double fahrenheit;
public Grados(double c) {
fahrenheit = 1.8 * c + 32;
}
}

35&7,&$
Construya un programa que tomando como dato la calificacin de un alumno en un examen,
escriba Aprobado en caso de que esa calificacin sea mayor o igual a 8.

2EMHWLYRGHODSUiFWLFD


,PSOHPHQWDUFODVHVTXHUHTXLHUDQGHHVWUXFWXUDVVHOHFWLYDVSDUDSUREDUODVHQXQDDSOLFDFLyQ

$QiOLVLVGHOSUREOHPD
Para este ejercicio solo hacemos solicitud de una variable de tipo IORDWllamada calificacin, que
compararemos en una estructura selectiva LI simple. Solo si la condicin resulta verdadera mostrara el
mensaje Aprobado.

135

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

inicio

leer Calificacion

Calificacin >= 8
Si

No

Escribir
Aprobado

fin


3VHXGRFyGLJR

 
  

Prctica 5

inicio
leer Calificacin
si Calificacin >= 8
escribir Aprobado
fin_si
fin
3URJUDPDHQ-DYD


import java.io.*;
public class Practica_5{
public static void main (String args[])throws IOException{
float Calificacion;
InputStreamReader res= new InputStreamReader(System.in);
BufferedReader calculo= new BufferedReader(res);
System.out.println("Introduzca la calificacion");
Calificacion=Float.parseFloat(calculo.readLine());
if (Calificacion>=8)
System.out.println("Aprobado");
}
}

136

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

35&7,&$

Indique e imprima cual es el mayor de dos nmeros dados.

2EMHWLYRGHODSUiFWLFD


,PSOHPHQWDUFODVHVTXHUHTXLHUDQGHHVWUXFWXUDVVHOHFWLYDVSDUDSUREDUODVHQXQDDSOLFDFLyQ

$QiOLVLVGHO3UREOHPD
Se necesita introducir dos valores, almacenados en las variables N1 y N2 que declararemos como
tipo LQW los cuales compararemos en una estructura selectiva LI HOVH que mostrara el mayor de los
nmeros dados.

inicio

leer N1, N2

Si

N1 > N2

No

Escribir N2

Escribir N1

fin


3VHXGRFyGLJR

 
  

Prctica 5

inicio
leer N1, N2
si N1 > N2
escribir N1
sino
escribir N2
fin_si
fin

137

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

3URJUDPDHQ-DYD

import java.io.*;
public class Practica_6{
public static void main (String args[])throws IOException{
int N1, N2;
InputStreamReader res=new InputStreamReader(System.in);
BufferedReader calculo=new BufferedReader(res);
System.out.println("Introduzca el entero numero 1");
N1=Integer.parseInt(calculo.readLine());
System.out.println("Introduzca el entero numero 2");
N2=Integer.parseInt(calculo.readLine());
if (N1>N2)
System.out.println("El mayor es: " + N1);
else
System.out.println("El mayor es: " + N2);
}
}

35&7,&$
Obtener e imprimir el nuevo sueldo de un trabajador, aplicando un aumento del 15% si su sueldo
es inferior a $1000 y 12% en caso contrario.
2EMHWLYRGHODSUiFWLFD

,PSOHPHQWDUFODVHVTXHUHTXLHUDQGHHVWUXFWXUDVVHOHFWLYDVSDUDSUREDUODVHQXQDDSOLFDFLyQ

$QiOLVLVGHO3UREOHPD
El nuevo sueldo del trabajador depende principalmente de su sueldo actual, por lo tanto, la variable
que solicitada es 6XHOGR%DVH, comparada con la cantidad de $1000 se aplicara, si resulta menor se
incrementara un 15% al salario, en caso contrario solo incrementar 12%.
inicio
leer Salario

Si

Salario < 1000

Salario = Salario * 1.15

Salario = Salario * 1.12

Escribir
Salario
fin

 
  
138

No

Prctica 7

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

3VHXGRFyGLJR
inicio
leer Salario
si Salario < 1000
escribir Salario = Salario * 1.15
sino
escribir Salario = Salario * 1.12
fin_si
fin
3URJUDPDHQ-DYD


import java.io.*;
public class Practica_7{
public static void main (String args[])throws IOException{
double Salario;
BufferedReader Calc = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Introduzca el salario del trabajador");
Salario = Float.parseFloat(Calc.readLine());
if (Salario < 1000)
Salario = Salario*1.15;
else
Salario = Salario*1.12;
System.out.println("El nuevo sueldo del trabajador es:"+ Salario);
}
}

35&7,&$
Imprimir tres nmeros enteros diferentes ledos desde el teclado en forma descendente.

2EMHWLYRGHODSUiFWLFD

,PSOHPHQWDU FODVHV TXH UHTXLHUDQ GH HVWUXFWXUDV VHOHFWLYDV DQLGDGDV SDUD SUREDUODV HQ XQD
DSOLFDFLyQ
$QiOLVLVGHO3UREOHPD
Dados los datos A, B, C que representan variables de tipo LQW, ordenarlos en forma descendentes,
esto con ayuda de varias estructuras selectivas LI HOVHanidadas

139

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

inicio
leer A, B, C,

Si

Si
escribir
A, B, C

Si

A>C

B>C

No
escribir
A, C, B,

No

A>B

No
escribir
C, A, B

Si

Si

B>C

A>C

No

escribir
B, A, C

escribir
B, C, A,

fin

 
  

3VHXGRFyGLJR
inicio
leer A, B, C,
si A > B
si A > C
si B < C
escribir A, B, C
sino
escribir A, C, B
fin_si
sino
escribir C, A, B
fin_si
sino
si B > C
si A > C
escribir B, A, C
sino
escribir B, C, A
fin_si
sino
escribir C, B, A
fin_si
fin_si
fin
140

Prctica 8

No
escribir
C, B, A

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

3URJUDPDHQ-DYD


import java.io.*;
public class Practica_8{
public static void main (String args[])throws IOException{
int A,B,C;
InputStreamReader res = new InputStreamReader (System.in);
BufferedReader calculo = new BufferedReader(res);
System.out.println("Introduzca el valor de A");
A=Integer.parseInt(calculo.readLine());
System.out.println("Introduzca el valor de B");
B=Integer.parseInt(calculo.readLine());
System.out.println("Introduzca el valor de C");
C=Integer.parseInt(calculo.readLine());
if (A>B)
if (A>C)
if (B>C)
System.out.println(A+" "+B+" "+C);
else
System.out.println(A+" "+C+" "+B);
else
System.out.println(C+" "+A+" "+B);
else
if (B>C)
if (A>C)
System.out.println(B+" "+A+" "+C);
else
System.out.println(B+" "+C+" "+A);
else
System.out.println(C+" "+ B+" "+A);
}
}

35&7,&$
Imprimir los nombres de los das de la semana, en funcin del valor de una variable Dia
introducida por el teclado.
2EMHWLYRGHODSUiFWLFD

,PSOHPHQWDU FODVHV TXH UHTXLHUDQ GH HVWUXFWXUDV VHOHFWLYDV P~OWLSOHV SDUD LPSOHPHQWDUODV HQ HO
GHVDUUROORGHDSOLFDFLRQHV

$QiOLVLVGHO3UREOHPD
La variable Da introducida por el usuario ser de tipo LQW, y a partir de ella obtendremos el da de
la semana correspondiente, para ello haremos uso de la estructura selectiva mltiple VZLWFK, debido a
que cada sentencia FDVH se corresponde con un nico valor de H[SUHVLyQ No se pueden establecer
rangos o condiciones, como en el caso del LI HOVH, sino que se debe comparar con valores concretos.

141

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

inicio
leer Dia

Dia
1

Escribir
Lunes

Escribir
Martes

Escribir
Mircoles

Escribir
Jueves

Escribir
Viernes

Escribir
Sabado

Escribir
Domingo

Otro
Escribir
Error

fin


3VHXGRFyGLJR

 
  

Prctica 9

inicio
leer Dia
segn sea Dia
1: escribir Lunes
2: escribir Martes
3: escribir Mircoles
4: escribir Jueves
5: escribir Viernes
6: escribir Sbado
7: escribir Domingo
otro: escribir Error
fin_segn
fin
3URJUDPDHQ-DYD


import java.io.*;
public class Practica_9{
public static void main (String args[])throws IOException{
int Dia;
BufferedReader calc = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Introduzca el numero del dia de la semana");
Dia = Integer.parseInt(calc.readLine());
switch (Dia){
case 1: System.out.println("Lunes");
break;
case 2: System.out.println("Martes");
break;

142

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

case 3: System.out.println("Miercoles");break;
case 4: System.out.println("Jueves");
break;
case 5: System.out.println("Viernes"); break;
case 6: System.out.println("Sabado");
break;
case 7: System.out.println("Domingo"); break;
default:
System.out.println("Error"); break;
}
}
}

Los valores no comprendidos en ninguna sentencia FDVH se pueden gestionar en GHIDXOW, que es
opcional. En ausencia de EUHDN, cuando se ejecuta una sentencia FDVHse ejecutan tambin todas las que
van a continuacin, hasta que se llega a un EUHDNo hasta que se termina el VZLWFK.

35&7,&$
Imprimir el nmero de das de un mes, en funcin del nmero de orden dentro del calendario
(1= Enero, 2 = Febrero, etc.) y teniendo en cuenta si el ao es bisiesto o no.
2EMHWLYRGHODSUiFWLFD

,PSOHPHQWDU FODVHV TXH UHTXLHUDQ GH HVWUXFWXUDV VHOHFWLYDV P~OWLSOHV SDUD LPSOHPHQWDUODV HQ HO
GHVDUUROORGHDSOLFDFLRQHV

$QiOLVLVGHOSUREOHPD


La obtencin del nmero de das con los que cuenta un mes, requiere de dos variables de tipo LQW,
Mes, la palabra Ao no puede ser utilizada como identificador vlido porque la mayora de los
compiladores no reconoce la letra x, para este caso utilizaremos el identificador Anio y para ello
debemos tomar en consideracin si el ao es o no bisiesto, esto se llevara a cabo a partir de las
siguientes reglas:

5HJOD Los aos exactamente divisibles entre 4 VRQ aos bisiestos.


5HJOD Los aos exactamente divisibles entre 100 QRVRQ aos bisiestos.
5HJOD Los aos exactamente divisibles entre 400 VRQ aos bisiestos

Decidir si utilizar la sentencia LIo VZLWFKes a consideracin del programador, el cual puede decidir
cul usar basado en la legibilidad y otros factores. La sentencia LI se puede utilizar para tomar las
decisiones basadas en gamas de valores o de condiciones, mientras que la sentencia VZLWFK puede tomar
las decisiones basadas solamente en un solo nmero entero, un valor enumerado o nico.
Otro punto de inters es la sentencia EUHDNdespus de cada FDVH. Cada sentencia EUHDN termina la
declaracin FDVH que incluye, y el flujo del control contina con la siguiente declaracin FDVH Las
declaraciones EUHDN son necesarias porque sin ellas el control fluira secuencialmente con declaraciones
FDVH subsecuentes. Esta prctica nos ilustra una de las utilidades de la sentencia FDVH dentro de la
estructura secuencial mltiple VZLWFK

143

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

inicio
leer Mes, Anio

Mes
1, 3, 5, 7, 8, 10, 12

4, 6, 9, 11

Escribir
31

Escribir
30

Si

Otro

 $
 = 0)

% %[(Anio
$ (Anio  $
4 100
$
 (Anio  $
 400 = =0)0)]

Escribir
29

No

Escribir
28

fin

 
  ! "#$

Prctica 10



3VHXGRFyGLJR

inicio
leer Mes, Anio
segn sea Mes
1, 3, 5, 7, 8, 10, 12: escribir 31
4, 6, 9, 11: escribir 30
2: si ((Anio % 4 = 0 && !Anio % 100 = 0) || Anio % 400 = 0)
escribir 29
sino
escribir 30
fin_si
otro: escribir No existe
fin_segun
fin

144

Escribir
No existe

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

3URJUDPDHQMDYD


import java.io.*;
public class Practica_10 {
public static void main(String[] args) throws IOException {
int Mes;
int Anio;
BufferedReader Oper= new BufferedReader (new InputStreamReader(System.in));
System.out.println ("Introduzca el numero del mes");
Mes = Integer.parseInt(Oper.readLine());
System.out.println ("Introduzca el anio");
Anio = Integer.parseInt(Oper.readLine());
switch (Mes) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("Numero de dias = 31 "); break;
case 4:
case 6:
case 9:
case 11:
System.out.println("Numero de dias = 30 "); break;
case 2:
if (((Anio % 4 == 0) && !(Anio % 100 == 0)) || (Anio % 400 == 0))
System.out.println("Numero de dias = 29 ");
else
System.out.println("Numero de dias = 28 ");
break;
default:
System.out.println("No existe");
break;
}
}
}

35&7,&$
Desarrolle un programa que invierta un nmero entero N dado por el usuario.
2EMHWLYRGHODSUiFWLFD

&RPSUHQGHU HO XVR \ IXQFLRQDPLHQWR GH ODV HVWUXFWXUDV GH UHSHWLFLyQ HQ HO PRPHQWR GH
LPSOHPHQWDUFODVHVTXHLPSOLTXHQHOGLVHxRGHDOJRULWPRVSDUDSUREDUODVHQXQDDSOLFDFLyQ
$QiOLVLVGHOSUREOHPD
El fin de la prctica es mostrar el nmero invertido de una cifra, por ejemplo, de 12345 su nmero
invertido es 54321.

145

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

Para esta circunstancia, definimos las variables num_inv = 0, div_entera = num,


resto_div = 0; el procedimiento a seguir es obtener el residuo de las divisiones sucesivas de la
variable num de tipo LQW entre 10, para posteriormente sumar este residuo a la variable resto_div
multiplicada por 10.
inicio

leer num

num_inv = 0
div_entera = num
resto_div = 0

div_entera != 0

No

Si
resto_div = div_entera mod 10

div_entera = div_entera / 10

num_inv = num_inv * 10 + resto_div

escribir
num_inv
fin

 
  ! "#$

Prctica 11

3VHXGRFyGLJR
Inicio
escribir Ingrese nmero
leer num
num_inv = 0
div_entera = num
resto_div = 0
mientras div_entera != 0
hacer resto_div = div_entera mod 10
hacer div_entera = div_entera / 10
hacer num_inv = num_inv * 10 + resto_div
fin_mientras
escribir "El numero " + num + " invertido es " + num_inv
fin
146

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

3URJUDPDHQ-DYD
import java.io.*;
class Practica_11{
public static void main(String Arg[ ]) throws IOException {
int num , num_inv , div_entera , resto_div;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Ingrese numero : ");
num = Integer.parseInt(in.readLine());
num_inv = 0;
div_entera = num;
resto_div = 0;
while (div_entera != 0) {
resto_div = div_entera % 10;
div_entera = div_entera / 10;
num_inv = num_inv * 10 + resto_div;
}
System.out.println("El numero " + num + " invertido es " + num_inv);
}
}

35&7,&$
Calcular e imprimir la media de N nmeros dados por el usuario.
2EMHWLYRGHODSUiFWLFD

&RPSUHQGHU HO XVR \ IXQFLRQDPLHQWR GH ODV HVWUXFWXUDV GH UHSHWLFLyQ HQ HO PRPHQWR GH
LPSOHPHQWDUFODVHVTXHLPSOLTXHQHOGLVHxRGHDOJRULWPRVSDUDSUREDUODVHQXQDDSOLFDFLyQ
$QiOLVLVGHOSUREOHPD

Para realizar el clculo del promedio de una cierta cantidad de nmeros definiremos las siguientes
variables:
N : tipo LQW, determinar el nmero de veces que la estructura de repeticin se efectuar;
Contador: tipo LQW un contador es una variable que incrementa de forma constante dentro de la
estructura de repeticin.
Acumulador: tipo GRXEOH, almacena la suma de los nmeros introducidos desde el teclado;
Promedio: tipo GRXEOH guarda la media de los nmeros dados, mediante la formula:
Promedio = Acumulador / N

147

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

inicio

N = 0, Contador =1, x = 0
Acumulador =0, Promedio = 0

leer N

Contador <= N
Si
leer x

Acumulador = Acumulador + x

Contador = Contador + 1

Promedio = Acumulador / N

escribir
Promedio
fin

 
  ! "#$

Prctica 12

3VHXGRFyGLJR

inicio

N = 0, x = 0, Acumulador = 0, Promedio = 0, Contador = 1
leer N
mientras Contador < = N
leer x
hacer Acumulador =Acumulador + x
hacer Contador = Contador + 1
fin_mientras
hacer Promedio = Acumulador / N
escribir Promedio
fin

148

No

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

3URJUDPDHQ-DYD
import java.io.*;
public class Practica_12{
public static void main(String arg[]) throws IOException{
int N = 0, Contador = 1;
double Acumulador = 0, Promedio = 0, x = 0;
BufferedReader calc = new BufferedReader (new InputStreamReader(System.in));
System.out.println("Dame un numero: ");
N = Integer.parseInt(calc.readLine());
while (Contador <= N){
System.out.println("Numero "+Contador);
x = Float.parseFloat(calc.readLine());
Acumulador= Acumulador + x;
Contador=Contador+1;
}
Promedio = Acumulador / N;
System.out.println("El promedio es: " + Promedio);
}
}

35&7,&$
Imprimir los nmeros impares menores o iguales a N.

2EMHWLYRGHODSUiFWLFD

&RPSUHQGHU HO XVR \ IXQFLRQDPLHQWR GH ODV HVWUXFWXUDV GH UHSHWLFLyQ HQ HO PRPHQWR GH
LPSOHPHQWDUFODVHVTXHLPSOLTXHQHOGLVHxRGHDOJRULWPRVSDUDSUREDUODVHQXQDDSOLFDFLyQ
$QiOLVLVGHOSUREOHPD


Para resolver este ejercicio necesitaremos de una variable Contador de tipo LQW y un variable N que
delimitara el numero de iteraciones de la estructura repetitiva ZKLOH Incrementaremos el contador en
dos unidades en cada iteracin para desplegar el nmero impar correspondiente.

149

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

inicio

N = 0, Contador =1

leer N

Contador <= N

No

Si
escribir
Contador

Contador = Contador + 2

fin

 
  ! "#$

Prctica 13

3VHXGRFyGLJR

inicio
N = 0, Contador = 1
leer N
mientras Contador <= N
imprimir Contador
hacer Contador = Contador + 2
fin_mientras
fin
3URJUDPDHQ-DYD


import java.io.*;
public class Practica_13{
public static void main(String arg[]) throws IOException{
int N = 0, Contador = 1;
BufferedReader calc = new BufferedReader (new InputStreamReader(System.in));
System.out.println("Dame un numero: ");
N = Integer.parseInt(calc.readLine());
while (Contador <= N){
System.out.println(Contador);
Contador=Contador + 2;
}
}
}
150

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

35&7,&$

Imprimir la tabla de Multiplicar de N.

2EMHWLYRGHODSUiFWLFD


&RPSUHQGHU HO XVR \ IXQFLRQDPLHQWR GH ODV HVWUXFWXUDV GH UHSHWLFLyQ HQ HO PRPHQWR GH
LPSOHPHQWDUFODVHVTXHLPSOLTXHQHOGLVHxRGHDOJRULWPRVSDUDSUREDUODVHQXQDDSOLFDFLyQ
$QiOLVLVGHOSUREOHPD

Se desea mostrar la tabla de multiplicar de un nmero dado, a partir de una estructura cclica ZKLOH
con la cual utilizaremos una variable de tipo LQW llamada Contador que incrementa su valor en uno, para
esto aplicaremos un operador de incremento Contador++; que es similar a la expresin aritmtica
Contador = Contador + 1, observe que el resultado es idntico en ambos casos.

inicio

N = 0, Contador =1

leer N

Contador <= N

No

Si
escribir
N + * + Contador + = + N * Contador

Contador++

fin

 
  ! "#$

Prctica 14






151

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

3VHXGRFyGLJR

inicio
N = 0, Contador = 1
leer N
mientras Contador <= 10
imprimir N + * + Contador + = + N*Contador
hacer Contador ++
fin_mientras
fin
3URJUDPDHQ-DYD


import java.io.*;
public class Practica_14{
public static void main(String arg[]) throws IOException{
int N = 0, Contador = 1;
BufferedReader calc = new BufferedReader (new InputStreamReader(System.in));
System.out.println("Dame un numero: ");
N = Integer.parseInt(calc.readLine());
while (Contador <= 10){
System.out.println(N+ " * " +Contador+" = " + N*Contador);
Contador++;
}
}
}




35&7,&$
Imprimir y calcular el cociente y el resto de dos nmeros enteros.

2EMHWLYRGHODSUiFWLFD


&RPSUHQGHU HO XVR \ IXQFLRQDPLHQWR GH ODV HVWUXFWXUDV GH UHSHWLFLyQ HQ HO PRPHQWR GH
LPSOHPHQWDUFODVHVTXHLPSOLTXHQHOGLVHxRGHDOJRULWPRVSDUDSUREDUODVHQXQDDSOLFDFLyQ

$QiOLVLVGHOSUREOHPD
El mtodo de obtener el cociente y el resto es por restas sucesivas, el cual consiste en restar
sucesivamente el divisor del dividendo hasta obtener un resultado menor o igual que el divisor y que
ser el resto de la divisin, el nmero de restas efectuadas ser el cociente.

152

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

inicio

Dividendo = 0, Divisor = 0
Cociente = 0, Resto = 0

leer Dividendo, Divisor

Resto = Dividendo

Resto -= Divisor

Cociente++
Si
Resto >= Divisor
No
Cociente, Resto

fin

 
  ! "#$

Prctica 15


3VHXGRFyGLJR
inicio
Dividendo = 0, Divisor = 0, Cociente = 0, Resto = 0
leer Dividendo, Divisor
Resto = Dividendo
repetir
Resto = Divisor
Cociente++
hasta que (Resto >= Divisor)
escribir El cociente es : + Cociente
escribir El resto es : + Resto
fin








153

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

3URJUDPDHQ-DYD


import java.io.*;
public class Practica_15{
public static void main(String arg[]) throws IOException{
int Dividendo = 0, Divisor = 0, Cociente = 0, Resto = 0;
BufferedReader calc = new BufferedReader (new InputStreamReader(System.in));
System.out.println("Dame el dividendo: ");
Dividendo = Integer.parseInt(calc.readLine());
System.out.println("Dame el divisor: ");
Divisor = Integer.parseInt(calc.readLine());
Resto = Dividendo;
do{
Resto = Divisor;
Cociente++;
} while (Resto >= Divisor);
System.out.println("El Cociente es:" +Cociente+"

El Resto es: "+Resto);

}
}

35&7,&$
Construya un programa que indique al usuario los nmeros primos comprendidos entre 1 y N.

2EMHWLYRGHODSUiFWLFD


&RPSUHQGHU HO XVR \ IXQFLRQDPLHQWR GH ODV HVWUXFWXUDV GH UHSHWLFLyQ HQ HO PRPHQWR GH
LPSOHPHQWDUFODVHVTXHLPSOLTXHQHOGLVHxRGHDOJRULWPRVSDUDSUREDUODVHQXQDDSOLFDFLyQ
$QiOLVLVGHOSUREOHPD
La caracterstica principal de un nmero primo consiste en que ste solo es divisible entre si mismo
y uno, por lo tanto, el algoritmo consiste en buscar si el entero tiene un divisor diferente de los dos
anteriores; el proceso se lleva a cabo KDVWD la mitad entera del valor a evaluar ya que despus de esta
cualquier valor no divide a ste.
Un FRQWDGRUes una variable cuyo valor se incrementa o decrementa en una cantidad fija en cada
iteracin, en este caso el contador lo inicializaremos en 1 e ir incrementando su valor hasta N, para
mostrar los nmeros primos existentes, esta es una variable de tipo LQW.
Para identificar si el nmero dentro del rango, es primo o no, se define la clase 3ULPR, la cual
devuelve una variable de tipo ERROHDQ o lgico (WUXHRIDOVH).

154

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

inicio

Primo (N)

Contador = 1

primo = true,

i=2

leer Numero
No

(N mod i == 0)
and (N>3)

escribir
Los nmero primos son:

No

Numero. primo

Si

primo = false

Si
i++

escribir Contador

Si

i<N/2

Contador++

No
fin

Si

Contador <= Numero


No
fin

 
  ! "#$

Prctica 16

3VHXGRFyGLJR
inicio
escribir Escribe un nmero
leer Numero
escribir Los nmeros primos son:
Contador = 1
repetir
Num = Contador
Si (Num es SULPR)
Escribir Contador
Fin_si
Contador++
hasta que (Contador <= Numero)
fin

155

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

clase 3ULPR
inicio
primo = verdadero
i=2
Constructor Primo (N): entero
inicio
repetir
si (N mod i = 0) and (N>3)
primo = falso
fin_si
i++
hasta que (i < N / 2)
fin
fin
3URJUDPDHQ-DYD
import java.io.*;
public class Practica_16{
public static void main (String arg[]) throws IOException{
int Numero, Contador;
BufferedReader tecl = new BufferedReader(new InputStreamReader(System.in));
System.out.println ("Escribe un numero:");
Numero = Integer.parseInt(tecl.readLine());
System.out.println("\nLos numeros primos son:");
Contador = 1;
do{
Primo Num = new Primo(Contador);
if (Num.primo)
System.out.println(Contador);
Contador++;
} while (Contador <= Numero);
}
}
class Primo{
public boolean primo = true;
private int i=2;
public Primo(int N){
do{
if ((N % i == 0)&&(N > 3))
primo = false;
i++;
}while(i < N / 2);
}
}

Al enviar informacin de salida hay ocasiones en que resulta til agregar algo de formato con
caracteres
especiales
llamado
VHFXHQFLDV
GH
HVFDSH,
un
ejemplo
es
System.out.println("?QLos nmeros primos son:"), en donde ?Q representa
una nueva lnea, es decir, coloca el cursor al principio de la siguiente lnea.

156

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

35&7,&$

Construya un programa que calcule la funcin Factorial de un nmero N (N!).

2EMHWLYRGHODSUiFWLFD


&RPSUHQGHU HO XVR \ IXQFLRQDPLHQWR GH ODV HVWUXFWXUDV GH UHSHWLFLyQ HQ HO PRPHQWR GH
LPSOHPHQWDUFODVHVTXHLPSOLTXHQHOGLVHxRGHDOJRULWPRVSDUDSUREDUODVHQXQDDSOLFDFLyQ
$QiOLVLVGHOSUREOHPD
El factorial de un nmero entero positivo se define como el producto de todos los nmeros
naturales anteriores o iguales a l. Se escribe n! y se lee n factorial , por definicin establecida el
factorial de 0 es 1. Por ejemplo:
5! = 1 * 2 * 3 * 4 * 5
5! = 120
Para realizar el factorial del nmero, hacemos uso de una clase )DFWRULDO, que recibe el argumento
de tipo LQW1, se definen tambin dos variables, la primera SXEOLFllamada IDFW inicializada en 1, y la
segunda SULYDWHL; y en el constructor )DFWRULDO es donde se realizan las iteraciones del ciclo IRU cuyo
valor inicial es 2, el valor final 1 y su incremento en 1 de L.
inicio

Factorial (N)

escribir
Introduzca un nmero

Fact = 1

i = 2 ; i <= N ; i++

No

leer Numero
Si
Fact += i

escribir
El factorial de Numero es Num.fact

fin

fin

&' ()*(
+ ( ,-./ 012

Prctica 17







157

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

3VHXGRFyGLJR
inicio
escribir Introduzca un nmero
leer Numero
Factorial Num (Numero)
escribir El factorial de Numero es Num.fact
fin
clase Factorial
inicio
fact = 1
contructor Factorial (N): entero
inicio
desde i=2 hasta i <= N hacer i++
hacer fact *= i
fin_desde
fin
fin
3URJUDPDHQ-DYD
import java.io.*;
public class Practica_17{
public static void main (String arg[] ) throws IOException{
int Numero;
BufferedReader tecl= new BufferedReader (new InputStreamReader(System.in));
System.out.println ("Introduzca un numero entero:");
Numero = Integer.parseInt(tecl.readLine());
Factorial Num = new Factorial(Numero);
System.out.println("Factorial de "+ Numero +" es "+Num.fact);
}
}
class Factorial{
public double fact=1;
private int i;
public Factorial(int N) {
for (i=2; i<=N; i++){
fact *= i;
}
}
}

La expresin fact *= i utiliza un operador de asignacin


fact = fact * i.

158

que es similar a la expresin

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

35&7,&$

Construya un programa que realice e imprima el mtodo de Fibonacci de un nmero N.


2EMHWLYRGHODSUiFWLFD


&RPSUHQGHU HO XVR \ IXQFLRQDPLHQWR GH ODV HVWUXFWXUDV GH UHSHWLFLyQ HQ HO PRPHQWR GH
LPSOHPHQWDUFODVHVTXHLPSOLTXHQHOGLVHxRGHDOJRULWPRVSDUDSUREDUODVHQXQDDSOLFDFLyQ
$QiOLVLVGHOSUREOHPD
Leonardo Pisan Fibonacci probablemente se conoce mejor por descubrir la sucesin de Fibonacci,
una sucesin de nmeros que existe en la naturaleza. La serie de Fibonacci es la siguiente:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377,
El prximo nmero en la serie simplemente es la suma de los dos nmeros anteriores. Los nmeros
de arranque son 0 y 1. El tercer nmero se calcul de la suma 0+1 (ya que no hay ningn nmero antes
del primer 1) y es de nuevo 1. El prximo nmero es 1+1 = 2, luego 1+2 = 3, luego 2+3 = 5 y 5+3 = 8,
etc., esta serie es consecutiva e infinita.
inicio

Fibonacci (N)

escribir
Introduzca un nmero

Fib = 0 , Sig = 1

escribir + Fib
leer Numero
i = 1; i < N; i++

Fibonacci (Numero)

No

Si
Aux = Sig
fin
Sig += Fib

Fib = Aux

escribir + Fib

fin

&' ()*(
+ ( ,-./ 012

Prctica 18

159

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

3VHXGRFyGLJR
inicio
escribir Introduce un numero entero
leer Numero
Fibonacci (Numero)
fin
Funcion Fibonacci(N): entero
inicio
Fib = 0, Sig = 1
escribir Fib
desde i = 1 hasta i < N hacer i++
hacer Aux = Sig
hacer Sig += Fib
hacer Fib = Aux
escribir - + Fib
fin_desde
fin
3URJUDPDHQ-DYD
import java.io.*;
public class Practica_18{
public static void main (String args[]) throws IOException{
int Numero;
BufferedReader tecl = new BufferedReader (new InputStreamReader(System.in));
System.out.println("Introduzca un numero");
Numero = Integer.parseInt(tecl.readLine());
Fibonacci(Numero);
}
public static void Fibonacci(int n){
int fib=0, sig = 1;
System.out.print(fib);
for( int i = 1; i < n; i++){
int aux = sig;
sig += fib;
fib = aux;
System.out.print(" - "+fib);
}
}
}



Es importante resaltar la definicin de una funcin para calcular y mostrar la serie de Fibonacci
dentro de la cual se observa la inicializacin de variables en la sentencia for( int i = 1; i <
n; i++) y int aux = sig; que tambin es una forma vlida para la declaracin de variables.

160

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

35&7,&$

Construya un programa que muestre los mltiplos de 3 en orden descendente a partir de 99.
2EMHWLYRGHODSUiFWLFD


&RPSUHQGHU HO XVR \ IXQFLRQDPLHQWR GH ODV HVWUXFWXUDV GH UHSHWLFLyQ HQ HO PRPHQWR GH
LPSOHPHQWDUFODVHVTXHLPSOLTXHQHOGLVHxRGHDOJRULWPRVSDUDSUREDUODVHQXQDDSOLFDFLyQ
$QiOLVLVGHOSUREOHPD
La prctica consiste en decrementar el valor final del ciclo IRU en 3, con la expresin i-=, esta
es una de las caractersticas relevantes de la sentencia IRU, en donde el incremento de la estructura
IRUpuede ser negativo, en cuyo caso ser realmente un decremento y el ciclo contar hacia atrs.

inicio

i = 99; i >=1; i - =3

No

Si
escribir + i

fin

&' ()*(
+ ( ,-./ 012

Prctica 19

3VHXGRFyGLJR
inicio
desde i=99 hasta i>=1 hacer i-=3
escribir - + i
fin_desde
fin
3URJUDPDHQ-DYD
public class Practica_19{
public static void main (String args[]){
for( int i = 99; i >=1;i-=3){
System.out.print("-"+ i);
}
}
}

161

MANUAL DE PRCTICAS

FUNDAMENTOS DE PROGRAMACIN

35&7,&$

Construya un programa que despliegue las tablas de multiplicar del 1 al 10.


2EMHWLYRGHODSUiFWLFD


&RPSUHQGHUHOXVR\IXQFLRQDPLHQWRGHODVHVWUXFWXUDVGHUHSHWLFLyQDQLGDGDVHQHOPRPHQWRGH
LPSOHPHQWDUFODVHVTXHLPSOLTXHQHOGLVHxRGHDOJRULWPRVSDUDSUREDUODVHQXQDDSOLFDFLyQ
$QiOLVLVGHOSUREOHPD

Aunque la realizacin de esta prctica aparenta ser sencilla el programador requiere de prctica y
experiencia en estructuras de repeticin para poder anidarlas.

inicio

i = 1; i <=10; i ++

No

Si
No
j = 1; j <=10; j++
Si
escribir
i + * + j + = + i *j

fin

&' ()*(
+ ( ,-./ 012

3VHXGRFyGLJR
inicio
desde i=1 hasta i<=10 hacer i++
desde j=1 hasta j<=10 hacer j++
escribir i + * + j + = + i * j
fin_desde
fin_desde
fin



162

Prctica 20

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

3URJUDPDHQ-DYD


public class Practica_20{


public static void main (String args[]){
for( int i = 1; i <=10;i++){
for( int j=1; j<= 10; j++)
System.out.println(i+" * "+ j +" = "+ i*j);
System.out.println("\n");
}
}
}

163

MANUAL DE PRCTICAS




FUNDAMENTOS DE PROGRAMACIN

35&7,&$635238(67$6
1. Se definen los nmeros triangulares como los obtenidos de sumar los nmeros naturales
sucesivos 1, 2, 3, ...; es decir, los primeros nmeros triangulares son 1, 3, 6, 10, .... Elaborar un
algoritmo para imprimir el N-simo nmero triangular. Describir el algoritmo mediante
diagrama de flujo y Pseudocdigo.
2. Disear un algoritmo que, dados 10 nmeros enteros, indique cuantos de ellos son nmeros
pares, nos muestre estos y calcule la media aritmtica de los impares.
3. Se desea un algoritmo que realice la operacin de suma o resta de so nmeros ledos del teclado
en funcin de la respuesta S/N a un mensaje de peticin de datos.
4. Disear el algoritmo de Euclides que calcule el M.C.D. (Mximo comn divisor) de dos
nmeros A y B. Este mtodo se basa en dos teoremas:

Si dos nmeros son divisibles el uno por el otro, el menor es su mximo comn divisor.
Si dos nmeros a y b (a>b) no son divisibles el uno por el otro, los divisores comunes de
a y b son los mismos que los de b y r, siendo r el resto de la divisin entera de a entre b.

5. Elabore un programa para imprimir el tringulo de Floyd con un nmero dado de filas
completas.
1
2
4
7

3
5
8

6
9

10

6. La multiplicacin ``a la rusa'' permite realizar el producto de dos nmeros enteros utilizando
solo sumas y divisiones o productos por dos. El mtodo consiste en realizar sucesivamente las
siguientes operaciones: multiplicar uno de los nmeros por dos y obtener la divisin entera del
otro, tambin por dos. Se detiene el proceso al obtener como cociente de la divisin un uno. Por
ejemplo, para multiplicar 22 por 64 se obtienen las dos columnas siguientes:
22
11
5
2
1
22 x 64 =

64
128
256
512
1024
1408

A continuacin sumamos los nmeros de la columna de la derecha que corresponden a nmeros


impares en la columna de la izquierda, esto es en nuestro caso: 128+256+1.024=1.408 y el
resultado de la suma es el producto de los nmeros iniciales. Elaborar un programa en Pascal
que multiplique mediante este mtodo dos nmeros enteros introducidos por pantalla.
164

FUNDAMENTOS DE PROGRAMACIN

MANUAL DE PRCTICAS

35&7,&$635238(67$6

7. Dado un nmero entero, N, si la suma de sus divisores (sin contar a si mismo) es igual a N se
dice que ese nmero es perfecto. Si la suma es inferior, se dice que es deficiente, y si es superior
se dice que es abundante. Por ejemplo:
o
o
o

6 tiene como divisores 1, 2, 3: Su suma es 6, por lo tanto es perfecto.


8 tiene como divisores 1, 2, 4: Su suma es 7, por lo tanto es deficiente.
24 tiene como divisores 1, 2, 3, 4, 6, 8, 12: Su suma es 36, por lo tanto es abundante.

Escribir un programa que reciba un nmero entero como parmetro y devuelva un valor que lo
clasifique como perfecto, deficiente o abundante.
8. Disear un algoritmo que determine el precio de un billete de ida y vuelta en ferrocarril, dando
la distancia a recorrer y el nmero de das en destino, sabiendo que si la estancia es superior a 7
das y la distancia es superior a 800 km. el billete tiene una reduccin del 30%. El precio por
kilmetro es de 8,5 pesos.
9. Disear un programa que cuente e imprima los dgitos de un nmero dado. Por ejemplo, 17568
tiene 5 dgitos.
10. Calcule el valor de PI ( DSDUWLUGHODVHULHLQILQLWD
 

4
1

4
3

4
5

4
7

4
9

Imprima una tabla que muestre el valor de PI aproximado a un termino de esta serie, a dos, a
tres, a cuatro, hasta N.
11. Ternas Pitagricas. Un triangulo rectngulo puede tener lados que sean todos enteros. El
conjunto de tres valores enteros para los lados de un triangulo rectngulo se conoce como una
terna pitagrica. Estos tres lados deben de satisfacer la relacin de que la suma de los cuadrados
de dos de los lados es igual al cuadrado de la hipotenusa. Encuentre todas las ternas pitagricas
para lado1, lado2 e hipotenusa, todos ellos no mayores de 500. utilice un ciclo IRU de triple
anidamiento que pruebe todas la posibilidades.

165

Das könnte Ihnen auch gefallen