Sunteți pe pagina 1din 8

Universidad Surcolombiana

Tecnología en Desarrollo de Software


Programación Orienta Objetos – 2019A
Taller de ejercicios – Programación Estructurada en Java

Ejercicios
• Se necesita que sistema que calcula perímetros y áreas, para lo cual aparece un
menú con tres opciones (1. Perímetros, 2. Áreas, 3. Salir) dentro de las primeras 2
opciones aparece otro menú con 4 opciones (1. Triangulo, 2. Cuadrado, 3. Círculo, 4.
Regresar). Dentro del cual solo se puede volver al menú principal presionando la
opción 4.
Resultados o Datos de Formulas y/o métodos
Salidas Entrada
//Metodos
-Do-while
-if
-switch
//Formulas
-lados Perímetros de figuras geométricas:
-perimetros -radio per=a+b+c; // triangulo
-areas -la base per = (int) (2*Math.PI *r); //circulo
-la altura per=4*a; //cuadrado

Areas de figuras geometricas


area=a*b/2 // triangulo
area= (int) (Math.PI * Math.pow(r,2)); // circulo
area=(int) Math.pow(a,2); // cuadrado

• Un teatro otorga descuentos según la edad del cliente. determinar la cantidad de


dinero que el teatro deja de percibir por cada una de las categorías. Tomar en cuenta
que los niños menores de 5 años no pueden entrar al teatro y que existe un precio
único en los asientos. Los descuentos se hacen tomando en cuenta el siguiente
cuadro:
Edad Descuento
Categoría 1 5 - 14 35 %
Categoría 2 15 - 19 25 %
Categoría 3 20 - 45 10 %
Categoría 4 46 - 65 25 %
Categoría 5 66 en adelante 35 %

Resultados o Datos de Formulas y/o métodos


Salidas Entrada
-cantidad de -precio fijo de //métodos
las entradas al
dinero que el -if
teatro
teatro deja de -for
-el numero de
recibir por cada clientes //formulas
categoría de -la edad de -descuento = (int) (precio * (asignación de descuento
edad. cada cliente dependiendo de la edad))
- -categoria1=categoria1+descuento

• Un jeep puede viajar 500 km con un tanque lleno de gasolina. Desde una posición
inicial, conteniendo ‘n’ tanques de gasolina el mismo jeep puede viajar:
L = 500 ( 1 + 1/3 + 1/5 + ...+ 1 / (2n -1) ) km
Estableciendo economía de combustible en una ruta . Diseñe un pseudocódigo que
calcule el valor de ‘L’ dado ‘ n ‘ .

Resultados o Datos de Formulas y/o métodos


Salidas Entrada
Calcular el valor
de L ese mismo
-tanques de //métodos
que dira cuanto
gasolina -if
puede viajar el
//formulas
jeep dependiendo
L=500*(numero de tanques de gasolina)
de los tanques de
gasolina

• Diseñar un pseudocódigo que convierta un número del sistema decimal a sistema


binario.

Resultados o Datos de Formulas y/o métodos


Salidas Entrada
//métodos
Do-while
While
Convertir un -número mayor
numero decimal o igual a cero
//formulas
en un binario
-digito = numero % 2;
-binario = binario + digito * Math.pow(10, exp);
- numero = numero/2;

• Un objeto es dejado caer a una altura de 100 mts. Diseñe un pseudocódigo que
imprima cada décima de segundo la distancia entre el objeto y el suelo y al final
imprima el tiempo necesario en décimas de segundo para que el objeto toque el suelo.

Resultados o Datos de Formulas y/o métodos


Salidas Entrada
-imprimir cada -altura=100mts //métodos
decima de -tiempo=0 While
segundo la -gravedad=9.81 If
distancia entre -distancia=0 //formulas
el objeto y el -tiempototal=0 distancia=(gravedad/2)*((tiempo*tiempo)/10)
suelo tiempo=tiempo+1
-tiempo altura=altura-distancia
necesario para tiempototal=(2*altura/gravedad)
que el objeto
toque el suelo

• Un avión que viaja 800 Km/h, dispara un proyectil autoimpulsado, en el momento del
disparo, el avión hace un giro de 90 0 y acelera a 20 m/seg2. El proyectil sigue su
curso, acelerando a 10 m/seg2.
Diseñe un pseudocódigo que escriba cada segundo, la distancia que separa al avión
del proyectil, hasta que estén a 10,000 metros o más.

