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

Slides:



Advertisements
Presentaciones similares
IBD Curso 2007 Clase 2.
Advertisements

2.1.1 Definición. Un arreglo puede definirse como un grupo o una colección finita, homogénea y ordenada de elementos. Los arreglos pueden ser de los siguientes.
Compiladores e intérpretes Análisis Sintáctico II
Programación de Computadores
Sesión 13 Tipos de datos Estruturados Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Programación de Computadores
Programación de Computadores
2 Estructuras lineales.. Qué es una estructura? La estructura es una manera de conectar los valores y de manera automática conectarlos de manera que tengan.
Estructuras en C++ Roger Morera Fallas.
PROGRAMACIÓN.
Programación en Pascal
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.
Diseño y análisis de algoritmos
Metodología de la Programación
Descomponer un problema
MANEJO DE ARRAYS EN C.
Algoritmo y Estructura de Datos I
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.
Departamento de Informática Universidad Técnica Federico Santa María Tema 7: Subprogramas Programación de Computadores (IWI-131) Luis Pizarro Q.
Programación de Computadores
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.
Introducción a la Programación “Conceptos de Algoritmo”
PROCEDIMIENTOS FUNCIONES
EJEMPLO DEL TEMA 6 ARRAYS BIDIMENSIONALES. TEMA6: EJEMPLO ARRAYS BIDIMENSIONALES Consumo (C) y renta mensual (RM) de 100 familias (expresadas en 10 4.
COMPUTACION 2009 Clase 6 Clase 7.
Clase 10: Estructuras de datos y arreglos.
Agosto 2010Programación I - Tipo de Datos1 Programación I Prof. Adjunto: Lic. Jorge O. Scucimarri Universidad Nacional de Luján Licenciatura en Sistemas.
Tipos de Datos (Data Types)
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.
Resolución de Problemas y Algoritmos Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca - Argentina.
Introducción al lenguaje de programación SLE 2
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
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
Vectores y Matrices.
Departamento de Informática Universidad Técnica Federico Santa María Programación de Computadores (IWI-131) Luis Pizarro Q.
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:
Tema 8: Tipos de Datos Estructurados I
Elementos básicos del lenguaje
Vectores y Matrices.
Sesión 9 Subprogramas Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Tema 6: Estructuras de Control
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.
Registros Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
Programación de Computadores
Contenido:  ¿Qué son los Punteros?  Los Procedimientos: New y Dispose.
Visual Basic FUNCIONES Y PROCEDIMIENTOS
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.
Teoría de lenguajes y compiladores
Programación de Computadores
UNIVERSIDAD LATINA IV. CONSULTAS AVANZADAS CON BASES DE DATOS. E.I. L.E. Prof. Ramón Castro Liceaga.
Algorítmica y Programación
MODULA Lenguaje de Programación Anabel Martín González
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
Diego Hernández R Pascal Variables Diego Hernández R
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 17 Tipos de datos Estruturados Arreglos de Registros Prof:Eridan Otto Programación de Computadores Lenguaje Pascal

Sesión 17: Tipos de datos Estruturados Programación de Computadores Lenguaje Pascal TEMARIO Tipos de datos Estruturados Arreglos de Registros Ejercicios

Introducción: Toda la utilidad de manejar registros se aplica cuando se puede acceder a una gran cantidad de ellos. Una forma de hacerlo es creando arreglos de registros. Ejemplo: Una empresa puede querer manejar la información de todos sus empleados (N): Ficha_empleado RUT Nombre Edad SueldoBruto Como ya se vio en la clase anterior, es necesario definir el tipo de dato ficha_empleado que será un registro: CONST N=100; TYPE Ficha_empleado = RECORD RUT_e: INTEGER; RUT_dv:CHAR; nombre:String[60]; edad :INTEGER; sueldoBruto :REAL; END; Sesión 17: Tipos de datos Estruturados: Arreglo de Registros Programación de Computadores Lenguaje Pascal

{Se puede definir un tipo de dato para el arreglo} Lista_empleados= ARRAY [1..N] OF Ficha_empleado; VAR lista1: Lista_empleados; lista2: ARRAY [1..N] OF Ficha_empleado; {las dos definiciones son válidas, pero la primera puede ahorrar digitación, si se usan procedimientos y funciones} Los arreglos definidos así significan que lista 1 o lista 2 contienen hasta 100 elementos con la estructura de registro del empleado. Para acceder a un campo de un elemento del arreglo hay que usar índices como en todos los arreglos. [indice]. Para el ejemplo anterior, Se asigna el campo nombre y sueldo al primer elemento del arreglo:.... Lista1[1].nombre:=‘Juan Perez’ ; writeln(Lista1[1].nombre); {despliega Juan Perez en pantalla} Lista1[1].sueldoBruto := ; Sesión 17: Tipos de datos Estruturados: Arreglo de Registros Programación de Computadores Lenguaje Pascal

Ejercicio 1. Diseñe programa principal y sus definiciones considerando un arreglo de registros de tipo Ficha_empleado para luego desarrollar: Función que calcule el promedio de los sueldos Procedimiento que reajuste un porcentaje ingresado por el usuario a los sueldos bajo el promedio. Procedimiento que liste todos los datos de los empleados, una línea por empleado. Suponer el arreglo de 100 empleados ha sido ingresado. PROGRAM reajuste; CONST N=100; TYPE Ficha_empleado = RECORD RUT_e: INTEGER; RUT_dv:CHAR; nombre:String[60]; edad :INTEGER; sueldoBruto :REAL; END; Lista_empleados= ARRAY [1..N] OF Ficha_empleado; VAR lista: Lista_empleados; reajuste,promedio:REAL; {aquí van los procedimientos y funciones} BEGIN promedio:=promedioempresa(lista); reajuste:=leereajuste(); calculareajuste(lista,reajuste,promedio); listaempleados(lista); END; Sesión 17: Tipos de datos Estruturados: Arreglo de Registros Programación de Computadores Lenguaje Pascal

FUNCTION promedioempresa(lis: Lista_empleados):REAL; VAR acum:REAL; i :INTEGER; BEGIN acum:=0; FOR i:= 1 TO N DO acum:=acum+lis[i]. sueldoBruto; promedioempresa := acum/N; END; FUNCTION leereajuste():REAL; VAR aux:REAL; REPEAT WRITELN(‘Ingrece porcetaje reajuste <=10%); READLN(aux); UNTIL aux <= 10; leereajuste := aux/100; END; Sesión 17: Tipos de datos Estruturados: Arreglo de Registros Programación de Computadores Lenguaje Pascal

PROCEDURE calculareajuste(VAR lis: Lista_empleados; reajuste,promedio:REAL); VAR aux :REAL; i :INTEGER; BEGIN FOR i:= 1 TO N DO BEGIN aux :=0; IF (lis[i]. sueldoBruto < promedio) THEN aux:= lis[i]. sueldoBruto*reajuste; lis[i]. sueldoBruto := lis[i]. sueldoBruto + aux END END; PROCEDURE listaempleados(lis: Lista_empleados); VAR i :INTEGER; BEGIN WRITELN(‘RUT’:12,’Nombre’:60,’Edad’,’Sueldo’:15); FOR i:= 1 TO N DO BEGIN WRITE (lis[i].RUT_e); WRITE (lis[i].RUT_dv); WRITE (lis[i].nombre); WRITE (lis[i].edad); WRITE (lis[i].sueldoBruto) END END; Sesión 17: Tipos de datos Estruturados: Arreglo de Registros Programación de Computadores Lenguaje Pascal

Ejercicio 2. Rutee el siguiente programa, dado los siguientes datos de entrada:1,2,3,7,5,4,7,1,2,6 PROGRAM rutear; CONST max=5; TYPE coor = ARRAY[1..max] OF INTEGER; p = RECORD x,y: coor; END; VAR i: m: INTEGER; aux:p; BEGIN FOR i:= 1 TO max DO READ (aux.x[i], aux.y[i]); FOR i:= 1 TO max DO IF (i MOD 2 <> 0) AND (i<>max) THEN BEGIN m := aux.x[i]; aux.x[i] := aux.y[i+1]; aux.y[i+1] :=m; m := aux.y[i]; aux.y[i] := aux.x[i+1]; aux.x[i+1] :=m; END; FOR i:= 1 TO max DO WRITELN (aux.x[i], aux.y[i]); END. Sesión 17: Tipos de datos Estruturados: Arreglo de Registros Programación de Computadores Lenguaje Pascal

Ejercicio 3. Con el objeto de manejar información de impuesto a la renta que paga un grupo de personas se han definido los siguientes registros: TYPE persona = RECORD RUT : String[10]; nombre:String[45]; categoria :CHAR; sueldo :REAL; END; impuesto = RECORD categoria :CHAR; tasa :REAL; END; Desarrolle un programa pascal que permita realizar las siguientes operaciones: Ingresar los datos de 50 contribuyentes en un arreglo de registros de tipo persona denominado contribuyentes. Ingresar los datos de 10 categorías de impuesto en un arreglo de registros de tipo impuesto denominado escala. Generar el arreglo tributos, que contenga registros con la siguiente información de cada persona: Rut,nombre y monto de los impuestos a la renta que debe cancelar. Desplegar datos de mayor y menor contribuyente. Sesión 17: Tipos de datos Estruturados: Arreglo de Registros Programación de Computadores Lenguaje Pascal

Fin Clase 17