Registros Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

PROGRAMACIÓN EN C.
Abstracción de Datos Arrays.
Instrucciones Básicas Entrada de Información
Fundamentos de Programación I Agradecimientos al Ing. Namuel Solórzano Peralta por el contenido de esta presentación.
Listas enlazadas c++ Prof. Franklin Cedeño.
Ing. Eduard Antonio Lozano Córdoba
Repaso para la construcción del intérprete 2012
Fundamentos de la Programación Estructurada
Programación I Teoría III
Direcciones, Arreglos y Argumentos de Funciones
Estructuras de datos. Programación, Algoritmos y Estructuras de Datos.
Tipos de Datos Básicos y Estructurados
ESTRUCTURAS DE DATOS.
INFORMATICA I Arreglos 1 CLASE 17.
ARREGLOS y MATRICES UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
III. DISEÑO DE ALGORITMOS PARA LA SOLUCIÓN DE PROBLEMAS.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Introducción al lenguaje C++
VECTORES.
ESTRUCTURAS DE SECUENCIA
Unidad 3 Punteros.
Vectores en java.
Diseño de algoritmos “Estructuras”
Tema 9 Estructuras.
Paso de Vectores como Parámetros
LENGUAJE “C” Programación.
Introducción a la Computación
UNIDAD V Arreglos y Cadenas
Informática Ingeniería en Electrónica y Automática Industrial
Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I.
Índice. Revisando conceptos acerca de la memoria.
Estructuras.
1 3Tablas o matrices 3.1. Concepto Las tablas corresponden al concepto matemático de matriz. Todos sus elementos deben ser del mismo tipo y se accede a.
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.
Clase 10: Estructuras de datos y arreglos.
Descomposición Modular. Funciones
Unidad VI Registros (estructuras, uniones y enumeraciones)
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
Elementos básicos del lenguaje
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Informática Ingeniería en Electrónica y Automática Industrial
Programación en C para electrónicos
Matrices Departamento de Computación Escuela de Ingeniería de Sistemas
Elementos básicos del lenguaje
PUNTEROS Y REFERENCIAS
Funciones Definidas por el Programador
Estructuras de Repetición (Hacer-Mientras)
Expresiones Lógicas Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
Matrices Prof. Flor Narciso Departamento de Computación
Estructuras de Repetición (Hacer-Mientras)
Sesión 2. Este algoritmo ordena un arreglo de forma ascendente o descendente comparando la casilla de arriba con la casilla consecutiva de abajo, utiliza.
Registros Departamento de Computación
Capitulo 4 Arreglos o Arrays Unidimensionales Bidimensionales Strings
Arreglos: Vectores Departamento de Computación
Tipos Básicos de Datos en C++
PRINCIPIOS DE PROGRAMACIÓN
COMPUTACIÓN I TEMA 9. Constructor de tipos: struct Definición de nuevos tipos: typedef. Arreglos de estructuras Prof. Mireya Morales.
Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular.
Arreglos: Vectores Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
Arreglos Ejemplo paso a paso. Planteamiento Como estudiante de ingeniería, quieres usar tus habilidades de programador para llevar un registro de tus.
Paso de Parámetros a una Función Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de.
Algorítmica y Programación
OBJETIVOS DEFINIR LA ESTRUCTURA DE ARREGLOS. DECLARAR ARREGLOS EN C.
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE INGENIERÍA COORDINACIÓN DE MATERIAS PROPEDÉUTICAS LICENCIATURA DE INGENIERÍA CIVIL ASIGNATURA: PROGRAMACIÓN.
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
3.6 Manejo de E/S Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos.
Computación I :: Prof. Yeniffer Peña Lenguaje C Presentación Computación I.
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE INGENIERÍA COORDINACIÓN DE MATERIAS PROPEDÉUTICAS INGENIERÍA EN SISTEMAS ENERGÉTICOS SUSTENTABLES.
Transcripción de la presentación:

Registros Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes

Tipos de Datos t Simples: Almacenan un solo valor (enteros, reales, caracteres, apuntadores, lógicos). t Compuestos o estructurados: Almacenan uno o mas valores (arreglos, registros, cadenas de caracteres).

Registro t Generalización del concepto de variable t Variable: Puede tener como máximo un valor. t Registro: Representa una colección de valores, llamados campos, lógicamente relacionados, donde cada uno puede tener un tipo diferente (estructura heterogénea).

Registros: Representación Gráfica Persona Nombre del registro Registro de 5 campos cuyo nombre es Persona

Registros: Notación Algorítmica Registro nombre_registro tipo_dato campo 1 tipo_dato campo 2 ……… tipo_dato campo n fin_registro

Registros: Notación Algorítmica Ejemplo Registro Empleado Cadena nombre Cadena CI entero num_dependientes real sueldo fin_registro

