Tema 1. Introducción a la programación (Lenguaje java).

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 13 Ing. Ronald Criollo.
Advertisements

Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
2. Manejo de memoria Manejo de memoria estática
Curso de java básico (scjp)
Java nos ofrece System.out para escribir en pantalla, pero también tenemos System.in para leer. System.in es un objeto de una clase de java que se llama.
Curso de Java Capitulo 6: Cadenas y Arrays Profesor:
Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
Listas enlazadas c++ Prof. Franklin Cedeño.
Utilización de un TAD Arbol.
Modularidad Estructura de datos.
Estructuras de Datos (ARRAYS)
Programación I Teoría III
Tipos de Datos Básicos y Estructurados
Abstracciones y Modelos
Tema 5 Grafos. Implementación (I)..
Tratamiento de listas en Java
2.2 Pila de números enteros
1.2 Sintaxis del lenguaje Java.
Tema 4 Árboles. Árbol sobre matriz.
2.4 Construcción de un TAD a partir de otro.
1.3 Programación modular. Subprogramas.
Implementación de Listas
Programación Orientada a Objetos en Java
ARREGLOS Estructuras de datos.
Herramientas para el acceso directo a memoria en C++
Vectores en java.
Arreglos: Vectores en JAVA
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Introducción a la Programación Orientada a Objetos Redefinición y Sobrecarga Dada la siguiente jerarquía de clases: Alfa Delta Beta.
Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp.
Material de apoyo Unidad 2 Estructura de datos
Modificadores.
L ISTAS E NLAZADAS No son mas que un conjunto o lista de objetos que a diferencia de los vectores, estas poseen la capacidad de crecer o decrecer. Por.
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Creación de Aplicaciones
Tema 6: Clases Antonio J. Sierra.
Public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = ;// miembro constante public float.
Colecciones.
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Clase Teórica No. 4 Programación IV
Suponiendo que además en la clase U hay: import java.util.*; class U{ static Scanner teclado = new Scanner(System.in); static public int readInt(String.
Introducción a los punteros
Curso Programación en Java
JAVA J.A.C..
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
3.  Recursividad.
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
ESTRUCTURA DE DATOS EN JAVA
Clase 10: Estructuras de datos y arreglos.
Programación IMC José Andrés Vázquez Flores. Definición Un arreglo es un conjunto finito e indexado de elementos homogéneos, que se referencian por un.
METODOLOGÍA DE LA PROGRAMACIÓN
Unidad VI Registros (estructuras, uniones y enumeraciones)
Entrada / Salida. Java adopta de Unix el concepto de stream Un stream es un flujo de datos (secuencia de bytes) que va de una fuente a un destino. Desde.
Informática Ingeniería en Electrónica y Automática Industrial
El lenguaje de programación C - Vectores y matrices -
Aplicación de estructuras de datos
Informática Ingeniería en Electrónica y Automática Industrial
Programación en C para electrónicos
Listas Ligadas Simples. Definíción I  Es, en sencillas palabras. un grupo de datos organizados secuencialmente, pero a diferencia de los arreglos, la.
Un arreglo es un grupo de variables, llamadas elementos, que contienen valores del mismo tipo. Una representación lógica de un arreglo se muestra de la.
Los punteros Programación modular.
Punteros Recomendado: 1. Nivelación Funciones
Vectores y Matrices.
Contenido:  ¿Qué son los Punteros?  Los Procedimientos: New y Dispose.
INSTITUTO TECNOLOGICO DE APIZACO
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
Transcripción de la presentación:

Tema 1. Introducción a la programación (Lenguaje java). 1.4 Estructuras de datos.

1.4 Estructuras de datos. Concepto de Estructura de datos: Agrupación de datos que se trata como una unidad en su conjunto. Se construyen a partir de los tipos de datos simples Clasificación: Por su naturaleza: Homogénea: Todos del mismo tipo (ej: vectores, tablas, matrices n dimensionales. Heterogénea: De diferente tipo (ej: registros). Por su forma de almacenamiento. Memoria central: Estática. Tamaño conocido a priori. Dinámica. El tamaño varía durante la ejecución del programa (ej: listas, árboles, grafos). Memoria externa (ficheros y bases de datos).

1.4 Estructuras de datos. Tecnología para estructuras dinámicas (I). Se basa en el concepto de puntero (pointer). Puntero: variable estática cuyo contenido (referencia) es la dirección de una región de la memoria dinámica (nodo) que contiene el dato. Mediante un puntero se puede (además de acceder al contenido de su nodo) reservar y liberar espacio. Modelo:

1.4 Estructuras de datos. Tecnología para estructuras dinámicas (II). En Java los punteros apuntan a (referencian) objetos. En otros lenguajes (C o Pascal) pueden apuntar a estructuras de datos. Sintaxis: Crear un nodo: <tipo> <variable> = new <tipo | Constructor>; Eliminar un nodo: innecesario en Java. Asignación: <puntero1> = <puntero2>. La referencia <puntero2> se copia en <puntero1>, Comparación: <puntero1> == <puntero2>. Devuelve un valor booleano en función de que ambas referencias sean iguales o no. Puntero “especial”: null. No apunta a ningún sitio (no hay reserva de memoria).

1.4 Estructuras de datos. Estructuras de datos estáticas (I). Homogéneas: Unidimensionales (vectores) Modelo. Sintaxis. Declaración (vector nulo): <tipoElementos> [] <nombreVector>; Construcción: <tipoElementos> [ ] <nombreVector> = new <tipoElementos> [<tamaño>] Acceso: Al conjunto (referencia): <nombreVector> A un elemento: <nombreVector> [<indice>]

1.4 Estructuras de datos. Ejemplo de uso de vector: public class PruebaVectores { static float media (int [ ] dato) { float resul = 0; for (int i = 0; i < 5; i ++) resul = resul + dato [i]; resul = resul / i; return resul; } public static void main (String [ ] args) throws NumberFormatException, IOException { int [ ] d = new int [5]; int i, rango; float media; BufferedReader linea = new BufferedReader (new InputStreamReader (System.in)); System.out.println ("Introduce cinco numeros enteros: "); for (i = 0; i < 5; i ++) d [i] = Integer.parseInt (linea.readLine ()); media = media (d); System.out.println("El valor medio es: " + media);

1.4 Estructuras de datos. Estructuras de datos estáticas (II). Homogéneas: Bidimensionales (matrices o tablas) Modelo. Sintaxis. Declaración: <tipoElementosMatriz> [ ] [ ] <nombreMatriz>; Acceso: Al conjunto (referencia): <nombreMatriz> A un elemento: <nombreMatriz> [<indice1>] [<indice2>] N-dimensionales. Por generalización

1.4 Estructuras de datos. Ejemplo de uso de matriz: public class Prueba_matrices { static void leerMatriz (int [ ][ ] temperaturas) throws NumberFormatException, IOException { BufferedReader linea = new BufferedReader(new InputStreamReader(System.in)); for (int i = 0;i<7;i++) for (int j = 0; j < 2; j++) { System.out.println("Valor dia: " + i + " extremo: " + j + ": "); temperaturas [i] [j] = Integer.parseInt (linea.readLine ()); } static int min (int [ ] [ ] temperaturas) { int i, resul = temperaturas [0] [0]; for (i = 1; i < 7; i++) if (temperaturas [i] [0] < resul) resul = temperaturas [i][0]; return resul; public static void main(String[] args) throws NumberFormatException, IOException { int [ ] [ ] temp = new int [7] [2]; leerMatriz(temp); int mini = min(temp); System.out.println("Temperatura minima: " + mini);

1.4 Estructuras de datos. Estructuras de datos estáticas (III). Heterogéneas (registros). Cada uno de sus elementos se denomina campo o atributo. Uno de ellos suele utilizarse como identificativo o clave (key). Modelo.

1.4 Estructuras de datos. Estructuras de datos estáticas (IV). Heterogéneas (registros). Sintaxis. Declaración: class <variableRegistro> { // miembros  <modificadorDeAccesoMiembro1> <tipoCampo1><nombreCampo1>; ... <modificadorDeAccesoN> <tipoCampoN><nombreCampoN>; // constructor   <modificadorAcceso> <variableRegistro>(<tipoCampo1><nomCampo1>, ... ,<tipoCampoN> <nomCampoN>) { <AsignacionDeValoresInicialesDeCampos>; } Acceso: Al conjunto (referencia) <nombreRegistro> A un elemento: <nombreRegistro> .<nombreCampo>

1.4 Estructuras de datos. Ejemplo de uso de registro. Clase RegistroAlumno (I): class RegistroAlumno { //Variables miembro public String numeroMatricula; public String apellidos; public String nombre; public String eMail; public int año; public float calificacion; // Constructor public RegistroAlumno () { numeroMatricula=null; apellidos =null; nombre = null; eMail=null; año = 1980; calificacion = 0; }

1.4 Estructuras de datos. Ejemplo de uso de registro. Clase RegistroAlumno (II): //Métodos public String aCadena () { return numeroMatricula+" "+" "+apellidos+" "+nombre+" "+eMail+" "+año+" "+calificacion; } public void cargarRegistro () throws IOException { BufferedReader linea = new BufferedReader (new InputStreamReader (System.in)); System.out.println ("Numero de matricula: "); numeroMatricula = new String (linea.readLine ()); System.out.println ("Apellidos: "); apellidos = new String (linea.readLine ()); System.out.println ("Nombre: "); nombre = new String (linea.readLine ()); System.out.println ("Correo electronico: "); eMail = new String (linea.readLine ()); System.out.println ("Año de nacimiento: "); año = Integer.parseInt (linea.readLine ()); System.out.println ("Calificación: "); calificacion= Float.parseFloat (linea.readLine ()); System.out.println (this.aCadena ());

1.4 Estructuras de datos. Estructuras de datos estáticas (V). Híbridas (ej: vector de registros)

1.4 Estructuras de datos. Ejemplo de uso de vector de registros. Clase PruebaRegistro: public class PruebaReg { static void cargarTabla (RegistroAlumno [ ] alumnos) throws IOException { for (int i = 0; i < 6; i ++) { System.out.println ("Datos del alumno N: " + i); alumnos [i].cargarRegistro (); } static float mediaCalif (RegistroAlumno [ ] alumnos) { float resul; resul = 0; for (int i = 0; i < 6; i ++) resul = resul + alumnos [i].calificacion; return resul/6; public static void main (String [ ] args) throws IOException { RegistroAlumno [ ] alumnos = new RegistroAlumno [6]; float media; alumnos[i]= new RegistroAlumno(); cargarTabla (alumnos); media = mediaCalif (alumnos); System.out.println ("La media de las calificaciones es: "+media);