20
PROGRAMACIÓN DE ALGORITMOS ESCUELA: NOMBRES: Escuela de Ciencias de la Computación Ing. Guido Riofrío BIMESTRE: Segundo Octubre 2011-Febrero 2012

Programacion de algoritmos

Embed Size (px)

Citation preview

Page 1: Programacion de algoritmos

PROGRAMACIÓN DE ALGORITMOS

ESCUELA:

NOMBRES:

Escuela de Ciencias de la Computación

Ing. Guido Riofrío

BIMESTRE: Segundo

Octubre 2011-Febrero 2012

Page 2: Programacion de algoritmos

Presentación

• La presente asignatura es muy importante en la carrera de Informática puesto que representa el punto de partida en el planteamiento de soluciones a problemas computacionales.

Page 3: Programacion de algoritmos

Objetivos

• Que el estudiante aprenda a utilizar los recursos y documentación que proporciona el lenguaje Java.

• Presentar las técnicas para guardar información en archivos

• Exponer los conceptos relacionados con POO en Java

Page 4: Programacion de algoritmos

Archivos de javaLa información que se procesa en un programa es volátil puesto que los datos se almacenan temporalmente en la memoria del computador y la información esta disponible mientras la aplicación se este ejecutando, para tener disponibles los datos de forma permanente es necesario guardarlos en los dispositivos de almacenamiento secundarios tales como un disco duro o un flash memory, en esta unidad estudiaremos los mecanismos que dispone el lenguaje Java para almacenar y recuperar información de estos dispositivos.

Page 5: Programacion de algoritmos

Registros y Archivos

• Es muy importante tener claro este modelo puesto que es la base para crear aplicaciones que guarden información de forma ordenada y sobre todo estructurada, preste principal atención al concepto de registro (Numero, Nombre, Dirección, …) puesto que la información se guarda mediante un formato de este tipo en los archivos.

Page 6: Programacion de algoritmos

FlujosDesde el punto de vista del lenguaje Java un flujo es un objeto que se encuentra en una parte intermedia entre nuestra aplicación y el origen o destino de la información, esto se puede entender mediante la siguiente ilustración

Page 7: Programacion de algoritmos

Ejercicio: crear un programa para transferir datos de tipo char

import java.io.*;public class CharArray {

public static void main(String[] args) {char[] m1 = new char[80];char[] m2 = new char[80];int car, i = 0;

for (car = 'a'; car <= 'z'; car++)m1[i++] = (char)car;

CharArrayReader flujoE = new CharArrayReader(m1);CharArrayWriter flujoS = new CharArrayWriter();try {

while ((car = flujoE.read()) != -1)flujoS.write(car);

m2 = flujoS.toCharArray();System.out.println(m2);

}catch (IOException e) { System.out.println(e.getMessage()); }finally {

flujoE.close(); flujoS.close();}

}}

Page 8: Programacion de algoritmos

API de java para manejo de archivos

Page 9: Programacion de algoritmos

Ejercicio: Desarrollar un programa para guardar registros en un archivo binario

import java.io.*;

class Empleado implements Serializable {String cedula;String apellidos;String nombres;

Empleado(String ced, String ape, String nom) {this.cedula = ced;this.apellidos = ape;this.nombres = nom;

}

Empleado() {this.cedula = "0000000000";this.apellidos = "apellido";this.nombres = "nombre";

}}

Page 10: Programacion de algoritmos

import java.io.*;

public class Registros {public static void main(String argv[]) throws Exception {

FileOutputStream objFileStream = new FileOutputStream("datos.dat");ObjectOutputStream objStream = new ObjectOutputStream(objFileStream);

Empleado objEmpleado1 = new Empleado("1106548967","Burneo","Carlos");Empleado objEmpleado2 = new Empleado("1738798481","Calva","Maria");Empleado objEmpleado3 = new Empleado();

objStream.writeObject(objEmpleado1);objStream.writeObject(objEmpleado2);objStream.writeObject(objEmpleado3);objStream.flush();objStream.close();

}}