Registros: Definición en C++ t Para definir registros en C++ se utiliza la palabra struct. struct Empleado { char nombre[31]; // Vector de caracteres (cadena) char CI[10]; // Vector de caracteres (cadena) int num_dependientes; float sueldo; }

Cadenas de Caracteres t Una cadena de caracteres (string) es un conjunto de caracteres - incluido el blanco - que se almacenan en localidades contiguas de memoria. Se representa como un vector de caracteres. fecha char fecha[11];

Cadenas de Caracteres fecha Nota: El caracter ‘\0’ al final de la cadena es indispensable para indicar el fin de la cadena

Registros: Definición en C++ Ejemplo #define kMaxArtistaLong 50 #define kMaxTituloLong 50 struct CDInfo { short rating;// campo 1 char artista[ kMaxArtistaLong + 1 ]; // campo 2 char titulo[ kMaxTituloLong + 1 ]; // campo 3 };

Registros: Declaración en C++ Al declarar una variable de tipo registro (struct) se reserva un grupo de localidades consecutivas de memoria relacionadas por el hecho que tienen el mismo nombre y diferentes tipos.

Registros: Declaración en C++ t Una definición de tipo struct crea un tipo de datos nuevo. De la misma forma como usamos el tipo short o float para declarar una variable, podemos usar este nuevo tipo de datos para declarar una variable de tipo struct. struct CDInfo miInfo; En C++ se puede omitir la palabra struct. CDInfo miInfo;

Registros: Declaración en C++ miInfo Nombre de la variable Campos del registro CDInfo Valores de los campos

Registros: Acceso t Para tener acceso a los campos de una variable de tipo registro se utiliza el operador. Ejemplo miInfo.rating = 7; miInfo.artista = “Shakira”; miInfo.titulo = “Pies Descalzos”;

Registros: Ejemplo (1) struct ShortIntShort// Definicion del registro { short miShort1; int miInt; short miShort2; }; struct ShortIntShort var; // Declaración de la variable var

Registros: Ejemplo (1) var Acceso a los campos de la variable Representación gráfica de la variable

Registros: Ejemplo (2) #include struct baraja { char numero[8]; char pinta[7]; }; void main () { struct baraja a; a.numero[0] = ‘A’; a.numero[1] = ‘s’; anumero[2] = ‘\0’;// Caracter de fin de cadena cin >> a.pinta; cout << a.numero << “de” << a.pinta << endl; }

Registros: Ejemplo (2) a numeropinta Nota: El caracter ‘\0’ al final de la cadena es indispensable

Registros: Instrucciones Válidas t A.campo1 = 3; t X = A.campo4; t cin >> A.campo3; t cout << A.campo3; t A.campo1 = A.campo3; t Y = Suma (A.campo1, b, c); t b = A.campo6 / 2; Cada campo de una variable de tipo registro puede usarse como una variable cualquiera.

Registros: Inicialización struct Alumno { long nmat; char nombre[41]; }; struct Alumno alu1={76986, "Luis Perez"}, alu2 = { 67549, "Mikel Lasa"};

Registros: Ejemplo (3) Crear un vector de registros #include struct estudiante {// Definición de la estructura char nombre[30]; short nota1; short nota2; short nota3; short promedio; }; #define num 11 struct estudiante est[num]; // Declaración de un vector de // registros como una variable global

Registros: Ejemplo (3) Crear un vector de registros void LeerDatosPDI () { int k; for (k = 0; k < num; k++) { cout << “Nombre del estudiante:” << endl; cin >> est[k].nombre; cout << “Nota Parcial 1:” << endl; cin >> est[k].nota1; cout << “Nota Parcial 2:” << endl; cin >> est[k].nota2; cout << “Nota Parcial 3:” << endl; cin >> est[k].nota3; }

Registros: Ejemplo (3) Listar nombre de estudiantes con Parcial1 > 15 void Eximidos () { int k; cout << “Estudiantes eximidos” << endl; for (k = 0; k < num; k++) if (est[k].nota1 > 15) cout << est[k].nombre << endl; }

Registros: Ejemplo (3) Calcular el promedio de notas de cada estudiante void CalcularPromedio () { int k; for (k = 0; k < num; k++) est[k].promedio = (est[k].nota1 + est[k].nota2 + est[k].nota3)/3; }

Registros: Ejemplo (3) Escribir el promedio de notas de cada estudiante void EscribirPromedio () { int k; cout << “Nota promedio” << endl; for (k = 0; k < num; k++) cout << est[k].nombre << est[k].promedio << endl; }

Registros: Ejemplo (3) Programa Principal void main () { LeerDatosPDI (); Eximidos(); CalcularPromedio(); EscribirPromedio(); }

Registros: Paso de parámetros t Los registros pueden pasarse como parámetros a las funciones de la siguiente forma: –Un campo individual: por valor –La estructura completa: por valor –Un apuntador a la estructura: por referencia. Nota: Arreglos de estructuras son automáticamente pasados por referencia.

Ejercicios t Realizar el ejemplo tres pasando el vector de registros como parámetro a todos los procedimiento especificados. t Definir un registro AGENDA que contenga los siguientes campos: –Nombre –Direccion –Telefono –Celular –Correo electrónico –Fecha de nacimiento

Ejercicios t Una librería almacena la siguiente información sobre cada uno de sus libros: CODIGO, TITULO, AUTOR y PRECIO. Tomando en cuenta que la información debe estar almacenada en orden ascendente por los códigos de los libros, realizar un programa en C++ que realice lo siguiente: –Insertar información de nuevos libros, la cual debe mantenerse ordenada en todo momento. –Buscar registros por el campo código. –Buscar todos los libros escritos por un autor. –Borrar la información correspondiente a un libro.