21
Ejercicio 07/09/14 19:14 - Errores sintácticos y lógicos Este tipo de errores siempre son detectados por el COMPILADOR, antes de ejecutar el programa. A los errores tipográficos, como por ejemplo la falta de puntos y comas, nombres de variables incorrectas, falta de paréntesis, palabras claves mal escritas, etc. los llamamos errores SINTACTICOS. Un programa no se puede ejecutar sin corregir absolutamente todos los errores sintácticos. Existe otro tipo de errores llamados ERRORES LOGICOS. Este tipo de errores en programas grandes (miles de líneas) son más difíciles de localizar. Por ejemplo un programa que permite hacer la facturación pero la salida de datos por impresora es incorrecta.

Practicas Fundamentos de Programacion

Embed Size (px)

Citation preview

Ejercicio 07/09/14 19:14

- Errores sintácticos y lógicos

Este tipo de errores siempre son detectados por el COMPILADOR, antes de

ejecutar el programa.

A los errores tipográficos, como por ejemplo la falta de puntos y comas,

nombres de variables incorrectas, falta de paréntesis, palabras claves mal

escritas, etc. los llamamos errores SINTACTICOS.

Un programa no se puede ejecutar sin corregir absolutamente todos los

errores sintácticos.

Existe otro tipo de errores llamados ERRORES LOGICOS. Este tipo de errores

en programas grandes (miles de líneas) son más difíciles de localizar. Por

ejemplo un programa que permite hacer la facturación pero la salida de

datos por impresora es incorrecta.

Practica 1: Área de Un cuadrado 07/09/14 19:14

Problema: Encontrar la superficie de una cuadrado conociendo el valor de un

lado.

Diagrama de Flujo.

Ejercicio: Desarrollar el Diagrama de

Clase de la Práctica.

Solución de Ejercicio en Java.

Crearemos la clase AreaCuadrado.

La cual tendrá de atributo un

valor de tipo flotante (decimal)

con el nombre de “lado” en el

cual almacenaremos el valor

que el usuario ingrese.

Una variable de tipo flotante

(decimal) denominada “area”

para almacenar el resultado

del área.

Tendrá una función llamada

“calcularArea” en la cual se

realizará el calculo del área.

Crear clase AreaCuadradoPrueba: La cual tendrá el método main, y

dentro de el la creación del objeto de tipo AreaCuadrado, para

hacer el calculo del área de un cuadrado. -

Clase AreaCuadrado

//importar clase Scanner

import java.util.Scanner;

public class AreaCuadrado {

public float lado = 0.0;

public float area = 0.0;

public void calcularArea(){

Scanner teclado = new Scanner(System.in);

System.out.printl(“Ingrese el valor del lado del cuadrado”);

lado = teclado.nextFloat();

area = lado * lado ;

System.out.printl(“La superficie del cuadrado es: “ + area );

}

}

//No te olvides de comentar todas las líneas o un bloque de líneas referente

a las funciones y atributos.

public class AreaCuadradoPrueba{

public static void main(String[] ar) {

AreaCuadrado cuadrado1 = new AreaCuadrado();

cuadrado1.calcularArea();

}

}

Ejercicio:

Crear un Método llamado “pedirValorLado” dentro de la clase AreaCuadrado,

en el cual se hará la petición del valor del lado al usuario.

Crear un Método llamado “mostrarValorArea” dentro de la clase Area

Cuadrado, en la cual se mostrar el valor del calculo del area.

Hacer las llamadas a los métodos dentro de la clase AreaCuadradoPrueba.

Tarea:

Investigar cuales son las tipos de accesibilidad de una variable: Public,

Private, Protected.

¿Qué es encapsulamiento?

Ejercicios

Programa para realizar el ingreso del valor de un lado de un cuadrado, y

realizar el calculo del perímetro del mismo, el cual se mostrara en pantalla

(consola).

Escribir un programa en el cual se pida ingresar 4 números (enteros o

decimales), calcular y mostrar la suma de los dos primeros y el producto del

tercero y el cuarto.

Crear un programa que pida al usuario 4 valores enteros e informar la suma

y el producto de los mismos.

Realizar un programa que pida el ingreso del precio de un articulo (valor

entero o decimal) y la cantidad que el cliente lleva. Mostrar el total que debe

