Sesión 13 Tipos de datos Estruturados Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.

Slides:



Advertisements
Presentaciones similares
IBD Curso 2007 Clase 2.
Advertisements

Análisis Sintáctico Capítulo 4.
Diseño y análisis de algoritmos
Programación de Computadores
Programación de Computadores
Programación de Computadores
PROGRAMACION ESTRUCTURADA
PROGRAMACIÓN.
Iteración La iteración permite modelar problemas en los cuales una secuencia de instrucciones debe ejecutarse varias veces. La cantidad de iteraciones.
Elementos de Pascal Escribir un programa en Pascal que lea los valores de los catetos de un triángulo rectángulo y calcule y muestre la hipotenusa. program.
Type tipo_bf = ; tipo_dato = word; tipo_puntero = ^tipo_nodo; tipo_nodo = record dato: tipo_dato; izquierdo, derecho: tipo_puntero; bf: tipo_bf;
Diseño y análisis de algoritmos
Metodología de la Programación
Programación modular Procedimientos y Funciones
Resolución de Problemas y Algoritmos Buffer - Read & Readln
Realizado por: Ing. Mauricio Rivera1 Colas. Realizado por: Ing. Mauricio Rivera2 ¿Qué es una Cola? Una cola es un grupo ordenado de elementos homogéneos.
Curso de Programación 1 Plan 97
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 1: Consideraciones acerca de la eficiencia.
FORTRAN 90 arreglos.
Algoritmos de Búsqueda
Programación Visual Basic Pedro Boualy y Fran B 2ºB PC:28.
C lase 10 COMPUTACION /17/2014Computacion - Fac. Ingeniería2  Ademas de los ya vistos (tipos simples), puede usarse como parámetros variables.
Lenguaje Pascal: Ana Laureano_UAM-A Lenguajes de Programación Pascal Profesora Ana Lilia Laureano - Cruces Universidad Autónoma Metropolitana - Azcpotzalco.
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
Departamento de Informática Universidad Técnica Federico Santa María Tema 7: Subprogramas Programación de Computadores (IWI-131) Luis Pizarro Q.
LIGA VENEZOLANA DE BEISBOL MINIPROYECTO III Elaborado por: Carlos Rodríguez Bárbara Jaspe.
Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Clase 12 COMPUTACION 2009 Tipos de Datos PASCAL Estructurados Simples Primitivos No primitivos Estáticos Integer Real Char Boolean String Archivos Registros.
PROCEDIMIENTOS FUNCIONES
1 Concurrencia Procesos y Programas. 2 Establecer Comunicación entre procesos (memoria común)
EJEMPLO DEL TEMA 6 ARRAYS BIDIMENSIONALES. TEMA6: EJEMPLO ARRAYS BIDIMENSIONALES Consumo (C) y renta mensual (RM) de 100 familias (expresadas en 10 4.
Matrices Es una estructura homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria A cada elemento se.
COMPUTACION 2009 Clase 6 Clase 7.
Agosto 2010Programación I - Tipo de Datos1 Programación I Prof. Adjunto: Lic. Jorge O. Scucimarri Universidad Nacional de Luján Licenciatura en Sistemas.
Resolución de Problemas y Algoritmos Uso de iteración con secuencias
Programación en Pascal
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Sesión 17 Tipos de datos Estruturados Arreglos de Registros Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Resolución de Problemas y Algoritmos Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca - Argentina.
COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida.
Programación I Arreglos II- Matrices.
75.40 Algoritmos y Programación I
Tipos de datos Estruturados String y ordenamiento Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Teoría – Alejandro Gonzalez
Programación I Arreglos. Los elementos de un arreglo son todos del mismo tipo de dato (todos integer o real o char o registros o aún arreglos)
Definir un vector Forma general Variable=[tipo]*tamaño Tipo: es el valor inicial con el cual quedarán llenas todas las posiciones creadas del vector. Tamaño:
Conjuntos  Tipo estructurado  Es una lista encerrada entre corchetes  Deben ser elementos de igual tipo y Ordinales. Pueden especificarse subrangos.
Tema 8: Tipos de Datos Estructurados I
Vectores y Matrices.
Sesión 9 Subprogramas Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Tema 6: Estructuras de Control
COMPUTACION 2009 Clase 6 Clase 6.
Departamento de Informática Universidad Técnica Federico Santa María Temas 2,3,4: Estructura de un Programa Pascal Declaraciones Tipos de Datos Simples.
Clase 6 COMPUTACION 2009 C lase 8 Tipos de Datos PASCAL Estructurados Simples Primitivos No primitivos Integer Real Char Boolean String Archivos Registros.
Departamento de Informática Universidad Técnica Federico Santa María Ejercicios Certamen 1: Programación de Computadores (IWI-131) Luis Pizarro Q.
Vectores y Matrices.
Programación en Visual Basic
Programación de Computadores
Contenido:  ¿Qué son los Punteros?  Los Procedimientos: New y Dispose.
Sesión 4 Secuencias Básicas Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
29/5/2002 Sesión 18 Tipos de datos Estruturados Archivos de Caracteres Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Estructura: COLA Profesor: Ing. Erick López Ch. M.R.I.
Programación de Computadores
MODULA Lenguaje de Programación Anabel Martín González
Paso por Referencia v/s Paso por Valor
Paso por Referencia v/s Paso por Valor
Procedimientos y Funciones
String, arreglos y arreglos bidimensionales
Diego Hernández R. Archivos Diego Hernández R.
String, arreglos y arreglos bidimensionales
Transcripción de la presentación:

Sesión 13 Tipos de datos Estruturados Prof:Eridan Otto Programación de Computadores Lenguaje Pascal

Sesión 13: Tipos de datos Estruturados Programación de Computadores Lenguaje Pascal TEMARIO Tipos de datos Estruturados Búsqueda y ordenamiento en arreglos Bidimensionales

Problema simple: Suponer una matriz bidimensional de enteros ingresada previamente, desarrolle un procedimiento PASCAL que tenga como parámetros, la cantidad de filas, columnas y el número a buscar. Si lo encuentra, devuelva en parámetros por referencia la fila y la columna. Si no lo encuentra devuelva índices en –1. Sesión 13: Tipos de datos Estruturados: Búsqueda dentro de una matriz Programación de Computadores Lenguaje Pascal PROCEDURE buscamatriz(cntfil,cntcol,buscado:INTEGER;VAR fil,VAR col:INTEGER; arr:ARRAY[1..100,1..100] OF INTEGER); VAR i,j:INTEGER; BEGIN fil:=-1 col:=-1; FOR i:=1 TO cntfil DO FOR j:=1 TO cntcol DO IF arr[i,j]= buscado THEN BEGIN fil := i; col := j END;

Aplicación : Durante 31 días del mes de enero del año 2002 se midió la temperatura en grados celcius en la ciudad de Valparaíso en cada una de las 24 horas del día. Desarrolle un programa PASCAL que permita desarrollar las siguientes operaciones: Ingresar los valores de las temperaturas Indicar día y hora en que se registró temperatura más alta del mes y el día y hora en que se registró temperatura más baja del mes Indicar el día en que se registró la mayor diferencia de temperaturas extremas, es decir, la mayor diferencia entre la temperatura más alta y mas baja de entre todos los días. Solución: {defniciones} PROGRAM temperaturas; CONST dias= 31; horas=24; TYPE mediciones=ARRAY[1..dias,1..horas] OF REAL; VAR t:mediciones; i,j:INTEGER; temperatura_maxima,temperatura_minima:REAL; dia_temperatura_maxima,dia_temperatura_minima:REAL; hora_temperatura_maxima,hora_temperatura_minima:REAL; diferencia_temperatura,mayor_diferencia_temperatura,día_mayor_diferencia_temperatura:REAL Sesión 13: Tipos de datos Estruturados: Búsqueda dentro de una matriz Programación de Computadores Lenguaje Pascal

Solución: {ingreso de datos} BEGIN FOR i:= 1 TO dias DO FOR j:= 1 TO horas DO BEGIN WRITELN(Ingrese Temperatura del día:, i,a la hora:, j); READ(t[i,j]); END; Sesión 13: Tipos de datos Estruturados: Búsqueda dentro de una matriz Programación de Computadores Lenguaje Pascal

Solución: {mayor y menor temperaturas} temperatura_maxima:=-100 temperatura_minima:=100; FOR i:= 1 TO dias DO FOR j:= 1 TO horas DO BEGIN IF t[i,j] > temperatura_maxima THEN BEGIN temperatura_maxima := t[i,j]; dia_temperatura_maxima:=i; hora_temperatura_maxima:=j END; IF t[i,j] < temperatura_minima THEN BEGIN temperatura_minima := t[i,j]; dia_temperatura_minima :=i; hora_temperatura_minima :=j END; WRITE(Día de máxima Temperatura :, dia_temperatura_maxima); WRITELN( a la hora:, hora_temperatura_maxima); WRITE(Día de mínima Temperatura :, dia_temperatura_minima ); WRITELN( a la hora:, hora_temperatura_minima ); Sesión 13: Tipos de datos Estruturados: Búsqueda dentro de una matriz Programación de Computadores Lenguaje Pascal

Solución: {máxima diferencia de temperaturas extremas} mayor_diferencia_temperatura:=0; FOR i:= 1 TO dias DO BEGIN temperatura_maxima:=-100 temperatura_minima:=100; FOR j:= 1 TO horas DO BEGIN IF t[i,j] > temperatura_maxima THEN temperatura_maxima := t[i,j]; IF t[i,j] < temperatura_minima THEN temperatura_minima := t[i,j] END; diferencia_temperatura:= temperatura_maxima - temperatura_minima IF diferencia_temperatura > mayor_diferencia_temperatura THEN BEGIN mayor_diferencia_temperatura:= diferencia_temperatura; día_mayor_diferencia_temperatura:=i; END END; WRITE(Día con mayor diferencia de Temperatura :, día_mayor_diferencia_temperatura); END. {programa} Sesión 13: Tipos de datos Estruturados: Búsqueda dentro de una matriz Programación de Computadores Lenguaje Pascal

Sesión 13: Tipos de datos Estruturados: Ordenamiento Programación de Computadores Lenguaje Pascal Problema: ordenar un arreglo bidimensional; Ejemplo Ascendente

Sesión 13: Tipos de datos Estruturados: Ordenamiento Programación de Computadores Lenguaje Pascal Problema: se procede a ordenar; PROCEDURE ordena(VAR numeros :ARRAY[1..100,1..100] OF INTEGER; cntcol,cntfil:INTEGER); VAR topei,topej,buscai,buscaj:INTEGER; BEGIN FOR topei:=1 TO cntfil DO FOR topej:=1 TO cntcol -1 DO BEGIN buscai:=topei; FOR buscaj:=topej+1 TO cntcol DO IF (numeros[buscai,buscaj]<numeros[topei,topej]) THEN intercambio(numeros,topei,topej,buscai,buscaj); FOR buscai :=topei +1 TO cntfil DO FOR buscaj:=1 TO cntcol DO IF (numeros[buscai,buscaj]<numeros[topei,topej]) THEN intercambio(numeros,topei,topej,buscai,buscaj) END END;

Sesión 13: Tipos de datos Estruturados: Ordenamiento Programación de Computadores Lenguaje Pascal PROCEDURE intercambio(VAR numeros: ARRAY[1..100,1..100] OF INTEGER; topei,topej,buscai,buscaj,cntfil:INTEGER); VAR pivote:INTEGER; BEGIN pivote:=numeros[topei,topej]; numeros[topei,topej]:=numeros[buscai,buscaj] numeros[buscai,buscaj]= pivote; END;

Fin Clase 13