Page 11: Programacion de algoritmos

import java.io.*;public class RegistrosLeer { public static void main(String[] args) { try { ObjectInputStream StreamLectura = new ObjectInputStream(new FileInputStream("datos.dat")); Empleado objEmp1 =(Empleado)StreamLectura.readObject(); while (objEmp1 != null) { System.out.println(objEmp1.cedula + " " + objEmp1.apellidos + " " + objEmp1.nombres); try { objEmp1 =(Empleado)StreamLectura.readObject(); } catch(java.io.EOFException ex) { objEmp1 = null; System.out.println("Fin del archivo"); } } StreamLectura.close(); } catch(Exception e) { System.out.print("Error en el manejo del archivo"); } }}

Page 12: Programacion de algoritmos

Programación orientada a objetos

• La POO es una forma especial de programar en la cual se expresa nuestro desarrollo como cosas del mundo real, esto implica una filosofía y forma de pensar diferente, pues los objetos o mecanismos que están en nuestro entorno tienen unas características (atributos) y un comportamiento o forma de actuar (métodos) , y esta visión debe verse reflejada en nuestra programación.

Page 13: Programacion de algoritmos

Programación orientada a objetos

Page 14: Programacion de algoritmos

Programación orientada a objetos

• Clases- Definición de datos o atributos, y- Programación, por otra parte

• Objetos- Es una instancia especifica de una clase

Page 15: Programacion de algoritmos

Programación orientada a objetosAtributos o Propiedades. Los atributos o propiedades son las características de un objeto, estas siempre están asociadas con su respectivo valor, ya sea este, de tipo texto o de tipo numérico; dicho de otra forma, los atributos almacenan los datos de los objetosPropios: Son aquellos que han sido declarados explícitamente en la clase que crea el objeto. Heredados: Son aquellos que pertenecen al objeto pero que no han sido declarados explícitamente en la clase dueña del objeto, sino mas bien han sido el resultado de un proceso de herencia de clases antecesoras. MétodosLos métodos en POO son lo que para la programación estructurada son los procedimientos o funciones.

Page 16: Programacion de algoritmos

Desarrolle las clases necesarios para programar un prototipo de graficador en Java

Page 17: Programacion de algoritmos

Tips para el desarrollo de la evaluación presencial

• En las preguntas que se solicite la explicación teórica de un concepto, por favor sea concreto en la explicación, lo importante es demostrar que usted conoce el tema solicitado.

• Para el desarrollo de los programas no se pone restricciones o condiciones de desarrollo por lo tanto se le recomiendo que utilice cualquier estructura o recurso de programación para solucionar el problema.

• Al momento de calificar lo mas importante es que usted demuestre que domina la lógica para resolver un problema.

• En los problemas sobre arreglos se le recomienda que trabaje con un arreglo declarado e inicializado para tener un mayor dominio de la situación, obviamente el problema propuesto debe solucionar situaciones de carácter genérico

Page 18: Programacion de algoritmos

Gracias

Page 19: Programacion de algoritmos
Page 20: Programacion de algoritmos

PROGRAMA: Tutoría (Nombre de Tutoría) Carrera:Fecha:Docente:Hora Inicio: Hora Final:

GUIÓN DE PRESENTACIÓN

Puntos de la Presentación

Intervienen Duración Aprox. en minutos

Material de Apoyo

- Presentación- Objetivos

Nombre del docente y/o invitados

• 2 minutos• 3 minutos

Sin material.Sin material.

-Desarrollo del contenido: Capítulo I Capítulo II …………….

Nombre del docente y/o invitados

• 35 minutos Diapositivas (cambios cada 5 seg.), videos, otro o ningún material.

- Preguntas

- Despedida (Contactos, Sugerencias)

Nombre del docente y/o invitados

•15 minutos (Si no existen, proponer y dar solución)• 5 minutos

Correo, teléfono, ext, horario de tutoría.