pagar el cliente.

Practica 2 07/09/14 19:14

Crear una clase que permita leer el nombre y la edad de una persona.

Mostrar los datos que fueron ingresados.

** Crear el diagrama de clase referente a esta práctica.

//Clase Persona

import java.util.Scanner;

public class Persona{

public Scanner teclado;

public String nombre;

public int edad;

public void leerDatos(){

teclado = new Scanner(System.in);

System.out.print(“Ingrese un nombre: ”);

nombre = teclado.next();

System.put.print(“Ingrese la edad: ”);

edad = teclado.nextInt();

}

public void mostrarDatos(){

System.out.println(“Nombre: ” + nombre);

o System.out.println(“Edad: ” + edad);

}

}

//Clase PersonaPrueba

public class PersonaPrueba

{

public static void main(String[] ar) {

Persona persona1 = new Persona();

persona1.leerDatos();

persona1.mostrarDatos();

}

}

Estructuras condicionales Simples y Compuestas

Las estructuras condicionales nos permiten la toma de una decisión,

partiendo de una pregunta, por ejemplo nuestra vida diaria se nos presentan

situaciones donde debemos decidir sobre algo.

¿Elijo la carrear A o la carrera B?

¿Me ponto está camisa?

Para ir a la escuela, ¿Elijo el camino A o el camino B?

Estas estructuras nos permiten controlar el flujo de nuestro programa,

dependiendo de si la condición es evaluada como VERDADERA o FALSA, es

decir si la respuesta a una pregunta es Verdadera realizamos una serie de

instrucciones, y si dicha respuesta es Falsa, realizamos instrucciones

diferentes. Es por eso que se conocen también como INSTRUCCIONES DE

CONTROL DE FLUJO.

Estructura condicional simple

Cuando se presenta la elección tenemos la opción de realizar una actividad o

no realizar ninguna (Figura A y B).

A) No se realiza actividades si la condición es falsa, pero si sí es verdadera.

B) Se realizan actividades tanto si la condición es resuelta verdadera y/o

falsa

Podemos observar: El rombo representa la condición. Hay dos opciones que

se pueden tomar. Si la condición da verdadera se sigue el camino del

verdadero, es decir el de la derecha, si la condición da falsa se sigue el

camino de la izquierda.

Utilizando una condición dentro de Java. La palabra (estructura) reservada

para el uso de una condición dentro de Java es IF, IF-ELSE.

if (condición){

//instrucciones

}else{

//instrucciones

}

Ejemplo:

if (edad >= 18){

System.out.print(“Es mayor de Edad”);

}else{

System.out.print(“No es mayor de Edad”);

}

Agregando esta estructura a una función de la clase Persona.

Actividad: Cree la siguiente función dentro de la clase Persona Anteriormente

Creada.

public void esMayorEdad() {

if (edad>=18) {

System.out.print(nombre+" es mayor de edad.");

} else {

System.out.print(nombre+" no es mayor de edad.");

}

}

Actividad 3: Use la función.

Ejercicio:

Crear un programa que cargue los lados de un triángulo e implemente los

siguientes métodos: pedir los valores de los lados, imprimir el valor del area

y el perímetro, y otro método que muestre si el triangulo es equilátero o no.

Métodos con parámetros 07/09/14 19:14

Declaración de métodos.

Como hemos visto un método tiene la siguiente sintaxis:

public void nombreDelMetodo(){

}

* Donde:

public: Es el tipo de accesibilidad del método

void : El tipo de retorno , en este caso ningún tipo.

Métodos con parámetros.

Un método puede tener parámetros:

Declaración de un método con parámetros.

public void nombreDelMetodo ( parámetros) {

instrucciones

}

*Donde parámetros tiene la forma.

tipoDato parametro1, tipoDato parametro2, tipoDato parametroN.

tipoDato puede ser:

int, float, String, boolean… etc.

Parametro1, parametro2, parámetro N, representan el nombre del parámetro

(nombre de variable)

Los parámetros los podemos imaginar como variables locales al método,

pero su valor se inicializa con datos que llegan cuando llamamos al método.

*Importante, al usar parámetros dentro de un método.

Si se llama al método , se debe pasar los parámetros, en el orden correcto.

Es decir, si se definieron los parámetros de un método de la siguiente forma:

