Lenguaje C Estructuras y Variables definidas por el Usuario.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Lenguaje C Estructuras y Variables definidas por el Usuario."

Transcripción

1 Lenguaje C Estructuras y Variables definidas por el Usuario. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

2 Qué es una Estructura? En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos que serían muy difícil de describir en los tipos de datos primitivos, esta es la situación en la que debemos aprovecharnos de las características que hacen al lenguaje C especial, o sea el uso de estructuras uniones y punteros.

3 Cómo se declaran las estructuras? Una estructura contiene varios datos. La forma de definir una estructura es haciendo uso de la palabra clave struct. struct mystruct { int int_member; double double_member; char string_member[25]; } variable; "Variable" es una instancia de "mystruct" y no es necesario ponerla aquí. Se podría omitir de la declaración de "mystruct" y más tarde declararla usando: struct mystruct variable;

4 Ejemplo #include<stdio.h> #include<string.h> struct Planeta{ char Nombre[20]; double Posicion[3]; double Masa; }; void Print(struct Planeta *p){ printf("planeta:\n"); printf("nombre:%s\n",p->nombre); printf("posicion: (%.2lf, %.2lf, %.2lf)\n",p->Posicion[0],p->Posicion[1],p->Posicion[2]); printf("masa: %.2lf \n",p->masa); } int main(int argc,char *argv[]){ struct Planeta Tierra; strcpy(tierra.nombre,"tierra"); Tierra.Posicion[0]=10e3; Tierra.Posicion[1]=1.2e2; Tierra.Posicion[2]=1.8e4; Tierra.Masa=312e11; Print(&Tierra); }

5 Punteros a estructuras Al igual que la mayoría de los tipos de datos en C, las estructuras pueden contener punteros y a su vez ser un puntero. Cuando se accede a un dato de tipo struct que no es punto se accede a través del opreador punto (Planeta.Nombre), pero cuendo la variable es puntero se accede con el operador (-> Planeta->Nombre ). Ver ejemplo anterior.

6 Estructuras Anidadas y Arrays de estructuras. Una estructura anidada es una estructura que a su vez contiene otra estructura como variable, esto es posible ya que la estructura creada por nosotros para a ser un tipo de datos mas en el sistema. Al igual que podemos trabajar con punteros de estructuras, podemos trabajar con arrays de estructuras, esto nos permite tener en una sola variable un conjunto de estructuras.

7 Tipos enum y redefinición de tipos con typedef Una enumeracion (enum) es un tipo definido con constante de tipo entero. En la declaracion de un tipo enum creamos una lista de tipo de datos que se asocian con las constantes enteras. Su función es asignar un nombre alternativo a tipos existentes, a menudo cuando su declaración normal es aparatosa, potencialmente confusa o probablemente variable de una implementación a otra. Ver Ejemplo completo a acontinuación.

8 Ejemplo #include<stdio.h> #include<string.h> #include<malloc.h> //en mac stdlib.h para funciones de alocacion de memoria enum ParticulaTipo {Electron=1,Proton=2,Neutron}; struct Particula{ int Tipo; int NivelOrbital; }; typedef struct Particula Particula; struct Atomo{ char Nombre[20]; Particula *Particulas; int nroparticulas; }; typedef struct Atomo Atomo; int main(int argc,char *argv[]){ Atomo helio; strcpy(helio.nombre,"helio"); Particula electron; Particula neutron; Particula proton; electron.tipo = Electron; electron.nivelorbital = 1; neutron.tipo = Neutron; neutron.nivelorbital = -1;//no aplica proton.tipo = Proton; proton.nivelorbital = -1; helio.particulas=malloc(sizeof(particula)*5); helio.particulas[0]=electron; helio.particulas[1]=neutron; helio.particulas[2]=neutron; helio.particulas[3]=proton; helio.particulas[4]=proton; helio.nroparticulas = 5; }

9 Ejercicio Basados en el código anterior, y tomando como ayuda el primer ejemplo, hacer una función que imprima cualquier átomo en los términos en los que los definimos.

10 Estructuras con Funciones Internas. Como ya hemos visto en sesiones anteriores las funciones se pueden representar a través de sus prototipos como punteros, valiéndonos de esta propiedad, podríamos declarar variables de este tipo dentro de una estructura y luego asignarlas para que algunas de las variables internas de los objetos a estructura sean funciones. Veamos el siguiente ejemplo:

11 Ejemplo #include<math.h> #include<stdio.h> typedef double (*fun)(double); struct funciones_trigonometricas{ double (*seno)(double); double (*coseno)(double); double (*tangente)(double); }ft = {sin,cos,tan}; //metodo dos struct funciones_trigonometricas_inversas{ fun funciones[3]; }fti = {{asin,acos,atan}}; int main(int argc,char *argv[]){ printf("seno de seno(pi) %lf\n",ft.seno(m_pi)); printf("seno de seno inverso de 0.5 %lf\n",fti.funciones[0](1)); }

12 Ejercicios Hacer una estructura que contenga la información del sistema solar incluyendo las lunas de los planetas. Note que la jerarquía sería estructura tipo estrella que contiene planetas y planetas que contienen lunas, eso sería una triple anidación de estructuras.

13 Referencias

Tema 2: Lenguajes de Programación de Sistemas: C

Tema 2: Lenguajes de Programación de Sistemas: C Tema 2: Lenguajes de Programación de Sistemas: C SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla

Más detalles

Índice. Estructuras de datos en Memoria Principal. Vectores. Matrices. Cadenas de caracteres. Estructuras. Estructuras de datos en Memoria Externa

Índice. Estructuras de datos en Memoria Principal. Vectores. Matrices. Cadenas de caracteres. Estructuras. Estructuras de datos en Memoria Externa Índice Estructuras de datos en Memoria Principal Vectores Matrices Cadenas de caracteres Estructuras Estructuras de datos en Memoria Externa Ficheros Tema: Estructuras de Datos 2 Estructuras Una estructura

Más detalles

TEMA 8. ESTRUCTURAS Y UNIONES.

TEMA 8. ESTRUCTURAS Y UNIONES. TEMA 8. ESTRUCTURAS Y UNIONES. Este capítulo examina estructuras, uniones, enumeraciones y s definidos por el usuario que permite a un programador crear nuevos s de datos. La capacidad para crear nuevos

Más detalles

Un registro o estructura es un conjunto de n elementos heterogéneos que están agrupados bajo un único nombre (en una sola variable).

Un registro o estructura es un conjunto de n elementos heterogéneos que están agrupados bajo un único nombre (en una sola variable). Al momento de resolver un problema y codificar un programa a menudo se requiere agrupar y manipular datos de distinto tipo (estructurarlos para operar sobre ellos) de una manera sencilla y eficiente. Un

Más detalles

Unidad IV Arreglos y estructuras. M.C. Juan Carlos Olivares Rojas

Unidad IV Arreglos y estructuras. M.C. Juan Carlos Olivares Rojas Unidad IV Arreglos y estructuras M.C. Juan Carlos Olivares Rojas 4.1 Concepto de arreglo Agenda 4.2 Manejo de cadenas 4.3 Concepto de estructuras 4.4 Concepto de unión 4.5 Empleo de apuntadores 4.1 Concepto

Más detalles

Apuntadores en C y C++

Apuntadores en C y C++ Apuntadores en C y C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Prof. Marcos A. Gil T. 8 de diciembre de 2004 1. Introducción Los apuntadores en C y C++ son una herramienta

Más detalles

Tema 6: Memoria dinámica

Tema 6: Memoria dinámica : Programación 2 Curso 2013-2014 Índice 1 2 3 El tamaño es fijo y se conoce al implementar el programa Declaración de variables int i=0; char c; float vf[3]={1.0, 2.0, 3.0}; i c vf[0] vf[1] vf[2] 0 1.0

Más detalles

REPRESENTACIÓN DE DATOS

REPRESENTACIÓN DE DATOS REPRESENTACIÓN DE DATOS Tipos de datos primitivos Tipos de Datos Estructurados TIPOS DE DATOS SIMPLES O PRIMITIVOS Dato Longitud Rango 2 TIPOS DE DATOS SIMPLES O PRIMITIVOS Surgen de la necesidad de tener

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

Más detalles

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos 1.1 Tipos de Datos Primitivos 1.2 Tipos de datos estructurados 1.2.1 Arreglos unidimensionales, bidimensionales y cadenas de caracteres 1.2.2 Registros o Estructuras (unión y estructura) 1.3 Definición

Más detalles

Punteros. Programación en C 1

