Tipos de Datos Básicos y Estructurados

Slides:



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

DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
Abstracción de Datos Arrays.
Funciones y recursividad
Unidad 5 Listas Enlazadas Bibliografía: Algoritmos y Estructuras de datos de Aguilar y Martinez. Unidad 9 Autor: Ing Rolando Simon Titiosky.
Listas enlazadas c++ Prof. Franklin Cedeño.
Repaso para la construcción del intérprete 2012
Clase 3: Punteros y Referencias
Programación I Teoría III
Programación, Algoritmos y Estructuras de Datos
Direcciones, Arreglos y Argumentos de Funciones
Estructuras de datos. Programación, Algoritmos y Estructuras de Datos.
Funciones. Programación, Algoritmos y Estructuras de Datos.
Punteros Universidad Nacional Mayor de San Marcos
INFORMATICA I Arreglos 1 CLASE 17.
INFORMATICA I Arreglos 2 CLASE 18.
Tema 1. Introducción a la programación (Lenguaje java).
Funcionamiento, programación
Estructuras Compuestas.
Ismael Camarero1. 2 ¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria.
Primer cuatrimestre de 2011 Pablo A. García
Arreglos Ing. Nahiby Castillo.
VECTORES.
Unidad 3 Punteros.
Herramientas para el acceso directo a memoria en C++
¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No.
Vectores en java.

Diseño de algoritmos “Punteros”
Tema 9 Estructuras.
Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays.
Introducción a los punteros
Arreglos.
Capítulo 5. Punteros y Cadenas de Caracteres
UNIDAD V Arreglos y Cadenas
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
APUNTADORES EN C. MENU DEL DIA Repaso clase anterior Apuntadores. Eso pa que? Solución al problema: Funciones. Ventajas de trabajar un programa usando.
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
 2003 Prentice Hall, Inc. All rights reserved. 1 Capítulo 4 - Arrays Índice del Capítulo 4.1Introducción 4.2Arrays 4.3Declaración de Arrays 4.4Ejemplos.
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Clase 10: Estructuras de datos y arreglos.
Descomposición Modular. Funciones
Estructura de Datos y Algoritmos
Unidad VI Registros (estructuras, uniones y enumeraciones)
PUNTEROS Ing Anghello Quintero.
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
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
Listas Ligadas Simples. Definíción I  Es, en sencillas palabras. un grupo de datos organizados secuencialmente, pero a diferencia de los arreglos, la.
PUNTEROS Y REFERENCIAS
APUNTADORES.
Computación II Capitulo VII Punteros. Presentación de la unidad Objetivos: –Ser capaces de utilizar punteros. –Comprender las relaciones entre punteros,
Capitulo 4 Arreglos o Arrays Unidimensionales Bidimensionales Strings
LENGUAJE “C” Programación.
ARREGLOS (arrays).
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Arreglos: Vectores Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
MEMORIA DINÁMICA.
PUNTEROS. Los punteros son de amplia utilización en programación y muchos lenguajes permiten la manipulación directa o indirecta de los mismos. Su razón.
ESTRUCTURAS DE DATOS “Conceptualización de estructuras de datos” Por: Eduardo Robayo.
Tema 1. Estructuras de datos Objetivo: Objetivo: El alumno resolverá problemas de almacenamiento, recuperación y ordenamiento de datos y las técnicas de.
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
Introducción al Lenguaje C (I) Tipos básicos, arrays y punteros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
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.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-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:

Tipos de Datos Básicos y Estructurados Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 4. Tema: Punteros y Arreglos. Tipos de Datos Básicos y Estructurados Enteros Reales Caracteres Numéricos Datos Básicos Datos Derivados Puntero Estáticos Arreglos Internos Datos Estructurados Listas, Pila, Cola Árbol. Dinámicos Externos Ficheros Primer cuatrimestre de 2011 Pablo A. García

Tipos de Datos Básicos y Estructurados Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 4. Tema: Punteros y Arreglos. Tipos de Datos Básicos y Estructurados Enteros Reales Caracteres Numéricos Datos Básicos Datos Derivados Puntero Estáticos Arreglos Internos Datos Estructurados Listas, Pila, Cola Árbol. Dinámicos Externos Ficheros Primer cuatrimestre de 2011 Pablo A. García

Primer cuatrimestre de 2011 Pablo A. García Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 4. Tema: Punteros y Arreglos. Punteros Introducción: el puntero es una de las características más poderosas del lenguaje de programación C y también una de las capacidades más difíciles de dominar. Los punteros nos permiten simular llamadas por referencia, crear y manipular estructuras de datos. Definición: (según Deitel y Deitel) Los punteros son variables que contienen direcciones de memoria como sus valores. Por lo general una variable contiene directamente un valor específico. Un puntero contiene la dirección de una variable que contiene un valor específico. En este sentido, un nombre de variable se refiere “directamente” a un valor y un puntero se refiere “indirectamente” a un valor. Primer cuatrimestre de 2011 Pablo A. García