Resultados Datos de Entrada Formulas y/o métodos


o Salidas
//métodos
-distancia
If
que -velocidadavion=222 While
separa al -Aceleracionavion=20 //formulas
avión del Acelaracionmisil=10
-tiempo=velocidadavion+aceleración;
proyectil -distancia=0
-velocidadmisil=velocidadavion+aceleracionmisil
hasta -Velocidadmisil=0
-Medida=0 -medida=(tiempo*tiempo)+(velocidadmisil*velocidadmisil);
10,000
-medida=Math.sqrt(medida)
mts o
-tiempo=tiempo+aceleracion;
mas.
-velocidadavion=velocidadavion+aceleracion

• Una pizzería, vende sus pizzas en tres tamaños: pequeña (10 pulg. de diámetro);
mediana (12 pulg. de diámetro); y grandes (16 pulg. de diámetro); Una pizza puede
ser sencilla (con sólo salsa y carne), o con ingredientes extras, tales como pepinillos,
champiñones o cebollas.
Los propietarios desean desarrollar un programa que calcule el precio de venta de una
pizza, dándole el tamaño y el número de ingredientes extras. El precio de venta será
1.5 veces el costo total, que viene determinado por el área de la pizza, más el número
de ingredientes.
En particular el costo total se calcula sumando:
• un costo fijo de preparación
• un costo base variable que es proporcional al tamaño de la pizza
• un costo adicional por cada ingrediente extra. Por simplicidad se supone que cada
ingrediente extra tiene el mismo costo por unidad de área.
Resultados o Datos de Formulas y/o métodos
Salidas Entrada
-el precio de //métodos
venta de una -tamaño Switch
pizza -sencilla o con //formulas
ingredientes -area=(float) (Math.PI*Math.pow(pulgadas));
-numero de //sencilla
ingredientes -total_pagar=(float)(1.5*(costo_prepa+area));
-area de la //con ingredientes
pizza -total_pagar=(float)(1.5*(costo_prepa+area+ingredientes*3))

• Construya un algoritmo que reciba como entrada dos valores: a y b, donde a < b. Este
algoritmo debe generar las siguientes saludas:
• Los múltiplos de a que son menores que b.
• Los números primos que hay entre a y b.
• la suma de los valores pares y la multiplicación de los impares que hay entre a
y b.

Resultados o Datos de Formulas y/o métodos


Salidas Entrada
//métodos
If
For

//formulas
-multiplos de a
//múltiplos
que son menores
mult=a*i; //i=o
que b
-los números
//primos
primos que hay
i % j == 0;// i=0 y j=2;j<i;j++;
entre a yb -valor a
-la suma de los -valor b
//suma pares
valores pares y la
i%2 == 0;
multiplicación de
suma+=i; // suma=0
los impares que
hay entre a y b
//multiplicacion impares
i%2!=0
s=(s*i); // s=1;

• Se dispone de una tabla con las temperaturas registradas a medio día durante el año
2015. Se desea determinar cuál fue la máxima, cual fue la mínima y cuantas veces se
repitió cada una de estas durante el año 2015. Además se desea saber el promedio
de dichas temperaturas.

Resultados o Datos de Formulas y/o métodos


Salidas Entrada

• Escribir un programa que le pida al usuario que ingrese una sucesión de números
naturales (primero uno, luego otro, y así hasta que el usuario ingrese ’-1’ como
condición de salida). Al final, el programa debe imprimir cuántos números fueron
ingresados, la suma total de los valores y el promedio.

Resultados o Datos de Entrada Formulas y/o métodos


Salidas
//métodos
Imprimir For
cuantos -sucesion de números If
enteros hasta que el
números fueron
usuario digite -1 como
ingresados //formulas
condición de
-la suma total de salida//numeroEntero; -numerosIngresados++;//númerosIngresados=0
los valores -sumatorio = sumatorio + numeroEntero;//sumatorio=0
-promedio -numeroPromedio = sumatorio / numerosIngresados//
numeroPromedio=0

• Escribir una función que reciba dos números como parámetros, y devuelva cuántos
múltiplos del primero hay, que sean menores que el segundo.
a. Implementarla utilizando un ciclo for, desde el primer número hasta el segundo.
b. Implementarla utilizando un ciclo while, que multiplique el primer número hasta que
sea mayor que el segundo.
c. Comparar ambas implementaciones: ¿Cuál es más clara? ¿Cuál realiza menos
operaciones?