Punteros. Programación en C 1 Punteros Programación en C 1 Índice Variables y direcciones de memoria. Punteros definición, declaración e inicialización. Punteros declaración, asignación y dereferencia. Puntero nulo, tipo void. Aritmética

Más detalles

4. Estructuras (registros) Programación II, FCFM, BUAP

4. Estructuras (registros) Programación II, FCFM, BUAP 4. Estructuras (registros) Programación II, FCFM, BUAP Son colecciones de variables relacionadas bajo un nombre. Permiten agrupar variables del mismo o diferente tipo, bajo un mismo nombre. Inclusive puede

Más detalles

Laboratorio de Arquitectura de Redes. Datos en lenguaje C

Laboratorio de Arquitectura de Redes. Datos en lenguaje C Laboratorio de Arquitectura de Redes Datos en lenguaje C Datos en lenguaje C Introducción Tipos de datos básicos y modificadores Tipos de datos enteros Tipos de datos reales Tamaño y rango de los datos

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial V1.1 Informática Ingeniería en Electrónica y Automática Industrial Datos en lenguaje C Datos en lenguaje C Introducción Tipos de datos básicos y modificadores Tipos de datos enteros Tipos de datos reales

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Datos en lenguaje C V1.1 Datos en lenguaje C Introducción Tipos de datos básicos y modificadores Tipos de datos enteros Tipos de datos reales

