Está en la página 1de 45

Algoritmos y Estructura de Datos

Tema: Estructuras de control: Secuencial y Selectivas

1. Escribir un programa que lea dos números, calcule y reporte las 4 operaciones básicas:

suma, resta, multiplicación y división.


2. Leer el lado de un cuadrado y calcular su área y su perímetro.
3. Leer una temperatura en grados centígrados (°C) y expresarla en grados Kelvin (°K).
4. Leer el radio de un círculo y calcular el área del círculo y la longitud de la circunferencia.
5. Leer una cantidad expresada en soles y transformarla a su equivalente en dólares y en Euros

(Tipo de cambio 1 dólar = 3.42 soles, 1 Euro = 4.12 dólar).


6. Leer la base y la altura de un triángulo y calcular su área.
7. Escribir un programa que lea dos números n1 y n2. Si n1≤ n2 que calcule y reporte la suma

y resta en caso contrario debe calcular la multiplicación y división.


8. Leer el lado de un cuadrado. Si lado> 0 debe calcular su área y su perímetro. En caso

contrario debe imprimir el mensaje “Valor Incorrecto”.


9. Leer una temperatura en grados Kelvin (°K). Si la temperatura es ≥ 0 expresarla en grados

centígrados (°C). Sino escribir “No se puede transformar”.


10. Leer el radio R de un círculo. Si R es >0 calcular el área del círculo y la longitud de la

circunferencia. En caso contrario Escribir “no se puede calcular”.


11. Leer una cantidad sol expresada en soles. Si es sol < 0 Escribir “Valor incorrecto”. En caso

contrario, si sol < 100 transformarla a su equivalente en dólares. sino expresarla en Euros.

(Considerar 1 $ = 3.42 soles, 1 Euro = 4.12 soles).


12. Ingresar un número X. Si X es ≥ 100 calcular X 2 en caso contrario calcular X 3 .
13. Dada la ecuación: Y = X 3 + 10 X 2 + X - 2. Para un valor dado de X, indicar si Y es positivo,

negativo o cero.
TEMA: Estructuras Repetitivas
1. Determinar el cociente y el residuo de una división calculando la cantidad de veces que

un número está contenido en otro, mediante restas sucesivas.

Ejemplo:

Dividendo a = 2630

Divisor b = 480

Entonces:
2630 – 480 = 2150
2150 – 480 = 1670
1670 – 480 = 1190
1190 – 480 = 710
710 – 480 = 230
Las restas sucesivas se detienen cuando el nuevo valor de “a” es menor que “b”. el cociente

se determinará contando el número de restas sucesivas y el residuo por el ultimo valor

obtenido 230.
2. Los números Amstrong o cubos perfectos, son aquellos que sumados los cubos de sus

dígitos nos dan el mismo número. Por ejemplo 153 es un cubo perfecto pues 13 + 53 + 33 =

153. Lea un número y diga si es o no, un cubo perfecto.


3. Lea un número entero en base 10, y conviértalo a base 8.

Ejemplo: 194(10) = 302(8)


4. Dado un número entero, determinar el menor y mayor dígito que lo conforma. Mostrar el

número y los resultados encontrados.


5. Escriba un algoritmo que calcule la suma de los cubos de los N primeros números

enteros.
6. Ingresar N números y calcular la suma de los pares y la suma de los impares.
7. Calcular la suma, suma de cuadrados y la suma de cubos de los N primeros números

naturales.
8. Muestre la tabla de multiplicar del 12.
9. Ingresar N notas y calcular el número de alumnos aprobados.
10. Mostrar los N primeros términos de la serie: 1, 6, 11, 16, 21, 26, …
TEMA: Funciones y Procedimientos

Usando Función resolver los siguientes ejercicios

1. Construir la función MAYOR3, que reciba tres números enteros y devuelva el mayor

valor entre ellos.