Resultados o Datos de Formulas y/o métodos


Salidas Entrada
//métodos
For
While
-cuantos múltiplos
del primero hay y _valor a
-valor b //formulas
que sean menores
-opcion de //FOR
que el segundo.
comparacion mult=a*I;//i=1
En FOR y WHILE.
-comparacion.
//while
multiplos=a*i; // i=1
i++;

• Haga un programa que dados dos números introducidos por teclado indique si son
amigos o no. El programa debe ofrecer la posibilidad de continuar. Nota: Dos números
amigos son dos enteros positivos (n1, n2) tales que la suma de los divisores propios
de uno de ellos es igual al otro (la unidad se considera divisor propio, pero no lo es el
mismo número).
Por ejemplo, 220 y 284 son amigos, ya que:
Suma de divisores de 284: 1 + 2 + 4 + 71 + 142 = 220
Suma de divisores de 220: 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284.
También son números amigos 17296 y 18416
Resultados o Datos de Formulas y/o métodos
Salidas Entrada
//métodos
Do-while
For
If

//formulas
n1%i==0)
-indicar si dos suma=suma+i;// i=1; suma=0
números -valor n1
introducidos por -valor n2 suma==n2)
teclado son -tecla//si quiere suma=0
amigos o no, con continuar
la posibilidad de (n2%i==0)
continuar suma=suma+i // i=1; suma=0

suma==n1 // son amigos, y sino pos no lo son.

while (tecla.equals("si") || tecla.equals("Si"))// si el


usuario quiere continuar tiene que digitar la palabra
si

• Queremos implementar un programa que vaya leyendo las temperaturas máximas y


mínimas de cada día en una ciudad, y al final de varias informaciones. En primer lugar
el programa pedirá el número de días de los que vamos a introducir la temperaturas, a
continuación introduciremos la temperatura máxima y mínima de cada día. Para
finalizar daremos la siguiente información:
• Temperatura más alta introducida.
• Temperatura más baja metida.
• Temperatura media, sabiendo que la temperatura media de un día es:
(Temp. Max+Temp. Min)/2
• Indicar si se ha introducido una temperatura negativa.

Resultados o Datos de Formulas y/o métodos


Salidas Entrada

• Algoritmo de Euclides
• Implementar el algoritmo de Euclides para calcular el máximo común divisor de
dos números n y m, dado por los siguientes pasos.
1. Teniendo n y m, se obtiene r, el resto de la división entera de m=n.
2. Si r es cero, n es el mcd de los valores iniciales.
3. Se reemplaza m<- n, n<- r, y se vuelve al primer paso.
• Hacer un seguimiento del algoritmo implementado para los siguientes pares de
números: (15,9); (9,15); (10,8); (12,6).
Resultados o Datos de Formulas y/o métodos
Salidas Entrada
//métodos
-clase Static int
-if

-numero n //formulas
-maximo común
-numero m (m==0)
divisor
return n;

si no
return obtener_mcd(m,n%m)//obtener_mcd es la
variable del resultado

• La serie de Fibonacci permite aproximar la forma en que se reproducen los conejos.


Se sabe que una pareja de conejos puede tener dos crías al mes, y esto se da a partir
del tercer mes de nacidos, en el cual los conejos alcanzan su edad madura. La forma
en que aumenta la población de conejos mes a mes se puede ver en la siguiente
tabla, si consideramos que no se mueren conejos y que inicialmente se cuenta con
una pareja de conejos recién nacida:
mes parejas de conejos
1 1
2 1
3 2
4 3
5 5
6 8
7 13

Construya un algoritmo que dado un valor n, correspondiente a un mes cualquiera,


determine la cantidad de conejos en ese mes. Indicación: observe que en cada
mes, la cantidad de conejos corresponde a la suma de los conejos de los dos
meses anteriores a ese mes.

Resultados o Datos de Formulas y/o métodos


Salidas Entrada
//métodos
Do-while
For
-determinar la
cantidad de
//formulas
conejos dado un -mes
(mes<1)
valor n
fibo1=1;
correspondiente a
fibo2=1;
un mes cualquiera.
fibo2 = fibo1 + fibo2;
fibo1 = fibo2 - fibo1;

S-ar putea să vă placă și