int dato1, float dato2, int dato3.

Al llamar al método los parámetros tienen que ir de la misma forma es decir:

nombreMetodo( dato1, dato2, dato3).

Ejemplo práctica 3: Métodos con parámetros.

Crear una clase que permita ingresar valores enteros por teclado y nos

muestre la tabla de multiplicar de dicho valor.

import java.util.Scanner;

public class TablaMultiplicar{

public void leerValor(){

Scanner teclado = new Scanner(System.in);

int valor;

System.out.print(“Ingrese valor: ”);

valor = teclado.nextInt();

if(valor !=0){

calcular( valor );

}

public void calcular( int valor ) {

for(int i = valor; i <= valor* 10; i = i +valor){

System.out.print( i + “ - ” ) ;

}

}

}

//Clase TablaMultiplicarPrueba

public class TablaMultiplicarPrueba{

public static void main(String[] args){

TablaMultiplicar tabla1 = new TablaMultiplicar();

tabla1.cargarValor();

}

}

Tarea:

Investigar las estructuras repetitivas.

For

While

Do-While

Métodos que retornan un dato

Sintaxis :

public tipoDato nombreDelMetodo (parámetros){

bloque de instrucciones.

return tipoDato;

}

tipoDato puede ser cualquier tipo de dato Primitivo.

Investigar tipos de datos

Cuando un método retorna un dato en vez de indicar la palabra clave void al

nombre del método indicamos el tipo de dato que retorna. Posteriormente

dentro del método en el momento que queremos que finalice el mismo y

retorne el dato empleamos la palabra clave return con el valor respectivo.

Ejemplo 4: Método con retorno de dato.

Problema: Crear una clase que permita ingresar tres valores por teclado.

Luego muestre por pantalla el numero mayor y el menor.

//clase MayorMenor

import java.util.Scanner;

public class MayorMenor{

public void cargarValores(){

int valor1, valor2, valor3, mayor, menor;

Scanner teclado = new Scanner (System.in);

System.out.print(“Ingrese primer valor: ”);

valor1 = teclado.nextInt();

System.out.print(“Ingrese segundo valor: ”);

valor2 = teclado.nextInt();

System.out.print(“Ingrese tercer valor: ”);

valor3 = teclado.nextInt();

mayor = calcularMayor(valor1, valor2, valor3);

menor = calcularMenor(valor1, valor2, valor3);

imprimirResultados(mayor, menor);

}

public int calcularMayor(int valor1, int valor2, int valor3){

int valorMayor;

if( valor1>valor2 && valor1> valor3){

valorMayor =valor1;

} else {

if(valor2 > valor3){

valorMayor = valor2;

}else{

valorMayor = valor3;

}

}

return valorMayor;

}

public int calcularMayor(int valor1, int valor2, int valor3){

int valorMenor;

if( valor1<valor2 && valor1< valor3){

valorMenor =valor1;

} else {

if(valor2 < valor3){

valorMenor = valor2;

}else{

valorMenor = valor3;

}

}

return valorMenor;

}

public void imprimirResultados(int mayor, int menor){

System.out.println(“El valor mayor de los tres es: ” + mayor);

System.out.println(“El valor menor de los tres es: ” + menor);

}

}

//clase MayorMenorPrueba

public class MayorMenorPrueba{

MayorMenor prubea1 = new MayorMenor();

prueba1.cargarValores();

}

Ejercicio

Crear una clase que represente un punto en el plano cartesiano y tenga los

siguiente mñetodos: cargar los valores de x e y, imprimir en que cuadrante

se encuentra dicho punto.

* Primer cuadrante si x e y son positivos.

* Segundo cuadrante si x<0 e y>0.

* Tercer cuadrante si x e y son negativos.

* Cuarto cuadrante si x>0 e y <0

Ejercicio 2:

Crear una clase que represente un cuadrado y tenga los siguientes métodos:

cargar el valor del lado, calcular su perímetro y su área, imprimir resultados.

(utilizar métodos con parámetros).

Tarea:

Confeccionar una clase que represente un empleado. Definir como atributos

su nombre y su sueldo. Confeccionar los métodos para leer los datos, otro

para imprimir sus datos y por último uno que imprima un mensaje si debe

pagar impuestos :( (si el sueldo supera a 3000).