package procedimientos;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class NewClass {
public static void main(String[] args) throws IOException {
int a,b,c,mayor;
BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
System.out.print("Ingrese numero 1:");
a=Integer.parseInt(br.readLine());
System.out.print("Ingrese numero 2:");
b=Integer.parseInt(br.readLine());
System.out.print("Ingrese numero 3");
c=Integer.parseInt(br.readLine());
mayor=Mayor(a,b,c);
System.out.println("El numero mayor es: "+mayor);
}
static int Mayor(int a , int b , int c){
int mayor=0;
if (a>mayor){
mayor=a;
}
if (b>mayor){
mayor=b;
}
if (c>mayor){
mayor=c;
}
return mayor;
}
}

2. Escribir la función OCTAL, que devuelva el resultado de convertir cualquier número

entero de base 10 a base 8.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class NewClass2 {


public static void main(String[] args)throws IOException {
double cantidad, conv;
BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
System.out.println("Ingrese numero a convertir: ");
cantidad=Double.parseDouble(br.readLine());
System.out.println("El numero en base 8 es: ");
conv=OCTAL(cantidad);
}
static double OCTAL (double cantidad){
double nb,i,d;
nb=0;
i=1;
while (cantidad>0){
d=cantidad%8;
nb=nb+d*i;
cantidad=Math.floor(cantidad/8);
i=i*10;
}
System.out.println("num: "+nb);
return nb;
}
}

3. Leer N números e indicar cuantos son pares.

package procedimientos;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class NewClass3 {
public static void main(String[] args)throws IOException {
int n, resultado;
BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
System.out.println("Ingrese numero N: ");
n=Integer.parseInt(br.readLine());
resultado=PARES(n);
System.out.println("La cantidad de numeros pares es: "+ resultado);
}
static int PARES (int n) throws IOException {
int num,cont1=0;
BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
for (int k=0; k<n ; k++){
System.out.println("Ingrese el numero: ");
num = Integer.parseInt(br.readLine());
if (num%2==0){
cont1=cont1+1;
}
}
return cont1;
}
}

4. Dado un número entero. Determinar el menor y mayor dígito que lo conforma. Construir

las funciones MENOR y MAYOR.


Usando Procedimiento resolver los siguientes ejercicios.

5. Mostrar los N primeros términos de la serie: 1, 6, 11, 16, 21, 26,…

package procedimientos;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejercicio03 {
public static void main(String[] args) throws IOException {
int n;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Ingrese número N a mostrar ");
n = Integer.parseInt(br.readLine());
nterminos(n);
}
static void nterminos(int n){
int k=0;
int j=0;
for (int i = 1; i <= n; i++) {
k=(i-1)*5;
j=k+1;
System.out.println(j);
}
}
}

6. Mostrar los N primeros números positivos que son múltiplos de 3 y 5 a la vez.

package procedimientos;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejercicio03 {
public static void main(String[] args) throws IOException {
int n;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Ingrese número N a mostrar ");
n = Integer.parseInt(br.readLine());
nterminos(n);
}
static void nterminos(int n){
for (int i = 1; i <= n; i++) {

if ((i%5==0) && (i%3==0)){


System.out.println(i);
}
}
}
}

7. Contruir un procedimiento AMSTRONG y que muestre un mensaje si el número

ingresado es un número amstrong o no.

package procedimientos;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class NewClass2 {
public static void main(String[] args) throws IOException {
int n;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Ingrese número N a mostrar ");
n = Integer.parseInt(br.readLine());
nterminos(n);

}
static void nterminos(int n){
int cifra,s=0,num;
num=n;
while (n>0) {
cifra=n%10;
s=(int)(s+Math. pow(cifra,3));
n=(n-cifra)/10;
}
if (s==num){
System.out.println("ES UN NUMERO ARMSTRONG");
}else{
System.out.println("NO ES UN NUMERO ARMSTRONG");
}
}
}

También podría gustarte