Professional Documents
Culture Documents
15/10/yyyy 1
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Enteros
Almacenan como su propio nombre indica números enteros, sin parte decimal. Cabe
destacar, como ya se indicó en el primer tema, que por razones de portabilidad todos los
datos en Java tienen el mismo tamaño y formato. En Java hay cuatro tipos de enteros:
Reales
Almacenan número reales, es decir números con parte fraccionaria. Hay dos tipos:
15/10/yyyy 2
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Caracteres
Almacenan solo un carácter.
Operadores lógicos
CADENAS DE CARACTERES
En Java no hay un tipo predefinido para cadenas de caracteres, en su lugar hay una clase,
String, que es la que soporta las distintas operaciones con cadenas de caracteres. La
definición de un String es:
15/10/yyyy 3
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Concatenación
La concatenación en Java es increíblemente sencilla: se realiza con el operador +, es decir
“sumando” cadenas de caracteres obtenemos la concatenación de estas. Lo ilustraremos con
un ejemplo:
String saludo = “hola”;
String nombre = “Pepe”;
String saluda_pepe = “”;
saluda_pepe = saludo + nombre;// saluda_pepe toma el valor holaPepe
Subcadenas
En la clase String hay un método que permite la extracción de una subcadena de caracteres
de otra. Su sintaxis es:
Nombre_String.substring((int)posición_inicial,(int)posición_final);
Puede extraerse un char de una cadena, para ello se emplea el método charAt(posición),
siendo posición la posición del carácter que se desea extraer.
Arreglos (ARRAYS)
En Java los arrays son un objeto. Como tales se crean mediante el comando new (se verá su
uso en el tema 5). La sintaxis en la definición de un array es la siguiente:
Tipo_datos es el tipo de los datos que se almacenarán en el array (int, char, String... o
cualquier objeto). Tamaño_array es tamaño que le queremos dar a este array. Veamos un
ejemplo:
En este ejemplo hemos definido un array llamado edades, en el que podremos almacenar 10
datos tipo entero. El primer elemento de un array se sitúa en la posición 0, exactamente
igual que en C. Si quisiésemos realizar un ciclo que recorriese los elementos de este array
escribiríamos un código del tipo:
15/10/yyyy 4
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
SENTENCIAS CONDICIONALES
Ejecutan un código u otro en función de que se cumplan o no una determinada condición.
Pasemos a ver sus principales tipos.
If then Else
Su modo más simple de empleo es:
If(condicion) {
Grupo de sentencias}
Condición es una valor tipo boolean. El grupo de sentencias se ejecuta solo si la condición
toma un valor true. En caso contrario se sigue ejecutando ignorando el Grupo de sentencias.
If(condicion) {
Grupo de sentencias }
else{
Grupo2 de sentencias }
Si condición toma el valor true se ejecuta Grupo de sentencias, en caso contrario se ejecuta
Grupo2 de sentencias. En ambos casos se continúa ejecutando el resto del código.
If(condicion) {
Grupo de sentencias}
else if (condicion2){
Grupo2 de sentencias}
else if (condicion3){
Grupo3 de sentencias}
.
.
.
else{
Grupo_n de sentencias}
Switch
Siempre se utiliza cuando se requiere controlar los valores que toma una variable, su sintaxis
es:}
switch(Variable) {
case valor1 : Grupo de sentencias1; break;
case valor2 : Grupo de sentencias2; break;
case valor3 : Grupo de sentencias3; break;
case valor4 : Grupo de sentencias4; break;
case valor5 : Grupo de sentencias5; break;
// ...
default: statement;
}
15/10/yyyy 5
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Ciclos
Los ciclos nos permiten iteraciones sucesivas, los cuales son controlados en su termino por
una condición de termino de la iteración.
Ciclo while
Cuando en la ejecución de un código se llega a un ciclo while se comprueba si se verifica su
condición, si se verifica se continua ejecutando el código del ciclo hasta que esta deje de
verificarse. Su sintaxis es:
while(condición){
Grupo de sentencias}
ejemplo:
import java.Math.*;
public class ejemplo9 {
public static void main(String[] args) {
double r = 0;
//Mientras que r < 0.99 sigue ejecutando el cuerpo del ciclo.
//La d significa double. No es necesaria
while(r < 0.99d) {
//Genera un nuevo r aleatario entr 0 y 1.
r = Math.random();
//Lo imprime por consola.
System.out.println(r);
}
}
}
Ciclo do while
Su comportamiento es semejante al ciclo while, sólo que aquí la condición va al final del
código del ciclo, por lo que tenemos garantizado que el código se va a ejecutar al menos una
vez. Dependerá del caso concreto si es más conveniente emplear un ciclo while o do while.
La sintaxis de do while es:
do {
Grupo de sentencias;
}while(condición);
15/10/yyyy 6
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
import java.Math.*;
public class ejemplo10 {
public static void main(String[] args) {
double r;
//Idéntico al ejemplo anterior, solo que aahora la condición
//está al final del ciclo.
do {
r = Math.random();
System.out.println(r);
} while(r < 0.99d);
}
}
Ciclo for
Su formato es el siguiente:
for(expresion1;expresion2;expresion3){
Grupo de sentecias;}
15/10/yyyy 7
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Break y continue
No se tratan de un ciclo, pero sí de una sentencia íntimamente relacionada con estos. El
encontrarse una sentencia break en el cuerpo de cualquier ciclo detiene la ejecución del
cuerpo del ciclo y sale de este, continuándose ejecutando el código que hay tras el ciclo.
Esta sentencia también se puede usar para forzar la salida del bloque de ejecución de una
instrucción condicional (esto ya se vio con switch). Continue también detiene la ejecución del
cuerpo del ciclo, pero en esta ocasión no se sale del ciclo, sino que se pasa a la siguiente
iteración de este.
15/10/yyyy 8
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Clases y Métodos
Class <Nombre> {
Sintaxis
Class <Nombre> {
// Metodo constructor principal
Public Static Void main()
{
}
15/10/yyyy 10
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Ejercicio No: 1
Desarrolle un algoritmo que permita leer dos valores distintos, determinar cual de los dos
valores es el mayor y escribirlo.
1. Inicio
import java.io.*;
// 1. Inicio
2. Inicializar variables: A = 0, B = class cualesmayor {
0 // Método Constructor
public static void main(){
3. Solicitar la introducción de dos // 2. Inicializar variables: A = 0, B = 0
valores distintos int A=0, B = 0;
// Instancia de clase de lectura de teclado
4. Leer los dos valores BufferedReader lee =new BufferedReader(new
InputStreamReader(System.in));
5. Asignarlos a las variables A y B // Ciclo para validar ingreso de datos
do {
try {
6. Si A = B Entonces vuelve a 3 // 3. Solicitar la introducción de dos valores distintos
porque los valores deben ser System.out.println("Ingrese A :");
distintos // 4. Leer los dos valores
//5. Asignarlos a las variables A y B
7. Si A>B Entonces A = Integer.valueOf(lee.readLine()).intValue();
System.out.println("Ingrese B :");
Escribir A, “Es el mayor” // 4. Leer los dos valores
// 5. Asignarlos a las variables A y B
B = Integer.valueOf(lee.readLine()).intValue();
8. De lo contrario: Escribir B, } catch (Exception e) {
“Es el mayor” System.out.println("Existe un error");
}
} while (A!=B);
9. Fin_Si
// 6. Si A = B Entonces vuelve a 3 porque los valores deben
ser distintos
if (A>B) {
System.out.println("A es el mayor");
} else {
// 8. De lo contrario: Escribir B, “Es el mayor
System.out.println("B es el mayor");
} // 9. Fin_Si
}
} // 10. Fin
Ejercicios propuesto:
a. Realizar un algoritmo que permita leer dos valores, determinar cual de los dos valores
es el menor y escríbalo
b. Realizar un algoritmo que sume dos números.
15/10/yyyy 11
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Ejercicio No: 2
Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las variables A, B y
C respectivamente. El algoritmo debe imprimir cual es el mayor y cual es el menor. Recuerde
constatar que los tres valores introducidos por el teclado sean valores distintos. Presente un
mensaje de alerta en caso de que se detecte la introducción de valores iguales.
15/10/yyyy 12
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Ejercicio No: 3
Desarrolle un algoritmo que realice la sumatoria de los números enteros comprendidos entre
el 1 y el 10, es decir, 1 + 2 + 3 + …. + 10.
8. Fin_Si
8. Fin
Ejercicios propuestos:
c. Desarrolle un algoritmo que lea los primeros 300 números enteros y determine cuántos de
ellos son impares; al final deberá indicar su sumatoria.
15/10/yyyy 13
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Ejercicio No: 4
Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus dos
catetos. Desarrolle el algoritmo correspondiente.
7. Fin
Ejercicio propuestos:
a. Desarrollar un algoritmo que calcule hasta que el usuario desee terminar. (Utilice ciclos).
15/10/yyyy 14
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Ejercicio No: 5
Desarrolle un algoritmo que permita determinar el área y volumen de un cilindro dado su
radio (R) y altura (H).
1. Inicio
2. Declaración de variables: R = 0, H =
0
V = H * PI * R 3
7. Fin
Ejercicio:
a. Realizar un algoritmo y programa para 10 calculos
15/10/yyyy 15
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Ejercicio No: 6
Desarrolle un algoritmo que permita leer un valor cualquiera N y escriba si dicho número es
par o impar.
1. Inicio
2. Declaración de variables: N
3. Leer un número
4. Asignarlo a la variable N
5. Si el residuo de dividir a N
entre 2 es igual a cero
8. Fin_Si
9. Fin
Ejercicios propuesto:
a. Complete el algoritmo con la instrucción o instrucciones necesarias.
b. Desarrolle un algoritmo que le permita determinar de una lista de números:
b.1. ¿Cuántos están entre el 50 y 75, ambos inclusive?
b.2. ¿Cuántos mayores de 80?
b.3. ¿Cuántos menores de 30?
El algoritmo debe finalizar cuando n (el total de números de la lista), sea igual a 0.
15/10/yyyy 16
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
15/10/yyyy 17
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Ejercicio No: 7
Desarrolle un algoritmo que permita convertir calificaciones numéricas, según la siguiente tabla:
A = 19 y 20, B =16, 17 y 18, C = 13, 14 y 15, D = 10, 11 y 12, E = 1 hasta el 9. Se asume que
la nota está comprendida entre 1 y 20.
1. Inicio
2. Declaración de variables:
NuevaNota = Carácter
4. Si Nota>=19 OR Nota<=20
Entonces
5. NuevaNota= “A”
6. Si no (De lo contrario)
7. Si Nota>=16 OR Nota<=18
Entonces
8. NuevaNota= “B”
9. Si no (De lo contrario)
15/10/yyyy 18
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
19.Fin_Si
Ejercicio propuesto:
Ejercicio No: 8
Desarrolle un algoritmo que permita leer dos números y ordenarlos de menor a mayor, si
es el caso.
15/10/yyyy 19
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
1. Inicio
2. Declaración de Variables:
A = 0, B = 0, Temporal = 0
3. Leer A y B
4. Si A<B Entonces
5. Asignar a Temporal = B
6. Asignar a B = A
7. Asignar a A = Temporal
8. Si no (De lo contrario)
9. Fin_Si
10 Escribir “Orden = “, A, B
11. Fin
Ejercicio Propuesto:
a. Desarrolle un algoritmo que permita realizar la escritura de los primeros 100 números
naturales utilizando la estructura Mientras (While).
15/10/yyyy 20
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Ejercicio No: 9
Desarrolle un algoritmo que permita leer un valor entero positivo N y determinar si es primo
o no.
1. Inicio
2. Declaración de variables:
J = 2, S =0
3. Leer N
5. Si N / J =0
6. S=S+1
7. J=J+1
8. Fin_Si
10. Si S = 0 Entonces
15. Fin
Ejercicio propuesto:
15/10/yyyy 21
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
15/10/yyyy 22
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Ejercicio No: 10
Tanto el Pseudocódigo como el Diagrama de flujo presentan errores; encuéntrelos y corrijalos.
Realice un algoritmo que calcule el monto a pagar por el servicio de estacionamiento, teniendo en
cuenta que por la primera hora de estadía se tiene una tarifa de 1000 bolívares y las restantes
tienen un costo de 600 bolívares. Se tiene como datos: hora de entrada, hora de salida (formato
militar), iniciada una hora se contabiliza como hora total.
1. Inicio
2. Declaración de Variables
HE = 0 (Hora Entrada)
HS = 0 (Hora Salida)
Pago = 0
3. Leer Datos: HE, HS
4. HoraEstadia = HS – HE
5. HoraFracción = HoraEstadia–
HoraEstadia
6. Si HoraEstadia>= 1 Entonces
8. HoraEstadia=HoraEstadia + 1
9. Fin_SI
12.De lo contrario
15.Fin
Ejercicio propuesto:
a. Realice un algoritmo que determine el pago a realizar por la entrada a un espectáculo donde
se pueden comprar sólo hasta cuatro entrada, donde al costo de dos entradas se les descuenta
el 10%, al de tres entrada el 15% y a la compra de cuatro tickets se le descuenta el 20 %.
15/10/yyyy 23
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
15/10/yyyy 24
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Ejercicio No: 11
Realice un algoritmo que a partir de proporcionarle la velocidad de un automóvil,
expresada en kilómetros por hora, proporcione la velocidad en metros por segundo.
1. Inicio
2. Declaración de Variables:
Vel = 0
5. Imprimir resultado
6. Fin
Ejercicio propuesto:
15/10/yyyy 25
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Ejercicio No: 12
Desarrolle un algoritmo que permita calcular Promedio de Notas; finaliza cuando N = 0.
1. Inicio
2. Declaración de Variables:
N = 0, Promedio = 0, Acumula= 0
3. Leer N
5. Cuenta = Cuenta + 1
6. Acumula = Acumula + N
7. Fin Mientras
8. Promedio = Acumula/Cuenta
10. Fin
Ejercicio propuesto:
15/10/yyyy 26
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Ejercicio No: 13
Desarrolle un algoritmo para la empresa Constructora Tecnovivir Casas C.A., que le permita
calcular e imprimir la nómina para su cancelación a un total de 50 obreros calificados a
quienes debe cancelar por horas trabajadas. La hora trabajada se pautó en 30.000 Bolívares.
1. Inicio
2. Declaración de Variables:
Numero_Obreros =50
Numero_Hora_Trabajadas = 0
Total_nomina = 0
5. Mientras Numero_Obreros>0
6. Salario = Numero_Hora_Trabajada *
30
7. Total_nómina= Totalnómina +
Salario
8. Numero_Obreros = Numero_Obreros
-1
9. Imprimir Registro
10. Leer Datos
11.Fin_Mientras
13. Fin
Ejercicios propuestos:
a. ¿Qué pasaría si no se decrementa al número de obreros en uno?
b. Realice el mismo algoritmo utilizando la herramienta FOR,
c. Realice el mismo algoritmo utilizando la herramienta REPITA (DO WHILE
15/10/yyyy 27
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Ejercicio No: 14
Desarrolle un algoritmo que funcione como caja registradora,
Programa Java
Pseudocódigo
1. Inicio
2. Declaración de Variables:
Sub_total=0,Total = 0
4. Almacenar Codigo_Producto,
Precio
8. Imprimir Codigo_Producto,
Precio
10.Fin_Mientras
15/10/yyyy 28
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
16.Fin
Ejercicios propuestos:
Ejercicios Propuestos
Ejercicio No: 15
Desarrolle un algoritmo que permita determinar a partir de un número de días, ingresado por
pantalla, ¿Cuántos años, meses, semanas y días; constituyen el número de días proporcionado
utilizando la estructura Mientras o While.
Elabore el
pseudocódigo
Ejercicios propuestos:
Ejercicio No: 16
Determine el resultado del siguiente diagrama de flujo, realice el pseudocódigo. Elabore su
enunciado.
15/10/yyyy 29
FUNDAMENTOS DE PROGRAMACION IPP/OTOÑO 2007
Elabore el
pseudocódigo
Enunciado:
15/10/yyyy 30