Aqui esta una propuesta basica para resolver el Proyecto 2
/**
* @(#)empleado.java
*
* Imprime el recibo de pago de un empleado, de acuerdo a los datos introducidos:
* auxiliar de Horas Trabajadas en un mes y el Pago por Hora correspondiente.
* Se toma en cuenta las deducciones correspondientes al Seguro Social, Ley de Politica Habitacional, y
* Paro Forzoso. De igual manera el pago de horas extras, pago de un bono adicional del 30% al empleado
* que tenga mas de 20 horas extras, y otro bono adicional del 10 % para el empleado que labora sus horas correspondientes,
* sin ninguna inasistencia, y el pago por hora sea menor a BsF. 20.
*
* * @author DOMINGO CLEMENTE
* @version 1.00 2010/5/20
*/
import java.io.*;
import java.text.NumberFormat;
public class empleado{
String nombre; // Nombres y Apellidos del Empleado.
int horastrabajadas; // auxiliar de horas trabajadas en el mes.
double pagohora; // Pago por hora trabajada.
double sueldobasico; // Monto del sueldo basico del empleado.
double horasextras; //Monto a pagar por las horas extras laboradas
double bono1; // Establece los montos del bono (30 % del salario basico) correspondiente a aquellos empleados que laboren mas de 20 horas extras.
double bono2; // Establece el monto del bono (10 % del salario basico) correspondiente por asistencia completa y un pago por hora menor a BsF 20.
double sso; // Deduccion correspondiente al Seguro Social por un monto del 4 % del sueldo basico hasta un maximo de Bs 5.000.
double lph; // Deduccion correspondiente a la Ley de Politica Habitacional por un monto del 2 % del sueldo basico hasta un maximo de Bs 5.000.
double paro; // Deduccion correspondiente al Paro Forzoso por un monto del 0.5% del sueldo basico hasta un maximo de Bs 5.000.
public empleado(){
nombre=" ";
horastrabajadas=0;
pagohora=0;
sueldobasico=0;
horasextras=0;
bono1=0;
bono2=0;
sso=0;
lph=0;
paro=0;
}
//Calcula el sueldo basico que recibira el empleado de acuerdo a las horas trabajadas.
double sueldo (){
if (horastrabajadas<160){
sueldobasico=horastrabajadas*pagohora;
}
else{
sueldobasico=160*pagohora;
}
return sueldobasico;
}
//Calcula el monto del pago de las horas extras.
double he (){
if (horastrabajadas>160){
horasextras=(horastrabajadas-160)*2*pagohora;
}
else{
horasextras=0;
}
return horasextras;
}
//Calcula el monto de los bonos sean del tipo 1 o del 2.
double bono (int i){
if (i==1){
if (horastrabajadas>180){
bono1=160*pagohora*0.3;
}
else{
bono1=0;
}
return bono1;
}
else {
if ((horastrabajadas>=160) && (pagohora<20)) {
bono2=160*pagohora*0.1;
}
else{
bono2=0;
}
return bono2;
}
}
//Calcula las deducciones de acuerdo a cada caso.
double d(int i) {
if (sueldobasico>5000){
sso=5000*0.04;
lph=5000*0.02;
paro=5000*0.005;
}
else{
sso=sueldobasico*0.04;
lph=sueldobasico*0.02;
paro=sueldobasico*0.005;
}
switch (i){
case 1:
return sso;
case 2:
return lph;
case 3:
return paro;
default:
return 0.0;
}
}
//Llamada al metodo main.
public static void main (String[] args) throws IOException {
String opcion;
BufferedReader in;
in=new BufferedReader(new InputStreamReader(System.in));
empleado e= new empleado();
NumberFormat nf = NumberFormat.getCurrencyInstance();
do {
System.out.println("\n\n\n");
System.out.println(" ***** Menu de Nomina *****\n");
System.out.println(" 1: Calcular Pago.");
System.out.println(" 2: Condiciones.");
System.out.println(" 3: Salir.\n");
System.out.print(" Seleccione una Opcion: ");
opcion=in.readLine();
if (opcion.equals("1")) {
System.out.print("\n\n Indique el nombre del empleado: ");
e.nombre=in.readLine();
System.out.print(" Indique las horas trabajadas: ");
e.horastrabajadas=Integer.parseInt(in.readLine());
System.out.print(" Indique el pago por hora: ");
e.pagohora=Double.parseDouble(in.readLine());
System.out.println("\n\n\n");
System.out.println(" ************ RECIBO DE PAGO ************\n\n");
System.out.println(" NOMBRE: " + e.nombre);
System.out.println(" HORAS TRABAJADAS: " + e.horastrabajadas);
System.out.println(" PAGO POR HORA: " + nf.format(e.pagohora));
System.out.println("\n\n ************ ASIGNACIONES *************\n");
System.out.println(" SUELDO BASICO: " + nf.format(e.sueldo()));
if (e.horastrabajadas>160) {
System.out.println(" HORAS EXTRAS (" + (e.horastrabajadas-160) + "): " + nf.format(e.he()));
}
if (e.horastrabajadas>180) {
System.out.println(" BONO CANTIDAD HORAS EXTRAS: " + nf.format(e.bono(1)));
}
if ((e.horastrabajadas>=160) && (e.pagohora<20)){
System.out.println(" BONO ASISTENCIA: " + nf.format(e.bono(2)));
}
System.out.println("\n =============\n");
System.out.println(" TOTAL ASIGNACIONES: " + nf.format(e.sueldobasico+e.horasextras+e.bono1+e.bono2));
System.out.println("\n\n ************ DEDUCCIONES *************\n");
System.out.println(" SSO: " + nf.format(e.d(1)));
System.out.println(" LPH: " + nf.format(e.d(2)));
System.out.println(" PARO FORZOSO: " + nf.format(e.d(3)));
System.out.println("\n =============\n");
System.out.println(" TOTAL DEDUCCIONES: " + nf.format(e.sso+e.lph+e.paro));
System.out.println("\n =============\n");
System.out.println(" SUELDO NETO: " + nf.format((e.sueldobasico+e.horasextras+e.bono1+e.bono2)-(e.sso+e.lph+e.paro)));
}
if (opcion.equals("2")) {
System.out.println("\n\n ********** CONDICIONES PARA EL CALCULO DEL PAGO DEL SALARIO **********");
System.out.println("\n\n 1. El salario es cancelado mensualmente.");
System.out.println(" 2. Las horas de trabajo minimas son 160 por mes, y el pago se calcula por hora laborada.");
System.out.println(" 3. Las horas extras son canceladas a partir de la hora 161, siempre y cuando el empleado no tuvo inasistencias en el mes.");
System.out.println(" 4. Si posee inasistencias, las horas extras no se contabilizan sino como horas sencillas hasta completar las 160 horas minimas.");
System.out.println(" 5. El empleado que labor mas de 20 horas extras al mes, recibira un bono equivalente al 30% del salario basico.");
System.out.println(" 6. Aquellos empleados que laboren sus 160 horas como minimo al mes, y el pago por hora sea menor a Bs. 20,");
System.out.println(" recibira un bono equivalente al 10% del salario basico como incentivo.");
}
} while (!opcion.equals("3"));
}
}
lunes, 24 de mayo de 2010
domingo, 9 de mayo de 2010
Resolucion de la Pregunta 2 de la Prueba
/**
*Este programa permite dada una frase introducida por el usuario contar la cantidad de digitos, caracteres
*especiales, letras, y las veces que se repite una letra.
*
*@author Domingo Clemente
*@version 1.0
*/
import java.io.*;
public class p02{
public static void main(String arg[])throws IOException {
int i, j, x, repeticion, letras, numero, blanco, otros;
String str, cadena;
//LEER LA FRASE
BufferedReader in;
in=new BufferedReader(new InputStreamReader(System.in));
System.out.println("\n\n");
System.out.print("Introduzca una frase: ");
str=in.readLine();
//Creo un arreglo para contar cada caracter
x = str.length();
char c[] = new char [x];
c = str.toCharArray(); //convierte el string a un array
//Inicializo los contadores
numero=0;
blanco=0;
otros=0;
letras=0;
System.out.println("La frase de entrada es " + str);
System.out.println("El tamaño de la frase es: " + x);
// Se cuentan los tipos de caracteres introducidos en la frase
for(i=0; i
if(Character.isLetter(c[i]))
letras+=1;
else if(Character.isDigit(c[i])) //ver si es un digito
numero+=1;
else if(Character.isWhitespace(c[i]))// ver si es un espacio en blanco
blanco+=1;
else
otros +=1; // es un caracter especial
}
//Se imprimen los primeros resultados del analisis de la frase
System.out.println("Cantidad de Letras es: " + letras);
System.out.println("Cantidad de Digitos es: " + numero);
System.out.println("Cantidad de Espacios en Blanco es: " + blanco);
System.out.println("Cantidad de Caracteres Especiales es: " + otros);
// Se cuentan las repeticiones, cuando se consigue una repeticion, en esa posicion se le asigna un blanco,
// para no volverlo a contar, en la siguiente pasada del ciclo for.
for(i=0; i
{
if(Character.isLetter(c[i])) //ver si es una letra
{
repeticion=0;
for(j=i+1; j
// Se verifican las repeticiones, sin tomar en cuenta si son mayusculas o minusculas.
if (Character.toUpperCase(c[i])==Character.toUpperCase(c[j]))
{
repeticion++;
c[j]=' ';
}
}
// Si hay repeticiones, envio el mensaje con la cantidad de veces que se repite
if (repeticion>0)
System.out.println("La letra " + c[i] + " se repite: " + repeticion + " veces");
}
}
}
}
*Este programa permite dada una frase introducida por el usuario contar la cantidad de digitos, caracteres
*especiales, letras, y las veces que se repite una letra.
*
*@author Domingo Clemente
*@version 1.0
*/
import java.io.*;
public class p02{
public static void main(String arg[])throws IOException {
int i, j, x, repeticion, letras, numero, blanco, otros;
String str, cadena;
//LEER LA FRASE
BufferedReader in;
in=new BufferedReader(new InputStreamReader(System.in));
System.out.println("\n\n");
System.out.print("Introduzca una frase: ");
str=in.readLine();
//Creo un arreglo para contar cada caracter
x = str.length();
char c[] = new char [x];
c = str.toCharArray(); //convierte el string a un array
//Inicializo los contadores
numero=0;
blanco=0;
otros=0;
letras=0;
System.out.println("La frase de entrada es " + str);
System.out.println("El tamaño de la frase es: " + x);
// Se cuentan los tipos de caracteres introducidos en la frase
for(i=0; i
if(Character.isLetter(c[i]))
letras+=1;
else if(Character.isDigit(c[i])) //ver si es un digito
numero+=1;
else if(Character.isWhitespace(c[i]))// ver si es un espacio en blanco
blanco+=1;
else
otros +=1; // es un caracter especial
}
//Se imprimen los primeros resultados del analisis de la frase
System.out.println("Cantidad de Letras es: " + letras);
System.out.println("Cantidad de Digitos es: " + numero);
System.out.println("Cantidad de Espacios en Blanco es: " + blanco);
System.out.println("Cantidad de Caracteres Especiales es: " + otros);
// Se cuentan las repeticiones, cuando se consigue una repeticion, en esa posicion se le asigna un blanco,
// para no volverlo a contar, en la siguiente pasada del ciclo for.
for(i=0; i
{
if(Character.isLetter(c[i])) //ver si es una letra
{
repeticion=0;
for(j=i+1; j
// Se verifican las repeticiones, sin tomar en cuenta si son mayusculas o minusculas.
if (Character.toUpperCase(c[i])==Character.toUpperCase(c[j]))
{
repeticion++;
c[j]=' ';
}
}
// Si hay repeticiones, envio el mensaje con la cantidad de veces que se repite
if (repeticion>0)
System.out.println("La letra " + c[i] + " se repite: " + repeticion + " veces");
}
}
}
}
Resolución de la Pregunta 1 de la Prueba
/**
*Este programa permite describir el vuelto exacto indicando la cantidad de monedas y billetes necesarios,
* de acuerdo al monto de la venta, porcentaje de descuento y el monto pagado por el cliente.
*
*/
import java.io.*;
import java.lang.Math;
import java.text.NumberFormat;
public class p01 {
public static void main (String args[]) throws IOException {
int i;
String opcion;
String []billetes=new String[12];
int []sencillo = new int[12];
int porcentaje;
Double venta, venta2, pago, vuelto;
NumberFormat nf = NumberFormat.getCurrencyInstance();
/* INICIALIZO EL VALOR DE LAS MONEDAS Y BILLETES */
billetes[0]="0.01";
billetes[1]="0.05";
billetes[2]="0.10";
billetes[3]="0.25";
billetes[4]="0.50";
billetes[5]="1";
billetes[6]="2";
billetes[7]="5";
billetes[8]="10";
billetes[9]="20";
billetes[10]="50";
billetes[11]="100";
BufferedReader in;
in=new BufferedReader(new InputStreamReader(System.in));
do {
// INICIALIZO LA CANTIDAD DE BILLETES NECESARIOS PARA EL VUELTO A CERO
for (i=0;i<12;i++) sencillo[i]=0;
porcentaje = 0;
venta2 = 0.0;
System.out.println("\n\n\n");
System.out.println("***** Menu de Operaciones *****\n");
System.out.println(" 1: Registrar una venta.");
System.out.println(" 2: Salir del Menu.\n");
System.out.print("Seleccione una Opcion: ");
opcion=in.readLine();
if (opcion.equals("1")) {
do {
System.out.print("\n\nIntroduzca el Monto de la Venta:");
venta=Double.parseDouble(in.readLine());
if (venta<=0)
System.out.print("\n\nERROR el Monto de la venta debe ser mayor a Bs 0.\n\n\n");
} while (venta<=0);
do {
System.out.print("\nIntroduzca el porcentaje del descuento: ");
porcentaje = Integer.parseInt(in.readLine());
if ((porcentaje<0)|(porcentaje>99))
System.out.print("\nERROR Monto del porcentaje debe ser >= 0 y < 100.\n\n");
} while ((porcentaje<0) | (porcentaje>99)) ;
venta2= (venta - (venta*porcentaje/100));
System.out.print("\nEl monto a pagar es: " + nf.format(venta2) + ".\n\n");
do {
System.out.print("\nIntroduzca el Monto del Pago: ");
pago=Double.parseDouble(in.readLine());
if (pago
System.out.print("\n\n\nERROR el Monto del Pago no puede ser menor a la venta.\n\n");
} while (pago
vuelto=pago-venta2;
System.out.print("\n\nEl Monto de la Venta es: " + nf.format(venta));
System.out.print("\nEl porcentaje de descuento es: " + porcentaje);
System.out.print("\nEl monto a pagar es: " + nf.format(venta2));
System.out.print("\n\nEl vuelto es: " + nf.format(vuelto) + "\n\n");
i=11;
while (i>=0)
{
if (vuelto>=Double.valueOf(billetes[i]))
{
Double aux = new Double (vuelto / (Double.valueOf(billetes[i])));
sencillo[i]= aux.intValue();
vuelto = vuelto - (sencillo[i]*Double.valueOf(billetes[i]));
}
i--;
}
if ((pago-venta2)>0) {
System.out.println("Entregar el vuelto de la siguiente manera:");
System.out.println("\n\n");
for (i=0;i<12;i++)
{
if (sencillo[i]==0)
continue;
else
{
if (i>5)
{
System.out.println(sencillo[i] + " billetes de Bs. " + billetes[i]);
}
else
{
System.out.println(sencillo[i] + " monedas de Bs. " + billetes[i]);
}
}
}
}
}
} while (!opcion.equals("2"));
}
}
*Este programa permite describir el vuelto exacto indicando la cantidad de monedas y billetes necesarios,
* de acuerdo al monto de la venta, porcentaje de descuento y el monto pagado por el cliente.
*
*/
import java.io.*;
import java.lang.Math;
import java.text.NumberFormat;
public class p01 {
public static void main (String args[]) throws IOException {
int i;
String opcion;
String []billetes=new String[12];
int []sencillo = new int[12];
int porcentaje;
Double venta, venta2, pago, vuelto;
NumberFormat nf = NumberFormat.getCurrencyInstance();
/* INICIALIZO EL VALOR DE LAS MONEDAS Y BILLETES */
billetes[0]="0.01";
billetes[1]="0.05";
billetes[2]="0.10";
billetes[3]="0.25";
billetes[4]="0.50";
billetes[5]="1";
billetes[6]="2";
billetes[7]="5";
billetes[8]="10";
billetes[9]="20";
billetes[10]="50";
billetes[11]="100";
BufferedReader in;
in=new BufferedReader(new InputStreamReader(System.in));
do {
// INICIALIZO LA CANTIDAD DE BILLETES NECESARIOS PARA EL VUELTO A CERO
for (i=0;i<12;i++) sencillo[i]=0;
porcentaje = 0;
venta2 = 0.0;
System.out.println("\n\n\n");
System.out.println("***** Menu de Operaciones *****\n");
System.out.println(" 1: Registrar una venta.");
System.out.println(" 2: Salir del Menu.\n");
System.out.print("Seleccione una Opcion: ");
opcion=in.readLine();
if (opcion.equals("1")) {
do {
System.out.print("\n\nIntroduzca el Monto de la Venta:");
venta=Double.parseDouble(in.readLine());
if (venta<=0)
System.out.print("\n\nERROR el Monto de la venta debe ser mayor a Bs 0.\n\n\n");
} while (venta<=0);
do {
System.out.print("\nIntroduzca el porcentaje del descuento: ");
porcentaje = Integer.parseInt(in.readLine());
if ((porcentaje<0)|(porcentaje>99))
System.out.print("\nERROR Monto del porcentaje debe ser >= 0 y < 100.\n\n");
} while ((porcentaje<0) | (porcentaje>99)) ;
venta2= (venta - (venta*porcentaje/100));
System.out.print("\nEl monto a pagar es: " + nf.format(venta2) + ".\n\n");
do {
System.out.print("\nIntroduzca el Monto del Pago: ");
pago=Double.parseDouble(in.readLine());
if (pago
System.out.print("\n\n\nERROR el Monto del Pago no puede ser menor a la venta.\n\n");
} while (pago
vuelto=pago-venta2;
System.out.print("\n\nEl Monto de la Venta es: " + nf.format(venta));
System.out.print("\nEl porcentaje de descuento es: " + porcentaje);
System.out.print("\nEl monto a pagar es: " + nf.format(venta2));
System.out.print("\n\nEl vuelto es: " + nf.format(vuelto) + "\n\n");
i=11;
while (i>=0)
{
if (vuelto>=Double.valueOf(billetes[i]))
{
Double aux = new Double (vuelto / (Double.valueOf(billetes[i])));
sencillo[i]= aux.intValue();
vuelto = vuelto - (sencillo[i]*Double.valueOf(billetes[i]));
}
i--;
}
if ((pago-venta2)>0) {
System.out.println("Entregar el vuelto de la siguiente manera:");
System.out.println("\n\n");
for (i=0;i<12;i++)
{
if (sencillo[i]==0)
continue;
else
{
if (i>5)
{
System.out.println(sencillo[i] + " billetes de Bs. " + billetes[i]);
}
else
{
System.out.println(sencillo[i] + " monedas de Bs. " + billetes[i]);
}
}
}
}
}
} while (!opcion.equals("2"));
}
}
Resolucion del Proyecto 1
/**
*Este programa permite describir el vuelto exacto indicando la cantidad de monedas y billetes necesarios,
* de acuerdo al monto de la venta y el monto pagado por el cliente.
*
*/
import java.io.*;
import java.lang.Math;
import java.text.NumberFormat;
public class proyecto1
{
public static void main (String args[]) throws IOException
{
int i;
String opcion;
String []billetes=new String[12];
int []sencillo = new int[12];
Double venta, pago, vuelto;
/* INICIALIZO EL VALOR DE LAS MONEDAS Y BILLETES */
billetes[0]="0.01";
billetes[1]="0.05";
billetes[2]="0.10";
billetes[3]="0.25";
billetes[4]="0.50";
billetes[5]="1";
billetes[6]="2";
billetes[7]="5";
billetes[8]="10";
billetes[9]="20";
billetes[10]="50";
billetes[11]="100";
BufferedReader in;
in=new BufferedReader(new InputStreamReader(System.in));
do {
// INICIALIZO LA CANTIDAD DE BILLETES NECESARIOS PARA EL VUELTO A CERO
for (i=0;i<12;i++) sencillo[i]=0;
System.out.println("\n\n\n");
System.out.println("***** Menu de Operaciones *****\n");
System.out.println(" 1: Registrar una venta.");
System.out.println(" 2: Salir del Menu.\n");
System.out.print("Seleccione una Opcion: ");
opcion=in.readLine();
if (opcion.equals("1")) {
do {
System.out.print("\n\nIntroduzca el Monto de la Venta: ");
venta=Double.parseDouble(in.readLine());
if (venta<=0)
System.out.print("\n\nERROR el Monto de la venta debe ser mayor a Bs 0.\n\n\n");
} while (venta<=0);
do {
System.out.print("\n\nIntroduzca el Monto del Pago: ");
pago=Double.parseDouble(in.readLine());
if (pago
System.out.print("\n\n\nERROR el Monto del Pago no puede ser menor a la venta.\n\n");
} while (pago
vuelto=pago-venta;
NumberFormat nf = NumberFormat.getCurrencyInstance();
System.out.print("\n\nEl vuelto es: " + nf.format(vuelto) + "\n\n");
i=11;
while (i>=0) {
if (vuelto>=Double.valueOf(billetes[i]))
{
Double aux = new Double (vuelto / (Double.valueOf(billetes[i])));
sencillo[i]= aux.intValue();
vuelto = vuelto - (sencillo[i]*Double.valueOf(billetes[i]));
}
i--;
}
if ((pago-venta)>0)
{
System.out.println("\n\nEntregar el vuelto de la siguiente manera:\n\n");
for (i=0;i<12;i++)
{
if (sencillo[i]==0)
continue;
else
{
if (i>5)
{
System.out.println(sencillo[i] + " billetes de Bs. " + billetes[i]);
}
else
{
System.out.println(sencillo[i] + " monedas de Bs. " + billetes[i]);
}
}
}
}
}
} while (!opcion.equals("2"));
}
}
*Este programa permite describir el vuelto exacto indicando la cantidad de monedas y billetes necesarios,
* de acuerdo al monto de la venta y el monto pagado por el cliente.
*
*/
import java.io.*;
import java.lang.Math;
import java.text.NumberFormat;
public class proyecto1
{
public static void main (String args[]) throws IOException
{
int i;
String opcion;
String []billetes=new String[12];
int []sencillo = new int[12];
Double venta, pago, vuelto;
/* INICIALIZO EL VALOR DE LAS MONEDAS Y BILLETES */
billetes[0]="0.01";
billetes[1]="0.05";
billetes[2]="0.10";
billetes[3]="0.25";
billetes[4]="0.50";
billetes[5]="1";
billetes[6]="2";
billetes[7]="5";
billetes[8]="10";
billetes[9]="20";
billetes[10]="50";
billetes[11]="100";
BufferedReader in;
in=new BufferedReader(new InputStreamReader(System.in));
do {
// INICIALIZO LA CANTIDAD DE BILLETES NECESARIOS PARA EL VUELTO A CERO
for (i=0;i<12;i++) sencillo[i]=0;
System.out.println("\n\n\n");
System.out.println("***** Menu de Operaciones *****\n");
System.out.println(" 1: Registrar una venta.");
System.out.println(" 2: Salir del Menu.\n");
System.out.print("Seleccione una Opcion: ");
opcion=in.readLine();
if (opcion.equals("1")) {
do {
System.out.print("\n\nIntroduzca el Monto de la Venta: ");
venta=Double.parseDouble(in.readLine());
if (venta<=0)
System.out.print("\n\nERROR el Monto de la venta debe ser mayor a Bs 0.\n\n\n");
} while (venta<=0);
do {
System.out.print("\n\nIntroduzca el Monto del Pago: ");
pago=Double.parseDouble(in.readLine());
if (pago
System.out.print("\n\n\nERROR el Monto del Pago no puede ser menor a la venta.\n\n");
} while (pago
vuelto=pago-venta;
NumberFormat nf = NumberFormat.getCurrencyInstance();
System.out.print("\n\nEl vuelto es: " + nf.format(vuelto) + "\n\n");
i=11;
while (i>=0) {
if (vuelto>=Double.valueOf(billetes[i]))
{
Double aux = new Double (vuelto / (Double.valueOf(billetes[i])));
sencillo[i]= aux.intValue();
vuelto = vuelto - (sencillo[i]*Double.valueOf(billetes[i]));
}
i--;
}
if ((pago-venta)>0)
{
System.out.println("\n\nEntregar el vuelto de la siguiente manera:\n\n");
for (i=0;i<12;i++)
{
if (sencillo[i]==0)
continue;
else
{
if (i>5)
{
System.out.println(sencillo[i] + " billetes de Bs. " + billetes[i]);
}
else
{
System.out.println(sencillo[i] + " monedas de Bs. " + billetes[i]);
}
}
}
}
}
} while (!opcion.equals("2"));
}
}
martes, 27 de abril de 2010
Raiz Cuadrada
Este programa realiza el calculo de la raiz cuadrada de un numero, que es pasado como parametro en la linea de comandos al ejecutar el programa.
public class raizcuadrada
{
public static void main(String args[])
{
int n = 0;
n = Integer.parseInt( args[0] );
System.out.println("la raiz cuadrada de :\n " + n + " es tal como " + Math.sqrt(n));
}
}
public class raizcuadrada
{
public static void main(String args[])
{
int n = 0;
n = Integer.parseInt( args[0] );
System.out.println("la raiz cuadrada de :\n " + n + " es tal como " + Math.sqrt(n));
}
}
Numeros Primos
Este programa determina si el numero introducido por el usuario es primo o no.
public class primo
{
public static void main(String args[])
{
int n = 0;
int divisor=0;
n = Integer.parseInt( args[0] );
if (n>0)
{
for(int i=1; i <= n; i++)
{
if (n%i==0)
divisor++;
}
if (divisor>2)
System.out.println("El numero:\n " + n +" no es primo.");
else
System.out.println("El numero:\n " + n +" es primo.");
}
else
{
System.out.println("Debe introducir un numero entero positivo");
}
}
}
public class primo
{
public static void main(String args[])
{
int n = 0;
int divisor=0;
n = Integer.parseInt( args[0] );
if (n>0)
{
for(int i=1; i <= n; i++)
{
if (n%i==0)
divisor++;
}
if (divisor>2)
System.out.println("El numero:\n " + n +" no es primo.");
else
System.out.println("El numero:\n " + n +" es primo.");
}
else
{
System.out.println("Debe introducir un numero entero positivo");
}
}
}
Calculo del Factorial
Programa que realiza el calculo del factorial de un numero. En este caso realiza el calculo del factorial del numero 4 y muestra por pantalla el resultado correspondiente.
public class fact
{
public static void main(String args[])
{
//Declaracion de variables
int a = 4;
int r = 1, aux;
// Calculo del factorial
for(aux=1; aux < a; r=r*aux)
aux ++;
//Muestra de resultado por pantalla
System.out.println("El factorial de " + a +" es: " + r);
}
}
public class fact
{
public static void main(String args[])
{
//Declaracion de variables
int a = 4;
int r = 1, aux;
// Calculo del factorial
for(aux=1; aux < a; r=r*aux)
aux ++;
//Muestra de resultado por pantalla
System.out.println("El factorial de " + a +" es: " + r);
}
}
jueves, 15 de abril de 2010
Lenguaje de programación 2.
Lenguaje Java
Lenguaje Java
Prof. Miguel Ángel Gavidia
Correo electrónico: usrmiguelgavidia@yahoo.com
Fundamentos:
El curso permitirá al alumno adquirir los modernos conocimientos de la programación orientada a objetos (poo) y sus aplicaciones a temas windows y web, a manejar con habilidad la estructura de programación del lenguaje java y otros entornos muy difundidos de desarrollo de aplicaciones.
Objetivo general:
Crear aplicaciones en tecnología java
Contenido del Lenguaje Java
Unidad 1: fundamentos de la programación java
Objetivos específicos de la unidad 1
Conocer el entorno de aplicación en la tecnología java
Conocer la estructura de un programa en java
Compilar un programa en java
Ejecutar un programa en java
Identificar los tipos de datos numéricos y carácter en lenguaje java
Utilizar expresiones numéricas y de tipo carácter en lenguaje java
Utilizar el tipo de dato estructurado arreglo o vectores
Contenido de la unidad 1
Introducción
Origen del lenguaje java
Fundamentos de la tecnología java
Estructura del entorno de programación en el ambiente java
Estructura básica del lenguaje java
Componentes de una aplicación
Estructura de un programa en java
Identificadores y palabras reservadas
Tipos de datos
Variables
Constantes
Operadores
Estructuras de control de flujo
Decisiones
Bucles
Canales de entrada y salida estándar
Tipos de datos
Manejo de operadores y strings en java
Conversión de tipos de datos
Depuración de un programa en java
Errores en tiempo de ejecución
Errores lógicos, depuración
Uso de instrucciones condicionales
Uso de instrucciones repetitivas: for, while, repeat
Funciones
Alcance de las variables
Uso de comentarios en los programas java
Paso de parámetros desde la línea de comandos
Entrada de datos por teclado
Vectores de una dimensión
Vectores de dos dimensiones
Funciones y procedimientos en java
Unidad 2: Programación Orientada a Objetos
Objetivos específicos de la unidad 2
Conocer la programación orientada a objeto (poo)
Conocer la estructura de un programa orientado a objeto
Definir los conceptos en poo
Declarar clases y métodos
Construir un objeto usando la cláusula new
Describir como se inicializan variables de instancia
Contenido de la unidad 2
Introducción
Origen de la programación orientada a objetos
Fundamentos de la programación orientada a objeto: clase, método, objeto, instancia,
Concepto y aplicación de un objeto en poo
Concepto y aplicación de una clase en poo
Modificadores de acceso
Constructores de una clase
Clases anidadas
Ciclo de vida de un objeto
La persistencia de los objetos
La transmisión de objetos
Comunicación entre objetos
El concepto de mensaje
Las clases
Encapsulación
Clases orientación a objetos y codificación en java
clases
Orientación a objetos y codificación en java
declaración, creación y eliminación de un objeto
acceso a datos y utilización de métodos
Constructores
Miembros static
miembros final
Modificadores de acceso
Unidad 3: herencia
Objetivos específicos de la unidad 3
Describir cómo crear jerarquías de herencia
Definir y explicar como se implementa una interfase en java
Describir cómo se realiza el manejo de la memoria en java
Contenido de la unidad 3
Introducción al uso de herencia en java
Fundamentos del uso de la herencia en la programación orientada a objeto:
Manejo de la memoria en java
Sintaxis para declarar clases usando herencia en java
Herencia, polimorfismo, clases abstractas e interfaces y paquetes
Unidad 4: manejo de excepciones
Objetivos específicos de la unidad 4
Conocer la importancia del manejo de excepciones en java
Definir las excepciones y explicar las técnicas tradicionales de manejo de errores
Describir el manejo de excepciones en java
Diferenciar entre excepciones verificadas y no verificadas
Describir las subclases de la clase throwable
Describir el flujo de manejo de excepciones en java
Contenido de la unidad 4
Introducción al manejo de errores
Técnicas tradicionales del manejo de errores
Excepciones y condiciones anormales
Java y el manejo de excepciones
Agrupar excepciones en java
Excepciones verificables y no verificables
La clase throwable y sus clases derivadas
Manejo de excepciones control de errores
captura y tratamiento de excepciones
descripción de una excepción
lanzar una excepción
declarar una excepción (throws)
bloque finally
creación de excepciones
Unidad 5: facilidades de entrada y salida
Objetivos específicos de la unidad 5
Conocer la clase file
Describir filedescriptor
Conocer acerca de los flujos
Explicar los diferentes tipos de flujo de caracteres
Explicar los diferentes tipos de flujo de bytes
Contenido de la unidad 5
Archivos
Flujos
La clase inputstream
La clase outputstream
La clase reader
La clase write
Serialización de objetos
Unidad 6: crear interfases con awt y swing
Objetivos específicos de la unidad 6
Conocer en entorno de programacion java con awt
Describir clases utiles en awt
Describir algunos componentes gui en awt
Modelo de delegación de eventos y manejo de eventos
Exponer las clases en swint
Describir las propiedades de apariencia de swing
Discutir el api java 2d
Contenido de la unidad 6
Introducción al awt
Componentes ligeros y pesados
Clases awt útiles
Superclases de awt
Clase menu de awt
Administradores de diseño (layout managers)
Jerarquía de contenedores
Tipos de eventos
Clases swing
Arquitectura mvc (modelo vista controladora) en swing
Componentes swing: jbutton, jcombobox, jlist, jtextfiel, jttextarea,
Unidad 7: applets
Objetivos específicos de la unidad 7
Establecer la diferencia entre un applet y una aplicación
Describir las fases significativas en el ciclo de vida de un applet
Explicar los métodos de dibujo y manejo de eventos
Describir los métodos para añadir componentes de interfase de usuarios
Discutir el papel de appletcontext
Contenido de la unidad 7
Introducción a los applets vs aplicaciones java
Ciclo de vida de un applet
Métodos de dibujo
Métodos para manejo de eventos
Usar componentes de interfase de usuarios
Localizar y cargar archivos de datos
Unidad 8: base de datos en java
Objetivos específicos de la unidad 8
Conocer la utilidad de las bases de datos
Identificar a los controladores jdbc
Establecer la conectividad con algunas bases de datos
Contenido de la unidad 8
Introducción a las bases de datos
jdbc api
- controladores jdbc
- conectividad con bases de datos
Bibliografía
Java 2 - interfaces gráficas y aplicaciones para Internet - 3ed. CEBALLOS, Fco. Javier
JAVA 6. Los fundamentos del lenguaje Java. Autor: Thierry GROUSSARD
Cómo programar en Java. Harvey M. Deitel, Paul J. Deitel
Java 2. Benjamin Aumaille. 2000
Java para estudiantes. Douglas Bell, Mike Parr, Alfonso Vidal Romero 2003.
Introducción a las ciencias de la computación con JAVA. Beuchot, Mauricio 2007
Su primer Programa Java. Nicolas Saney. 2001.
Estructuras de datos y algoritmos con Java. Adam Drozdek 2007
Instalar Ubuntu en Windows
Debido a que la gran mayoria no tenemos instalado Ubuntu en nuestras computadoras, y requerimos poder trabajar en las mismas condiciones que en el laboratorio de la Unesr, es necesario instalar en nuestros equipos Ubuntu, pero es algo dificil?, como es eso? Perdere mis archivos de Windows? Es necesario particionar el disco duro?
Actualmente es tan facil la instalacion de Ubuntu, como el hecho de instalar una aplicación cualquiera en Windows. En este enlace explican la instalación del sistema en forma clara y precisa.
Al finalizar la instalación, y prendemos nuestra computadora, aparece el mensaje para seleccionar que sistema operativo queremos trabajar, y al seleccionar Ubuntu tenemos el mismo escritorio que tenemos en la clase.
Actualmente es tan facil la instalacion de Ubuntu, como el hecho de instalar una aplicación cualquiera en Windows. En este enlace explican la instalación del sistema en forma clara y precisa.
Al finalizar la instalación, y prendemos nuestra computadora, aparece el mensaje para seleccionar que sistema operativo queremos trabajar, y al seleccionar Ubuntu tenemos el mismo escritorio que tenemos en la clase.
Conceptos Datos, Algoritmo y Programa
Dato: El dato (del latín datum), es una representación simbólica (numérica, alfabética, algorítmica etc.), atributo o característica de una entidad. El dato no tiene valor semántico (sentido) en sí mismo, pero convenientemente tratado (procesado) se puede utilizar en la realización de cálculos o toma de decisiones.
En programación un dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo.
Un dato por sí mismo no constituye información, es el procesado de los datos lo que nos proporciona información.Características:
- Un nombre que los diferencia del resto.
- Un tipo que nos determina las operaciones que podemos hacer con ese dato.
- Un valor que puede variar o no a lo largo de la operación.
Algoritmo: Es una formula para resolver un problema. Es un conjunto de acciones o secuencia de operaciones que ejecutadas en un determinado orden resuelven el problema.
Caracteristicas:
Caracteristicas:
- Tiene que ser preciso.
- Tiene que estar bien definido.
- Tiene que ser finito.
La programación es adaptar el algoritmo al ordenador. El algoritmo es independiente según donde lo implemente.
Fases:
- Análisis preliminar o evaluación del problema: Estudiar el problema en general y ver que parte nos interesa.
- Definición o análisis del problema: Ver que es lo que entra y que es lo que sale, las posibles condiciones o restricciones.
- Diseño del algoritmo: Diseñar la solución.
- El programa: Codificación del algoritmo en un lenguaje de programación.
- Ejecución del programa y las pruebas: Ver si el programa hace lo que queríamos.
- Entrada de datos: normalmente se va a ejecutar a traves de instrucciones de lectura, y se le pide al usuario la información que el programa va a necesitar para ejecutarse.
- Acciones de un algoritmo: parte en la que se resuelve el problema usando los datos de entrada.
- Salida: mostrar en un dispositivo de salida los resultados de las acciones anteriormente realizadas.
Bienvenida
Sean bienvenidos y bienvenidas al blog Lenguaje de Programación.
El objetivo es servir de punto de encuentro entre los interesados en aprender a programar, y los estudiantes de la asignatura Lenguaje de Programación 2 de la Universidad Nacional Experimental Simón Rodríguez, Núcleo Los Teques.
jueves, 21 de enero de 2010
Dudas de los ejercicios de la Unidad 4
Aquí publiquen las dudas de los ejercicios de la Unidad 4.
/* Ejercicio 03:
Dados 10 números enteros un vector, sumar dichos elementos. */
#include
main()
{
int vector[12];
int i, suma;
suma=0;
for (i=1; i<=10; i++){
printf("\n\t\tNúmero %i: ", i);
scanf("%i", &vector[i]);
suma = suma + vector[i];
}
printf("\n\t\tLa suma de los elementos es: %i",suma);
}
/* Ejercicio 03:
Dados 10 números enteros un vector, sumar dichos elementos. */
#include
main()
{
int vector[12];
int i, suma;
suma=0;
for (i=1; i<=10; i++){
printf("\n\t\tNúmero %i: ", i);
scanf("%i", &vector[i]);
suma = suma + vector[i];
}
printf("\n\t\tLa suma de los elementos es: %i",suma);
}
Dudas de los ejercicios de la Unidad 3
Aquí publiquen las dudas de los ejercicios de la Unidad 3.
/* Ejercicio 01:
Dados 6 números sumarlos */
#include
main()
{
float a,b,c,d,e,f, resultado;
printf("\n\t\tIntroduzca seis números: ");
scanf("%f%f%f%f%f%f", &a, &b, &c, &d, &e, &f);
resultado=a+b+c+d+e+f;
printf("\n\t\tLa suma de los numeros %.2f,%.2f,%.2f,%.2f,%.2f, %.2f, es: %.2f", a,b,c,d,e,f, resultado);
}
/* Ejercicio 02:
Dados 10 números obtener la media aritmetica */
#include
main()
{
int i;
float numero, resultado;
resultado=0;
printf("\n\t\tIntroduzca diez números: ");
for (i=1; i<11; i++){
scanf("%f", &numero);
resultado= resultado + numero;
}
resultado= resultado/10;
printf("\n\t\tLa media aritmetica es: %.2f", resultado);
}
/* Ejercicio 03:
Dados dos números multiplicarlos mediante el metodo de sumas sucesivas */
#include
main()
{
int i, n1, n2, resultado;
resultado=0;
printf("\n\t\tIntroduzca dos números: ");
scanf("%i%i", &n1, &n2);
for (i=1; i<= n2; i++){
resultado= n1 + resultado;
}
printf("\n\t\tEl resultado es: %i", resultado);
}
/* Ejercicio 05:
Dados N números obtener la media aritmetica */
#include
main()
{
int i, cantidad;
float numero, resultado;
resultado=0;
cantidad=0;
printf("\n\t\tIntroduzca la cantidad de números: ");
while (cantidad<1){
scanf("%i", &cantidad);}
for (i=1; i<=cantidad; i++){
printf("\n\t\tNúmero %i: ", i);
scanf("%f", &numero);
resultado= resultado + numero;
}
resultado= resultado/cantidad;
printf("\n\t\tLa media aritmetica es: %.2f", resultado);
}
/* Ejercicio 09:
Dados N números determinar el menor y el mayor */
#include
main()
{
int i, cantidad;
float menor, mayor, numero;
cantidad=0;
menor=0;
mayor=0;
printf("\n\t\tIntroduzca la cantidad de números: ");
while (cantidad<2){
scanf("%i", &cantidad);}
printf("\n\t\tNúmero 1: ");
scanf("%f", &numero);
menor=numero;
mayor=numero;
for (i=2; i<=cantidad; i++){
printf("\n\t\tNúmero %i: ", i);
scanf("%f", &numero);
if (numero if (numero>mayor) mayor=numero;
}
printf("\n\t\tEl numero menor es %.3f y el mayor es %.3f",menor, mayor);
}
/* Ejercicio 01:
Dados 6 números sumarlos */
#include
main()
{
float a,b,c,d,e,f, resultado;
printf("\n\t\tIntroduzca seis números: ");
scanf("%f%f%f%f%f%f", &a, &b, &c, &d, &e, &f);
resultado=a+b+c+d+e+f;
printf("\n\t\tLa suma de los numeros %.2f,%.2f,%.2f,%.2f,%.2f, %.2f, es: %.2f", a,b,c,d,e,f, resultado);
}
/* Ejercicio 02:
Dados 10 números obtener la media aritmetica */
#include
main()
{
int i;
float numero, resultado;
resultado=0;
printf("\n\t\tIntroduzca diez números: ");
for (i=1; i<11; i++){
scanf("%f", &numero);
resultado= resultado + numero;
}
resultado= resultado/10;
printf("\n\t\tLa media aritmetica es: %.2f", resultado);
}
/* Ejercicio 03:
Dados dos números multiplicarlos mediante el metodo de sumas sucesivas */
#include
main()
{
int i, n1, n2, resultado;
resultado=0;
printf("\n\t\tIntroduzca dos números: ");
scanf("%i%i", &n1, &n2);
for (i=1; i<= n2; i++){
resultado= n1 + resultado;
}
printf("\n\t\tEl resultado es: %i", resultado);
}
/* Ejercicio 05:
Dados N números obtener la media aritmetica */
#include
main()
{
int i, cantidad;
float numero, resultado;
resultado=0;
cantidad=0;
printf("\n\t\tIntroduzca la cantidad de números: ");
while (cantidad<1){
scanf("%i", &cantidad);}
for (i=1; i<=cantidad; i++){
printf("\n\t\tNúmero %i: ", i);
scanf("%f", &numero);
resultado= resultado + numero;
}
resultado= resultado/cantidad;
printf("\n\t\tLa media aritmetica es: %.2f", resultado);
}
/* Ejercicio 09:
Dados N números determinar el menor y el mayor */
#include
main()
{
int i, cantidad;
float menor, mayor, numero;
cantidad=0;
menor=0;
mayor=0;
printf("\n\t\tIntroduzca la cantidad de números: ");
while (cantidad<2){
scanf("%i", &cantidad);}
printf("\n\t\tNúmero 1: ");
scanf("%f", &numero);
menor=numero;
mayor=numero;
for (i=2; i<=cantidad; i++){
printf("\n\t\tNúmero %i: ", i);
scanf("%f", &numero);
if (numero
}
printf("\n\t\tEl numero menor es %.3f y el mayor es %.3f",menor, mayor);
}
Dudas de los ejercicios de la Unidad 2
Aqui publiquen sus dudas sobre los ejercicios de la Unidad 2, y revisen algunos ejercicios resueltos.
/* Ejercicio 01:
Dados dos números enteros determinar el mayor */
#include
main()
{
int a, b, mayor;
printf("\n\t\tIntroduzca dos números enteros: ");
scanf("%d%d", &a,&b);
if (a>b)
mayor=a;
else
mayor=b;
printf("\n\t\tEl mayor es %d ", mayor);
}
/* Ejercicio 02:
Dados dos números enteros determinar el menor */
#include
main()
{
int a, b, menor;
printf("\n\t\tIntroduzca dos números enteros: ");
scanf("%d%d", &a,&b);
if (a
main()
{
int n1, n2, n3, n4, n5, n6, n7;
printf("\n\t\tIntroduzca siete números enteros: ");
scanf("%d%d%d%d%d%d%d", &n1,&n2,&n3,&n4,&n5,&n6,&n7);
printf("\n\t\tLos números mayores que 5 son: ");
if (n1>5)
printf("%d ", n1);
if (n2>5)
printf("%d ", n2);
if (n3>5)
printf("%d ", n3);
if (n4>5)
printf("%d ", n4);
if (n5>5)
printf("%d ", n5);
if (n6>5)
printf("%d ", n6);
if (n7>5)
printf("%d ", n7);
}
/* Ejercicio 06:
Dados dos números enteros determinar si uno de ellos es igual doble del otro */
#include
main()
{
float n1, n2;
printf("\n\t\tIntroduzca dos números: ");
scanf("%f%f", &n1,&n2);
if (n1==2*n2)
printf("\n\t\tEl número %f es el doble de %f", n1, n2);
else {
if (n2==2*n1)
printf("\n\t\tEl número %f es el doble de %f", n2, n1);
else
printf("\n\t\tNinguno de los números es el doble del otro");
}
}
/* Ejercicio 07:
Dados una letra, determinar si es mayuscula */
#include
main()
{
char letra;
printf("\n\t\tIntroduzca una letra: ");
scanf("%c", &letra);
if ( ((letra>64) && (letra<91)) letra="="195))">
main()
{
int n1, n2,resto;
printf("\n\t\tIntroduzca dos números: ");
scanf("%d%d", &n1,&n2);
resto=n1%2;
if (resto==1)
printf("\n\t\tEl número %d es impar", n1);
resto=n2%2;
if (resto==1)
printf("\n\t\tEl número %d es impar", n2);
}
/* Ejercicio 12:
Dada una palabra determinar cuantas vocales tiene */
#include
main()
{
char c;
int contvocal;
contvocal=0;
printf("\n\t\tIntroduzca una palabra: ");
while (((c=getchar()) != '\n') && (c != ' ')){
switch (c){
case 'A': contvocal++;
break;
case 'E': contvocal++;
break;
case 'I': contvocal++;
break;
case 'O': contvocal++;
break;
case 'U': contvocal++;
break;
case 'a': contvocal++;
break;
case 'e': contvocal++;
break;
case 'i': contvocal++;
break;
case 'o': contvocal++;
break;
case 'u': contvocal++;
break;
}
}
printf("\n\t\tLa palabra tiene %d vocales.", contvocal);
}
/* Ejercicio 01:
Dados dos números enteros determinar el mayor */
#include
main()
{
int a, b, mayor;
printf("\n\t\tIntroduzca dos números enteros: ");
scanf("%d%d", &a,&b);
if (a>b)
mayor=a;
else
mayor=b;
printf("\n\t\tEl mayor es %d ", mayor);
}
/* Ejercicio 02:
Dados dos números enteros determinar el menor */
#include
main()
{
int a, b, menor;
printf("\n\t\tIntroduzca dos números enteros: ");
scanf("%d%d", &a,&b);
if (a
main()
{
int n1, n2, n3, n4, n5, n6, n7;
printf("\n\t\tIntroduzca siete números enteros: ");
scanf("%d%d%d%d%d%d%d", &n1,&n2,&n3,&n4,&n5,&n6,&n7);
printf("\n\t\tLos números mayores que 5 son: ");
if (n1>5)
printf("%d ", n1);
if (n2>5)
printf("%d ", n2);
if (n3>5)
printf("%d ", n3);
if (n4>5)
printf("%d ", n4);
if (n5>5)
printf("%d ", n5);
if (n6>5)
printf("%d ", n6);
if (n7>5)
printf("%d ", n7);
}
/* Ejercicio 06:
Dados dos números enteros determinar si uno de ellos es igual doble del otro */
#include
main()
{
float n1, n2;
printf("\n\t\tIntroduzca dos números: ");
scanf("%f%f", &n1,&n2);
if (n1==2*n2)
printf("\n\t\tEl número %f es el doble de %f", n1, n2);
else {
if (n2==2*n1)
printf("\n\t\tEl número %f es el doble de %f", n2, n1);
else
printf("\n\t\tNinguno de los números es el doble del otro");
}
}
/* Ejercicio 07:
Dados una letra, determinar si es mayuscula */
#include
main()
{
char letra;
printf("\n\t\tIntroduzca una letra: ");
scanf("%c", &letra);
if ( ((letra>64) && (letra<91)) letra="="195))">
main()
{
int n1, n2,resto;
printf("\n\t\tIntroduzca dos números: ");
scanf("%d%d", &n1,&n2);
resto=n1%2;
if (resto==1)
printf("\n\t\tEl número %d es impar", n1);
resto=n2%2;
if (resto==1)
printf("\n\t\tEl número %d es impar", n2);
}
/* Ejercicio 12:
Dada una palabra determinar cuantas vocales tiene */
#include
main()
{
char c;
int contvocal;
contvocal=0;
printf("\n\t\tIntroduzca una palabra: ");
while (((c=getchar()) != '\n') && (c != ' ')){
switch (c){
case 'A': contvocal++;
break;
case 'E': contvocal++;
break;
case 'I': contvocal++;
break;
case 'O': contvocal++;
break;
case 'U': contvocal++;
break;
case 'a': contvocal++;
break;
case 'e': contvocal++;
break;
case 'i': contvocal++;
break;
case 'o': contvocal++;
break;
case 'u': contvocal++;
break;
}
}
printf("\n\t\tLa palabra tiene %d vocales.", contvocal);
}
Dudas de los ejercicios de la Unidad 1
Aqui publiquen sus dudas sobre los ejercicios de la Unidad 1, a continuación se encuentran varios ejercicios de la guía resueltos para su revisión.
/* Ejercicio 1:
Mostrar un número entero fijo */
#include
main()
{
int a;
a=3;
printf("\n\t\t%d", a);
}
/* Ejercicio 2:
Mostrar un número real fijo */
#include
main()
{
float real;
real= 2.56;
printf("\n\t\t%f", real);
}
/* Ejercicio 3:
Mostrar una letra fija */
#include
main()
{
char letra;
letra= 'E';
printf("\n\t\t%c", letra);
}
/* Ejercicio 4:
Mostrar una palabra fija */
#include
main()
{
char palabra[8]= "LENGUAJE";
printf("\n\t\t%s", palabra);
}
/* Ejercicio 5:
Mostrar un número entero y un número real fijo */
#include
main()
{
int a;
float real;
a= 6;
real= 8.69;
printf("\n\t\t%i", a);
printf("\n\t\t%f", real);
}
/* Ejercicio 6:
Mostrar un número entero dado por teclado */
#include
main()
{
int a;
printf("\n\t\tIntroduzca un número entero: ");
scanf("%d", &a);
printf("\n\t\tEl numero leido es %i", a);
}
/* Ejercicio 7:
Mostrar un número real dado por teclado */
#include
main()
{
float real;
printf("\n\t\tIntroduzca un número real: ");
scanf("%f", &real);
printf("\n\t\tEl número leido es %f", real);
}
/* Ejercicio 8:
Mostrar una letra dada por teclado */
#include
main()
{
char letra;
printf("\n\t\tIntroduzca una letra: ");
scanf("%c", &letra);
printf("\n\t\tLa letra leida es %c", letra);
}
/* Ejercicio 9:
Mostrar una palabra dada por teclado*/
#include
main()
{
char palabra[25];
printf("\n\t\tIntroduzca una palabra: ");
scanf("%s", palabra);
printf("\n\t\tLa palabra leida es %s", palabra);
}
/* Ejercicio 10:
Mostrar un número entero y un número real dados por teclado*/
#include
main()
{
int a;
float real;
printf("\n\t\tIntroduzca un número entero: ");
scanf("%d", &a);
printf("\n\t\tIntroduzca un número real: ");
scanf("%f", &real);
printf("\n\t\tEl número entero leido es %d y el real es %f", a,real);
}
/* Ejercicio 11:
Dados dos números enteros y dos numeros real mostrarlos */
#include
main()
{
int a,b;
float real1,real2;
printf("\n\t\tIntroduzca dos números enteros: ");
scanf("%d%d", &a,&b);
printf("\n\t\tIntroduzca dos números real: ");
scanf("%f%f", &real1, &real2);
printf("\n\t\tLos números enteros leido son %d y el %d , y los reales son %f y el %f", a, b, real1,real2);
}
/* Ejercicio 14:
Dados dos números enteros y positivos restarlos y mostrar el resultado */
#include
main()
{
int a, b, resultado;
printf("\n\t\tIntroduzca dos números enteros: ");
scanf("%d%d", &a, &b);
resultado=a-b;
printf("\n\t\tEl resultado de restar %d y %d es: %d", a,b,resultado);
}
/* Ejercicio 19:
Dados 5 números obtener la media aritmetica */
#include
main()
{
float a,b,c,d,e,resultado;
printf("\n\t\tIntroduzca cinco números: ");
scanf("%f%f%f%f%f", &a, &b, &c, &d, &e);
resultado=(a+b+c+d+e)/5;
printf("\n\t\tLa media aritmetica de %f,%f,%f,%f,%f, es: %f", a,b,c,d,e,resultado);
}
/* Ejercicio 20:
Dados 4 números sumarlos y multiplicarlos */
#include
main()
{
float a,b,c,d,resultadosuma, resultadomultiplicacion;
printf("\n\t\tIntroduzca cuatro números: ");
scanf("%f%f%f%f", &a, &b, &c, &d);
resultadosuma=a+b+c+d;
resultadomultiplicacion=a*b*c*d;
printf("\n\t\tLa suma de %f,%f,%f,%f, es: %f", a,b,c,d,resultadosuma);
printf("\n\t\tLa multiplicacion de %f,%f,%f,%f, es: %f", a,b,c,d,resultadomultiplicacion);
}
/* Ejercicio 26:
Dados el radio de un circulo, calcular su area y longitud de la circunferencia */
#include
main()
{
const float PI=3.1415927;
float radio, area, longitud;
printf("\n\t\tIntroduzca el radio del circulo: ");
scanf("%f", &radio);
area=2*PI*radio;
longitud=PI*radio*radio;
printf("\n\t\tEl area del circulo es: %.2f", area);
printf("\n\t\tLa longitud del circulo es: %.2f", longitud);
return 0;
}

/* Ejercicio 1:
Mostrar un número entero fijo */
#include
main()
{
int a;
a=3;
printf("\n\t\t%d", a);
}
/* Ejercicio 2:
Mostrar un número real fijo */
#include
main()
{
float real;
real= 2.56;
printf("\n\t\t%f", real);
}
/* Ejercicio 3:
Mostrar una letra fija */
#include
main()
{
char letra;
letra= 'E';
printf("\n\t\t%c", letra);
}
/* Ejercicio 4:
Mostrar una palabra fija */
#include
main()
{
char palabra[8]= "LENGUAJE";
printf("\n\t\t%s", palabra);
}
/* Ejercicio 5:
Mostrar un número entero y un número real fijo */
#include
main()
{
int a;
float real;
a= 6;
real= 8.69;
printf("\n\t\t%i", a);
printf("\n\t\t%f", real);
}
/* Ejercicio 6:
Mostrar un número entero dado por teclado */
#include
main()
{
int a;
printf("\n\t\tIntroduzca un número entero: ");
scanf("%d", &a);
printf("\n\t\tEl numero leido es %i", a);
}
/* Ejercicio 7:
Mostrar un número real dado por teclado */
#include
main()
{
float real;
printf("\n\t\tIntroduzca un número real: ");
scanf("%f", &real);
printf("\n\t\tEl número leido es %f", real);
}
/* Ejercicio 8:
Mostrar una letra dada por teclado */
#include
main()
{
char letra;
printf("\n\t\tIntroduzca una letra: ");
scanf("%c", &letra);
printf("\n\t\tLa letra leida es %c", letra);
}
/* Ejercicio 9:
Mostrar una palabra dada por teclado*/
#include
main()
{
char palabra[25];
printf("\n\t\tIntroduzca una palabra: ");
scanf("%s", palabra);
printf("\n\t\tLa palabra leida es %s", palabra);
}
/* Ejercicio 10:
Mostrar un número entero y un número real dados por teclado*/
#include
main()
{
int a;
float real;
printf("\n\t\tIntroduzca un número entero: ");
scanf("%d", &a);
printf("\n\t\tIntroduzca un número real: ");
scanf("%f", &real);
printf("\n\t\tEl número entero leido es %d y el real es %f", a,real);
}
/* Ejercicio 11:
Dados dos números enteros y dos numeros real mostrarlos */
#include
main()
{
int a,b;
float real1,real2;
printf("\n\t\tIntroduzca dos números enteros: ");
scanf("%d%d", &a,&b);
printf("\n\t\tIntroduzca dos números real: ");
scanf("%f%f", &real1, &real2);
printf("\n\t\tLos números enteros leido son %d y el %d , y los reales son %f y el %f", a, b, real1,real2);
}
/* Ejercicio 14:
Dados dos números enteros y positivos restarlos y mostrar el resultado */
#include
main()
{
int a, b, resultado;
printf("\n\t\tIntroduzca dos números enteros: ");
scanf("%d%d", &a, &b);
resultado=a-b;
printf("\n\t\tEl resultado de restar %d y %d es: %d", a,b,resultado);
}
/* Ejercicio 19:
Dados 5 números obtener la media aritmetica */
#include
main()
{
float a,b,c,d,e,resultado;
printf("\n\t\tIntroduzca cinco números: ");
scanf("%f%f%f%f%f", &a, &b, &c, &d, &e);
resultado=(a+b+c+d+e)/5;
printf("\n\t\tLa media aritmetica de %f,%f,%f,%f,%f, es: %f", a,b,c,d,e,resultado);
}
/* Ejercicio 20:
Dados 4 números sumarlos y multiplicarlos */
#include
main()
{
float a,b,c,d,resultadosuma, resultadomultiplicacion;
printf("\n\t\tIntroduzca cuatro números: ");
scanf("%f%f%f%f", &a, &b, &c, &d);
resultadosuma=a+b+c+d;
resultadomultiplicacion=a*b*c*d;
printf("\n\t\tLa suma de %f,%f,%f,%f, es: %f", a,b,c,d,resultadosuma);
printf("\n\t\tLa multiplicacion de %f,%f,%f,%f, es: %f", a,b,c,d,resultadomultiplicacion);
}
/* Ejercicio 26:
Dados el radio de un circulo, calcular su area y longitud de la circunferencia */
#include
main()
{
const float PI=3.1415927;
float radio, area, longitud;
printf("\n\t\tIntroduzca el radio del circulo: ");
scanf("%f", &radio);
area=2*PI*radio;
longitud=PI*radio*radio;
printf("\n\t\tEl area del circulo es: %.2f", area);
printf("\n\t\tLa longitud del circulo es: %.2f", longitud);
return 0;
}

sábado, 9 de enero de 2010
Varios Ejemplos en Lenguaje C
En esta pagina web http://www.ejemplosc.com/ pueden conseguir una gran cantidad de ejemplos de programas sencillos para su estudio.
jueves, 7 de enero de 2010
Compilador de Lenguaje C
Existen infinidad de compiladores para lenguaje C y sus diversas variantes. Entre ellas en ambiente windows esta LCC Win32 que permite crear ejecutables a partir del código fuente de los programas escritos en este lenguaje.
El enlace de la descarga es http://www.q-software-solutions.de/pub/lccwin32.exe
El enlace de la descarga es http://www.q-software-solutions.de/pub/lccwin32.exe
Entrada y Salida por consola
Se refiere a las operaciones que se producen en el teclado y en la pantalla de la computadora. En C no hay palabras claves para realizar las acciones de Entrada/Salida, estas se hacen mediante el uso de las funciones de la biblioteca estándar (stdio.h).
Para utilizar las funciones de E / S debemos incluir en el programa el archivo de cabecera stdio.h, mediante la declaratoria:
#include
Las Funciones de E / S más simples son getchar() que lee un carácter del teclado, espera un retorno de carro, es decir un enter y el eco aparece. Es decir la tecla presionada.
Estas instrucciones se encuentran en la biblioteca conio.h
Veamos un ejemplo: Programa que espera que se presiona una tecla, la muestra en pantalla, y además muestra el carácter siguiente:
Ejemplo 1
#include
#include
main()
{
char car;
clrscr(); /*Se encarga de borrar la pantalla por eso se llama clear screen*/
car=getchar();
putchar(car+1);
getch();
return 0;
}
Ejemplo 2
#include
#include
main()
{
char x; /*Declaramos x como caracter*/
printf("Para Finalizar Presione cualquier Tecla:");
x= getchar(); /*Captura y muestra el caracter presionado*/
getch(); /*Espera a que se presione cualquier otra tecla para finalizar*/
return 0;
}
Para utilizar las funciones de E / S debemos incluir en el programa el archivo de cabecera stdio.h, mediante la declaratoria:
#include
putchar(): Imprime un carácter en la pantalla, en la posición actual del cursor. Algunas variaciones:
getche(): Aparece el Eco
getch(): No aparece el eco
Declaración de Constantes
Las constantes, como su nombre lo indica, son valores que se mantiene invariables durante la ejecución del programa. Su formato es el siguiente:
const tipo_de_dato nombre= valor; donde const, es una palabra reservada, para indicarle al compilador que se esta declarando una constante.
Ejemplo:
const int dia=7;
const float pi=3.14159;
const char caracter= ‘m’;
const char fecha[]=”25 de diciembre”;
Caso Especial Constantes Simbólicas: Las constantes simbólicas, se declaran mediante la directiva #define, como se explicó anteriormente. Funcionan de la siguiente manera, cuando C, encuentra el símbolo que representa a la constante, lo sustituye por su respectivo valor.
Ejemplo:
#define N 150
#define PI 3.1416
#define P 50
NOTA: se debe comprender algunas diferencias fundamentales entre la declaratoria const y #define; la primera, va dentro del programa, es decir, dentro de la función main() o alguna función definida por el usuario, mientras que #define va en el encabezado, después de los #include, por eso estas no llevan al final el punto y coma (;).
const tipo_de_dato nombre= valor; donde const, es una palabra reservada, para indicarle al compilador que se esta declarando una constante.
Ejemplo:
const int dia=7;
const float pi=3.14159;
const char caracter= ‘m’;
const char fecha[]=”25 de diciembre”;
Caso Especial Constantes Simbólicas: Las constantes simbólicas, se declaran mediante la directiva #define, como se explicó anteriormente. Funcionan de la siguiente manera, cuando C, encuentra el símbolo que representa a la constante, lo sustituye por su respectivo valor.
Ejemplo:
#define N 150
#define PI 3.1416
#define P 50
NOTA: se debe comprender algunas diferencias fundamentales entre la declaratoria const y #define; la primera, va dentro del programa, es decir, dentro de la función main() o alguna función definida por el usuario, mientras que #define va en el encabezado, después de los #include, por eso estas no llevan al final el punto y coma (;).
Declaración de Variables
Una Variable, como su nombre lo indica, es capaz de almacenar diferentes valores durante la ejecución del programa, su valor varía. Es un lugar en la memoria el cual, posee un nombre (identificador), y un valor asociado.
La declaración de variables en C, se hace en minúsculas. Formato:
Tipo_de_dato nombre_de_la_variable;
Ejemplos:
Es muy importante que al momento de declarar el tamaño, sea un número mayor, al verdadero número de letras; por ejemplo, la palabra “programacion”, solo tiene 12 letras, pero debemos declararlo para 13 letras. Porque el último espacio de la variable lenguaje C guarda un espacio en blanco para indicar el fin de la cadena de caracteres.
La declaración de variables en C, se hace en minúsculas. Formato:
Tipo_de_dato nombre_de_la_variable;
Ejemplos:
- Declare una variable de tipo entero y otra de tipo real, una con el nombre de “x” y otra con el identificador “y”: int x; float y;
- Declare una variable de tipo entero llamada moon, e inicialícela con un valor de 20: int x = 20;
- Declare una variable de tipo real, llamada Pi, e inicialícela con una valor de 3.1415: float pi=3.1415;
- Declare una variable de tipo caracter, llamada car y r asígne el valor de la letra “M”: char car = ’M’;
- Declare una variable llamada asignatura, que contenga programacion, por ejemplo: char nombre[13]=”programacion”;
Es muy importante que al momento de declarar el tamaño, sea un número mayor, al verdadero número de letras; por ejemplo, la palabra “programacion”, solo tiene 12 letras, pero debemos declararlo para 13 letras. Porque el último espacio de la variable lenguaje C guarda un espacio en blanco para indicar el fin de la cadena de caracteres.
Sintaxis de algunos elementos en C Parte 2
e) Signos de Puntuación y de Separación
/ % ^ & * () - + {} [] \ ; : <> ¿ .
f) Todas las Instrucciones o sentencias del programa terminan con un punto y coma (;)
Al momento de programar en C, esta es una regla de oro, y la causa por la cual nuestro programa puede darnos muchos errores de sintaxis, cuando se omite, al final de cada sentencia un punto y coma (;). Ya que con ello le indicamos al compilador que ha finalizado una sentencia.
NOTA: no confundirse, con las directivas: #include, #define. Main(), no llevan punto y coma, por que no son sentencias.
g) Todo Bloque de Instrucciones debe ir entre llaves
Esta consideración toma mayor auge, cuando veamos las instrucciones anidadas en condiciones, ciclos, etc.
Ejemplo:
{
...
printf(“Hola\n\b”);
...
}
h) En una línea se pueden escribir más de una instrucción separada por un punto y coma
Esto es posibles, por que con el punto y coma, le estamos indicando al compilador el fin de una sentencia o instrucción.
Ejemplo:
b = c + d; d = 2*k;
/ % ^ & * () - + {} [] \ ; : <> ¿ .
f) Todas las Instrucciones o sentencias del programa terminan con un punto y coma (;)
Al momento de programar en C, esta es una regla de oro, y la causa por la cual nuestro programa puede darnos muchos errores de sintaxis, cuando se omite, al final de cada sentencia un punto y coma (;). Ya que con ello le indicamos al compilador que ha finalizado una sentencia.
NOTA: no confundirse, con las directivas: #include, #define. Main(), no llevan punto y coma, por que no son sentencias.
g) Todo Bloque de Instrucciones debe ir entre llaves
Esta consideración toma mayor auge, cuando veamos las instrucciones anidadas en condiciones, ciclos, etc.
Ejemplo:
{
...
printf(“Hola\n\b”);
...
}
h) En una línea se pueden escribir más de una instrucción separada por un punto y coma
Esto es posibles, por que con el punto y coma, le estamos indicando al compilador el fin de una sentencia o instrucción.
Ejemplo:
b = c + d; d = 2*k;
Sintaxis de algunos elementos en C
a) identificadores: como su nombre lo indica, estos son los nombres, con los que identificamos las variables, constantes, funciones, vectores, etc, de nuestro programa. Para ello debemos tener presente algunas reglas:
c2
_c2
Ejemplos Incorrectos:
2c
2 c
/*este es un comentario en C */
/*Podemos colocar mucha información importante
de nuestro Programa */
c) La Directiva #include
Permite que, el pre-procesador, incluya funciones proporcionadas por el fabricante, a nuestro programa.
Ejemplo:
#include /* le decimos al compilador que incluya la librería
stdio.h */
d) la directiva #define
Permite definir constantes simbólicas, que son valores que permanecen constantes durante toda la ejecución del programa, un ejemplo de ello, es el valor de (pi) que equivale a 3.14159....
En C existen diferentes tipos de variables, entre ellas tenemos:
1. Constates Numéricas: Son valores numéricos, enteros o de reales (de punto flotante). Se permiten también constantes octales y hexadecimales.
2. Constantes Simbólicas: las constantes simbólicas tiene un nombre (identificador), y en esto se parecen las variables. Sin embargo, no pueden cambiar de valor a lo largo de la ejecución del programa. En C, se pueden definir mediante el preprocesador.
Ejemplo:
#define N 100
#define PI 3.1416
#define B 45
Esta directiva (#define) va, inmediatamente después de los #include. Se escribe la directiva, se deja un espacio y se escribe el identificador de la constante, otro espacio y su valor.
- Pueden tener de 1 hasta un máximo de 31 caracteres
- Debe de iniciar con una letra o subrayado
c2
_c2
Ejemplos Incorrectos:
2c
2 c
- No es lo mismo una minúscula que una mayúscula, ya que c distingue de entre ellas. Ejemplo: BETA Beta beta BeTa
- No son válidos los identificadores de palabras reservadas. En un inicio hablamos que c posee 32 palabras reservadas, entre ellas están: float, char, while, int, else, return, etc. Estas palabras no pueden ser utilizadas para identificar variables, constantes, funciones etc
/*este es un comentario en C */
/*Podemos colocar mucha información importante
de nuestro Programa */
c) La Directiva #include
Permite que, el pre-procesador, incluya funciones proporcionadas por el fabricante, a nuestro programa.
Ejemplo:
#include
stdio.h */
d) la directiva #define
Permite definir constantes simbólicas, que son valores que permanecen constantes durante toda la ejecución del programa, un ejemplo de ello, es el valor de (pi) que equivale a 3.14159....
En C existen diferentes tipos de variables, entre ellas tenemos:
1. Constates Numéricas: Son valores numéricos, enteros o de reales (de punto flotante). Se permiten también constantes octales y hexadecimales.
2. Constantes Simbólicas: las constantes simbólicas tiene un nombre (identificador), y en esto se parecen las variables. Sin embargo, no pueden cambiar de valor a lo largo de la ejecución del programa. En C, se pueden definir mediante el preprocesador.
Ejemplo:
#define N 100
#define PI 3.1416
#define B 45
Esta directiva (#define) va, inmediatamente después de los #include. Se escribe la directiva, se deja un espacio y se escribe el identificador de la constante, otro espacio y su valor.
Suscribirse a:
Entradas (Atom)