Primer cuatrimestre de 2011 Pablo A. García Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 4. Tema: Punteros y Arreglos. Declaración: int * ptr; & es un operador que regresa int a; la dirección de su operando. a=7; ptr=&a; Un puntero puede ser inicializado a 0, NULL o a una dirección. Un apuntador con valor NULL no apunta a nada. Ponerlo a 0 es igual a NULL, pero se prefiere NULL. La representación del puntero en memoria sería: El operador * se conoce como “el operador de indirección o de desreferencia”, y nos retorna El valor del objeto hacia el cual su operando apunta. Por ejemplo: printf(“%d”, *ptr); /* Imprime el valor de la variable a, es decir, 7 */ ptr a 7 a ptr 0xFF0A 7 0xFF8C 0xFF0A Primer cuatrimestre de 2011 Pablo A. García

Primer cuatrimestre de 2011 Pablo A. García Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 4. Tema: Punteros y Arreglos. El especificador de formato %p dentro del printf extrae la dirección de memoria en formato Hexadecimal. Ejercicio ejemplificador (Problema 1 práctica 4): #include <stdio.h> int j, k; int *ptr; int main(void) { j = 1; k = 2; ptr = &k; printf("\n"); printf("j tiene el valor %d y está almacenado en %p\n",j,&j); printf("k tiene el valor %d y está almacenado en %p\n",k,&k); printf("ptr tiene el valor %p y está almacenado en %p\n",ptr,&ptr); printf("El valor del entero al que apunta ptr es %d\n", *ptr); return 0; } j 0x4080 1 ptr 0x40C0 0x40A0 k 0x40A0 2 Primer cuatrimestre de 2011 Pablo A. García

Primer cuatrimestre de 2011 Pablo A. García Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 4. Tema: Punteros y Arreglos. Arreglos Introducción: Los arreglos sirven como una introducción al tema de las estructuras de datos. Los arreglos o arrays son estructuras de datos formadas por elementos del mismo tipo. Una estructura de datos está formada por elementos relacionados por el mismo nombre pero de distintos tipos. Los arreglos y las estructuras son entidades estáticas debido a que conservan su tamaño durante la ejecución del programa. También existen las estructuras dinámicas de datos como son las listas, colas o pilas, que pueden crecer o encogerse durante la ejecución del programa [Deitel y Deitel]. ARREGLOS UNIDIMENSIONALES Definición: Colección de datos del mismo tipo que se referencian por un mismo nombre y que son almacenados en posiciones de memoria contiguas, donde la posición de memoria más baja corresponde al primer elemento o componente del arreglo. Los tipos de elementos almacenados en el arreglo pueden ser cualquier tipo de dato de C. Ejemplos de arreglos: Un listado telefónico. la edad de los alumnos de una clase las temperaturas de cada día de un mes de una ciudad, etc. Primer cuatrimestre de 2011 Pablo A. García

Primer cuatrimestre de 2011 Pablo A. García Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 4. Tema: Punteros y Arreglos. Como declarar los arreglos: Los arreglos ocupan espacio en memoria. El programador especifica el tipo de cada elemento y el número de elementos para cada arreglo para que la PC pueda reservar la memoria necesaria. Para indicarle a la PC que reserve 6 elementos para el arreglo entero C hacemos: int c[6]; Otros arreglos pueden ser: char b[10]; o float a[1000]; C: Nombre del arreglo. El número de posición que aparece dentro de los corchetes Se conoce como “subíndice del arreglo”. El subíndice puede ser un entero o una expresión entera: C[0]=-45; C[2]=0; C[a+b]+=2; /* C[4]= C[4]+2; C[4]=1545; */ Por ejemplo: para imprimir la suma de los 3 primeros elementos del arreglo hacemos: printf( “%d”, C[0]+C[1]+C[2] ); C[0] -45 C[1] 6 C[2] C[3] 72 C[4] 1543 C[5] -89 Posición numérica del elemento dentro del arreglo Primer cuatrimestre de 2011 Pablo A. García

Primer cuatrimestre de 2011 Pablo A. García Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 4. Tema: Punteros y Arreglos. Ejemplo integrador usando un arreglo: en el siguiente programa usamos una estructura de repetición “for” para inicializar un arreglo de enteros con los primeros 10 números impares, e imprimimos el arreglo en forma tabular. /*Inicializamos el arreglo*/ #include<stdio.h> main() { int arreglo[10],i; for(i=0;i<=9;i++) arreglo[i]=2*i+1; printf("%s%10s\n","Subindice","Valor"); printf("%9d%10d\n",i,arreglo[i]); getchar(); return 0; } Primer cuatrimestre de 2011 Pablo A. García