lunes, 11 de junio de 2007

EJERCICIOS CAPITULO I

ASIGNACION-OPERADORES-INGRESO Y SALIDA DE DATOS
  1. Escribir un algoritmo para calcular el vuelto que se tiene que recibir cuando se paga por un servicio: Debe ingresar el costo del servicio y el monto del dinero con la que se paga.
  2. Escribir un algoritmo para resolver una ecuación de la forma ax+bx=c se debe leer a, b y c.
  3. Escribir un algoritmo para calcular cuanto le falta a un número para ser igual a otro ingresado.
  4. Un algoritmo para calcular el cociente y el residuo de la división de dos números.
  5. Escribir un algoritmo que convierta segundos a horas y minutos. Debe ingresar el número de segundos.
  6. Escribir un algoritmo para saber cuantas horas exactas hay en una cantidad de minutos ingresados
  7. Escribir un algoritmo para indicar cuanto le falta a un número cualquiera para ser multiplo de 17.
  8. Escribir un algoritmo para evaluar la siguiente función: F(x)=X²+3X+7. Para cualquier valor de X ingresado.
  9. Escribir un algoritmo para sumar todos los dígitos de un número cualquiera(Máximo 5 cifras).
  10. Un algoritmo para resolver una ecuación simultanea de la forma:
    ax+by=c
    dx+ey=f
  11. Escribir un algoritmo para convertir centímetros a pulgadas (1 pulgada=2.52cm)
  12. Un algoritmo para calcular el área de un triángulo. Sugerencia usar la fórmula de heron
  13. Un algoritmo para obtener el promedio del primer dígito con el último de un número de 5 dígitos ingresado.
  14. Un algoritmo para saber cúanto se le tiene que sumar a un número cualquiera para que termine en 5.
  15. Dado el número inicial y final de una progreción aritmética de números consecutivos. Calcular la suma de toda la progreción. Sugerencia: suma=(a+u)*n/2, donde a es el primer término, u es el ultimo término y n es el número de términos.
  16. Escribir un algoritmo para convertir la temperatura de grados centígrados a grados farenheit. Sugerencia: (F-32)/9=C/5. Donde F es el valor en Grados Farenheit y C el valor en grados centígrados.
  17. se necesita repartir una cierta cantidad de panes entre una cantidad de niños en partes iguales. Escribir un algoritmo para saber a como le toca a cada uno y cuántos panes sobran.
  18. Escribir un algoritmo para saber cuantas docenas hay en una determinada cantidad.
  19. Escribir un algoritmo para calcular cuánto cuesta un producto incluido IGV. Sugerencia se debe leer el costo del producto sin IGV.
  20. Escribir un algoritmo para saber cuanto costaria un producto sin IGV. Se lee el costo del producto incluido IGV.
  21. Dado el numerador y denominador de una fracción, luego el numerador y denominador de otra. Escribir un algoritmo para sumara dichas fracciones(no es necesario simplificar).
  22. Dado el valor de la suma de dos números y el valor de la diferencia. Escribir un algoritmo para saber que números son.
  23. Escribir un algoritmo para calcular la medida de la hipotenusa de un triángulo rectángulo. Sugerencia debe leer la medida de los dos catetos y utilizar el teorema de pitagoras.
  24. Escribir un algoritmo para saber a como tengo que vendeer un producto para ganar el 30%. Sugerencia se debe leer el precio de compra.
  25. Escriba un algoritmo para adivinar el pensamiento. Debe leer el resultado de: Multiplicar el número pensado por 5, sumarle 12 y el resultado multiplicar por 8. La salida debe ser el número pensado.
  26. Adivina el pensamiento mas general. Debe pedir que multiplique el número pensado por un valor cualquiera que se ingrese, luego sumarle por otro ingresado para multiplicar el resultado por otro que tambien se ingresa. Finlamente debe pendir cual es su resultado para calcular el numero pensado.
  27. Un algoritmo para saber que número debemos agregar al numerador de una fracción para que dicha fracción se convierta en un entero.
  28. Dos vehículos separados una distancia determinada van al encuentro uno del otro con velocidades respectivas. Escribir un algoritmo para calcular en cuanto tiempo se encuentran dichos vehículos. Sugerencia: Leer distancia de separacion, velocidades
  29. Dos vehículos separados una distancia determinada van en la misma direccion, si el que va atras va con mayor velocidad. Escribir un algoritmo para calcular en cuanto tiempo lo alcanza al que va adelante. Sugerencia: Leer distancia de separacion, velocidades
  30. Un hombre hace un trabajo en una cantidad de dias, otro en otra. Escribir un algoritmo para saber en cuanto tiempo lo acaban si se juntan para realizar el mismo trabajo.
  31. Escribir un algoritmo para Invertir el orden de sus cifras un número cualquiera (máximo de 5 dígitos).
  32. Escribir un algoritmo para calcular la edad exacta en dias de un persona sabiendo que cada año tiene 12 meses y cada mes 30 dias.
  33. Un algoritmo para calcular cuanto le falta a la suma de digitos de un número para ser multiplo de 9.