Más detalles

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Unidad V. Ya veremos qué poner en algunas_palabras y algo_más, por ahora sigamos un poco más. Implementación Orientada a Objetos. Unidad V 5.1 Estructura de una clase. Una clase consiste en: algunas_palabras class nombre_de_la_clase [algo_más] { [lista_de_atributos] [lista_de_métodos] Lo que está

Más detalles

Conceptos Básicos. Programación

Conceptos Básicos. Programación Conceptos Básicos Programación Introducción Lenguaje. Código Máquina. Lenguajes de alto nivel. Criterios clasificación Nivel de abstracción. Propósito. Evolución histórica. Manera de ejecutarse. Paradigma

Más detalles

Para crear un arreglo de cualquier tipo de elementos la sintaxis es:

Para crear un arreglo de cualquier tipo de elementos la sintaxis es: Arreglos (arrays) Un arreglo es una estructura de datos homogénea o conjunto de elementos del mismo tipo. En Java se pueden manejar arreglos de elementos de tipo primitivo (8 tipos primitivos hay en Java)

Más detalles

Tema 10: Tipos de datos definidos por el usuario

Tema 10: Tipos de datos definidos por el usuario Tema 10: Tipos de datos definidos por el usuario Indice 1. Introducción 2. Registros 2.1. Elementos de un registro 2.2 Arrays de registros 2.3. Registros con arrays 2.4. Registros con registros 2.5. Paso

Más detalles

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Lenguaje C Funciones Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Qué es una función o rutina/subrutina? Se presenta como un subalgoritmo

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Punteros. Índice. 1. Qué es un puntero y por que son importantes.

Punteros. Índice. 1. Qué es un puntero y por que son importantes. Punteros Índice 1. Qué es un puntero y por que son importantes. 2. Punteros a tipos básicos. 3. Punteros sin tipo. 4. Memoria dinámica. 5. Punteros a estructuras. 6. Punteros a matrices. 7. Punteros a

Más detalles

Definición de estructuras. Estructuras, uniones y enumeraciones. Declaración. Definición y declaración. (struct, union y enum)

Definición de estructuras. Estructuras, uniones y enumeraciones. Declaración. Definición y declaración. (struct, union y enum) Estructuras, uniones y enumeraciones (struct, union y enum) Definición de estructuras Una Estructura es una colección de variables simples (como int x; char cad[30]; etc), que pueden contener diferentes

Más detalles

XDR: Estándar de Representación Externa de Datos

XDR: Estándar de Representación Externa de Datos RFC1832 Agosto 1995 (resumido por Juan A. Ternero) XDR: Estándar de Representación Externa de Datos 1. INTRODUCCIÓN XDR es un estándar para la descripción y representación de datos. XDR usa un lenguaje

Más detalles

Programación I Funciones

Programación I Funciones 1 Funciones Iván Cantador 2 Funciones: definición, sintaxis, ejemplos (I) Una funciónes un bloque de sentencias identificado con un nombre que se ejecutan de manera secuencial ofreciendo una funcionalidad

Más detalles

Programación estructurada (Introducción a lenguaje C)

Programación estructurada (Introducción a lenguaje C) Programación estructurada (Introducción a lenguaje C) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada

Más detalles

Estructuras y Uniones

Estructuras y Uniones 1 Estructuras y Uniones Estructuras. Las estructuras ( struct ) son agrupaciones de una o más variables de tipos posiblemente diferentes, agrupadas bajo un mismo nombre. Esto permite un manejo más cómodo

Más detalles

Clases y Objetos en C++

Clases y Objetos en C++ Informática II Clases y Objetos en C++ Introducción Las variables de los tipos fundamentales de datos no son suficientes para modelar adecuadamente objetos del mundo real. alto, ancho y longitud para representar

Más detalles

ESTRUCTURA DE DATOS. Memoria estática Memoria dinámica Tipo puntero Declaración de punteros Gestión de memoria dinámica Resumen ejemplo

ESTRUCTURA DE DATOS. Memoria estática Memoria dinámica Tipo puntero Declaración de punteros Gestión de memoria dinámica Resumen ejemplo ESTRUCTURA DE DATOS Memoria estática Memoria dinámica Tipo puntero Declaración de punteros Gestión de memoria dinámica Resumen ejemplo DATOS ESTÁTICOS Su tamaño y forma es constante durante la ejecución

Más detalles

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 1: Punteros Objetivos Se hará hincapié en la aritmética de punteros

Más detalles

El lenguaje C. 1. Estructuras. Principios de Programación. 1.1. Definicion de estructuras

El lenguaje C. 1. Estructuras. Principios de Programación. 1.1. Definicion de estructuras Principios de Programación El lenguaje C 1. Estructuras Las estructuras son colecciones de variables relacionadas bajo un nombre. Las estructuras pueden contener variables de muchos tipos diferentes de

Más detalles

UNIDAD 4 ESTRUCTURAS Y UNIONES

UNIDAD 4 ESTRUCTURAS Y UNIONES UNIDAD 4 ESTRUCTURAS Y UNIONES Programación Primavera 2010 Contenido Definición de estructura Procesamiento de una estructura Tipos de datos definidos por el usuario (typedef) Estructuras y apuntadores

Más detalles

TIPOS DE DATOS DEFINIDOS POR EL PROGRAMADOR: Estructuras CONTENIDOS

TIPOS DE DATOS DEFINIDOS POR EL PROGRAMADOR: Estructuras CONTENIDOS ESTRUCTURAS CONTENIDOS 1. Concepto de estructura 2. Definición del tipo de dato estructura 3. Declaración de variables de tipo estructura 4. Inicialización de variables de tipo estructura 5. Acceso a los

Más detalles

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C Laboratorio de Arquitectura de Redes Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones con punteros Operaciones

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 2

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 2 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 2 Contenidos: 1. Punteros 2. Arrays 3. Estructuras (registros) y uniones 4. Funciones Ejercicios Algoritmos y

Más detalles

Punteros. Lenguaje C ANSI

Punteros. Lenguaje C ANSI Punteros. Lenguaje C ANSI 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 hay que confundir una dirección

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN

FUNDAMENTOS DE PROGRAMACIÓN Universidad Nacional de Entre Ríos Facultad de Ingeniería Departamento de Informática FUNDAMENTOS DE PROGRAMACIÓN UNIDAD 5 ARREGLOS ESTÁTICOS Y ESTRUCTURAS Unidad 5 2 Introducción En esta unidad aprenderemos

Más detalles

INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C

INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C Programación en Entornos Multitarea Curso 2006/2007 Introducción C: lenguaje de medio nivel 32 palabras clave Eficiencia de ejecución del código generado Portabilidad

Más detalles

TEMA 8: Gestión dinámica de memoria

TEMA 8: Gestión dinámica de memoria TEMA 8: Gestión dinámica de memoria 8.1.-Tipo de datos puntero Hasta ahora, los tipos de datos que hemos visto (a excepción de strings y ficheros) eran estructuras de datos estáticas, es decir, estructuras

Más detalles

TEMA 7. ARRAYS (LISTAS Y TABLAS).

TEMA 7. ARRAYS (LISTAS Y TABLAS). TEMA 7. ARRAYS (LISTAS Y TABLAS). En capítulos anteriores se han descrito las características de los tipos de datos básicos o simples (carácter, entero y coma flotante). Asimismo, se ha aprendido a definir

Más detalles

Algoritmos y Programación I

Algoritmos y Programación I Algoritmos y Programación I ARREGLOS Y ESTRUCTURAS EN C Arreglos Un arreglo o vector es un conjunto de datos del mismo tipo, almacenados de forma contigua (es decir uno al lado del otro) en memoria principal.

Más detalles

Tema 16: Tipos de datos estructurados en lenguaje C

Tema 16: Tipos de datos estructurados en lenguaje C Tema 16: Tipos de datos estructurados en lenguaje C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Programación I Unidad III. Tema: Tipos, estructuras y uniones

Programación I Unidad III. Tema: Tipos, estructuras y uniones Programación I Unidad III Tema: Tipos, estructuras y uniones El especificador typedef La palabra reservada typedef representa un especificador de clase de almacenamiento, y se utiliza para definir nuevos

Más detalles

Introducción a C++ y Code::Blocks

Introducción a C++ y Code::Blocks Introducción a C++ y Práctica Imperativo Clase 1 Luis Agustín Nieto Departamento de Computación, FCEyN,Universidad de Buenos Aires. 28 de mayo de 2010 Menu de esta Tarde Funcional Vs. Imperativo (Intérprete

Más detalles

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org>

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org> El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por

Más detalles

Programación 1 Grado de Ingeniería Robótica

Programación 1 Grado de Ingeniería Robótica Programación 1 Grado de Ingeniería Robótica Tema 6: Datos estructurados Índice (sesión 11/11/2015): Arrays estáticos Cadenas de caracteres Funciones de la librería string.h Punteros Declaración de punteros

Más detalles

07 - Tipos de datos definidos por el programador. Diego Andrés Alvarez Marín Profesor Asociado Universidad Nacional de Colombia Sede Manizales

07 - Tipos de datos definidos por el programador. Diego Andrés Alvarez Marín Profesor Asociado Universidad Nacional de Colombia Sede Manizales 07 - Tipos de datos definidos por el programador Diego Andrés Alvarez Marín Profesor Asociado Universidad Nacional de Colombia Sede Manizales 1 Temario Definición de tipos (typedef) Estructuras (struct)

Más detalles

Programación Estructurada. Sesión 2:El lenguaje de programación C

Programación Estructurada. Sesión 2:El lenguaje de programación C Programación Estructurada Sesión 2:El lenguaje de programación C Contextualización Una parte importante del lenguaje C son las palabras reservadas, son identificadores con un significado predefinido. Estas

Más detalles

Tipos de Datos Estructurados

Tipos de Datos Estructurados - Unidad 3 Tipos de Datos Estructurados 1 Tipos de Datos Compuestos en C 2 Arreglos (1) Un arreglo (array) una colección homogénea de datos simples ó compuestos, que se referencian con un nombre comú,

Más detalles

Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C

Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS Departamento de Ciencias de la Computación e IA Subprogramas en C Objetivo Una vez que tengamos un programa que resuelva un problema concreto, ser capaces de usarlo

Más detalles

Informática I para Bachillerato

Informática I para Bachillerato CIMAT C++ C/C++ de Datos CIMAT Sesión 15 Una estructura es un grupo de variables las cuales pueden ser de diferentes tipos sostenidas o mantenidas juntas en una sola unidad, a diferencia de los arreglos

Más detalles

Introducción a C. Grupo de Sistemas y Comunicaciones. Febrero 2008 C 1. Programación imperativa estructurada.

Introducción a C. Grupo de Sistemas y Comunicaciones. Febrero 2008 C 1. Programación imperativa estructurada. Grupo de Sistemas y Comunicaciones gsyc-profes@gsyc.es Febrero 2008 C 1 C Características: Programación imperativa estructurada. Relativamente de bajo nivel. Lenguaje simple, la funcionalidad está en las

Más detalles

int[] nombrearray1; int nombrearray2[];

int[] nombrearray1; int nombrearray2[]; USANDO ARREGLOS Y STRINGS Arrays unidimensionales Declaración En Java un array se declara de las siguientes formas: int[] nombrearray1; int nombrearray2[]; Ambas declaraciones son equivalentes. La primera

Más detalles

ESTRUCTURAS. Struct Identificador_ tipo_estructura { Tipo miembro_1; /*Declaración de los miembros*/

ESTRUCTURAS. Struct Identificador_ tipo_estructura { Tipo miembro_1; /*Declaración de los miembros*/ DECLARACION DE ESTRUCTURAS ESTRUCTURAS La estructura es una colección de variables, la cual puede poseer distintos tipos de datos (a diferencia de los arreglos que solamente pueden tener un solo tipo de

Más detalles

UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACIÓN UNIDAD IX. ESTRUCTURAS DE REGISTROS

UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACIÓN UNIDAD IX. ESTRUCTURAS DE REGISTROS UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACIÓN UNIDAD IX. ESTRUCTURAS DE REGISTROS CONTENIDO: Definición, declaración y acceso Estructura y arreglos Ejercicios Resueltos Referencias Bibliográficas UNIDAD

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones

Más detalles

PUNTEROS (Apuntadores)

PUNTEROS (Apuntadores) PUNTEROS (Apuntadores) Unidad III INTRODUCCIÓN A PUNTEROS. CONCEPTOS BÁSICOS. DECLARACIÓN DE PUNTEROS. PUNTEROS Como una colección de posiciones de memoria consecutivas. En ella se almacenan los distintos

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras de Datos Declaraciones Tipos de Datos Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación

Más detalles

Introducción general al Lenguaje C (2010/2011)

Introducción general al Lenguaje C (2010/2011) Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computacion e IA (http://www.cs.us.es/) Introducción general al Lenguaje C (2010/2011) Universidad de Sevilla Índice

Más detalles

Punteros y Memoria Dinámica I

Punteros y Memoria Dinámica I Memoria Punteros y Memoria Dinámica I Curso INEM. Programación en C++ Santiago Muelas Pascual smuelas@fi.upm.es! Lugar donde almacenan los datos y las instrucciones! Compuesta de un gran número de bytes!

Más detalles

Programación. Test Autoevaluación Tema 6

Programación. Test Autoevaluación Tema 6 Programación Test Autoevaluación Tema 6 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordóñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.

Más detalles

Sintaxis de los aspectos generales de un lenguaje de programación

Sintaxis de los aspectos generales de un lenguaje de programación Sintaxis de los aspectos generales de un lenguaje de programación por Iván Cruz Un lenguaje de programación cuenta con una estructura y sintaxis que debe ser utilizada exactamente como se indique para

Más detalles

05 Funciones en lenguaje C. Diego Andrés Alvarez Marín Profesor Asociado Universidad Nacional de Colombia Sede Manizales

05 Funciones en lenguaje C. Diego Andrés Alvarez Marín Profesor Asociado Universidad Nacional de Colombia Sede Manizales 05 Funciones en lenguaje C Diego Andrés Alvarez Marín Profesor Asociado Universidad Nacional de Colombia Sede Manizales 1 Temario Programación funcional Declaración (prototipos) y definición de funciones

Más detalles

Descripción y Contenido del Curso. Programación C++ Capacity Academy.

Descripción y Contenido del Curso. Programación C++ Capacity Academy. Descripción y Contenido del Curso Programación C++ Capacity Academy Educación en Tecnología de la Información Online, Efectiva y Garantizada Qué aprenderá si toma este Curso? En este curso aprenderás todo

Más detalles

Tipos Recursivos de Datos

Tipos Recursivos de Datos 1/1 Tipos Recursivos de Datos Josefina Sierra Santibáñez 27 de noviembre de 2016 2/1 Introducción La recursividad no sólo se puede aplicar a la definición de procedimientos (i.e. funciones o acciones),

Más detalles

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria.

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria. Punteros Definición Un puntero es un dato que contiene una dirección de memoria. NOTA: Existe una dirección especial que se representa por medio de la constante NULL (definida en ) y se emplea

Más detalles

Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos

Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos Definición formal del lenguaje por comprensión L = {C n D m \ n,m >0 Donde C representa

Más detalles

XDR (External Data Representation) Tipos y codificación. Universidad de Oviedo / Dpto. de Informática

XDR (External Data Representation) Tipos y codificación. Universidad de Oviedo / Dpto. de Informática XDR (External Data Representation) Tipos y codificación Tipos implícitos Características La codificación (big endian) ocupa siempre un tamaño múltiplo de 4 bytes (rellenando con ceros por la dcha) Se asume

Más detalles

PROBLEMA 1. Rellena el hueco 1 (línea 23). Realiza la reserva de memoria para almacenar los n puntos.

PROBLEMA 1. Rellena el hueco 1 (línea 23). Realiza la reserva de memoria para almacenar los n puntos. PROBLEMA 1. El siguiente programa tiene algunos huecos en blanco que tienes que rellenar para que funcione correctamente. En cada hueco va una única línea de C, salvo en el cuerpo de la función calcula_area_triangulo,

Más detalles

ESTRUCTURAS y UNIONES

ESTRUCTURAS y UNIONES ESTRUCTURAS y UNIONES 1 Estructura (struct) Es un tipo de dato definido por el usuario Permiten la construción de tipos complejos a partir de otros tipos Puede considerarse como una colección de una o

Más detalles

PUNTEROS (APUNTADORES)

PUNTEROS (APUNTADORES) 2010 UNAN LEON Departamento de Computación Ing. En Sistemas Sabatino Autor: Ing: Karina Esquivel Alvarado. Asignatura: Algoritmo y Estructura de Datos. PUNTEROS (APUNTADORES) TEMA 4: PUNTEROS (APUNTADORES)

Más detalles

Algoritmo, Estructuras y Programación II Ing. Marglorie Colina

Algoritmo, Estructuras y Programación II Ing. Marglorie Colina Unidad III Punteros Algoritmo, Estructuras y Programación II Ing. Marglorie Colina Ejemplo: Paso de Punteros a una Función Arreglos (Arrays) Unidimensionales Los Arreglos son una colección de variables

Más detalles

Objetos y memoria dinámica

Objetos y memoria dinámica Objetos memoria dinámica 1. Punteros a objetos 2. Vectores dinámicos de objetos 3. Uso de objetos dinámicos 4. Atributos dinámicos 5. Creación de objetos con atributos dinámicos 6. Destrucción de objetos

Más detalles

Practica 8 Contenido: typedef y struct

Practica 8 Contenido: typedef y struct CI-2125 Computación I Practica 8 Contenido: typedef y struct 1. Defina tipos enumerados para los siguientes conjuntos de datos a) Días de la semana b) Deportes en equipos c) Meses del año enumdia {domingo,lunes,martes,miercoles,jueves,viernes,sabado}

Más detalles

Lenguaje C Entrada y Salida de Datos. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Lenguaje C Entrada y Salida de Datos. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Lenguaje C Entrada y Salida de Datos Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia E/S por consola Se refiere a las operaciones que ocurren

Más detalles

Estructuras en C. ESTRUCTURAS EN C: Veamos primero un ejemplo de un programa que declara y usa estructura para representar a un cliente.

Estructuras en C. ESTRUCTURAS EN C: Veamos primero un ejemplo de un programa que declara y usa estructura para representar a un cliente. Estructuras en C INTRODUCCIÓN: Hasta ahora hemos trabajado con datos elementales (enteros, reales, caracteres) o con vectores (agregaciones de datos del mismo tipo). En ocasiones es necesario trabajar

Más detalles

Estructuras Dinámicas

Estructuras Dinámicas Departamento de Lenguajes yciencias de la Computación 4 Estructuras Dinámicas Contenido 1. Gestión dinámica de memoria. 2. El tipo puntero. 3. Operaciones con punteros. 4. Operaciones básicas sobre listas

Más detalles

Cursosindustriales. Curso de C / C++ Por Deimos_hack

Cursosindustriales. Curso de C / C++ Por Deimos_hack MÓDULO 1. ESTRUCTURAS Y FUNCIONES. En los capítulos anteriores has visto como los arrays permiten almacenar diferentes datos, pero todos del mismo tipo de dato. En la práctica esto no compensa debido a

Más detalles

PUNTEROS O APUNTADORES C++

PUNTEROS O APUNTADORES C++ PUNTEROS O APUNTADORES C++ TRANSVERSAL DE PROGRAMACIÓN BÁSICA INGENIERÍA DE SISTEMAS En el presente documente se hace una breve explicación a la gestión dinámica de memoria en el lenguaje C++. Se incluyen

Más detalles

Lenguaje de Programación

Lenguaje de Programación UG C++ C++ Universidad de Guanajuato Sesión 33 Una estructura es un grupo de variables las cuales pueden ser de diferentes tipos sostenidas o mantenidas juntas en una sola unidad. La unidad es la estructura.

Más detalles

Estructuras de Datos Estáticas. Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos estáticas

Estructuras de Datos Estáticas. Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos estáticas Fundación Misión Sucre Colegio Universitario de Caracas Taller 2: Estructuras de Datos Estáticas Objetivo Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos estáticas Contenido

Más detalles

Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes.

Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes. Clases y Objetos Java es un lenguaje orientado a objetos que incorpora un gran número de clases predefinidas organizadas en paquetes. La programación en Java supone definir clases de forma jerárquica,

Más detalles

Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes.

Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes. Clases y Objetos Java es un lenguaje orientado a objetos que incorpora un gran número de clases predefinidas organizadas en paquetes. La programación en Java supone definir clases de forma jerárquica,

Más detalles

Tema 2. Tipos y Estructuras Básicas

Tema 2. Tipos y Estructuras Básicas Tema 2. Tipos y Estructuras Básicas http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Funciones en lenguaje C Funciones en lenguaje C Definición de funciones Declaración de funciones Relación entre variables y funciones Parámetros

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Funciones en lenguaje C Informática Ingeniería en Electrónica y Automática Industrial Funciones en lenguaje C Definición de funciones Declaración de funciones Relación entre variables y funciones Parámetros

Más detalles

Objetivos. El alumno conocerá y aplicará el concepto de apuntador para la realización de programas de manejo eficiente de memoria.

Objetivos. El alumno conocerá y aplicará el concepto de apuntador para la realización de programas de manejo eficiente de memoria. Objetivos El alumno conocerá y aplicará el concepto de apuntador para la realización de programas de manejo eficiente de memoria. Al final de esta práctica el alumno podrá: 1. Acceder a localidades de

Más detalles

Programación Orientada a Objetos en C++

Programación Orientada a Objetos en C++ Unidad I Programación Orientada a Objetos en C++ Programación Orientada a Objetos en C++ Programación I - 0416202 Contenido Esta lección abarca los siguientes temas: Estructura y declaración de una clase

Más detalles

PROGRAMACION ORIENTADA A OBJETOS EN C++

PROGRAMACION ORIENTADA A OBJETOS EN C++ PROGRAMACION ORIENTADA A OBJETOS EN C++ 1- INTRODUCCIÓN El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje

Más detalles

Algoritmos y estructuras de datos

Algoritmos y estructuras de datos Algoritmos y estructuras de datos Dr. Eduardo A. Rodríguez Tello Laboratorio de Tecnologías de Información Cinvestav Tamaulipas ertello@tamps.cinvestav.mx Cursos de inducción a la MCC Cinvestav Tamaulipas

Más detalles

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos. Universidad Rafael Urdaneta Escuela de Ingeniería de Computación Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos. Asignación

Más detalles

Funciones Definición de función

Funciones Definición de función Funciones Definición de función Una función es un bloque de código que realiza una tarea específica. Una función es una porción de programa, identificable mediante un nombre, que realiza determinadas tareas

Más detalles

8- LEX-Expresiones regulares

8- LEX-Expresiones regulares 8- LEX-Expresiones regulares Objetivos: Utilizar la herramienta KEX para trabajar con expresiones regulares Recursos: Maquina virtual Linux distribución Bodhi LXterminal y FLEX Introducción Flex le permite

Más detalles

Funciones y paso de parámetros

Funciones y paso de parámetros Unidad Didáctica 24 Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Índice Consideraciones sobre funciones Estructura de una función

Más detalles

Ficha de Aprendizaje N 13

Ficha de Aprendizaje N 13 Ficha de Aprendizaje N 13 Curso: Lógica y lenguaje de programación Tema: Fundamentos de programación Duración: 2 horas pedagógicas Logros de aprendizaje Identifica los diferentes tipos de operadores que

Más detalles

Lenguaje C, tercer bloque: Funciones

Lenguaje C, tercer bloque: Funciones Lenguaje C, tercer bloque: Funciones José Otero 1 Departamento de informática Universidad de Oviedo 28 de noviembre de 2007 Índice 1 Tipo puntero Concepto de puntero Operador dirección Operador indirección

Más detalles