Ejercicios de Java2
Ejercicios de Java2
de
Programación
Java 2 v5.0
Lección 01
Algoritmos ................................................................................................................................................ 2
¿Qué es un Algoritmo? ......................................................................................................................... 2
Características de un Algoritmo ............................................................................................................ 2
Niveles de un Algoritmo ........................................................................................................................ 4
Representación de Algoritmos .................................................................................................................. 5
Diagramas de Flujo ............................................................................................................................... 6
Definición .......................................................................................................................................... 6
Símbolos ........................................................................................................................................... 6
Ejemplos ........................................................................................................................................... 8
Reglas de un Diagrama de Flujo ..................................................................................................... 11
Ventajas de los Diagramas de Flujo ................................................................................................ 11
Desventajas de los Diagramas de Flujo........................................................................................... 12
Tablas de Decisiones.......................................................................................................................... 13
Definición ........................................................................................................................................ 13
Ejemplo ........................................................................................................................................... 14
Ventajas de las Tablas de Decisiones ............................................................................................. 15
Desventajas de las Tablas de Decisiones ....................................................................................... 16
Pseudocódigo ..................................................................................................................................... 16
Definición ........................................................................................................................................ 16
Ejemplos ......................................................................................................................................... 17
Ventajas del Pseudocódigo ............................................................................................................. 17
Limitaciones del Pseudocódigo ....................................................................................................... 17
Ejercicios ................................................................................................................................................ 18
Ejercicio 01 ......................................................................................................................................... 18
Ejercicio 02 ......................................................................................................................................... 18
Ejercicio 03 ......................................................................................................................................... 18
Ejercicio 04 ......................................................................................................................................... 19
Ejercicio 05 ......................................................................................................................................... 19
Ejercicio 06 ......................................................................................................................................... 19
Ejercicio 07 ......................................................................................................................................... 19
Fundamentos de Programación con Java 2
Lección 02
Proceso de Instalación ........................................................................................................................... 22
Archivo de Instalación......................................................................................................................... 22
Proceso de Instalación ....................................................................................................................... 23
La Carpeta bin.................................................................................................................................................... 28
Probando Java ....................................................................................................................................... 29
Carpeta de Trabajo ............................................................................................................................. 29
Establecer la Variable de Entorno PATH ............................................................................................ 29
Ejecutando el Primer Programa .......................................................................................................... 31
Lección 03
Introducción a Variables ......................................................................................................................... 34
Tipos de Datos ................................................................................................................................... 35
Declaración de Variables .................................................................................................................... 36
Asignación de Valores a Variables ...................................................................................................... 38
Asignación Directa .......................................................................................................................... 38
Instrucción de Lectura ..................................................................................................................... 39
Operadores ............................................................................................................................................ 40
Operadores Aritméticos ...................................................................................................................... 40
Operadores Relacionales.................................................................................................................... 41
Operadores Lógicos............................................................................................................................ 42
Precedencia de Operadores ............................................................................................................... 43
Ejemplos ................................................................................................................................................ 46
Ejemplo 1............................................................................................................................................ 46
Ejemplo 2............................................................................................................................................ 47
Ejemplo 3............................................................................................................................................ 48
Ejemplo 4............................................................................................................................................ 50
Ejercicios ................................................................................................................................................ 52
Ejercicio 1 ........................................................................................................................................... 42
Ejercicio 2 ........................................................................................................................................... 52
Ejercicio 3 ........................................................................................................................................... 52
Ejercicio 4 ........................................................................................................................................... 52
Ejercicio 5 ........................................................................................................................................... 52
Ejercicio 6 ........................................................................................................................................... 52
II CEPS-UNI
Fundamentos de Programación con Java 2
Lección 04
Estructura: if ....................................................................................................................................................... 54
Estructuras if Simple .......................................................................................................................... 54
Estructura if...else .......................................................................................................................................... 57
Estructura if…else Anidada ................................................................................................................. 61
Estructura: switch…case.................................................................................................................................... 65
Ejercicios ................................................................................................................................................ 69
Ejercicio 1 ........................................................................................................................................... 69
Ejercicio 2 ........................................................................................................................................... 69
Ejercicio 3 ........................................................................................................................................... 69
Ejercicio 4 ........................................................................................................................................... 69
Ejercicio 5 ........................................................................................................................................... 69
Ejercicio 6 ........................................................................................................................................... 69
Ejercicio 7 ........................................................................................................................................... 69
Ejercicio 8 ........................................................................................................................................... 70
Ejercicio 9 ........................................................................................................................................... 70
Ejercicio 10 ......................................................................................................................................... 70
Ejercicio 11 ......................................................................................................................................... 70
Ejercicio 12 ......................................................................................................................................... 71
Ejercicio 13 ......................................................................................................................................... 71
Ejercicio 14 ......................................................................................................................................... 71
Lección 05
Estructura: while ................................................................................................................................................. 74
Ejemplo 1............................................................................................................................................ 75
Ejemplo 2............................................................................................................................................ 78
Estructura: for ......................................................................................................................................... 81
Ejemplo 4............................................................................................................................................ 82
Ejercicios Propuestos ............................................................................................................................. 85
Ejercicio 1 ........................................................................................................................................... 85
Ejercicio 2 ........................................................................................................................................... 85
Ejercicio 3 ........................................................................................................................................... 85
Ejercicio 4 ........................................................................................................................................... 85
Ejercicio 5 ........................................................................................................................................... 85
Ejercicio 6 ........................................................................................................................................... 85
Ejercicio 7 ........................................................................................................................................... 85
Ejercicio 8 ........................................................................................................................................... 85
Ejercicio 9 ........................................................................................................................................... 85
Ejercicio 10 ......................................................................................................................................... 86
Ejercicio 11 ......................................................................................................................................... 86
Ejercicio 12 ......................................................................................................................................... 86
Ejercicio 13 ......................................................................................................................................... 86
Ejercicio 14 ......................................................................................................................................... 86
Ejercicio 15 ......................................................................................................................................... 86
Ejercicio 16 ......................................................................................................................................... 86
Ejercicio 17 ......................................................................................................................................... 86
Ejercicio 18 ......................................................................................................................................... 87
Ejercicio 19 ......................................................................................................................................... 87
Ejercicio 20 ......................................................................................................................................... 87
Ejercicio 21 ......................................................................................................................................... 87
Ejercicio 22 ......................................................................................................................................... 87
Ejercicio 23 ......................................................................................................................................... 87
Ejercicio 24 ......................................................................................................................................... 88
Ejercicio 25 ......................................................................................................................................... 88
Ejercicio 26 ......................................................................................................................................... 88
IV CEPS-UNI
Fundamentos de Programación con Java 2
Lección 06
Enfoque Modular a la Programación....................................................................................................... 90
Ejemplo 1............................................................................................................................................ 91
Procedimientos....................................................................................................................................... 92
Declarar, Definir e Invocar Procedimientos ......................................................................................... 92
Ejemplo 2............................................................................................................................................ 93
Parámetros de los Procedimientos...................................................................................................... 97
Ejemplo 3............................................................................................................................................ 98
Funciones............................................................................................................................................. 100
Declarar, Definir e Invocar Funciones ............................................................................................... 100
Parámetros de las Funciones............................................................................................................ 101
Ejemplo 4.......................................................................................................................................... 102
Alcance de las Variable ........................................................................................................................ 104
Alcance Local ................................................................................................................................... 104
Alcance Global.................................................................................................................................. 105
Alcance de lo Parámetros ................................................................................................................. 106
Ejercicios .............................................................................................................................................. 107
Ejercicio 1 ......................................................................................................................................... 107
Ejercicio 2 ......................................................................................................................................... 107
Ejercicio 3 ......................................................................................................................................... 107
Ejercicio 4 ......................................................................................................................................... 107
Propuesta Adicional .......................................................................................................................... 107
Bibliografía
VI CEPS-UNI
Lección 01
Algoritmos
Contenido
Algoritmos
Representación de Algoritmos
Ejercicios
Fundamentos de Programación con Java 2
Algoritmos
¿Qué es un Algoritmo?
Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar
una tarea o resolver un problema. En su vida diaria y profesional también ejecuta una
secuencia de pasos para lograr una tarea dada. Por ejemplo, para mirar una película en
el cine, usted necesita comprar los tickets y luego mirar la pelicula en el cine. Usted no
puede entrar directamente a la sala del cine sin comprar los tickets.
Otro ejemplo de una secuencia de pasos se puede considerar en una tienda por
departamento. En una tienda por departamento se automatizó la facturación por los
productos comprados por los clientes, los siguientes son los pasos que se realizan:
Usted notará que el algoritmo sigue ciertos pasos para lograr la tarea. Los pasos se
pueden categorizar en las tres fases siguientes:
Estas tres fases juntas forman el ciclo Entrada-Proceso-Salida (EPS). Cada vez que se
genere una nueva factura se repite el ciclo EPS.
Características de un Algoritmo
Un algoritmo tiene las siguientes cinco características:
2 CEPS-UNI
L01: Algoritmos
Este algoritmo representa la lógica del ejemplo discutido en la sección anterior
para la generación automática de una factura.
Paso 1: Inicio
Paso 8: Fin
Este algoritmo acepta los puntajes sobre cuatro temas como entrada y exhibe
el puntaje total para un estudiante.
Paso 1: Inicio
Paso 8: Fin
Niveles de un Algoritmo
Los niveles de un algoritmo son:
Nivel Macro Un algoritmo que contenga pasos sin mucho detalle sobre un proceso
se llama algoritmo de nivel macro.
Nivel Micro Un algoritmo que contenga pasos detallados sobre un proceso se llama
algoritmo de nivel micro.
Por ejemplo, una compañía de televisión puede proporcionar pasos breves usando un
algoritmo nivel macro en el manual del usuario de la televisión para localizar averías
de sonido como sigue:
Paso 1: Inicio
Paso 5: Fin
Paso 1: Inicio
Paso 6: Fin
4 CEPS-UNI
L01: Algoritmos
Representación de Algoritmos
Diagramas de flujo
Tablas de decisiones
Pseudocódigos
Diagramas de Flujo
Definición
Símbolos
Entrada/Salida
Proceso
Decisión
Procedimiento/Subrutina
Línea de flujo
Inicio y Fin
6 CEPS-UNI
L01: Algoritmos
Conector en Página
Visualización
Ejemplos
8 CEPS-UNI
L01: Algoritmos
10 CEPS-UNI
L01: Algoritmos
Los símbolos de inicio y fin deberían tener una sola línea de flujo.
Los diagramas de flujo actúan como guía durante la fase de diseño del
programa.
Los cambios hechos en un solo paso pueden ocasionar tener que volver a
dibujar el diagrama de flujo completo.
12 CEPS-UNI
L01: Algoritmos
Tablas de Decisiones
Definición
Las tablas de decisiones representan algoritmos que implican una toma de decisiones
compleja.
Código de Condición Consta de las condiciones en base a las cuales se toma una
decisión.
Ejemplo
El candidato es mujer. Y Y Y Y N N N N
Candidata aceptada N N Y N N N N N
Para crear una tabla de decisiones, deberían considerarse los puntos siguientes:
Especificar todas las acciones que pueden hacerse en conjunción con cada
combinación.
14 CEPS-UNI
L01: Algoritmos
Son útiles en casos en los que hay que representar algoritmos complejos con
muchas derivaciones.
Pseudocódigo
Definición
accept
if ... else
begin, end
16 CEPS-UNI
L01: Algoritmos
Ejemplos
begin
accept número 1
accept número 2
calcular el producto
display el producto
end
begin
accept número 1
accept número 2
if número 1 es mayor que número 2
display número 1
else
display número 2
end
Ejercicios
Ejercicio 01
Los campos de la vacunación necesitan ser organizados para proporcionar la
vacunación gratis a los niños por debajo de cinco años de la edad. Para organizar
estos campos de vacunación, es necesaria realizar una encuesta a la población. Esta
encuesta ayudará al personal del hospital a determinar el número aproximado de
vacunas que deben ser provistas a los campos. Se darán vacunaciones gratis a los
niños que están debajo de cinco años la edad, no tienen ninguna enfermedad, y nacen
en familias por debajo de la línea de pobreza. Asumirán a las familias que tienen una
renta anual menor de $4500 para estar debajo de la línea de la pobreza.
¿Qué técnica usted utilizará para representar el algoritmo para este problema? Dé un
análisis razonado para su opción, y represente el algoritmo usando la técnica
seleccionada.
Ejercicio 02
Global Manufactures Company mantiene y repara coches y tiene muchos talleres por
todo el mundo. Cuando un coche es traído para servicio a un taller de Global
Manufacturers Company, este es enviado al departamento de mantenimiento. Sin
embargo, si se encuentra dañado y es traído para ser reparado, se envía al
departamento de reparación. Después de terminar el mantenimiento o reparación del
coche, un supervisor lo examina y el coche se devuelve al cliente.
Ejercicio 03
La gerencia de PeruDev decide otorgar un Subsidio por Alquiler de Vivienda (SAV) a sus
empleados. Los criterios para calcular el importe de SAC son:
18 CEPS-UNI
L01: Algoritmos
Ejercicio 04
La Universidad de Pacherrez publica los resultados finales de los exámenes en su
Web Site. Para ver los resultados, los estudiantes necesitan ingresar sus códigos en
la Web Site. Si la calificación de un estudiante es superior al 50 por ciento, se
publicará el mensaje Aprobado, junto con sus notas. Si no, se publica el mensaje
Desaprobado.
Ejercicio 05
Una librería está ofreciendo descuentos en algunos de sus libros. Los libros están
divididos en dos categorías, A y B. El descuento es solo para los libros de la categoría
A. Si un cliente compra un libro de la categoría A, se le otorga un descuento de 10%.
Ejercicio 06
Sergio, un docente de ISIL, necesita calcular el puntaje promedio de los estudiantes en la
clase de SQL Server. El código y puntaje de todos los estudiantes son:
Código Puntaje
A001 45
A002 78
A003 56
A004 89
A005 70
Ejercicio 07
Una tienda de electrónica está ofreciendo un descuento en los televisores. El
descuento ofrecido se basa en el tamaño de la televisión. Para una televisión de 14
pulgadas, se ofrece un 10% de descuento, mientras que para televisiones de 21
pulgadas, se esta ofreciendo un descuento de 20%.
Apuntes
20 CEPS-UNI
Lección 02
Instalación de Java
Contenido
Proceso de Instalación
La Carpeta bin
Probando Java
Fundamentos de Programación con Java 2
Proceso de Instalación
Archivo de Instalación
En este caso instalaremos Java 2 JDK versión 5.0, el archivo de instalación se detalla a
continuación.
Archivo jdk-1_5_0_06-[Link]
Tamaño 59.86 MB
La página Web de donde debe bajar este archivo se muestra en la siguiente figura:
22 CEPS-UNI
L02: Instalación de Java
Proceso de Instalación
1. Ejecute el archivo de instalación, obtendrá la siguiente ventana de bienvenida.
24 CEPS-UNI
L02: Instalación de Java
26 CEPS-UNI
L02: Instalación de Java
jre1.5.0_06 Esta carpeta contiene las librerías, la maquina virtual y otros componentes
para ejecutar applets y programas desarrollados en Java.
La Carpeta bin
28 CEPS-UNI
L02: Instalación de Java
Probando Java
Carpeta de Trabajo
La carpeta de trabajo para este laboratorio es:
C:\j2n100\lab01
C:\Archivos de programa\Java\jdk1.5.0_06\bin
Path=C:\oracle\product\10.2.0\db_1\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDO
WS
\System32\Wbem
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
Path=C:\Archivos de programa\Java\jdk1.5.0_06\bin;C:\oracle\product\10.2.0\db_1\
bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
Nota
La configuración de la variable de entorno PATH de esta manera, solo es valida en la
actual consola, no afecta al resto del sistema. Si abre otra consola tendrá que volver a
configurar la variable de entorno PATH.
30 CEPS-UNI
L02: Instalación de Java
C:\j2n100\lab01>dir [Enter]
El volumen de la unidad C es WinXP
El número de serie del volumen es: 8C64-E123
Directorio de C:\j2n100\lab01
Apuntes
32 CEPS-UNI
Lección 03
Variables y Expresiones
Contenido
Introducción a Variables
Operadores
Ejemplos
Ejercicios
Fundamentos de Programación con Java 2
Introducción a Variables
La memoria interna del computador se utiliza para almacenar los datos de entrada
proporcionados por el usuario, las instrucciones para tratar estos datos y el resultado
del proceso o datos de salida. La memoria consta de diversas localizaciones en las
cuales se almacenan los datos. A estas ubicaciones de la memoria se les denomina
variables. A los valores que se almacenan en las variables se los denomina literales.
Los literales representan valores que pueden clasificarse en dos categorías:
Valores carácter como "Hola", "X", "E001" y "1988". Los literales carácter
siempre van entre comillas (" ")
Cuando las instrucciones son ejecutadas, el valor del primer número es aceptado y
almacenado en la memoria. De manera similar, el valor del segundo número es
también aceptado y almacenado en la memoria. El computador hace referencia a los
números almacenado en memoria, calcula la suma, y almacena el resultado obtenido
34 CEPS-UNI
L03: Variables y Expresiones
Tipos de Datos
El número de bytes que debe reservarse para las diferentes variables depende del tipo
de valor que éstas almacenan. Por lo tanto, hay una necesidad de clasificar los tipos de
datos que puedan ser almacén en la memoria. Este tipo de valor es denominado tipo
de dato. Los tipos de datos están clasificados en:
Declaración de Variables
Es necesario declarar una variable antes de ser usada dentro de un programa.
Cuando se declara una variable, una posición de memoria defina se esta asignado a la
variable. La declaración de una variable asigna un nombre a la variable y especifica el
tipo de dato que la variable puede almacenar.
character clicod
character clinom
numeric edad
numeric telefono
También se puede declarar variables del mismo tipo en una simple sentencia como se
ilustra a continuación:
36 CEPS-UNI
L03: Variables y Expresiones
En este diagrama de flujo, las variable nNumero1, nNumero2, y nSuma son declaradas
en el primer paso. En el segundo paso, los valores de los dos números son aceptados
desde el usuario. Posteriormente, el resultado de la suma de nNumero1 y nNumero2
es almacenado en la variable nSuma. Finalmente, se muestra el valor de nSuma.
Aunque no hay convenciones para dar nombre a las variables, las siguientes pautas
pueden resultar útiles:
Existen dos métodos para asignar valores a una variable dentro de un algoritmo:
Asignación directa
Instrucción de lectura
Asignación Directa
Sintaxis:
nombre_variable = valor
nAltura = 180
nEdad = 40
nContador = 0
cCodigo = “16A87E”
38 CEPS-UNI
L03: Variables y Expresiones
Instrucción de Lectura
Se puede asignar valores a variables por medio de la instrucción de lectura.
Sintaxis
accept nombre_variable
character cNombre
numeric nEdad
Operadores
Los operadores determinan el tipo de operación que se quiere realizar con los
elementos de una expresión. En una expresión, el elemento sobre el cual actúa un
operador se llama operando. Por ejemplo, en la expresión, a + b, a y b son conocidos
como operandos.
Operadores aritméticos
Operadores Relacionales
Operadores lógicos
Operadores Aritméticos
Los operadores aritméticos, como su nombre lo indica, son utilizados para realizar
cálculos aritméticos. Algunos de los operadores aritméticos más comunes son los
siguientes:
División (/) Divide el operando izquierdo por del operando derecho c= a/b
begin
numeric nNum1, nNum2, nNum3
nNum1 = 15
nNum2 = 2
nNum3 = nNum1 % nNum2
display nNum3
end
40 CEPS-UNI
L03: Variables y Expresiones
Operadores Relacionales
Se puede comparar dos operandos con el operadores relacional. Cuando dos
operandos son comparados usando estos operadores, el resultado es un valor lógico,
TRUE o FALSE.
= Evalúa si los operandos son a=b Retorna TRUE si los valores son
iguales iguales y FALSE en caso
contrario.
Operadores Lógicos
Los operadores lógicos son usados para combinar los resultados de expresiones que
contienen operadores relacionales.
42 CEPS-UNI
L03: Variables y Expresiones
Precedencia de Operadores
Cada operador tiene una precedencia asociada. Se utiliza esta característica para
determinar la manera en que es evaluada una expresión que implica más de un
operador. Por ejemplo, consideremos la siguiente expresión:
() Paréntesis 1
! Lógica NOT 2
* Multiplicación
% Módulo
+ Suma
De Izquierda a Derecha 4
- Resta
= Igual que
De Izquierda a Derecha 6
! Diferente que
nResultado = 8 + 90 / 45
El operador "/" tiene precedencia alta que "+". Por lo tanto, 90/45 es evaluado primero. El
resultado de la expresión es:
nResultado = 8 + 2
nResultado = 10
En la expresión anterior, supongamos que el propósito era primero sumar los números
nNum1 y nNum2, y después multiplicar su resultado con nNum3. Finalmente, dividir el
resultado por 45. Para resolver este propósito, se puede cambiar la orden de
precedencia usando el operador paréntesis "( )", tal como sigue:
44 CEPS-UNI
L03: Variables y Expresiones
El diagrama de flujo lee el nombre del alumno, y las notas obtenidas en el curso.
Luego calcula el promedio. Para que el alumno apruebe el curso debe cumplirse dos
condiciones, la primera que la nota mínima en promedio de practicas debe ser 10, y el
promedio final del curso debe ser mínimo 14.
Ejemplos
Ejemplo 1
Determinar la suma de los N primeros números enteros de acuerdo a la siguiente
formula:
N * (N +1 )
Suma =
2
Pseudocódigo
begin
end
Programación en Java
import [Link];
46 CEPS-UNI
L03: Variables y Expresiones
Ejemplo 2
Crear un programa para encontrar el Área de un Círculo, según la siguiente formula:
Area = π * R 2
Pseudocódigo
begin
end
Programación en Java
import [Link];
Ejemplo 3
Un docente del instituto San Ignacio de Loyola lleva a cabo una prueba de SQL Server
para tres estudiantes: Marcelo, Carlos y Manuel. El ha de comparar el puntaje
obtenido por los tres estudiantes, y mostrar el nombre del estudiante que sacó el
mayor puntaje. El siguiente pseudocódigo representa el algoritmo correspondiente a
este problema.
Pseudocódigo
begin
end
48 CEPS-UNI
L03: Variables y Expresiones
Programación en Java
import [Link];
// Variables
Scanner teclado = new Scanner([Link]); int
nota1, nota2, nota3;
// Lectura de Datos
[Link]("Ingrese la nota de Marcelo: ");
nota1 = [Link]();
[Link]("Ingrese la nota de Carlos: ");
nota2 = [Link]();
[Link]("Ingrese la nota de Manuel: ");
nota3 = [Link]();
// Proceso
if(nota1 > nota2 & nota1 > nota3)
[Link]("Marcelo tiene la nota mas alta");
if(nota2 > nota1 & nota2 > nota3)
[Link]("Carlos tiene la nota mas alta");
if(nota3 > nota1 & nota3 > nota1)
[Link]("Marcelo tiene la nota mas alta");
Ejemplo 4
Pacherrez Delivery International presta servicios de mensajería nacional e
internacional. Las tarifas del servicio de mensajería son calculadas de acuerdo al peso y
destino de los paquetes. La siguiente tabla muestra las distancias y la
correspondiente tarifa de entrega.
0 a 500 50
Pseudocódigo
begin
end
50 CEPS-UNI
L03: Variables y Expresiones
Programación en Java
import [Link];
// Lectura de Datos
[Link]("Ingrese distancia: ");
distancia = [Link]();
[Link]("Ingrese peso: ");
peso = [Link]();
// Proceso
if(distancia >= 0 & distancia <= 500)
costo = peso * 50;
if(distancia >= 501 & distancia <= 10000)
costo = peso * 100;
if(distancia > 10000)
costo = peso * 500;
// Reporte
[Link]("Costo = " + costo);
Ejercicios
Ejercicio 1
Crear un programa que calcule la media aritmética de 3 números enteros positivos.
Ejercicio 2
Crear un programa que calcular el sueldo Neto a pagar a un empleado, considerando los
siguientes puntos:
Ejercicio 3
Un proyecto internacional sobre clima y temperaturas, iniciado por el Departamento
Meteorológico, requiere un listado conteniendo el nombre de tres ciudades con sus
temperaturas. Los datos se registran en grados Celsius, y se requiere en grados
Fahrenheit.
Ejercicio 4
Desarrollar un programa para calcular el importe que pagaría una promoción para ir de
excursión al Cuzco, los datos de entrada son: número de alumnos, costo por persona.
Ejercicio 5
Desarrollar un programa para encontrar el tiempo que se demora en desplazarse un
auto de la ciudad A hacia la ciudad B, los datos de entrada son: la distancia en Km y la
velocidad en Km.
Ejercicio 6
Desarrollar un programa para determinar si el precio de venta de un articulo es barato ó
caro, se considera caro si la ganancia es superior al 20% del precio de costo.
52 CEPS-UNI
Lección 04
Estructuras Condicionales
Contenido
Estructura: if
Estructura: switch…case
Ejercicios
Fundamentos de Programación con Java 2
Estructura: if
Estructuras if simples
Estructuras if…else
Estructuras if Simple
Sintaxis
if ( condición )
begin
// Sentencias
end
54 CEPS-UNI
L04: Estructuras Condicionales
begin
numeric nNum1
display "Ingrese un número"
accept nNum1
if ( nNum1 > 10 )
begin
display nNum1
display "El número es mayor que 10"
end
end
import [Link];
56 CEPS-UNI
L04: Estructuras Condicionales
Estructura if...else
Sintaxis
If ( condición )
begin
// Sentencias
end
else
begin
// Sentencias
end
58 CEPS-UNI
L04: Estructuras Condicionales
El mismo algoritmo puede también ser representado usando pseudocódigo, tal como se
muestra a continuación:
begin
// Lectura de Datos
display "Ingrese número 1 y número2"
accept nNum1
accept nNum2
// Proceso
nSuma = nNum1 + nNum2
// Reporte
display nSuma
if ( nSuma % 2 = 0 )
begin
display "La suma es par"
end
else
begin
display "La suma es impar"
end
end
import [Link];
// Lectura de Datos
[Link]("Ingrese número 1: ");
num1 = [Link]();
[Link]("Ingrese número 2: ");
num2 = [Link]();
// Proceso
suma = num1 + num2;
// Reporte
[Link]("Suma: " + suma); if
(suma % 2 == 0) {
[Link]("La suma es Par");
} else {
[Link]("La suma es Impar");
}
60 CEPS-UNI
L04: Estructuras Condicionales
Por ejemplo, considerar un algoritmo para aceptar la nota de un alumno en dos cursos
y calcular su promedio. El algoritmo muestra el promedio obtenido con el mensaje
"Aprobado", "Desaprobado", o "Excelente". El criterio para el mensaje esta dado por:
62 CEPS-UNI
L04: Estructuras Condicionales
El mismo algoritmo puede también ser representado con estructuras if…else anidadas,
tal como se muestra a continuación:
begin
// Lectura de Datos
display "Ingrese la nosta de los dos cursos"
accept nNota1, nNota2
// Proceso
nProm = ( nNota1 + nNota2 ) / 2
// Reporte
display nProm
if ( nProm > 13 )
begin
if( nProm > 17 )
begin
display "Excelente"
end
else
begin
display "Aprobado"
end
end
else
begin
diaplay "Desaprobado"
end
end
import [Link];
// Lectura de Datos
nota1 = [Link]();
nota2 = [Link]();
// Proceso
prom = (nota1 + nota2) / 2;
// Reporte
[Link]("Promedio: " + prom);
if(prom > 13.0){
if(prom > 17){
[Link]("Excelente");
} else {
[Link]("Aprobado");
}
}else{
[Link]("Desaprobado");
}
64 CEPS-UNI
L04: Estructuras Condicionales
Estructura: switch…case
Sintaxis
switch ( expresión )
begin
case constante_1:
sentencia(s)
break
case constante_2:
sentencia(s)
break
case constante_3:
sentencia(s)
break
default:
sentencia(s)
end
La instrucción break es usada para salir del caso después que las instrucciones son
ejecutadas. La sección default es opcional. La expresión especificada en switch
puede ser numérica o carácter.
66 CEPS-UNI
L04: Estructuras Condicionales
begin
// Variables
numeric nNumTele
// Lectura de Datos
display "Para comunicarse con Marketing presione 1, para Finanzas presione 2,
para Atención al cliente presione 3, para Recursos Humanos presione 4.
De lo contrario la llamada se transferirá al departamento de Información"
accept nNumTele
// Proceso
switch ( nNumTele)
begin
case 1:
Transferir la llamada al Departamento de Marketing
break
case 2:
Transferir la llamada al Departamento de Finanzas
break
case 3:
Transferir la llamada del Departamento de Atención al Cliente
break
case 4:
Transferir la llamada al Departamento de Recursos Humanos
break
default:
Transferir la llamada al Departamento de Información
end
end
import [Link];
// Variables
Scanner teclado = new Scanner( [Link] );
int numTele;
// Datos
[Link]("Para comunicarse con Marketing presione 1, para Finanzas presione 2,");
[Link]("para Atención al cliente presione 3, para Recursos Humanos presione 4.");
[Link]("De lo contrario la llamada se transferirá al departamento de Información");
numTele = [Link]();
// Proceso
switch(numTele){
case 1:
[Link]("Su llamada ha sido transferida a Marketing");
break;
case 2:
[Link]("Su llamada ha sido transferida a Finanzas");
break;
case 3:
[Link]("Su llamada ha sido transferida a Atención al cliente");
break;
case 4:
[Link]("Su llamada ha sido transferida a Recursos Humanos");
break;
default:
[Link]("Su llamada ha sido transferida a Información");
68 CEPS-UNI
L04: Estructuras Condicionales
Ejercicios
Ejercicio 1
El restaurante "El Sabor Norteño" ofrece un descuento del 10 % para consumos de
hasta S/.100.00 y un descuento de 20% para consumos mayores, para ambos casos se
aplica un impuesto del 19%. Determinar el importe a pagar por lo consumido,
mostrando todos los importes (subtotal, impuesto, y total).
Ejercicio 2
Elabore un programa para determinar si un número entero A es divisible por otro B.
Considere que un número es divisible por otro si y solo si el residuo de la división es
cero.
Ejercicio 3
Debido a los excelentes resultado, el restaurante "El Sabor Norteño" decide ampliar
sus ofertas de acuerdo a la siguiente escala de consumo. Determinar el importe a
pagar por lo consumido, mostrando todos los importes.
Mayor a 200 30
Mayor a 100 20
Hasta 100 10
Ejercicio 4
Elabore un programa que encuentre el mayor de 3 números dados.
Ejercicio 5
Crear un programa que compruebe si un número ingresado es Par o Impar.
Ejercicio 6
Crear un programa que determine el Menor número de 5 números ingresados.
Ejercicio 7
Crear un programa que calcule el sueldo neto de un trabajador según el número de
horas trabajadas, considerando que si excede a 40 horas se le paga 15% más del
pago por hora solo por las horas extras y si el sueldo excede a 2000, tiene que abonar un
impuesto de 5% del sueldo bruto.
Ejercicio 8
El rendimiento de un alumno se califica según lo siguiente:
Calificación condición
Ejercicio 9
La comisión sobre las VENTAS de un empleado es como sigue:
Comisión Condición
Ejercicio 10
Crear un programa tipo calculadora que permita ingresar dos números y una letra que
indica la operación a realizar (S, R, M, D).
Ejercicio 11
En una Universidad se ha establecido los siguientes puntajes de ingreso a sus
respectivas facultades:
Sistemas 100
Electrónica 90
Industrial 80
Administración 70
70 CEPS-UNI
L04: Estructuras Condicionales
Ejercicio 12
Crear un programa que lea un número que represente a un mes y muestre el nombre del
mes al que corresponde, por ejemplo 1 es Enero.
Ejercicio 13
Crear un programa que ingresado una fecha determine a que estación pertenece
(Verano, Otoño, Invierno, Primavera).
Ejercicio 14
Crear un programa que lea el día y el mes de nacimiento de una persona, y determine a
que signo pertenece.
Apuntes
72 CEPS-UNI
Lección 05
Estructuras Repetitivas
Contenido
Estructura: while
Estructura: for
Ejercicios Propuestos
Fundamentos de Programación con Java 2
Estructura: while
Diagrama de Flujo
Sintaxis
while ( condición )
begin
// Sentencias
end
74 CEPS-UNI
L05: Estructuras Repetitivas
Ejemplo 1
Enunciado
Diagrama de Flujo
Pseudocódigo
begin
// Proceso
nCont = 0
nSuma = 0
while ( nCont < 10 )
begin
display "Ingrese número entero"
accept nNum
nSuma = nSuma + nNum
nCont = nCont + 1
end
// Reporte
display "La suma es:" + nSuma
end
76 CEPS-UNI
L05: Estructuras Repetitivas
Programación en Java
import [Link];
// Proceso
cont = 0;
suma = 0;
while( cont < 10 ){
[Link]("Ingrese numero entero: ");
num = [Link]();
suma = suma + num;
cont = cont + 1;
}
// Reporte
[Link]("La suma es: " + suma);
}
}
Ejemplo 2
Ernesto es docente del curso de Fundamentos Web y quiere calcular la nota promedio de
su clase, se sabe que son 20 alumnos.
Diagrama de Flujo
78 CEPS-UNI
L05: Estructuras Repetitivas
Pseudocódigo
begin
// Inicialización de Variables
nSuma = 0
nCont = 0
// Proceso
while( nCont < 30 )
begin
display "Ingrese Nota:"
accept nNota
nSuma = nSuma + nNota
nCont = nCont + 1
end
nProm = nSuma / nCont
// Reporte
display "La nota promedio es:"
display nProm
end
Programación en Java
import [Link];
// Inicialización de Variables
suma = 0;
cont = 0;
// Proceso
while( cont < 3 ){
[Link]("Ingrese nota:");
nota = [Link]();
suma = suma + nota;
cont = cont + 1;
}
prom = suma / cont;
// Reporte
[Link]("La nota promedio es: " + prom);
80 CEPS-UNI
L05: Estructuras Repetitivas
Estructura: for
El bucle for se utiliza cuando el número de iteraciones del bucle se conoce de manera
anticipada.
// Instrucciones
end
end
Ejemplo 3
Desarrollar un programa para encontrar la suma de los números pares e impares
comprendidos entre 1 y num. El valor de num es el dato de entrada.
Diagrama de Flujo
82 CEPS-UNI
L05: Estructuras Repetitivas
Pseudocódigo
begin
// Lectura de Datos
display "Ingrese el valor de N:"
accept nNum
// Inicialización de Variables
nSumaPares = 0
nSumaImpares = 0
// Proceso
for( k=1; k <= nNum; k = k + 1 )
begin
if( (k % 2) = 0 )
begin
nSumaPares = nSumaPares + k
end
else
begin
nSumaImpares = nSumaImpares + k
end
end
// Reporte
display "La suma de los números pares es: "
display nSumaPares
display "La suma de los números impares es: "
display nSumaImpares
end
Programación en Java
import [Link];
// Lectura de num
[Link]("Ingrese el valor de num: ");
num = [Link]();
// Inicialización de variables
sumaPares = 0;
sumaImpares = 0;
// Proceso
for( int k = 1; k <= num; k++ ){
if( (k%2) == 0 )
sumaPares += k;
else
sumaImpares += k;
}
// Reporte
[Link]("Suma de Pares: " + sumaPares);
[Link]("Suma de Impares: " + sumaImpares);
84 CEPS-UNI
L05: Estructuras Repetitivas
Ejercicios Propuestos
Ejercicio 1
Crear un programa que permita ingresar un número y muestre el número en forma
invertida, por ejemplo al ingresar 12345 deberá mostrarlo en forma invertida 54321.
Ejercicio 2
Dado un número positivo, mostrar los divisores del número ingresado.
Ejercicio 3
Crear un programa que permita convertir un número de Base 10 a Base 16.
Ejercicio 4
Escribir un programa que permita imprimir los 10 primeros números múltiplos de 7.
Ejercicio 5
Escribir un programa que dado un número entero, muestre el menor y el mayor digito
que lo conforma.
Ejercicio 6
El factorial de un número es:
n! = 1 x 2 x 3 x 4 x . . . x n
Ejercicio 7
Un número es primo cuando es divisible por uno y por si mismo. Escribir un programa
que permita evaluar si un número es primo.
Ejercicio 8
Escribir un programa que muestre los divisores primos de un número.
Ejercicio 9
Escribir un programa que muestre los N primeros términos de la serie de fibonacci.
Ejercicio 10
Escribir un programa que imprima la tabla de multiplicar de un número.
Ejercicio 11
Escribir un programa que muestre los N primeros números múltiplos de 5 que no son
múltiplos de 3, y además debe mostrar la suma de todos ellos.
Ejercicio 12
Escribir un programa para determinar los números múltiplos de P que hay entre M y N,
donde: M < N.
Ejercicio 13
Escribir un programa que determine cuantos dígitos tiene un número.
Ejercicio 14
Escribir un programa que permita determinar si dos números son amigos.
Dos números son amigo si la suma de sus divisores de uno de ellos es igual al otro y
viceversa, por ejemplo 220 y 284 son amigos:
Ejercicio 15
Desarrollar un programa que permita calcular la suma de los cuadrados de los
primeros N números.
Ejercicio 16
Desarrollar un programa que permita calcular la suma de los cubos de los N primeros
números.
Ejercicio 17
Crear un algoritmo que indique si un número es cubo perfecto (anstrong) o no, se dice
que un número es cubo perfecto si al sumar los cubos de sus dígitos dan el mismo
número, por ejemplo 153, cubos de sus dígitos 1 3 + 53 + 33 = 153, por lo tanto el
número 153 es cubo perfecto.
86 CEPS-UNI
L05: Estructuras Repetitivas
Ejercicio 18
Desarrollar un programa para obtenga el cociente y el residuo de una división
mediante restas sucesivas.
Iteración Operación
Ejercicio 19
Escribir un programa para convertir un número de base 10 a base 2.
Ejercicio 20
Escribir un programa para obtener el MCD (máximo común divisor) de dos números,
utilice el método EUCLIDES (divisiones sucesivas).
Ejercicio 21
Escribir un programa para obtener el MCD (máximo común divisor) de dos números,
utilice el método Factorización Simultanea.
Ejercicio 22
Escribir un programa para obtener el MCM (mínimo común múltiplo) de dos números,
utilice descomposición simultanea.
Ejercicio 23
Escriba un programa que calcule, la suma de la siguiente serie:
1 2 3 4
+ ++
2 3 4N
Ejercicio 24
Escriba un programa que calcule, la suma de la siguiente serie:
1 1 1 1
+ ++
2 4 6N
Ejercicio 25
Crear un programa que determine si un número es perfecto o no.
Ejercicio 26
Desarrollar un programa que permita encontrar el cuadrado de un número usando la
siguiente sumatoria:
88 CEPS-UNI
Lección 06
Procedimientos y Funciones
Contenido
Procedimientos
Funciones
Ejercicios
Fundamentos de Programación con Java 2
Una aplicación consta habitualmente de tareas integradas. Casi todas las aplicaciones
están diseñadas como un grupo de módulos pequeños. Estos módulos son completos y
pueden integrarse en un programa principal.
Los módulos son bloques construidos dentro de un programa. Cada módulo puede ser
llamado desde el programa principal.
90 CEPS-UNI
L06: Procedimientos y Funciones
Ejemplo 1
Consideremos una situación en la cual se necesita aceptar el ingreso de tres números, y
mostrar la suma de estos tres números.
Podemos crear un diagrama de flujo simple que acepte tres números, los sume, y
muestre el resultado.
Otro método es dividir la aplicación y crear un módulo separado para calcular la suma
de los tres números. Este módulo puede ser integrado dentro del programa principal.
Procedimientos
Se llama a un procedimiento.
procedure <nombre_procedimiento>
procedure <nombre_procedimiento>
begin
end
call <nombre_procedimiento>
call testProcedure
92 CEPS-UNI
L06: Procedimientos y Funciones
Ejemplo 2
Enunciado
Desarrollar un programa para encontrar el promedio de un alumno. Se sabe que son tres
notas y se elimina la más baja.
Planteamiento
Pseudocódigo
begin
call Lectura
call Proceso
call Reporte
end
procedure Lectura
begin
end
procedure Proceso
begin
numeric menor
menor = nNota1
if(menor > nNota2)
begin
menor = nNota2
end
if(menor > nNota3)
begin
menor = nNota3
end
end
procedure Reporte
begin
end
94 CEPS-UNI
L06: Procedimientos y Funciones
Programación en Java
// instrucciones
El programa es el siguiente:
import [Link];
lectura();
proceso();
reporte();
int menor;
menor = nota1;
if(menor>nota2) menor = nota2;
if(menor>nota2) menor = nota2;
prom = (nota1 + nota2 + nota3 - menor) / 2;
[Link]("Reporte");
[Link]("Nota 1: " + nota1);
[Link]("Nota 2: " + nota2);
[Link]("Nota 3: " + nota3);
[Link]("Promedio: " + prom);
96 CEPS-UNI
L06: Procedimientos y Funciones
procedure <nombre_procedimiento>
( input <tipo> <nombre_parametro>, output <tipo> <nombre_parametro> )
Los parámetros de tipo input son usados para enviar datos al procedimiento, y los
parámetros de tipo output son usados para recuperar datos desde el procedimiento.
Ejemplo 3
Enunciado
Planteamiento
2. Proceso de los números ingresados para obtener el MCD y MCM, este proceso
se desarrollará con un procedimiento de nombre Proceso, este procedimiento
tendrá dos parámetros de entrada y dos de salida.
Pseudocódigo
begin
// Llamada a procedimientos
call Lectura ( nNum1, nNum2 )
call Proceso ( nNum1, nNum2, nMCD, nMCM )
call Reporte ( nNum1, nNum2, nMCD, nMCM )
end
98 CEPS-UNI
L06: Procedimientos y Funciones
end
numeric a, b
a = nN1
b = nN2
while ( a <> b )
begin
if ( a > b )
begin
a = a - b
end
else
begin
b = b - a
end
end
nMCD = a
nMCM = nN1 * nN2 / nMCD
end
procedure Reporte
( input numeric nN1, input numeric nN2, input numeric nMCD, input numeric nMCM )
begin
end
Funciones
Una función es un bloque de sentencias que realizan una tarea específica. Los
principios básicos de las funciones y de los procedimientos son muy similares, por lo que
se pueden intercambiar.
La función es invocada.
function <nombre_función>
function <nombre_función>
begin
end
Una vez que se declara la función, ésta puede ser invocada desde el programa. El
método para invocar funciones se conoce como llamada a la función. La sintaxis de la
llamada a la función es:
100 CEPS-UNI
L06: Procedimientos y Funciones
A diferencia de los procedimientos, las funciones utilizan parámetros sólo para recibir
datos desde el código de llamada.
Devuelven valores al código de llamada por medio de la sentencia return. Por lo tanto, las
funciones sólo tienen parámetros de entrada de datos.
Ejemplo 4
Enunciado
Planteamiento
Pseudocódigo
begin
// Proceso
display "Tabla del: " + nNum
for( k = 1; k <= 12; k = k + 1 )
begin
p = call producto( k, nNum )
display k + " * " + nNum + " = " + p
end
end
numeric p
p = a * b
return p
end
102 CEPS-UNI
L06: Procedimientos y Funciones
Programación en Java
import [Link];
// Variables
int n, p;
Scanner teclado = new Scanner([Link]);
// Lectura de Dato
[Link]("Ingrese el valor de N:"); n
= [Link]();
// Proceso
[Link]("Tabla del: " + n);
for(int k=1; k <= 12; k++)
[Link](k + " * " + n + " = " + producto(k, n));
int c;
c = a * b;
return c;
Las variables pueden ser declaradas dentro ó fuera del bloque begin .. end de un
pseudocódigo principal, de un procedimiento o de una función.
Dependiendo del lugar en el que se declaran las variables, éstas tienen dos tipos de
alcance:
Alcance Local
Alcance Global
Alcance Local
Las variables que se declaran dentro del bloque begin .. end de un pseudocódigo
principal, de una función ó de un procedimiento tienen alcance local.
Las variables que tienen alcance local se denominan variables locales o internas.
Las variables expiran cuando el control sale del bloque begin .. end. El
104 CEPS-UNI
L06: Procedimientos y Funciones
Alcance Global
Las variables que pueden utilizarse en cualquier parte del pseudocódigo tienen
alcance global y se denominan variables globales.
Las variables globales se declaran fuera de la función, del procedimiento o del bloque
begin .. end del pseudocódigo principal.
begin
end
procedure proceso
begin
end
Alcance de lo Parámetros
Los parámetros de un procedimiento o función son variables a las que sólo se puede
acceder desde dentro del procedimiento o la función.
Esto significa que los parámetros actúan como las variables locales de una función o
procedimiento.
106 CEPS-UNI
L06: Procedimientos y Funciones
Ejercicios
Ejercicio 1
Desarrollar un programa para averiguar el mayor de tres números, debe tener en
cuenta lo siguiente:
Ejercicio 2
Basándose en la lógica del Ejercicio 1, desarrollar un programa que permita calcular el
promedio de un alumnos, se sabe que son 4 notas y se promedia las tres mejores.
Ejercicio 3
Desarrollar un programa que calcule el factorial de lo N primeros números, debe tener
en cuenta lo siguiente:
Ejercicio 4
Desarrollar un programa para averiguar si los números en un rango de [M,N] son
primos, debe tener en cuenta lo siguiente:
La función del paso anterior debe ser utilizada en el proceso para análisis del
rango de números.
Propuesta Adicional
Los ejercicios propuestos en la Lección 05, debe reprogramarlos utilizando el enfoque
modular, utilizando funciones y/o procedimientos.
Apuntes
108 CEPS-UNI