Professional Documents
Culture Documents
Programación I
Integrantes:
José Miguel Acuña Pineda
Luis Arauz Rodríguez
Adrián Barrantes Sánchez
Federico Dittel Araya, Coordinador
Christopher Vindas Alvarez
09 Marzo, 2011
Página -1-
Índice de contenido
Introducción..........................................................................................................................................3
Desarrollo.............................................................................................................................................4
Ejercicio 13.................................................................................................................................4
Algoritmo...........................................................................................................................4
Programa NetBeans...........................................................................................................5
Ejercicio 17.................................................................................................................................7
Algoritmo...........................................................................................................................7
Programa NetBeans...........................................................................................................8
Ejercicio 19. Celulares................................................................................................................9
Algoritmo.........................................................................................................................10
Programa NetBeans.........................................................................................................12
Ejercicio 20. El Pachangón.......................................................................................................14
Algoritmo.........................................................................................................................15
Programa NetBeans.........................................................................................................17
Conclusión..........................................................................................................................................21
Bibliografía.........................................................................................................................................22
Anexos................................................................................................................................................23
Ejercicio 13. Algoritmo y Programa Netbeans.........................................................................23
Ejercicio 17. Algoritmo y Programa Netbeans.........................................................................24
Ejercicio 19. Algoritmo y Programa Netbeans.........................................................................25
Ejercicio 20. Algoritmo y Programa Netbeans.........................................................................26
Página -2-
Introducción.
Por medio del siguiente proyecto programado, se pondrá en práctica lo visto en clase teórica y de
laboratorio comprendidas entre las clases 1 y 8.
Se procederá a desarrollar los ejercicios No. 3, 5, 7, 9, 11, 13, 17, 19, 20; que fueron asignados de la
siguiente manera a cada uno de los miembros de los grupos.
Los ejercicios 3, 5 y 7 fueron asignados a los compañeros José Miguel Acuña Pineda y Christopher
Vindas Alvarez, que según me comentan al cierre de recepción de ejercicios, el pasado domingo 06
de marzo, solo habían realizado el ejercicio número 3, pero no fue entregado, por lo tanto, ninguno
de esos tres ejercicios serán incluidos en el proyecto.
Los ejercicios 9 y 11, no se incluyen ya que fueron asignados al compañero Luis Arauz Rodríguez,
y me comentó que no los iba a entregar porque no los entendía y se iba a retirar del curso.
Los ejercicios 13 y 17 fueron asignados a Adrián Barrantes Sánchez, quien cumplió con la entrega
de los ejercicios en el tiempo establecido y se cumplió con el objetivo de desarrollar y comprender
el funcionamiento de la herramienta de desarrollo NetBeans.
Los ejercicios 19 y 20 debido a que son los más extensos y el coordinador posee más experiencia en
desarrollo, se encargará de realizarlos, así como de la documentación del proyecto programado.
Página -3-
Desarrollo.
Ejercicio 13.
Suponga que se leen los datos de tres artículos comprados en una tienda donde para cada artículo se
conoce el nombre del artículo, la cantidad a comprar del artículo y el precio del mismo. Calcule el
monto total a pagar por el artículo si adicionalmente se desea cobrar el impuesto sobre la venta de
10%, en aquellas compras cuyo monto supera los 30,000 colones.
Algoritmo.
Program ejercicio13
VAR String prod1, prod2, prod3;
VAR Int prec1, prec2, prec3, cant1, cant2, cant3, suma, suma2, suma3;
VAR Double total;
Inicio
Imprimir(“Digite el nombre del primer producto:”);
leer(prod1);
Imprimir(“Digite el precio:”);
leer(prec1);
Imprimir(“Digite la cantidad:”);
leer(cant1);
suma = prec1 * cant1;
Página -4-
leer(cant3);
suma3 = prec3 * cant3;
total = suma + suma2 + suma3;
Programa NetBeans.
/*
* Adrian Barrantes
* Ejercicio 13,
* digitar nombre, cantidad y precio del articulo
*/
package ejercicio13;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
Página -5-
cant1.setText(CANT1);
int Pr1 = Integer.parseInt(PREC1);
int Can1 = Integer.parseInt(CANT1);
int SUMA = Pr1*Can1;
Página -6-
CANT2+" "+PROD2+ "\n"+
CANT3+" "+PROD3+ "\n"+
"\n"+
"Total a pagar : "+TOTAL );
}
}
Ejercicio 17.
En el hospital “Seguimos con H1N1” tienen las siguientes tarifas:
Tipo de enfermedad Costo / paciente / día
1 15000
2 17000
3 19000
Para lo cual se necesita que usted elabore un informe con el siguiente formato:
Paciente Días hospitalizados Tipo de Enfermedad
Total a pagar:
Algoritmo.
Program ejercicio17
VAR String Nombre;
VAR Int dias1, tipo1;
VAR Double Apagar;
Inicio
Imprimir(“Inserte el nombre del paciente:”);
leer(Nombre);
Imprimir(“Inserte los días internado:”);
leer(dias1);
Imprimir(“Inserte el tipo de enfermedad numerando con los números 1, 2 o 3:”);
leer(tipo1);
si tipo1 == 1
Apagar = dias1 * 15000;
fin si
si tipo1 == 2
Página -7-
Apagar = dias1 * 17000;
fin si
si tipo1 == 3
Apagar = dias1 * 19000;
fin si
imprimir(“Nombre del paciente : ”+ nombre + “ \n Cantidad de días hospitalizados: ” +
dias1 + “\n El tipo de enfermedad es: ” + tipo1 + “ \n Total a pagar: ” + Apagar);
fin
Programa NetBeans.
/*
* Programa que brinda informacion de Pacientes
* en un hospital
* Adrian Barrantes
*/
package hospitalsegumosconh1n1;
import javax.swing.*;
Página -8-
if (TIPO1 == 2)
Apagar = DIAS1*17000;
if (TIPO1 == 3)
Apagar = DIAS1*19000;
Página -9-
5. Cliente con menor pago.
Algoritmo.
Program ejercicio19
VAR String telclientemayorpago = “”, nombreclientemayorpago = “”, telclientemenorpago = “”,
nombreclientemenorpago = “”;
VAR Int continuar = 1, mayorpago = 0, menorpago = 0, totalminutos = 0;
VAR Int totalllamadas = 0, totalminclientes = 0, clRango1 = 0, clRango2 = 0, clRango3 = 0,
clRango4 = 0;
Inicio
Mientras continuar == 1
Imprimir(“Número de teléfono del cliente:”);
leer(Tel);
Imprimir(“Nombre cliente:”);
leer(Name);
Imprimir(“Cantidad de llamadas realizadas:”);
leer(intCantidad);
Imprimir(“Cantidad de minutos consumidos:”);
leer(intMinutos);
si intMinutos < 200
totalminutos = intMinutos * 150;
clRango1++;
fin si
si intMinutos >= 200 y intMinutos < 500
totalminutos = intMinutos * 180;
clRango2++;
fin si
si intMinutos >= 500 y intMinutos < 1000
totalminutos = intMinutos * 200;
clRango3++;
fin si
si intMinutos >= 1000
totalminutos = intMinutos * 210;
clRango4++;
fin si
Página -10-
totalllamadas = totalllamadas + intCantidad;
totalminclientes = totalminclientes + intMinutos;
si (mayorpago == 0 || menorpago == 0)
mayorpago = totalMinutos;
telclientemayorpago = Tel;
nombreclientemayorpago = Name;
menorpago = totalMinutos;
telclientemenorpago = Tel;
nombreclientemenorpago = Name;
fin si
si (totalMinutos > mayorpago)
mayorpago = totalMinutos;
telclientemayorpago = Tel;
nombreclientemayorpago = Name;
sino
menorpago = totalMinutos;
telclientemenorpago = Tel;
nombreclientemenorpago = Name;
fin si
Imprimir("Nùmero de Telefono: "+ Tel + "\n Nombre del cliente: "+ Name +
" \n Cantidad de llamadas: "+ intCantidad + " \n Cantidad de minutos
consumidos: " + intMinutos + " \n Monto a cancelar del cliente: " +
totalMinutos);
Imprimir(Desea continuar con otro cliente [1] Si [0] No :?" );
leer(continuar);
fin mientras
imprimir(“Total llamadas para todos los clientes: " + totalllamadas +
"\n Total minutos consumidos entre todos los clientes: " + totalminclientes +
"\n Cantidad clientes rango Minutos < 200: " + clRango1 +
"\n Cantidad clientes rango Minutos >= 200 y Minutos < 500: " + clRango2 +
"\n Cantidad clientes rango Minutos >= 500 y Minutos < 1000: " + clRango3 +
"\n Cantidad clientes rango Minutos >= 1000: " + clRango4 +
"\n Cliente con mayor pago: " + telclientemayorpago + " " +
nombreclientemayorpago + "\n Cliente con menor pago: " + telclientemenorpago + "
" + nombreclientemenorpago);
Página -11-
fin
Programa NetBeans.
/*
* Celulares.
* Programador Federico Dittel Araya
*/
package ejercicio19;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
while (continuar == 1) //En este ciclo proceso la informacion de los clientes y las acumulo en
diferentes variables los acumulados
{
String Tel = JOptionPane.showInputDialog("Nùmero de Telèfono Cliente: ");
JTextArea telefono = new JTextArea();
telefono.setText(Tel);
String Name = JOptionPane.showInputDialog("Nombre cliente: ");
JTextArea nombre = new JTextArea();
nombre.setText(Name);
String Cant = JOptionPane.showInputDialog("Cantidad de llamadas realizadas: ");
JTextArea cantidad = new JTextArea();
Página -12-
cantidad.setText(Cant);
int intCantidad = Integer.parseInt(Cant);
String Min = JOptionPane.showInputDialog("Cantidad de minutos consumidos:" );
JTextArea minutos = new JTextArea();
minutos.setText(Min);
int intMinutos = Integer.parseInt(Min);
Página -13-
else {
menorpago = totalMinutos;
telclientemenorpago = Tel;
nombreclientemenorpago = Name;}
//Imprimo los valores de cada cliente
JOptionPane.showMessageDialog(null, "Nùmero de Telefono: "+ Tel + "\n Nombre del
cliente: "+ Name + " \n Cantidad de llamadas: "+ intCantidad + " \n Cantidad de
minutos consumidos: " + intMinutos + " \n Monto a cancelar del cliente: " +
totalMinutos);
String Pregunta = JOptionPane.showInputDialog("Desea continuar con otro cliente [1] Si
[0] No :?" );
JTextArea preg = new JTextArea();
preg.setText(Pregunta);
continuar = Integer.parseInt(Pregunta);
} //Fin while
//Despliego los datos de la compañìa
JOptionPane.showMessageDialog(null, "Total llamadas para todos los clientes: " +
totalllamadas +
"\n Total minutos consumidos entre todos los clientes: " + totalminclientes +
"\n Cantidad clientes rango Minutos < 200: " + clRango1 +
"\n Cantidad clientes rango Minutos >= 200 y Minutos < 500: " + clRango2 +
"\n Cantidad clientes rango Minutos >= 500 y Minutos < 1000: " + clRango3 +
"\n Cantidad clientes rango Minutos >= 1000: " + clRango4 +
"\n Cliente con mayor pago: " + telclientemayorpago + " " + nombreclientemayorpago +
"\n Cliente con menor pago: " + telclientemenorpago + " " + nombreclientemenorpago);
}
}
Página -14-
Más de 500 invitados 4.000 c/u
Adicionalmente, se establece una cuota adicional a pagar, según las horas que duró la fiesta, la tabla
se muestra a continuación:
1 a 3 horas 100000
4 a 6 horas 200000
Más de 6 horas 300000
Escriba el programa, que reciba los datos de las fiestas efectuadas en un mes: cédula del contatante,
cantidad de invitados y número de horas de la fiesta, y genere el monto a pagar por fiesta,
mostrando la siguiente información:
Para cada fiesta:
1. Cédula, cantidad de invitados y número de horas de la fiesta.
2. Monto a cancelar por fiesta.
Para la compañía:
1. Total invitados en todas las fiestas efectuadas durante el mes.
2. Total horas en todas las fiestas efectuadas durante el mes.
3. Cantidad de fiestas por cada rango de horas.
4. Fiesta con mayor pago.
5. Fiesta con menor pago.
Algoritmo.
Program ejercicio20
VAR String clientemayorpago = “”, clientemenorpago = “”;
VAR Int continuar = 1, mayorpago = 0, menorpago = 0, totalHoras = 0, totalInvitados = 0,
totalgeneral = 0;
VAR int totalFiestas = 0, totalfiestacliente = 0, horaRango1 = 0, horaRango2 = 0, horaRango3 = 0;
Inicio
Mientras continuar == 1
Imprimir(“Número de cédula del cliente:”);
leer(Ced);
Imprimir(“Cantidad de invitados:”);
leer(intInvitados);
si (intInvitados >= 1 && intInvitados <= 100)
totalInvitados = intInvitados * 8000;
fin si
Página -15-
si (intInvitados >=101 && intInvitados <= 500)
totalInvitados = intInvitados * 6000;
fin si
si (intInvitados > 500)
totalInvitados = intInvitados * 4000;
fin si
Imprimir(“Cantidad de horas fiesta:”);
leer(intHoras);
si (intHoras >= 1 && intHoras <= 3)
totalHoras = 100000;
horaRango1++;
fin si
si (intHoras >= 4 && intHoras <= 6)
totalHoras = 200000;
horaRango2++;
fin si
si (intHoras > 6)
totalHoras = 300000;
horaRango3++;
fin si
totalFiestas = totalFiestas + intHoras;
totalfiestacliente = totalfiestacliente + intInvitados;
totalgeneral = totalHoras + totalInvitados;
si (mayorpago == 0 || menorpago == 0)
mayorpago = totalgeneral;
clientemayorpago = Ced;
menorpago = totalgeneral;
clientemenorpago = Ced;
fin si
si (totalgeneral > mayorpago)
mayorpago = totalgeneral;
clientemayorpago = Ced;
sino
menorpago = totalgeneral;
clientemenorpago = Ced;
Página -16-
fin si
Imprimir("Nùmero de Cèdula: "+ Ced + "\n Cantidad de invitados: "+ intInvitados +
" \n Nùmero de horas de la fiesta: " + intHoras +
" \n Monto a cancelar del cliente: " + totalgeneral););
Imprimir(Desea continuar con otro cliente [1] Si [0] No :?" );
leer(continuar);
fin mientras
imprimir("Total invitados para todos los clientes: " + totalfiestacliente +
"\n Total horas en todas las fiestas efectuadas: " + totalFiestas +
"\n Cantidad fiestas rango 1 a 3 Horas:" + horaRango1 +
"\n Cantidad fiestas rango 4 a 6 Horas: " + horaRango2 +
"\n Cantidad fiestas rango Màs de 6 Horas: " + horaRango3 +
"\n Fiesta con mayor pago: " + clientemayorpago +
"\n Fiesta con menor pago: " + clientemenorpago);
fin
Programa NetBeans.
/*
* El Pachangon.
* Programador Federico Dittel Araya
*/
package ejercicio20;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
Página -17-
String clientemayorpago = "", clientemenorpago = "";
while (continuar == 1) //En este ciclo proceso la informacion de los clientes y las acumulo en
diferentes variables los acumulados
{
String Ced = JOptionPane.showInputDialog("Nùmero de Cèdula Cliente: ");
JTextArea cedula = new JTextArea();
cedula.setText(Ced);
String Invit = JOptionPane.showInputDialog("Cantidad de invitados: ");
JTextArea invitados = new JTextArea();
invitados.setText(Invit);
int intInvitados = Integer.parseInt(Invit);
//Calculo de costo por invitados
if (intInvitados >= 1 && intInvitados <= 100){
totalInvitados = intInvitados * 8000;}
if (intInvitados >=101 && intInvitados <= 500){
totalInvitados = intInvitados * 6000;}
if (intInvitados > 500){
totalInvitados = intInvitados * 4000;}
String Hour = JOptionPane.showInputDialog("Cantidad de Horas fiesta:" );
JTextArea horas = new JTextArea();
horas.setText(Hour);
int intHoras = Integer.parseInt(Hour);
//Calculo de costo por horas
if (intHoras >= 1 && intHoras <= 3) {
totalHoras = 100000;
horaRango1++;}
if (intHoras >= 4 && intHoras <= 6) {
totalHoras = 200000;
horaRango2++;}
if (intHoras > 6) {
totalHoras = 300000;
horaRango3++;}
//Almaceno acumulados para los totales
totalFiestas = totalFiestas + intHoras;
Página -18-
totalfiestacliente = totalfiestacliente + intInvitados;
totalgeneral = totalHoras + totalInvitados;
//Valido si es el mayor
if (mayorpago == 0 || menorpago == 0){
mayorpago = totalgeneral;
clientemayorpago = Ced;
menorpago = totalgeneral;
clientemenorpago = Ced;}
} //Fin while
//Despliego los datos de la compañìa
JOptionPane.showMessageDialog(null, "Total invitados para todos los clientes: " +
totalfiestacliente +
"\n Total horas en todas las fiestas efectuadas: " + totalFiestas +
"\n Cantidad fiestas rango 1 a 3 Horas:" + horaRango1 +
"\n Cantidad fiestas rango 4 a 6 Horas: " + horaRango2 +
"\n Cantidad fiestas rango Màs de 6 Horas: " + horaRango3 +
"\n Fiesta con mayor pago: " + clientemayorpago +
"\n Fiesta con menor pago: " + clientemenorpago);
Página -19-
}
Página -20-
Conclusión.
Una vez terminados cada uno de los ejercicios, podemos concluir que con la práctica en el
desarrollo de ejercicios, empezando con los más simples a los más complejos es posible el poder ir
dominando la herramienta, ya que nos dimos a la tarea de conocer no a fondo, pero si una serie de
opciones que facilitan su programación de cualquier tipo de programa.
Página -21-
Bibliografía.
1. Deitel, Harvey M. y Deitel, Paul J. Cómo programar en Java, Quinta Edición, Pearson
Educación, México 2004.
Página -22-
Anexos.
Página -23-
Ejercicio 17. Algoritmo y Programa Netbeans.
Página -24-
Ejercicio 19. Algoritmo y Programa Netbeans.
Página -25-
Ejercicio 20. Algoritmo y Programa Netbeans.
Página -26-