TEMA 1 Introducción a la programación. CONSIDERACIONES GENERALES.
EJERCICIOS AreaTriangulo Escriba un programa que calcule el área de un triángulo rectángulo dadas la altura y la base. El área de un triángulo es la base multiplicada por la altura y dividida entre 2. // Area de un triangulo rectangulo public class AreaTriangulo { public static void main (String [ ] args) throws NumberFormatException, IOException { float altura, base; double area; BufferedReader linea=new BufferedReader (new InputStreamReader (System.in)); System.out.println ("Base del triangulo "); base = Float.parseFloat (linea.readline ()); System.out.println ("Altura del triangulo "); altura = Float.parseFloat (linea.readline ()); area = 0.5 * (double) altura * base; System.out.println ("Area = " + area);
CalcularMinimo Escriba un programa que halle el menor de dos números pedidos al usuario. Se utiliza un if else para devolver el menor de los dos números. /* Calculo del menor de dos numeros dados */ public class CalcularMinimo { public static void main(string[] args) throws NumberFormatException, IOException { /* Calculo del menor de dos numeros dados */ int menor, numero1, numero2; BufferedReader linea=new BufferedReader (new InputStreamReader (System.in)); System.out.println ("Escriba el primer numero y pulso INTRO: "); numero1 = Integer.parseInt(linea.readLine()); System.out.println ("Escriba el segundo numero y pulso INTRO: "); numero2 = Integer.parseInt(linea.readLine()); if (numero1 < numero2) menor = numero1; else menor = numero2; /* la sentencia if-else es equivalente a: * menor = numero1 < numero2? numero1 : numero2; */ System.out.println ("El menor de "+ numero1 + " y " + numero2+ " es " + menor);
ImprimirTablaPotencias Escriba un programa que imprima una tabla con las cuatro primeras potencias de los números del 1 al 10 Se utiliza un bucle for para avanzar por los diez primeros números. Para escribir las potencias con formato de tabla se utiliza el carácter de Unicode \t, que es equivalente a poner un tabulador. public class ImprimirTablaPotencias { public static void main (String [ ] args) { /* Imprime la tabla de las primera 4 potencias del 1 al 10 */ int n; System.out.println (" numero\t exp2\t exp3\t exp4"); System.out.println ("------\t-----\t-----\t-----"); for (n = 0; n <= 10; ++n) System.out.println (" "+n+"\t "+n*n+"\t"+n*n*n+"\t"+n*n*n*n);
EscribirMeses Escriba un programa que pida al usuario un número comprendido entre 1 y 12 y que muestre por pantalla el nombre del mes correspondiente. Primero se solicita al usuario el número y luego se utiliza switch para escribir el nombre del mes correspondiente. public class EscribirMeses { public static void main (String [] args) throws NumberFormatException, IOException { BufferedReader linea = new BufferedReader (new InputStreamReader (System.in)); System.out.print("Opcion: "); int opc = Integer.parseInt (linea.readline ()); switch (opc) { case 1: System.out.println ("enero"); case 2: System.out.println ("febrero"); case 3: System.out.println ("marzo"); case 4: System.out.println ("abril"); case 5: System.out.println ("mayo"); case 6: System.out.println ("junio"); case 7: System.out.println ("julio"); case 8: System.out.println ("agosto"); case 9: System.out.println ("septiembre"); case 10:System.out.println ("octubre"); case 11:System.out.println ("noviembre"); case 12:System.out.println ("diciembre"); default:system.out.println ("opcion no valida");
CambioOptimo Escriba un programa que dándole el importe exacto de una cantidad indique el mínimo número de monedas necesario. Las monedas son de 1, 2, 5, 10, 20 y 50 céntimos, y 1 y 2 euros. Se utiliza un vector de ocho elementos inicializado con los valores de las distintas monedas. A continuación se solicita al usuario el número y luego se utiliza un bucle for para ir comprobando si es divisible entre la mayor de las monedas disponibles. public class CambioOptimo { public static void main(string[] args) throws NumberFormatException, IOException { /* Cambio optimo de monedas */ final int LIM = 8; BufferedReader linea = new BufferedReader (new InputStreamReader (System.in)); double [] monedas = {2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01; double cantidad; int num, nummonedas; System.out.println ("Introduzca el importe exacto: "); cantidad = Float.parseFloat (linea.readline ()); System.out.println ("El cambio optimo es el siguiente: "); for (num = 0; num < LIM; num++) { nummonedas = (int) (cantidad / monedas [num]); if (nummonedas!= 0) System.out.println (nummonedas + " de "+ monedas [num]); cantidad = cantidad % monedas [num];
CalcularPotencias Escriba un programa que calcule la potencia entera de un número entero de forma iterativa y de forma recursiva.... public class CalcularPotencias { /* Potencia entera. De manera iterativa y de menera recursiva */ static long potenciaiterativo (int base, int expo) { long p = 1; int i; for (i = 1; i <= expo; i++) p *= base; return(p); static long potenciarecursivo (int base, int expo) { long p; if (base == 0) p = 0; else if (expo == 0) p = 1; else p = base * potenciarecursivo (base, expo - 1); return(p); public static void main(string[] args) throws NumberFormatException, IOException { long potencia; int b, e; BufferedReader linea = new BufferedReader (new InputStreamReader (System.in)); System.out.println ("Escriba una base entera para la operacion (b) "); b = Integer.parseInt (linea.readline ()); System.out.println ("\nescriba un exponente entero para la operacion (e) "); e = Integer.parseInt (linea.readline ()); /* Forma iterativa */ potencia = potenciaiterativo (b, e); System.out.println ("El resultado de la potencia en forma iterativa es " + potencia); /* Forma recursiva */ potencia = potenciarecursivo (b, e); System.out.println ("El resultado de la potencia en forma recursiva " + potencia);
SumaVectores Escriba un programa que obtenga un vector que contenga la suma de otros dos vectores introducidos por el usuario.... public class SumaVectores { /* Suma de vectores */ public static void main(string[] args) { final int FILAS = 4; final int COLS = 5; int j, k; int vector1 [ ] [ ] = { {13,15,17,19,21,{20,22,24,26,28,{31,33,35,37,39,{40,42,44,46,48 ; int vector2 [ ] [ ] = { {10,11,12,13,14,{15,16,17,18,19,{20,21,22,23,24,{25,26,27,28,29 ; int vector3 [ ] [ ] = new int [FILAS] [COLS]; for (j = 0; j < FILAS; j++) { for (k = 0; k < COLS; k++) { vector3 [j] [k] = vector1 [j] [k] + vector2 [j] [k]; System.out.print (vector3 [j] [k]+", "); System.out. println ();