La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Problema Un programa debe leer 2 números desde un objeto Console. El primero es el monto que un cliente debe pagar por una compra y el segundo la cantidad.

Presentaciones similares


Presentación del tema: "Problema Un programa debe leer 2 números desde un objeto Console. El primero es el monto que un cliente debe pagar por una compra y el segundo la cantidad."— Transcripción de la presentación:

1 Problema Un programa debe leer 2 números desde un objeto Console. El primero es el monto que un cliente debe pagar por una compra y el segundo la cantidad de plata que pasa para pagarlo. El programa debe responder cuántos billetes de , 5.000, y monedas de 500, 100, 50, 10, 5 y 1 son necesarias para dar el vuelto correspondiente Enter the value to pay:3561 Enter the value given by the customer :10000 Give 1 of 5000 Give 1 of 1000 Give 0 of 500 Give 4 of 100 Give 0 of 50 Give 3 of 10 Give 1 of 5 Give 4 of 1 Programm3.java

2 Algoritmo Leer la cantidad a pagar “topay”
Leer la cantidad realmente pagada “ammount” calcular change = ammount - topay dividir change por 5000, tomar la parte entera Ese es el número de billetes de 5000 a devolver dividir lo que queda por pagar por 1000, tomar la parte entera Ese es el número de billetes de 1000 a devolver repetir la operación para el resto de los billetes y monedas que hay

3 Declaraciones Los nombres de las variables empiezan con letra y siguen con digitos y/o letras + el subrayado. Estas pueden ir en cualquier parte del programa pero siempre antes de usar la variable int i; //declaración int i = 1; //declaración e inicialización int i; i = 1; int i, j, k; int i = 1, j = 2, k = 3; double pi = ; char c = ‘a’; Console c; c = new Console(); String myName = new String(“Nelson”); String myName; myName = “Nelson”; final int MAX = ; //constante !!!

4 “Tipos de datos primitivos”
Objetos Typ bytes Range byte 1 short 2 int 4 long 8 float +/ double +/ boolean true, false char Unicode String S = new String(“hello”) Console C = new Console()

5 Operadores Matemáticos
Operator Ejemplo significado +, -, *, / valor1 + valor2 Aritmética normal % 10 % 3 (1) Resto de división

6 Hagamos algo de matemáticas
Lea el radio de un círculo y calcule su área y perímetro Lea 5 números y calcue el máximo, mínimo y promedio de ellos Lea a, b y c y resuelva ax2 + bx + c = 0 Programm4 Programm41 Programm5 Programm6

7 Qué pasa si la ecuación no tiene solución en el espacio de los reales ?
Podemos primero preguntar si la expresión Math.sqrt(Math.pow(b,2)-(4*a*c)) es menor que cero. En ese caso tomamos el valor absoluto de la expresión y damos la solución con números imaginarios Hagamos una mejor versión del programa del vuelto Programm7 Programm8

8 Controlando la secuencia de las instrucciones
Ejecución condicional de instrucciones: if (condition) instruction; if(condition) else Siempre es posible reemplazar una instrucción por una lista de ellas agrupadas dentro de { }

9 Encontrando el mayor, menor y promedio de 100 números
Veamos el programa 5 de nuevo Programm5 Para 100 números (o una lista indeterminada de ellos) es mejor usar un ciclo Programm9 Programm10

10 Escribiendo Loops La instrucción básica para un cliclo es el while
while (condition) instruction; Para tener varias instrucciones en un ciclo while (condition) { instructions; } Para roper el ciclo desde adentro while (true) { .... if (condicion) break;

11 El formateo public class ProgrammX {
---public static void main(String args[]) { int a = 0, b=0, sum = 0, num; Console c = new Console(); while (true) { num = c.readInt(); if (num == -1) break; // breaks the loop if (num %2 == 0) { sum = sum +num; a = a+1; } else { sum = sum + num; b = b + 1; } ---} }

12 Otros ejemplos interesantes
Calculando el Mcd de 2 números Jugando al cachipun contra el computador hasta que el usuario o el computador llegan a 3 puntos 1 = Tijera 2 = Piedra 3 = Papel MCD JanKenPo

13 Operadores lógicos Operator example meaning == if (a == b) equals !=
while(n != 0) Not equal ! while (! (A == b)) not <,>,<=,>= if (a >= b) comparission || if (a > b || a == 0) or && if (a>30 && a < 40) and

14 Propuesto Escriba un programa que lea una cantidad indeterminada de números hasta que llegue un -1. Luego el programa debe iprimir la siguiente información: Cantidad de números ingresados Promedio de los menores que 50 promedio de los mayores que 100 promedio de los que estaban entre 50 y 100, ambos incluidos

15 Ejercicio: Calcular el coeficioente binomial para las combinaciones posibles de k sobre n elementos
El número de combinaciones de k objetos de entre n se calcula como: n! / (k!*(n-k)!) La forma larga de programarlo sería: ProgramCombinations1.java La forma corta (y reusable) es definiendo un método: ProgramCombinations2.java

16 Un método estático public puede ser usado desde otro archivo (otra clase)
El método debe ser declarado como public El otro archivo que lo usa debe escribir NombreClase.nombreMétodo(parametros) ej. int i = ProgramCombinations2.fac(25); El archivo (clase) ProgramCombinations2 debe estar “visible” según las mismas reglas usadas para la clase Console Ver ejemplo AA.java

17 Definiendo metodos estáticos
Tipo de valor que el método devolverá (se pone void si no devuelve ningún valor Nombre del método (definido por el programador) public static int fact( int x ) { ……. …… return a; } Se define public para que pueda ser usado desde afuera como Math.min(x,y); Las intrucciones del método van entre paréntesis {} Return is obligatorio si no se puso void Parámetros del método

18 Clase predefinida Math

19 Propuestos Escriba un método como el siguiente:
public static int power( int x, int y) Que retorna el valor de xy Escriba un programa que lea dos números e imprima el valor que resulta de elevar el primero al segundo Escriba un método que reciba un string y retorne el valor numérico del string public int valorEntero(String x) Escriba un método public static int random(int x, int y) que devuelva un número entero generado aleatoriamente entre x e y

20 Abreviaturas: cómo escribir menos
i++ : usar i en el contexto donde aparece y luego sumarle 1 ++i : sumarle 1 a i y luego usarlo en el contexto donde aparece int i = 5; int a = i++; a queda con 5, i con 6 int a = ++i; a queda con 6 , i con 6 lo mismo para --, resta uno

21 Otras formas de escribir ciclos
while loop int i = 1; while (i <= 10) { c.println(”5 X ” + i + ” = ”+(i*5)) i = i + 1; } do while loop do { c.println(”5 X ” + i + ” = ”+(i*5)); while (i <= 10); for loop for (i = 1; i <= 10; i = i +1)

22 Expresiones y asignaciones
Ejemplo: suma += nota Sintaxis: var op= exp Semántica: var = var op (exp) Ej: a*=b+c es equivalente a a=a*(b+c) y no a=a*b+c Aplicación double suma=0, nota; int n=0; while( true ) { C.print(“nota ? “); if( (nota = C.readDouble()) == 0 ) break; C.println(“promedio=” + (suma+=nota) / (n+=1) ); }

23 La isntrucción switch


Descargar ppt "Problema Un programa debe leer 2 números desde un objeto Console. El primero es el monto que un cliente debe pagar por una compra y el segundo la cantidad."

Presentaciones similares


Anuncios Google