La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tipos de Datos Básicos y Estructurados

Presentaciones similares


Presentación del tema: "Tipos de Datos Básicos y Estructurados"— Transcripción de la presentación:

1 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 Pablo A. García

2 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 Pablo A. García

3 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 Pablo A. García

4 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 Pablo A. García

5 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 Pablo A. García

6 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 Pablo A. García

7 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 Pablo A. García

8 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 Pablo A. García


Descargar ppt "Tipos de Datos Básicos y Estructurados"

Presentaciones similares


Anuncios Google