Programación Técnica1UVM Tipos de Datos. Programación Técnica2UVM.

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
El lenguaje C Introducción.
Repaso para la construcción del intérprete 2012
Elementos básicos del Lenguaje
Fundamentos de la Programación Estructurada
Programación I Teoría III
Funciones. Programación, Algoritmos y Estructuras de Datos.
Tipos de Datos Básicos y Estructurados
Punteros Universidad Nacional Mayor de San Marcos
INFORMATICA I Arreglos 1 CLASE 17.
INFORMATICA I Arreglos 2 CLASE 18.
INFORMATICA I Funciones CLASE 13.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Programación Estructurada
ARREGLOS Estructuras de datos.
Unidad 3 Punteros.
Ingeniero Anyelo Quintero
Vectores en java.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
Diseño de algoritmos “Punteros”
LENGUAJE “C” Programación.
Semana 5 Subprogramas..
FUNCIONES EN C. SOBRE FUNCIONES... Caja negra in_1 in_N out_1 In_2 Función: Nombre. (Con el cual es invocada). Entradas. (Parámetros de la función). Salida.
Arreglos.
3.1 Declaración de tablas en C
Índice. Revisando conceptos acerca de la memoria.
Archivos.
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.
1 Chapter 12 Arrays Dale/Weems/Headington. 2 Chapter 12 Topics l Declaring and Using a One-Dimensional Array l Passing an Array as a Function Argument.
Descomposición Modular. Funciones
Unidad VI Registros (estructuras, uniones y enumeraciones)
Tipo de Datos Básicos.
El lenguaje de programación C - Identificadores y variables – Isidro González Caballero ( Introducción.
PUNTEROS Ing Anghello Quintero.
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
El lenguaje de programación C - Vectores y matrices -
El Lenguaje C++. Creación de programas simples de C++ Builder como ejercicios en C++. Los elementos de control fundamentales en C++, incluyendo operadores.
Elementos básicos del lenguaje
Programación en C para electrónicos
Punteros.
Elementos básicos del lenguaje
PUNTEROS Y REFERENCIAS
TÉCNICAS DE PROGRAMACIÓN Lenguaje C Apuntadores y arreglos.
Arreglos Bidimensionales Arreglos Multidimensionales.
Arreglos Computción.
1 Definición y Conversión de datos Agustín J. González ELO-329.
1 Algunas ideas básicas en C++ Agustín J. González ELO-329.
PROGRAMACIÓN MULTIMEDIA
1 Algunas ideas básicas de C++ Agustín J. González ELO-329.
Los punteros Programación modular.
Registros Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
Radio Volumen esfera m. m #include.
1 Algunas ideas básicas de C++ Agustín J. González ELO-329.
Empleando apuntadores una función puede entregar múltiples resultados / /Esta función no funciona #include void intercambiaValores(float a, float b) {
Fundamentos de Programación
1 TÉCNICAS DE PROGRAMACIÓN Lenguaje C Tercera Clase (Segunda de C)
Programación estructurada
Algoritmo.
PUNTEROS EN EL LENGUAJE C
Arreglos: Vectores Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
TÉCNICAS DE PROGRAMACIÓN Lenguaje C
Informática Ingeniería en Electrónica y Automática Industrial
MEMORIA DINÁMICA.
OBJETIVOS DEFINIR LA ESTRUCTURA DE ARREGLOS. DECLARAR ARREGLOS EN C.
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.
Transcripción de la presentación:

Programación Técnica1UVM Tipos de Datos

Programación Técnica2UVM

Programación Técnica3UVM 1.1 Objetivos El estudiante reconocerá los tipos definidos de datos e identificará qué es la abstracción de datos.

Programación Técnica4UVM 1.2 Temas a Cubrir Tipos de datos y tamaños Constantes Declaraciones Arreglos Estructuras Apuntadores

Programación Técnica5UVM 1.3 Tipos de datos y tamaños char int float double Calificadores: short long

Programación Técnica6UVM 1.4 Constantes 1234 (int) L (long) 1234U (unsigned int) 1234UL (unsigned long) F (float)

Programación Técnica7UVM Constantes Simbólicas #define nombre texto_dereemplazo #include #define LOWER 0 /* lower limit of table */ #define UPPER 300 /* upper limit */ #define STEP 20 /* step size */ /* print Fahrenheit-Celsius table */ main() { int fahr; for (fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP) printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr- 32)); }

Programación Técnica8UVM 1.5 Declaraciones int lower, upper, spep; char c; char line[100]; int i=0; int limit=MAXLINE+1; float eps=1.0e-5;

Programación Técnica9UVM Ejercicio: Escriba un programa en C que despliegue el tamaño en bytes de los siguientes tipos de datos

Programación Técnica10UVM 1.6 Arreglos Conjunto ordenado que contiene un número fijo de elementos (su dimensión) de cualquier tipo válido definido con la condición de que todos deben ser del mismo tipo.

Programación Técnica11UVM #include float data[5]; /* data to average and total */ float total; /* the total of the data items */ float average; /* average of the items */ int main() { data[0] = 34.0; data[1] = 27.0; data[2] = 45.0; data[3] = 82.0; data[4] = 22.0; total = data[0] + data[1] + data[2] + data[3] + data[4]; average = total / 5.0; printf("Total %f Average %f\n", total, average); return (0); }

Programación Técnica12UVM Arreglos Multidimensionales static char daytab[2][13] = { {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} }; daytab es un arreglo de 2 dimensiones. En C, un arreglo de 2 dimensiones es en realidad un arreglo de 1 dimensión, donde cada uno de sus elementos es un arreglo. Por lo tanto los subíndices se escribe; daytab[i][j] /* [row][col] */ En vez de daytab[i,j] /* EQUIVOCADO */

Programación Técnica13UVM static char daytab[2][13] = { {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} }; int day_of_year(int year, int month, int day) { int i, leap; leap = year%4 == 0 && year%100 != 0 || year%400 == 0; for (i = 1; i < month; i++) day += daytab[leap][i]; return day; }

Programación Técnica14UVM 1.7 Estructuras Una estructura es una colección de una o más variables, posiblemente de tipos diferentes, agrupadas bajo un mismo nombre para un manejo más conveniente

Programación Técnica15UVM struct point { int x; int y; }; struct point pt;

Programación Técnica16UVM structure-name.member printf("%d,%d", pt.x, pt.y); struct rect { struct point pt1; struct point pt2; }; struct rect screen; screen.pt1.x

Programación Técnica17UVM Ejemplo: struct Inventario { char Descripcion[15]; char PartNo[6]; int Cantidad; float Costo; float Precio; };

Programación Técnica18UVM struct Coleccion { char titulo [25]; char artista [20]; int numCanciones; Float precio; char FechaDeCompra[9]; } struct Colección cd1={"Yesterday","The Beatles",12,11.95,"08/13/93"};

Programación Técnica19UVM 1.7 Apuntadores Un apuntador es una variable que contiene la dirección de una variable p = &c; Se le asigna a c la dirección de la variable c. “p apunta a c”

Programación Técnica20UVM int x = 1, y = 2, z[10]; int *ip; /* ip es un apuntador a int */ ip = &x; /* ip apunta a x */ y = *ip; /* y es 1 */ *ip = 0; /* x es 0 */ ip = &z[0]; /* ip apunta a z[0] */

Programación Técnica21UVM Si ip apunta al entero x, entonces *ip puede aparecer en cuanquier contexto donde x pueda, por lo tanto: *ip = *ip + 10; incrementa *ip en 10 y = *ip + 1; toma a lo que ip apunta, le suma 1 y le asigna el resultado a y *ip += 1; Incrementa a lo que ip apunta al igual que: ++*ip; y (*ip)++;

Programación Técnica22UVM Apuntadores y argumentos de funciones void swap(int x, int y) { int temp; temp = x; x = y; y = temp; }

Programación Técnica23UVM void swap(int *px, int *py) { int temp; temp = *px; *px = *py; *py = temp; }

Programación Técnica24UVM Ejercicio: Escriba una función incrementa que reciba una variable entera (paso de parámetros por referencia) y la incremente en 1. Pruébela en un programa que mande llamar a incrementa 10 veces y despliegue el resultado.

Programación Técnica25UVM #include void incrementa(int *count_ptr) { (*count_ptr)++; } int main() { int count = 0; while (count < 10) incrementa(&count); return (0); }

Programación Técnica26UVM Apuntadores y arreglos int a[10];

Programación Técnica27UVM int *pa; pa = &a[0]; pa apunta al elemento 0 de a ; esto es, pa contiene la dirección de a[0].

Programación Técnica28UVM x = *pa; Copia el contenido de a[0] a x. Si pa apunta a un elemento particular de un arreglo, por definición pa+1 apunta al siguiente elemento, pa+i apunta i elementos después de pa, y pa-i apunta i elementos antes. Por lo tanto, si pa apunta a a[0], *(pa+1) se refiere al contenido de a[1], pa+i es la dirección de a[i], y *(pa+i) es el contenido de a[i].

Programación Técnica29UVM Tarea # 1 (entrega 24 Feb 2009) Hacer un programa en C que solicite la información de varios libros (título, autor, ISBN), lo guarde en un arreglo de estructuras y al final despliegue la información de los libros capturados.