TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8

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

Download "TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8"

Transcripción

1 TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS VECTORES O ARRAYS UNIDIMENSIONALES ARRAYS MULTIDIMENSIONALES INICIALIZACIÓN DE ARRAYS INICIALIZACIÓN DE ARRAYS SIN INDICAR EL TAMAÑO 5 2 CADENAS O VECTORES DE CARACTERES INICIALIZACIÓN DE CADENAS 7 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8 4 ESTRUCTURAS ARRAYS DE ESTRUCTURAS PASO DE ESTRUCTURAS A FUNCIONES PASO DE ELEMENTOS DE ESTRUCTURAS A FUNCIONES PUNTEROS A ESTRUCTURAS 14 5 TYPEDEF 15 Tema 8. Pág. 1

2 1 Vectores Estáticos Un vector estático o array es una colección ordenada de variables del mismo tipo que ocupan posiciones contiguas de memoria y que se referencian utilizando un nombre común. La dirección más baja corresponde al primer elemento y la más alta al último. Para acceder a un elemento específico de un array se usa un índice. El vector que se usa más frecuentemente es el de caracteres. 1.1 Vectores o Arrays unidimensionales El formato general para la declaración de un vector o array unidimensional es tipo nombre[tamaño]; Al declarar el array, indicamos entre corchetes el numero de elementos que va a tener. Estos elementos serán del tipo indicado. int edad[10]; Esta sentencia realiza dos operaciones al mismo tiempo: 1. reserva espacio en memoria para almacenar 10 valores int (es decir, 20 bytes). 2. crea un puntero llamado edad que apunta automáticamente al primer elemento del array. Con respecto a los arrays debemos tener en cuenta lo siguiente: En C todas los arrays usan cero como índice del primer elemento. El lenguaje C no realiza comprobación de contornos en los arrays. Esto quiere que podemos indexar un array por encima del número de elementos que contiene sin provocar ningún mensaje de error en tiempo de compilación o ejecución. Por ejemplo, podemos hacer uso de edad[44] sin que el compilador nos advierta del error. A modo de ejemplo veamos el siguiente programa: int main(void) { int edad[20], i; Tema 8. Pág. 2

3 for (i = 1; i <= 20; i++) { /* OJO aquí hay un fallo */ printf( Dame la edad de la persona nº %d \n, i); scanf( %d, &edad[i]); return 0; 1.2 Arrays multidimensionales C permite arrays con más de dos dimensiones. El formato general de una declaración de array multidimensional es: tipo nombre[tamaño1][tamaño2] [tamañon]; De ellos, el más usado es el array bidimensional. Ejemplo: int notas[15][4]; De forma similar, para acceder al elemento 10, 3 del array notas se escribirá: notas[10][3]; Los arrays bidimensionales son como matrices en las que el primer índice indica la fila y el segundo indica la columna. int main(void) { int i,j, tabla[10][10]; for (i = 0; i < 10; i++) { for (j = 0; j<10; j++) { tabla[i][j] = (i+1) * (j+1); return 0; Un uso muy común de los arrays bidimensionales es para la creación de array de cadenas. Para crear un array de cadenas, se usa un array bidimensional de caracteres, en la que el tamaño del índice izquierdo determina el número de cadenas a almacenar y el tamaño del derecho especifica la longitud máxima de las cadenas a guardar. Tema 8. Pág. 3

4 #include <stdio.h> #include <string.h> int main(void) { int i; char direcciones[10][50]; for (i=0; i<10; i++) { printf( Introduce la dirección nº %d:,i+1); scanf( %s,direcciones[i]); for (i=0; i<10; i++) printf( La dirección nº %d es: %s\n,i+1,direcciones[i]); return 0; Para acceder a una cadena individual simplemente hay que especificar el primer índice del array. Así en el ejemplo anterior, la sentencia: scanf( %s,direcciones[i]); es equivalente a esta otra: scanf( %s,&direcciones[i][0]); Hacer notar que una cadena no es mas que una sucesión de caracteres (es decir, cada posición de un array de caracteres o cadena es un carácter): De esta forma es correcto preguntar if (nombre[0]== A ) /*preguntamos si empieza por A*/ 1.3 Inicialización de arrays C permite la inicialización de los arrays. El formato general de una inicialización de un array es el siguiente: tipo nombre[tamaño1] [tamañon] = {lista_valores; La lista de valores es una lista separada por comas de constantes que son del mismo tipo que las del tipo base del array. Ejemplo: int i[5] = {0, 1, 4, 9, 16; Esta declaración es equivalente a esta otro: int i[5];i[0]=0;i[1]=1;i[2]=4;i[3]=9;i[4]=16; Tema 8. Pág. 4

5 Los arrays multidimensionales se inicializan de la misma manera que los de una dimensión. El siguiente ejemplo inicializa datos con los 5 primeros números naturales, sus cuadrados y sus cubos: int datos[5][3] = { 1, 1, 1, 2, 4, 8, 3, 9, 27, 4, 16, 64, 5, 25, 125 ; Para facilitar la comprensión de esta inicialización podemos ponerlo así: int datos[5][3] = { 1, 1, 1, 2, 4, 8, 3, 9, 27, 4, 16, 64, 5, 25, 125 ; Inicialización de arrays sin indicar el tamaño El C permite incializar arrays sin indicar el tamaño. En una sentencia de inicialización de arrays, si no se especifica el tamaño de los mismos, el compilador creará automáticamente un array lo suficientemente grande como para albergar todos los inicializadores presentados. char mensaje[]= Bienvenidos a casa ; int edad[]={ 5, 12, 19, 3, 27, 91; Además de ser menos tedioso, el método de inicialización de array sin tamaño evita que cometamos errores de reserva de espacio a la hora de la inicialización; Para los arrays multidimensionales, se deben especificar todas las dimensiones excepto la de más a la izquierda. Ejemplo: int datos[][3] = { 1, 1, 1, 2, 4, 8, 3, 9, 27, 4, 16, 64, 5, 25, 125 ; La ventaja de esta declaración es que se puede alargar o acortar la tabla sin cambiar las dimensiones del array. Tema 8. Pág. 5

6 2 Cadenas o vectores de caracteres El tipo de vector más usado en C es el vector de caracteres. Un array o vector de caracteres es un vector que contiene en cada celda un carácter del código ASCII. A los arrays de caracteres comúnmente se les denominan cadenas de texto o strings. En C, una cadena se implementa mediante un vector de caracteres terminado en un nulo ( \0 ). Por ello, se debe declarar vectores de caracteres con un carácter más que la cadena que se vaya a guardar. char cadena[11]; Esta declaración permite guardar una cadena de hasta 10 caracteres más el carácter nulo de final de cadena ( \0 ). Aunque C, no tiene un tipo de datos string, sino que solventa esta falta con vectores de caracteres, sí que permite constantes de cadenas. Una constante de cadena es una lista de caracteres encerrada entre comillas dobles ( ). Bienvenidos Pulsa una tecla para continuar No se necesita añadir el nulo manualmente en el final de las constantes de cadenas, el compilador hace esto automáticamente. Existe una librería de funciones de manejo de cadenas en C denominada string.h, la cual contiene entre otras, las siguientes funciones, cuyos prototipos y utilidad se detallan a continuación: Prototipo de función Acción: char *strcpy(char *c1, const char *c2) Copia c2 sobre c1. char *strcat(char *c1,const char *c2) char *strchr(const char *c1, int ch1) Concatena c1 con c2 Busca el carácter ch1 en la cadena c1. Devuelve un puntero a la primera ocurrencia de ch1 en c1. Si no lo encuentra devuelve NULL. int strcmp(const char *c1, const char *c2) Compara la cadena c1 con la cadena c2. Devuelve un valor que es < 0 si c1 es menor que c2; > 0 si c1 es mayor que c2 y == 0 si c1 es igual a c2. Tema 8. Pág. 6

7 int strlen(const char *c1) Devuelve la longitud de c1. char *strupr(char *c1) Convierte c1 a mayúsculas. char *strlwr(char *c1) Convierte c1 a minúsculas char *strset(char *c1,int ch1) Rellena toda la cadena c1 con el carácter ch1 char *strstr(const char*c1, const char *c2) Encuentra la primera coincidencia de la subcadena c2 dentro de c1. Devuelve NULL si no la encuentra. Ejemplo: #include <stsdio.h> #include <string.h> int main() { char nombre[30], frase[80]; printf( Dime tu nombre: ); scanf( %s,nombre); /* al ser un array no lleva & */ strcpy(frase,nombre); if (!strcmp(nombre,frase)) { printf( Las cadenas son iguales ); printf( mi nombre es %s\n,nombre); strcat(frase, es listo ); /*concatena es listo a la cadena frase */ printf( %s,frase); printf( La cadena frase tiene %d caracteres \n,strlen(frase)); strcpy(nombre, );/*borrar la cadena */ return 0; 2.1 Inicialización de cadenas Los arrays de caracteres permiten una inicialización abreviada: char nombre[tamaño] = cadena ; Así que las siguientes dos sentencias son equivalentes: char saludo[5] = hola ; char saludo[5] = { h, o, l, a, \0 ; Cuando se usa una constante de caracteres, el compilador automáticamente proporciona el terminador nulo. Tema 8. Pág. 7

8 3 Paso de cadenas y arrays a funciones El lenguaje C permite usar un array como argumento de una función. Para pasar arrays unidimensionales a funciones, en la llamada a la función se pone el nombre del array sin índice. Esto pasa la dirección del primer elemento del array a la función. De esta forma, cuando usamos un array como argumento de una función, el compilador sólo pasa la dirección del array y no una copia del array. Por tanto, a la hora de implementar la función que recibirá dicho array como argumento, debemos declarar su correspondiente parámetro como de un tipo puntero compatible. Para pasar arrays multidimensionales a funciones, se tiene que declarar todas excepto la dimensión de más a la izquierda. Por ejemplo, si declaramos un array datos como: int datos[4][10][3]; Entonces una función que reciba el array datos como parámetro podría declararse como: int proceso(int m[][10][3]) Hay tres formas de declarar un parámetro tipo array: 1. Como un array indicando su tamaño 2. Declarando el parámetro como un array sin tamaño 3. Declarando el parámetro como un puntero Ejemplo: programa que almacena las notas de diez alumnos y muestra por pantalla las notas de los alumnos que han aprobado. #include <stdio.h> #include <conio.h> int main(){ float nota[10]; int i; for(i=0; i<10;i++) { printf("\ndame la nota del alumno n %d: ",i+1); scanf("%f",&nota[i]); printf("\npulse una tecla para continuar\n"); getch(); aprobados(nota); return 0; Tema 8. Pág. 8

9 Como vemos en el ejemplo tenemos que implementar una función que recibe como parámetro un array. Versión 1. Parámetro como un array indicando su tamaño. void aprobados(float datos[10]) { int i; printf("han aprobado los siguientes alumnos:\n"); for (i=0;i<10;i++) if (datos[i]>=5) printf("alumno nº %d: Nota: %5.2f\n",i+1,datos[i]); Aunque este programa declara el parámetro datos como un array de float de diez elementos, el compilador convierte automáticamente datos a un puntero a float Versión 2. Parámetro como un array sin tamaño. void aprobados(float datos[ ]) { int i; printf("han aprobado los siguientes alumnos:\n"); for (i=0;i<10;i++) if (datos[i]>=5) printf("alumno nº %d: Nota: %5.2f\n",i+1,datos[i]); En este caso hemos declarado datos como un array de float de tamaño desconocido. Como el lenguaje C no proporciona comprobación de contorno de array, el tamaño real del array es irrelevante para el parámetro y al igual que en el caso automáticamente se convierte a un puntero a float. Versión 3. Parámetro como puntero. void aprobados(float *datos){ int i; printf("han aprobado los siguientes alumnos:\n"); for (i=0;i<10;i++) if (datos[i]>=5) printf("alumno nº %d: Nota: %5.2f\n",i+1,datos[i]); Tema 8. Pág. 9

10 Esta es la forma más común de declarar que se recibe un array. Aunque hemos declarado que se recibe un puntero, luego en el código lo hemos tratado como si fuera un array, ya que como hemos dicho antes el C permite indexar cualquier puntero usando [ ] como si el puntero fuera un array. Conclusión=> elegir un modo de trabajo, pero tener siempre presente que se pasa la dirección del array y no una copia de éste. 4 Estructuras Los arrays son una colección ordenada de variables, todas del mismo tipo, que se referencian utilizando un nombre común. Esto supone una gran limitación cuando se requieren grupos de elementos con tipos diferentes de datos cada uno. La solución a este problema es utilizar un tipo de datos estructura. Una estructura es una colección de variables o elementos denominados miembros o campos, cada uno de los cuales puede ser de un tipo de dato diferente, que se referencian bajo el mismo nombre (el nombre que se le proporcione a la estructura). El formato general para la declaración de una estructura es el siguiente: struct nombre_estructura { tipo campo1; tipo campon; ; donde: nombre_estructura: es el nombre con el que se identifica la estructura creada. campo1 campon: son los diferentes campos o variables contenidas en la estructura tipo1 tipon: son los tipos de datos de cada una de las variables o campos de la estructura. Cuando se declara una estructura. Se está definiendo un tipo complejo de variable compuesto por los elementos de la estructura. Tema 8. Pág. 10

11 Una declaración struct define un tipo. Esa estructura puede ser usado posteriormente para crear variables de ese tipo. Las estructuras se pueden pasar como parámetros a las funciones o ser devueltas por éstas. Las estructuras no se pueden comparar. Si quisiéramos saber si dos estructuras son idénticas o no, la única solución serían comparar uno a uno cada uno de sus miembros. Las estructuras pueden anidarse, es decir, una estructura puede contener como campo miembro otra estructura (estructura anidada). Ejemplo: /* definicion de la estructura direccion */ struct direccion { char calle[30]; char ciudad[20]; char provincia[20]; ; /* definicion de la estructura datos_per */ struct datos_per { char nombre[35]; struct direccion dir; unsigned int edad; ; /* declaracion de variables de tipo datos_per */ struct datos_per persona1, persona2; Para hacer referencia a un miembro de la estructura se usa la siguiente sintaxis: nombre_estructura.nombre_miembro En el ejemplo anterior, si quisiéramos pedir por teclado la calle y la edad de persona1 tendríamos que escribir lo siguiente: scanf( %s,persona1.dir.calle); scanf( %d,&persona1.edad); En la primera sentencia no hace falta poner el & delante del nombre del campo ya que como calle es un array, entonces persona1.dir.calle es un puntero al array calle de la estructura. En Tema 8. Pág. 11

12 cambio, en la segunda sentencia, hemos tenido que poner &persona1.edad para indicar la dirección de memoria de edad. 4.1 Arrays de estructuras Podemos declarar arrays de estructuras. Simplemente debemos definir primero la estructura y luego declarar una variable array de dicho tipo, como ilustra el siguiente ejemplo: struct datos_per personas Cómo leer el campo nombre de la fila 2? scanf( %s,personas[1].nombre); 4.2 Paso de estructuras a funciones C permite pasar estructuras completas a una funciones. Cuando se pasa una estructura a una función se pasa por valor, es decir, lo que se pasa a la función es una copia de la estructura. Ahora bien, si lo que se pasa es un array de estructuras a una función, lo que se pasa es un puntero al primer elemento del array, con lo que los cambios efectuados dentro de la función afectan al array original usado como argumento en la llamada. Ejemplo: Tema 8. Pág. 12

13 #include <stdio.h> #include <conio.h> /* definicion de la estructura direccion */ struct direccion { char calle[30]; char ciudad[20];; /* definicion de la estructura datos_per */ struct datos_per { char nombre[35]; struct direccion dir; unsigned int edad;; void cargar_datos(struct datos_per p[]) { int n; for (n=0;n<5; n++) { printf("nombre: "); scanf("%s",p[n].nombre); printf("calle: "); scanf("%s",p[n].dir.calle); printf("ciudad: "); scanf("%s",p[n].dir.ciudad); printf("edad: "); scanf("%u",&p[n].edad); void ver_datos(struct datos_per p) { printf("nombre: %s\n",p.nombre); printf("calle: %s\n",p.dir.calle); printf("ciudad: %s\n",p.dir.ciudad); printf("edad: %u\n",p.edad); int main(void) { int n; struct datos_per personas[5]; /* array de tipo datos_per */ cargar_datos(personas); printf("dime el nº de la persona a visualizar: "); scanf("%u",&n); ver_datos(personas[n]); return 0; Tema 8. Pág. 13

14 4.3 Paso de elementos de estructuras a funciones Además de pasar un estructura completa a una función, podemos pasar sólo un elemento de una estructura. Al igual que antes, al pasar un elemento de una estructura a una función sólo pasamos una copia de ésta, con lo que los cambios efectuados en la función no afectan para nada al elemento de la estructura usado como argumento. funcion1(personas[2].nombre); /* sólo el campo nombre */ funcion3(personas[2].dir); /* pasa campo dir (estructura)*/ Los prototipos de estas funciones serían los siguientes: void funcion1(char *cadena); void funcion3(struct direccion d); Ahora bien, si lo que queremos es pasar un elemento por referencia, para que los cambios efectuados en la función afectan al elemento pasado como argumento, debemos pasar la dirección de memoria de dicho elemento: funcion1(personas[2].nombre); /* pasa el campo nombre */ funcion3(&personas[2].dir); /* pasa campo dir (estructura)*/ Los prototipos de estas funciones serían los siguientes: void funcion1(char *cadena); void funcion3(struct direccion *d); Punteros a estructuras De la misma forma que podemos usar punteros a cualquier tipo de variable, podemos usar punteros a variables de estructuras. struct datos_per *p; declara un puntero a una estructura de tipo struct datos_per. La dirección de una variable de estructura, se obtiene, al igual que para cualquier otro tipo de variable, anteponiendo el operador & delante del nombre de la variable. Así por ejemplo: struct datos_per persona,*p; p = &persona; coloca la dirección de la estructura persona en el puntero p. Cuando se usa punteros a estructuras no se debe usar el operador punto. para acceder a un elemento de la estructura a través del puntero. En su lugar se debe usar el operador -> : Tema 8. Pág. 14

15 p->nombre; /* referencia el campo nombre */ p->edad; /* referencia el campo edad */ p->dir.calle; /* referencia el campo calle */ 5 Typedef La palabra clave typedef permite definir explícitamente un nuevo nombre de tipo. Realmente no se crea un nuevo tipo sino que se define un alias para un tipo existente. Este permite usar nombres más descriptivos para los tipos de datos que usamos y para las estructuras que hallamos creado. La sintaxis de la sentencia typedef es la siguiente: typedef tipo alias; tipo es cualquier tipo de datos existente en C o la definición de una estructura alias es el nuevo nombre para ese tipo. Ejemplo typedef unsigned char byte; Esta sentencia indica al compilador que byte es un alias de unsigned char. Así, estas dos sentencias son equivalentes: unsigned char dato; byte dato; De la misma forma, podemos usar typedef para crear alias para estructuras. Por ejemplo: typedef struct { /* definicion de la estructura t_direccion */ char calle[30]; char ciudad[20]; t_direccion; /*t_direccion es el alias para la estructura */ struct { /* definicion de la estructura t_datos_per */ char nombre[35]; t_direccion dir; unsigned int edad; t_datos_per; /* t_datos_per es el alias para la estructura */ t_datos_per personas[5]; /* declaracion de un array de tipo t_datos_per */ Tema 8. Pág. 15

Tema 9. Vectores y Matrices

Tema 9. Vectores y Matrices Tema 9. Vectores y Matrices OBJETIVO En temas anteriores hemos declarado variables simples de tipo int, float, o de cualquier otro tipo simple. A menudo necesitaremos declarar una colección de variables,

Más detalles

Tema 7 Vectores y cadenas de caracteres. Fundamentos de Informática

Tema 7 Vectores y cadenas de caracteres. Fundamentos de Informática Tema 7 Fundamentos de Informática Índice 1. Qué es un vector? 2. Vectores unidimensionales 3. Cadenas de caracteres 4. Paso de vectores unidimensionales a funciones. 5. Vectores multidimensionales: matrices

Más detalles

Introducción al tipo de dato ARRAY

Introducción al tipo de dato ARRAY CONTENIDOS. Introducción al tipo de dato ARRAY. Definición, Características, Declaración, Acceso e Inicialización.. Arrays multidimensionales Definición, Declaración, Acceso e Inicialización. Introducción

Más detalles

Arrays y Cadenas en C

Arrays y Cadenas en C Arrays y Cadenas en C Los arrays son variables estructuradas, donde cada elemento se almacena de forma consecutiva en memoria. Las cadenas de caracteres son declaradas en C como arrays de caracteres y

Más detalles

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS CONTENIDOS 1. Introducción a las cadenas 2. Definición 3. Declaración de cadenas 4. Inicialización de cadenas 5. Escritura y Lectura de datos tipo cadena 6. Funciones de manipulación de cadenas 7. Arrays

Más detalles

FUNDAMENTOS DE INFORMÁTICA 1º Ingeniería Industrial

FUNDAMENTOS DE INFORMÁTICA 1º Ingeniería Industrial FUNDAMENTOS DE INFORMÁTICA º PRÁCTICA 4: Funciones y vectores CURSO 5/6 Área de Ingeniería de Sistemas y Automática ISA-UMH R-2-FI4v. FUNDAMENTOS DE INFORMÁTICA PRÁCTICA 4: Funciones y vectores curso 25-26

Más detalles

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN 4.1 Definiciones y palabras reservadas básicas del C El lenguaje C++ está compuesto por: 32 palabras clave (estándar ANSI), comunes a todos los compiladores de

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

TécniquesInformàtiques PRÀCTICA 6 (2 Sessions) Curs 2004-2005

TécniquesInformàtiques PRÀCTICA 6 (2 Sessions) Curs 2004-2005 Objetivo de la práctica: - Adquirir conocimietnos en en el uso de estructuras de datos basadas en series de datos del mismo tipo: vectores y matrices en C/C++. - Uso de caracteres de texto en C/C++.Concepto

Más detalles

Arreglos. // Incluir E/S y Librerías Standard #include #include

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h> Arreglos Introducción. En los temas anteriores se han estudiado los diferentes tipos de datos simples de C++, usados para representar valores simples como enteros, reales o caracteres. Sin embargo, en

Más detalles

Se guardan en archivos con extencion c y los cabezales con extension h

Se guardan en archivos con extencion c y los cabezales con extension h Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767

Más detalles

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Directivas del procesador Main() { Declaraciones Definiciones proposiciones }

Más detalles

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE Contenidos 1. Introducción 2. El operador NEW 3. El operador DELETE 1 Introducción Hasta ahora hemos visto que cada vez que queremos usar una variable debemos reservarle un lugar de la memoria al comenzar

Más detalles

ARCHIVOS. 1. Introducción. 2. Definición de archivo. 3. Archivos de acceso secuencial. 4. Gestión de un archivo secuencial de estructuras

ARCHIVOS. 1. Introducción. 2. Definición de archivo. 3. Archivos de acceso secuencial. 4. Gestión de un archivo secuencial de estructuras ARCHIVOS 1. Introducción 2. Definición de archivo 3. Archivos de acceso secuencial 3.1. fopen 3.2. fclose 3.3. fcloseall 3.4. putc 3.5. getc 3.6. fscanf 3.7. fprintf 4. Gestión de un archivo secuencial

Más detalles

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; TEMA 5. CONTROL DE FLUJO DEL PROGRAMA 5.1 Sentencias Una sentencia es una expresión seguida de un punto y coma. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; El ; es obligatorio

Más detalles

Contenido. Capítulo 1. Introducción a lenguaje C 1

Contenido. Capítulo 1. Introducción a lenguaje C 1 Contenido Capítulo 1. Introducción a lenguaje C 1 Introducción... 2 Qué es un lenguaje de programación?... 2 Tipos de lenguajes de programación... 2 Introducción a lenguaje C... 2 Historia de lenguaje

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

Más detalles

Vectores. 27/05/05 Programación Digital I 1

Vectores. 27/05/05 Programación Digital I 1 Vectores Material Original: Prof. Flor Narciso Modificaciones: Prof. Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación

Más detalles

Paso de Borland Turbo C (bajo DOS) a Anjuta (Linux) 1.

Paso de Borland Turbo C (bajo DOS) a Anjuta (Linux) 1. Paso de Borland Turbo C (bajo DOS) a Anjuta (Linux) 1. Anjuta es un entorno de desarrollo de C que podemos encontrar en cualquier distribución de GNU/Linux. Si nuestra distribución no dispone de ella,

Más detalles

Introducción al lenguaje JAVA

Introducción al lenguaje JAVA Universidad Autónoma de Tlaxcala Introducción al lenguaje JAVA M.C.. José Juan Hernández ndez Mora Segunda Sesión 1. Arreglos 2. Matrices 3. Clases en Java 4. Clases de Usuario en Java 5. Objetos definidos

Más detalles

Programación. Ejercicios Tema 6 Tipos de Datos Estructurados: Estructuras Definidas por el Usuario

Programación. Ejercicios Tema 6 Tipos de Datos Estructurados: Estructuras Definidas por el Usuario Programación Ejercicios Tema 6 : Estructuras Definidas por el Usuario Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordóñez Morales Juan Gómez Romero José A. Iglesias Martínez José

Más detalles

El lenguaje de Programación C. Fernando J. Pereda

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

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

Tema 2: La clase string

Tema 2: La clase string : string Programación 2 Curso 2013-2014 Índice 1 Cadenas de caracteres en C 2 Entrada / salida 3 entre vectores de caracteres y string 4 5 Cadenas de caracteres en C En C, las cadenas de caracteres tienen

Más detalles

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */ Principios de Programación El lenguaje C 1. Variables locales y globales 1.1. Variables locales Las funciones permiten al programador modularizar un programa. Todas las variables declaradas en las definiciones

Más detalles

1 Estructura básica de un programa C++

1 Estructura básica de un programa C++ Elementos básicos de un lenguaje de alto nivel: C++ CONTENIDOS 1. Estructura básica de un programa C++. 2. Tipos de datos simples. 3. Constantes y variables en C++. Declaración. 4. Operadores y expresiones.

Más detalles

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones Contenidos 1. Justificación del uso de funciones. 2. Declaración de funciones: prototipos. 3. Prototipos y ficheros de cabecera. 4. Polimorfismo (sobrecarga de funciones). 5. Argumentos formales y actuales.

Más detalles

Funciones en C. En esta unidad aprenderás a: Comprender el desarrollo de un programa utilizando funciones

Funciones en C. En esta unidad aprenderás a: Comprender el desarrollo de un programa utilizando funciones Funciones en C 03 En esta unidad aprenderás a: Comprender el desarrollo de un programa utilizando funciones Establecer la diferencia entre la definición y declaración de una función Conocer y utilizar

Más detalles

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos Tema 2 Memoria Dinámica 2.1 Datos estáticos y dinámicos Datos estáticos: su tamaño y forma es constante durante la ejecución de un programa y por tanto se determinan en tiempo de compilación. El ejemplo

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la

Más detalles

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

Ejercicio 1 (2 puntos. Tiempo: 25 minutos) Fecha de publicación de notas: jueves 18 de Julio. Fecha de revisión: viernes 19 de Julio a las 10:00h. Despacho C-209. Ejercicio 1 (2 puntos. Tiempo: 25 minutos) Se desea desarrollar un programa en C

Más detalles

EJEMPLOS DE PROGRAMACIÓN DE FUNCIONES EN C: Página 1 de 5

EJEMPLOS DE PROGRAMACIÓN DE FUNCIONES EN C: Página 1 de 5 EJEMPLOS DE PROGRAMACIÓN DE FUNCIONES EN C: Página 1 de 5 1.- Realizar una función llamada par, que toma un número entero como parámetro, y devuelve 1 si es par o devuelve 0 si es impar. NOTA: Para saber

Más detalles

1. Manejo de memoria estática 2. Manejo de memoria dinámica

1. Manejo de memoria estática 2. Manejo de memoria dinámica 1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

Más detalles

Academia técnica de computación A.T.C.

Academia técnica de computación A.T.C. Academia técnica de computación A.T.C. Free Pascal (FPC) El Free Pascal es un compilador Pascal portable, libre y de código abierto, que representa una alternativa a los productos comerciales Turbo Pascal

Más detalles

7. Manejo de Archivos en C.

7. Manejo de Archivos en C. 7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de

Más detalles

Herramientas computacionales para la matemática MATLAB: Otros tipos de datos

Herramientas computacionales para la matemática MATLAB: Otros tipos de datos Herramientas computacionales para la matemática MATLAB: Otros tipos de datos Verónica Borja Macías Mayo 2012 1 Otros tipos de datos La especialidad de MATLAB es trabajar con vectores y matrices, pero MATLAB

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

El lenguaje C: Elementos básicos del lenguaje

El lenguaje C: Elementos básicos del lenguaje Facultad de Ciencias Exactas, Ingeniería y Agrimensura Departamento de Sistemas e Informática Escuela de Electrónica Informática II El lenguaje C: Elementos básicos del lenguaje Este material debe utilizarse

Más detalles

Un puntero no es más que una variable estática cuyo contenido es una dirección de memoria.

Un puntero no es más que una variable estática cuyo contenido es una dirección de memoria. Los punteros en C 1 Introducción Cómo se organiza la memoria asociada a un programa? Como una colección de posiciones de memoria consecutivas. En ellas se almacenan los distintos tipos de datos, que ocupan,

Más detalles

DIAGRAMAS DE FLUJO: DFD

DIAGRAMAS DE FLUJO: DFD DIAGRAMAS DE FLUJO: DFD DFD es un programa de libre disposición para ayuda al diseño e implementación de algoritmos expresados en diagramas de flujo (DF). Además incorpora opciones para el depurado de

Más detalles

11. Algunas clases estándar de Java (II)

11. Algunas clases estándar de Java (II) 122 A. García-Beltrán y J.M. Arranz 11. Algunas clases estándar de Java (II) Objetivos: a) Presentar la clase predefinida en Java para trabajar con arrays b) Interpretar el código fuente de una aplicación

Más detalles

Esquema de un programa en C: bloques básicos

Esquema de un programa en C: bloques básicos Esquema de un programa en C: bloques básicos // Incluimos los ficheros de cabecera que necesitemos. // Esto es un comentario #include #include // Si queremos definir alguna constante,

Más detalles

Programación básica C++

Programación básica C++ Programación en Lenguaje C++ Programación básica C++ 6.3.1 Declaración de variables Introducción 6 Las variables sirven para identificar un determinado valor. Es importante tener en cuenta, que una variable

Más detalles

Segundo Taller Final de PROGRAMACIÓN ORIENTADO A OBJETOS. INGENIERÍA DE SISTEMAS. Docente y Administrativo: Luz Esperanza Espitia Preciado

Segundo Taller Final de PROGRAMACIÓN ORIENTADO A OBJETOS. INGENIERÍA DE SISTEMAS. Docente y Administrativo: Luz Esperanza Espitia Preciado Segundo Taller Final de PROGRAMACIÓN ORIENTADO A OBJETOS. Código: O613 INGENIERÍA DE SISTEMAS Docente y Administrativo: Luz Esperanza Espitia Preciado Componente: Teórico Práctico. F. Vigencia: 8/10/2.012

Más detalles

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles

Reglas básicas de la programación en lenguaje C

Reglas básicas de la programación en lenguaje C 0. Introducción Reglas básicas de la programación en lenguaje C ISO - SO Departament d'arquitectura de Computadors Universitat Politècnica de Catalunya C es un lenguaje de programación de propósito general.

Más detalles

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación. Descripción de la semántica de ALFA En esta descripción sólo se mencionarán los aspectos en los que el lenguaje de programación ALFA pueda diferir de otros lenguajes de programación de alto nivel. Se sobreentienden

Más detalles

LENGUAJE ANSI C Guía de referencia

LENGUAJE ANSI C Guía de referencia Apéndice W2 LENGUAJE ANSI C Guía de referencia C.1. Elementos básicos de un programa El lenguaje C fue desarrollado en Bell laboratories para su uso en investigación y se caracteriza por un gran número

Más detalles

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación

Más detalles

Mi primer proyecto en Dev-C++

Mi primer proyecto en Dev-C++ Mi primer proyecto en Dev-C++ Para realizar esta actividad deberás disponer de un ordenador en el que esté instalado el Dev-C++. Debes ir realizando cada uno de los pasos indicados, en el mismo orden en

Más detalles

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008 INDICE

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008 INDICE Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008 Ignacio Alvarez García Septiembre 2012 INDICE 1. Preparar el proyecto para el programa... 1 1.1. Abrir Visual Studio

Más detalles

CURSO de C++ Ignacio López

CURSO de C++ Ignacio López CURSO de C++ Ignacio López Introducción al lenguaje C++ Visión General Objetivos del Curso C++ Conceptos básicos de la programación orientada a objetos (OOP) Visión General I Curso de C++ Introducción

Más detalles

Capítulo 6. Asociaciones y Declaraciones.

Capítulo 6. Asociaciones y Declaraciones. Capítulo 6. Asociaciones y Declaraciones. Lenguajes de Programación Carlos Ureña Almagro Curso 2011-12 Contents 1 Asociaciones, entornos y ámbitos 2 2 Declaraciones y definiciones 6 3 Definiciones de valores,

Más detalles

FILE *nombre_puntero_fichero; fopen(char_nombre_archivo,char_modo_apertura ); MODOS DE APERTURA. Abre un archivo de texto para lectura.

FILE *nombre_puntero_fichero; fopen(char_nombre_archivo,char_modo_apertura ); MODOS DE APERTURA. Abre un archivo de texto para lectura. FICHEROS El sistema de archivos de C está diseñado para secuencias que son independientes del dispositivo. Existen dos tipos se secuencias: de texto que es una ristra de caracteres organizados en líneas

Más detalles

Pseudolenguaje. (1 byte) 0.. 255 (valores códigos ASCII) [CHAR_MIN.. CHAR_MAX] (Definida en ) No hay. Dominio 0.. 2 n 1 [MIN(C)..

Pseudolenguaje. (1 byte) 0.. 255 (valores códigos ASCII) [CHAR_MIN.. CHAR_MAX] (Definida en <limits.h>) No hay. Dominio 0.. 2 n 1 [MIN(C).. Tipo C Dominio 0.. 2 n -1 [MIN(C).. MAX(C)] Operadores Aritméticos Otras funciones No hay CHR(...) CAP(...) ORD(...) E/S No Formateada: Leer (...) Escribir (...) char (1 byte) 0.. 255 (valores códigos

Más detalles

Formatos para prácticas de laboratorio

Formatos para prácticas de laboratorio Fecha de efectividad: CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA LSC 2003-1 5221 Lenguaje de Programación Estructurada PRÁCTICA No. 8 LABORATORIO DE NOMBRE DE LA PRÁCTICA Licenciado

Más detalles

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

Más detalles

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Por Andrés Raúl Bruno Saravia Entrega Nº 5. Cómo declaramos una variable en Lenguaje C? En C siempre se deben declarar las variables.

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

GL-PCS2201-L05M FUNCIONES Y LA ESTRUCTURA DEL PROGRAMA EN LENGUAJE C

GL-PCS2201-L05M FUNCIONES Y LA ESTRUCTURA DEL PROGRAMA EN LENGUAJE C GL-PCS2201-L05M FUNCIONES Y LA ESTRUCTURA DEL PROGRAMA EN LENGUAJE C CARRERA: 441402 INGENIERÍA DE EJECUCIÓN EN ELECTRICIDAD Y ELECTRÓNICA 444803 TÉCNICO EN ELECTRICIDAD Y ELECTRÓNICA ASIGNATURA: PCS2201

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

Vectores y matrices. Fundamentos de Programación Fundamentos de Programación I

Vectores y matrices. Fundamentos de Programación Fundamentos de Programación I Vectores y matrices Fundamentos de Programación Fundamentos de Programación I 1 Ejemplo de utilización n de vectores: gráfico de producción En una compañía nos han encargado escribir un programita que

Más detalles

LENGUAJE. Tema 1 - Introducción

LENGUAJE. Tema 1 - Introducción LENGUAJE Tema 1 - Introducción HISTORIA DEL LENGUAJE C El lenguaje de programación C fue creado por Dennis Ritchie cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del

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

Ahora, que pasa si tengo en un directorio 200 fotos en formato BMP y quiero elegir, mientras las voy viendo en pantalla, cuáles convertir...

Ahora, que pasa si tengo en un directorio 200 fotos en formato BMP y quiero elegir, mientras las voy viendo en pantalla, cuáles convertir... Prof. Mileti, P. Programando un front-end con Gambas Gambas es un excelente lenguaje y permite, entre tantas otras cosas, reutilizar aplicaciones de consola. A lo largo de este artículo veremos como programar

Más detalles

TEMA 3: EL LENGUAJE C: PRESENTACIÓN

TEMA 3: EL LENGUAJE C: PRESENTACIÓN TEMA 3: EL LENGUAJE C: PRESENTACIÓN Historia del lenguaje C Características del lenguaje C Estructura de un programa en C El editor de textos: elementos Funciones: de usuario y de librería Librerías de

Más detalles

Curso 0 de Informática

Curso 0 de Informática Curso 0 de Informática 2015-2016 Tema 1: Introducción a la Informática y Conceptos básicos 1 Motivación (I): En los procesos industriales, cada vez es mayor el uso de sistemas informáticos para: Monitorización,

Más detalles

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada. Arquitectura de sistemas Abelardo Pardo University of Sydney School of Electrical and Information Engineering NSW, 2006, Australia Autor principal del curso de 2009 a 2012 Iria Estévez Ayres Damaris Fuentes

Más detalles

Práctica 2: Simón dice

Práctica 2: Simón dice Práctica 2: Simón dice Fecha de entrega: 31 de enero de 2016 0.- Descripción del juego (Wikipedia.org) Simon dice es un juego electrónico, creado por Ralph Baer, que consiste en reproducir una secuencia

Más detalles

Fórmulas y funciones

Fórmulas y funciones 05... Fórmulas y funciones En este tema vamos a profundizar en el manejo de funciones ya definidas por Excel, con el objetivo de agilizar la creación de hojas de cálculo, estudiando la sintaxis de éstas

Más detalles

CAPITULO 4: ENTRADA Y SALIDA DE DATOS.

CAPITULO 4: ENTRADA Y SALIDA DE DATOS. CAPITULO 4: ENTRADA Y SALIDA DE DATOS. 1. INTRODUCCIÓN. Hemos visto que el lenguaje C va acompañado de una colección de funciones de biblioteca que incluye un cierto número de funciones de entrada/salida.

Más detalles

2.1.- EJEMPLO DE UN PROGRAMA FORTRAN

2.1.- EJEMPLO DE UN PROGRAMA FORTRAN 2.1.- EJEMPLO DE UN PROGRAMA FORTRAN Con el presente apartado comenzaremos a conocer cómo se escribe un programa en lenguaje FORTRAN bajo el entorno de programación FORTRAN. En primer lugar conozcamos

Más detalles

Programación: QBASIC

Programación: QBASIC 1. QBASIC Programación: QBASIC Guía del alumno Qbasic es una versión moderna del lenguaje BASIC. Se trata de un lenguaje de alto nivel. En un lenguaje de alto nivel las instrucciones tienen un formato

Más detalles

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008 INTRODUCCIÓN Estructura de Datos Tipos Abstractos de Datos (TAD S) Para poder obtener un programa que resuelva un problema dado, son necesarios varios pasos : La formulación y especificación del problema

Más detalles

El lenguaje C. 1. Más sobre Instrucciones de control

El lenguaje C. 1. Más sobre Instrucciones de control Principios de ción El lenguaje C 1. Más sobre Instrucciones de control Estudiaremos con mayor detalle la repetición y presentaremos estructuras adicionales de control de la repetición a saber las estructuras

Más detalles

APUNTES JAVA ARRAYS (ARREGLOS) Un arreglo es un grupo de posiciones de memoria contiguas. Todas las cuales tienen el mismo nombre y el mismo tipo.

APUNTES JAVA ARRAYS (ARREGLOS) Un arreglo es un grupo de posiciones de memoria contiguas. Todas las cuales tienen el mismo nombre y el mismo tipo. APUNTES JAVA ARRAYS (ARREGLOS) Los arreglos son estructuras de datos que consisten en elementos de información del mismo tipo relacionados entre sí. Los arreglos son entidades estáticas en cuanto a que

Más detalles

Tema: Arreglos de Objetos en C++.

Tema: Arreglos de Objetos en C++. Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.

Más detalles

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

Lenguaje C. Tipos de Datos Simples y Estructuras de Control Lenguaje C Tipos de Datos Simples y Estructuras de Control Lenguaje C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

Vectores y matrices. Arrays Declaración Creación Acceso a los elementos de un array Manipulación de vectores y matrices

Vectores y matrices. Arrays Declaración Creación Acceso a los elementos de un array Manipulación de vectores y matrices Vectores y matrices Arrays Declaración Creación Acceso a los elementos de un array Manipulación de vectores y matrices Algoritmos de ordenación Ordenación por selección Ordenación por inserción Ordenación

Más detalles

Examen Principios de Programación Febrero 2012

Examen Principios de Programación Febrero 2012 Por favor siga las siguientes indicaciones: Escriba con lápiz. Escriba su nombre y número de documento en todas las hojas que entregue. Numere las hojas e indique el total de hojas en la primera de ellas.

Más detalles

Lenguaje C. Enrique Vicente Bonet Esteban

Lenguaje C. Enrique Vicente Bonet Esteban Lenguaje C Enrique Vicente Bonet Esteban Tema 1 - Introducción. El lenguaje de programación C fue creado por Brian Kernighan y Dennis Ritchie a mediados de los años 70. La primera implementación del mismo

Más detalles

promedio = nint((notas(1) + notas(2) + notas(3) + & notas(4) + notas(5) + notas(6)) / 6.0) print *, 'Su promedio es', promedio

promedio = nint((notas(1) + notas(2) + notas(3) + & notas(4) + notas(5) + notas(6)) / 6.0) print *, 'Su promedio es', promedio Arreglos Un arreglo es un tipo de datos que contiene varios elementos de un mismo tipo. Cada elemento tiene asociado un índice, y puede ser tratado como si fuera una variable. La cantidad de elementos

Más detalles

El lenguaje SQL es un lenguaje estándar para el acceso y

El lenguaje SQL es un lenguaje estándar para el acceso y 1. INTRODUCCIÓN El lenguaje SQL es un lenguaje estándar para el acceso y manipulación de bases de datos relacionales como SQL Server. Esto quiere decir que aprender SQL es algo indispensable para cualquier

Más detalles

CONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida

CONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida INFORMÁTICA II 1 CONTENIDO 2 1 Programación orientada a objetos - POO 2 Clases 3 Constructores y destructores 4 Definiciones 5 Entrada y salida PROGRAMACIÓN ORIENTADA A OBJETOS Los lenguajes de programación

Más detalles

Programación en C. Apuntes creados por: José María Bea González. Algunos de los ejercicios han sido extraídos de www.elrincondec.

Programación en C. Apuntes creados por: José María Bea González. Algunos de los ejercicios han sido extraídos de www.elrincondec. www.josemariabea.com Programación en C Apuntes creados por: José María Bea González Algunos de los ejercicios han sido extraídos de www.elrincondec.com 1 Contenido Programación en C... 1 Tema 1: Introducción...

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

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador.

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador. PRACTICA #1 Aprender a programar una interrupción software empleando C y/o Ensamblador. Aprender a manipular dispositivos externos (8253, 8255) desde C y/o ensamblador. PROCEDIMIENTO: Vamos a programar

Más detalles

Instituto Politécnico Nacional

Instituto Politécnico Nacional Instituto Politécnico Nacional Secretaria Académica Dirección de Estudios Profesionales Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Culhuacan Ingeniería en Comunicaciones y Electrónica Academia

Más detalles

JavaScript toma su sintaxis de los lenguajes de programación más conocidos, fundamentalmente C/C++, aunque también algo de Pascal.

JavaScript toma su sintaxis de los lenguajes de programación más conocidos, fundamentalmente C/C++, aunque también algo de Pascal. 1 JavaScript 1.1 Qué es JavaScript? JavaScript es un lenguaje interpretado. Es idóneo para trabajar en Web, ya que son los navegadores que utilizamos los que interpretan (y por tanto ejecutan) los programas

Más detalles

Clase adicional 3. Métodos. Temas

Clase adicional 3. Métodos. Temas Clase adicional 3 Temas Métodos o Definir un método o Llamar a un método o Llamada por valor o Constructores o Método static Arrays Vectores Problemas de la clase adicional Problemas de diseño Métodos

Más detalles

If anidado: /*ifani.c*/ main() { if (getche()=='s') if (getche()=='i') printf("\n tu tecleaste si"); }

If anidado: /*ifani.c*/ main() { if (getche()=='s') if (getche()=='i') printf(\n tu tecleaste si); } El IF: Es muy parecido al while en formato y en operacion, en ambos si la condición no se cumple (es falsa) no se ejecutará el cuerpo de la declaracion. char ch; ch=getche(); if (ch=='s') printf("\ntu

Más detalles

Curso de programación en C++ Apuntes de clase EUI (UPV) Valencia, 17 al 28 de Julio de 1995. Sergio Talens Oliag

Curso de programación en C++ Apuntes de clase EUI (UPV) Valencia, 17 al 28 de Julio de 1995. Sergio Talens Oliag Curso de programación en C++ EUI (UPV) Valencia, 17 al 28 de Julio de 1995 Apuntes de clase Sergio Talens Oliag Contenidos BASES TEÓRICAS. INTRODUCCIÓN A LA POO 1 INTRODUCCIÓN.1 PARADIGMAS DE PROGRAMACIÓN..1

Más detalles

OBJETIVOS. Explicar el manejo de archivos de texto. Explicar el manejo de archivos binarios. Desarrollar programas que usen archivos.

OBJETIVOS. Explicar el manejo de archivos de texto. Explicar el manejo de archivos binarios. Desarrollar programas que usen archivos. / OBJETIVOS Explicar el manejo de archivos de texto. Explicar el manejo de archivos binarios. Desarrollar programas que usen archivos. LABORATORIO 6 MANEJO DE ARCHIVOS DE TEXTO Y BINARIOS Msc. Walter Fernandez

Más detalles

ESTRUCTURA DE DATOS: ARREGLOS

ESTRUCTURA DE DATOS: ARREGLOS ESTRUCTURA DE DATOS: ARREGLOS 1. Introduccion 2. Arreglos - Concepto - Caracteristicas 3. Arreglos Unidimensionales 4. Arreglos Bidimensionales 5. Ventajas del uso de arreglos 6. Ejemplo 1. Introducción

Más detalles

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA ARREGLOS EN JAVA I I N T R O D U C C I Ó N En las sesiones anteriores, los datos manejados en los programas han sido datos simples (carácter, entero, reales) En un gran número de problemas es necesario

Más detalles

Objetivos. El alumno conocerá los elementos indispensables de un ambiente de programación y será capaz de realizar programas básicos en lenguaje C.

Objetivos. El alumno conocerá los elementos indispensables de un ambiente de programación y será capaz de realizar programas básicos en lenguaje C. Objetivos El alumno conocerá los elementos indispensables de un ambiente de programación y será capaz de realizar programas básicos en lenguaje C. Al final de esta práctica el alumno podrá: 1. Decir cuáles

Más detalles

Practicas de Programación Estructurada. Clave: 12125

Practicas de Programación Estructurada. Clave: 12125 Universidad Autónoma de Baja California Facultad de Ingenieria Arquitectura y Diseño Practicas de Programación Estructurada Clave: 12125 Ensenada Baja California, Agosto 2013 PRACTICA 0 1. Instalacion

Más detalles