miércoles, 6 de junio de 2007

La pregunta de los 30 puntos

Leer un número impar y formar un cuadrado mágico con el orden ingresado. Ejemplo si leemos 5 el cuadrado mágico sera de orden 5x5.
¿Que es un cuadrado mágico?. Es aquel cuadrado de un orden determinado donde se colocan números consecutivos a partir de 1 de tal forma que la suma de las diagonales, las filas y las columnas sean iguales.

Ejercicios con Funciones

Escribir una funcion para saber el nivel de un estudiane de acuerdo a su nota
Si la nota es menor que 6, debe mostrar "Muy Malo"
Si la nota esta entre 6 y 10 inclusive mostrar "Malo"
Si esta entre 11 y 14 mostrar "Regular"
Si esta entre 15 y 18 mostrar "Bueno"
Si es mayor que 18 mostrar "Muy bueno".
Luego usar esta función para mostrar en que nivel se encuentra una nota ingresada

lunes, 4 de junio de 2007

La pregunta de los 50 puntos

Un puzzle de números es un arreglo de la forma como muestra la figura. El algoritmo que tiene que desarrollar es todos los pasos que se debe hacer para ordenar dichos números. Solo se puede mover los números a la posición donde esta el cero y sólamente el vecino del cero.

Arreglos unidimensionales

Alumno: Profesor Leguía ¿Para que sirven los arreglos unidimensionales?
Profesor: Antes de responder a su pregunta dígame ¿Cuantas variables necesita para guardar 10 datos?
Alumno: Simple profe 10 variables por supuesto.
Profesor: Muy bien. Que pasaría si necesita 1000 datos para trabajar. ¿Usaría 1000 variables?
Alumno: Si uso 1000 variables usaría más de 1000 líneas de código sólo para almacenar dichos datos. Entones creo que tendría problemas.
Profesor: Claro que si. Existe otra forma de almacenar muchos datos utilizando una sola variable esos son las famosas variables de tipo Arreglos o Arrays.
Ejemplo:
Si quisiera guardar los 5 primeros número que terminan en 3 dentro de un arreglo de nombre A tal como se muestra en la figura

Las letras rojas indican la posición para definir claramente los datos a utilizar. En java dicha posición va entre corchetes además el orden de las posiciones parte de 0. Es decir:

Primer dato ==> posición 0
Segundo dato==>posición 1
Tercer dato==> posición 2
Cuarto dato==> posición 3
Quinto dato==> posición 4

Sabiendo esto vamos a guardar en el Arreglo A los datos vistos anteriormente

A [0]=3;
A[1]=13;
A[2]=23;
A[3]=33;
A[4]=43;

Inclusive podemos hacer operaciones por ejemplo si quisiera sumar todos los números y guardarlos en una variable cualquiera por ejemplo suma.

Suma= A [0]+A[1]+A[2]+A[3]+A[4];

Alumno: Profesor, todo esta bien pero sigue usando varias instrucciones para asignar cada dato. ¿Como haría para ya no usar varias veces como en el caso anterior?
Profesor: Justamente allí radica la utilidad de un arreglo, Para esto tendríamos que aprovechar las estructuras cíclicas de preferencia la estructura PARA o FOR
Por ejemplo para leer 100 datos y guardarlos en un arreglo de nombre misDatos

For(i=1;i<=10;i++){
LEER(misDatos[i])
}
Alumno: En Java como sería profesor.
Profesor: En Java para poder usar un arreglo lo primero que se tiene que hacer es declarar dicho arreglo como cualquier variable con la diferencia que este va entre corchetes, por ejemplo vamos a declarar un arreglo de tipo entero de nombre A

int A[];

Alumno: Eso es todo profesor.
Profesor: No Joven eso no es todo, hay algo muy importante que se tiene que tomar en cuenta. Se le tiene que indicar el tamaño máximo que puede almacenar dicha variable.
Imaginemos nosotros que en este arreglo vamos a almacenar 10 datos:

A=new int[10];

Eso es todo alumno A partir de acá ya podemos trabajar con arreglos.

Ejemplos Resueltos en JAVA

1.- Escribir un programa para leer 10 números y guardarlos en un arreglo

int A[] //Declaramos el arreglo
A=new int[10] //Instanciamos el arreglo
for(i=0;i<10;i++){
A[i]=Integer.parseInt(JOptionPane.showInputDialog(“A[”+i+”]”)); }

2.- Escribir un programa para guardar en un arreglo todos los números múltiplos de 6 menores que 100. Luego mostrar dichos números.;

//Leyendo los datos

int
A[] //Declaramos el arreglo
A=new int[10] //Instanciamos el arreglo
int k=0;
for(i=0;i<100;i=i+6){
A[k]=i;
k=k+1;
}
//Escribiendo los datos

for(i=0;i< k;i++){
System.out.println(A[i]);
}

3.- Escribir un algoritmo para escribir en un arreglo todos los números de 3 digitos cuya suma de cifras es 13. Luego sumar y contar todos los números pares que cumplen esa condición