PILAS. Prof. Ing. M.Sc. Fulbia Torres

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

Download "PILAS. Prof. Ing. M.Sc. Fulbia Torres"

Transcripción

1 S ESTRUCTURAS DE DATOS 2006 Prof.

2 UNIDAD II ESTRUCTURAS DE DATOS PILAS Definición. Operaciones. Implementación secuencial. Aplicaciones. Ejemplos. Ejercicios.

3 DEFINICIÓN Una PILA (o stack) es una estructura ordenada y homogénea, en la que podemos añadir o quitar elementos solamente en un extremo de la estructura. El extremo donde se realizan estas operaciones se denomina habitualmente TOPE.

4 DEFINICIÓN Se dice que es una estructura ordenada, porque sus elementos se sitúan siguiendo un cierto orden, no que estén ordenados en función de su valor. Se dice que se trata de una estructura homogénea, porque todos sus elementos son del mismo tipo, pueden ser tanto simples (enteros, reales, ) como compuestos (registros, vectores,...)

5 DEFINICIÓN Dada una pila P, formada por los elementos a, b, c,..., k (P=(a,b,c,...,k)), se dice que a, que es el elemento más inaccesible de la pila, está en el fondo de la pila (bottom) y que k, por el contrario, el más accesible, está en el tope. Las restricciones definidas para la pila implican que si una serie de elementos A, B, C, D, E, F se añaden, en este orden, a una pila entonces el primer elemento que se elimine (borre) de la estructura deberá ser F. Por tanto, resulta que el último elemento que se inserta en una pila es el primero que se borra. Por esa razón, se dice que la pila sigue una politica de tipo LIFO (Last In First Out, el último que entra es el primero que sale).

6 DEFINICIÓN Un ejemplo típico de pila lo constituye un montón de platos: Cuando se quiere introducir un nuevo plato, éste se coloca en la posición más accesible, encima del último plato. Cuando se agarra un plato, éste se extrae, igualmente, del punto más accesible, el último que se ha introducido. Otro ejemplo sería una caja llena de libros. Sólo podemos ver cuál es el libro que está más arriba en la caja, y si ponemos o agarramos un libro, sólo podremos actuar sobre este primer libro. No podemos siquiera saber el número total de libros guardados en la pila. Sólo sabremos el número de elementos de la pila de libros si previamente los sacamos hasta vaciar la caja.

7 CARACTERÍSTICAS Una PILA es un objeto dinámico que cambia constantemente. Son muy utilizadas en programación para evaluar expresiones, reconocer lenguajes, recorrer árboles y simular procesos recursivos. Sobre una pila se pueden realizar operaciones que permiten acceder y manipular los elementos almacenados en la misma.

8 OPERACIONES Veamos cual es la especificación formal del tipo de datos abstracto pila: TAD: pila Operaciones: CONSTRUCTORA Crea una pila vacía. CrearPila: Pila

9 OPERACIONES MODIFICADORAS Dada una pila p y un valor e, del tipo base, devuelve una nueva pila formada al apilar en p el nuevo elemento sobre la posición indicada por el valor del tope. AdicPila: Pila x tipo_base Pila Dada una pila, elimina el elemento indicado por el valor del tope y devuelve la nueva pila. ElimPila: Pila Pila

10 OPERACIONES ANALIZADORAS Devuelve el valor del elemento que está apuntado por el tope. InfoPila: Pila tipo_base Devuelve el valor verdadero si la pila está vacía y falso en caso contrario. PilaVacia: Pila lógico Devuelve el valor verdadero si la pila está llena y falso en caso contrario. PilaLlena: Pila lógico

11 OPERACIONES DESTRUCTORA Destruye la pila retornando toda la memoria ocupada. DestruirPila: Pila

12 OPERACIONES Eliminar Adicionar Tope PILA

13 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) DEFINICIÓN # define MAXELEM número máximo de elementos struct tipopila { int tope; tipo_base elementos [MAXELEM]; struct tipopila p; ING. MSc. FULBIA TORRES ASIGNATURA: Barquisimeto ESTRUCTURAS 2006 DE DATOS BARQUISIMETO 2005

14 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) Con esta definición de Pila las operaciones asociadas especificadas en el TAD quedarían del siguiente modo: Crea una pila vacía. int CrearPila (struct tipopila *p) { return (*p).tope = -1; ING. MSc. FULBIA TORRES ASIGNATURA: Barquisimeto ESTRUCTURAS 2006 DE DATOS BARQUISIMETO 2005

15 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) Dada una pila p y un valor e, del tipo base, devuelve una nueva pila formada al apilar en p el nuevo elemento sobre la posición indicada por el valor del tope. void AdicPila (struct tipopila *p, tipo_base valor) { if PilaLlena (p) { cout << "Pila Overflow \n"; exit (1); else (*p).elementos[++ ((*p).tope) ] = valor; ING. MSc. FULBIA TORRES ASIGNATURA: Barquisimeto ESTRUCTURAS 2006 DE DATOS BARQUISIMETO 2005

16 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) Dada una pila, elimina el elemento indicado por el valor del tope y devuelve la nueva pila. tipo_base ElimPila (struct tipopila *p) { if PilaVacia (p) { cout << "Pila Underflow \n"; exit (1); return ((*p).elementos[((*p).tope)--]); ING. MSc. FULBIA TORRES ASIGNATURA: Barquisimeto ESTRUCTURAS 2006 DE DATOS BARQUISIMETO 2005

17 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) Devuelve el valor del elemento que está apuntado por el tope. tipo_base InfoPila (struct tipopila *p) { if PilaVacia (p) { cout << "Pila Underflow \n"; exit (1); else return ((*p).elementos[(*p).tope]);

18 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) Devuelve el valor verdadero si la pila está vacía y falso en caso contrario. int PilaVacia (struct tipopila *p) { if ( (*p).tope == -1) return 1; else return 0;

19 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) Devuelve el valor verdadero si la pila está llena y falso en caso contrario. int PilaLlena (struct tipopila *p) { if ( (*p).tope == MAXELEM) return 1; else return 0;

20 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) Destruye la pila retornando toda la memoria ocupada. void DestruirPila (struct tipopila *p) { delete (p);

21 Implementar una función que cuente y elimine de la pila todas las ocurrencias del elemento entero val. void EliminaOcurren(struct tipopila *p, int elem) { int val=0, cuenta=0; //declaración variables struct tipopila paux; //pila auxiliar CrearPila(&paux); //crea una pila auxiliar vacía while (!PilaVacia(p)) { val=elimpila(p); //saca el elemento que está en el tope de la pila //y lo almacena en val if (elem==val) {cuenta++; //cuenta la ocurrencia y queda eliminado cout<< "Eliminando"; else AdicPila(&paux,val); //si no es igual lo agrega a la pila auxiliar while(!pilavacia(&paux)) { val=elimpila(&paux); AdicPila(p,val); //devuelve a la pila original los elementos de la pila auxiliar cout<< " PILA "; cout << endl; MosElem(p); cout << "\n"; //muestra los elementos

22 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) CON CLASES DEFINICIÓN # define MAXELEM número máximo de elementos typedef tipo tipo_base; class Pila { private: int tope; tipo_base elementos[maxelem]; public: Pila( ) { tope = -1; // condición de pila vacía

23 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) CON CLASES CONTINUACIÓN DEFINICIÓN void Pila :: AdicPila (tipo_base valor); tipo_base Pila :: ElimPila(); tipo_base Pila :: LimpiarPila(); tipo_base Pila :: InfoPila(); bool Pila :: PilaVacia(); bool Pila :: PilaLlena(); //operación Modificadora //operación Modificadora //operación Modificadora //operación Analizadora //operación Analizadora //operación Analizadora

24 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) CON CLASES Agrega un elemento a la Pila. void Pila :: AdicPila( tipo_base valor) { if PilaLlena () cout << "Pila Overflow \n ; else elementos[++ tope ] = valor;

25 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) CON CLASES Elimina el elemento indicado por el valor del tope. tipo_base Pila :: ElimPila() { if (PilaVacia()) { cout<<"error: Pila underflow\n"; exit(1); else return elementos[tope--];

26 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) CON CLASES Pone el tope de la pila a su valor inicial. void Pila :: LimpiarPila() { tope = -1;

27 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) CON CLASES Devuelve el valor del elemento que está apuntado por el tope. tipo_base Pila :: InfoPila () { if (PilaVacia()) { cout<<"error: Pila underflow\n"; exit(1); else return elementos[tope];

28 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) CON CLASES Devuelve el valor verdadero si la pila está vacía. bool Pila :: PilaVacia () { return tope == -1;

29 IMPLEMENTACIÓN ESTÁTICA (Mediante Arreglos) CON CLASES Devuelve el valor verdadero si la pila está vacía. bool Pila :: PilaLlena () { return tope == MAXELEM -1;

30 #include <iostream.h> #include <string.h> #include "pilalineal.h" typedef char tipo_base; //Verifica si una palabra es palindromo int main() { pilalineal p; bool espal; char pal[81]; cout << "Teclea la palabra verificar si es palindromo: " << endl; cin.getline(pal,sizeof(pal)); for(int i=0; i<strlen(pal); ) { char c; c = pal[i++]; p.adicpila(c); espal = true; for(int j=0; espal &&!p.pilavacia(); ) { char c; c = p.elimpila(); espal = pal[j++] == c; p.limpiarpila(); if (espal) cout << "La palabra " << pal << " es un palindromo" << " \n"; else cout << "La palabra " << pal << " no es un palindromo" << " \n"; return 0;

31 APLICACIONES Llamadas a subprogramas. Correspondencia de paréntesis. Tratamiento de expresiones aritméticas. Recursividad.

32 APLICACIONES Pasos: CORRESPONDENCIA DE PARÉNTESIS Se rastrea la cadena de elementos de izquierda a derecha. Cada vez que se encuentre un paréntesis izquierdo se mete en la pila. Cada vez que se encuentre un paréntesis derecho se revisa el contenido de la pila. Si está vacía entonces habremos encontrado un paréntesis derecho que no cierra un paréntesis izquierdo, y hay un error.

33 APLICACIONES CORRESPONDENCIA DE PARÉNTESIS Si la pila no está vacía se ha encontrado el par y solo se saca de la pila. Si la pila no está vacía al terminar la cadena, entonces hay un paréntesis izquierdo sin cerrar. Hacer Ejercicio

34 APLICACIONES TRATAMIENTO DE EXPRESIONES ARITMÉTICAS Revisamos algunos conceptos: Dada la expresión A + B se dice que está en notación infija y su nombre se debe a que el operador (+) está entre los operandos (A y B). Dada la expresión AB+ se dice que está en notación postfija y su nombre se debe a que el operador (+) está después de los operandos (A y B). Dada la expresión + AB se dice que está en notación prefija y y su nombre se debe a que el operador (+) está antes de los operandos (A y B).

35 APLICACIONES TRATAMIENTO DE EXPRESIONES ARITMÉTICAS Para convertir una expresión en notación polaca (post) o (pre), deberán establecerse previamente ciertas condiciones: Solamente se manejaran los siguientes operadores ordenados de mayor a menor según su prioridad de ejecución: $ potencia * / (multiplicación y división) + - (suma, resta)

36 APLICACIONES TRATAMIENTO DE EXPRESIONES ARITMÉTICAS Continuación: Los operadores de más alta prioridad se ejecutan primero. Si hubiera en una expresión dos o más operadores de igual prioridad, entonces se procesarán de izquierda a derecha, excepto en el caso de la exponenciación, en donde se supone que el orden es de derecha a izquierda. Las subexpresiones parentizadas tedrán más prioridad que cualquier otro operador.

37 APLICACIONES Ejemplo: TRATAMIENTO DE EXPRESIONES ARITMÉTICAS Convertir de infija a postfija: A + B * C A + BC* ABC*+ (A + B) * C (A + b) * (C - D) A $ B * C - D + E / F / (G + H) (A + B) * (C $ (D - E) + F) - G ((A + B) * C - (D - E)) $ (F + G) infija operando único

38 APLICACIONES Ejemplo: TRATAMIENTO DE EXPRESIONES ARITMÉTICAS Convertir de infija a prefija: A + B * C A + *BC +A*BC (A + B) * C (A + B) * (C - D) A $ B * C - D + E / F / (G + H) (A + B) * (C $ (D - E) + F) - G ((A + B) * C - (D - E)) $ (F + G) infija operando único

39 APLICACIONES TRATAMIENTO DE EXPRESIONES ARITMÉTICAS Reglas utilizando pilas (notación infija a postfija): Si el símbolo es un paréntesis que abre ( éste se mete en la pila de operadores. Si el símbolo es un paréntesis que cierra ) se saca de la pila todo lo que exista hasta llegar al primer paréntesis que abra (. Los operadores van a la salida, a medida que salen de la pila. El paréntesis que abre ( se saca pero no va a la salida.

40 APLICACIONES Continuación: TRATAMIENTO DE EXPRESIONES ARITMÉTICAS Si el símbolo es un operador, entonces, si el operador en el tope de la pila es de la misma o de mayor precedencia, dicho operador se saca y va a la salida, continuando de esta manera hasta que el primer paréntesis izquierdo o un operador de menor precedencia se encuentre en la pila, Cuando esto ocurre, el operador en turno se mete a la pila. Si el símbolo es un operando, éste se envía directamente a la salida.

41 APLICACIONES TRATAMIENTO DE EXPRESIONES ARITMÉTICAS Ejemplo: Infijo a postfijo. ((A + B) * C / D + E $ F) / G ( ( ( + ( * / / + $ / ( ( ( ( ( ( ( + ( ( Salida: A B + C * D / E F $ + G /

42 APLICACIONES EVALUACIÓN DE UNA EXPRESIÓN POSTFIJA Cada operador en una cadena postfija hace referencia a los dos operandos anteriores de la cadena (por supuesto, uno de estos dos operandos puede ser el resultado de aplicar un operador anterior). Cada vez que se lee un operando se agrega a la pila. Cuando se encuentra un operador, sus operandos son los dos elementos superiores en la pila, después se pueden remover estos dos elementos, ejecutar la operación indicada sobre ellos y agregar el resultado a la pila para que esté disponible como operando del operador siguiente.

43 APLICACIONES Ejemplo: EVALUACIÓN DE UNA EXPRESIÓN POSTFIJA A B C * + oper1 oper2 pila A A,B A,B,C B C A,B*C A B*C A + (B * C)

44 APLICACIONES EVALUACIÓN DE UNA EXPRESIÓN POSTFIJA Ejemplo: A=6, B=3, C= * + símbolo oper1 oper2 valor pila ,3 1 6,3,1 * ,3* *1 9 6, 3 9

45 EVALUACIÓN DE UNA EXPRESIÓN PREFIJA Ejemplo: * + ab cd símbolo oper1 oper2 pila * * + *,+ a *, +, a b a b *, +, a, b *, a + b - *, a + b, - c *, a + b, -, c d *, a + b, -, c, d d c *, a + b, -, c - d a + b c - d (a + b) * (c - d)

46 EJERCICIOS PROPUESTOS Capitulo de pilas Ejercicios pag. 85 : todos, Ejercicios: pag. 95: 2.2.4, De infijo a postfijo pag. 115: todas, todas, todas, Ejercicio 2.3.7, hacerlo también para postfija. Guia de ejercicios ING. MSc. FULBIA TORRES ASIGNATURA: Barquisimeto ESTRUCTURAS 2006 DE DATOS BARQUISIMETO 2005

47 GRACIAS POR SU ATENCIÓN HASTA LA PRÓXIMA CLASE

Tema 5. Estructura de datos Pila

Tema 5. Estructura de datos Pila Tema 5. Estructura de datos Pila 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 la

Más detalles

Estructuras de Datos. La pila es un objeto dinámico en constante cambio.

Estructuras de Datos. La pila es un objeto dinámico en constante cambio. 21 Capítulo 2. LA PILA (STACK). 2.1 Definición y ejemplos. Una pila es un conjunto ordenado de elementos en el cual se pueden agregar y eliminar elementos de un extremo, el cual es llamado el tope de la

Más detalles

Tema 6. Gestión dinámica de memoria

Tema 6. Gestión dinámica de memoria Tema 6. Gestión dinámica de memoria 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 la

Más detalles

TAD: Pila. TALLER: TAD Pila

TAD: Pila. TALLER: TAD Pila TALLER: TAD Una pila (stack) es un conjunto de elementos del mismo tipo que solamente puede crecer o decrecer por uno de sus extremos. Una pila también se la conoce con el nombre de estructura de tipo

Más detalles

11. PILAS Introducción Fundamentos

11. PILAS Introducción Fundamentos 11. PILAS 11.0 INTRODUCCIÓN... 25 11.1 FUNDAMENTOS... 25 11.2. REPRESENTACIÓN DE LAS PILAS EN C++... 26 Implementación mediante estructuras estáticas... 31 Implementación mediante cursores... 35 Implementación

Más detalles

PILAS Fundamentos

PILAS Fundamentos Alg. y Estr. Datos-I / Fund. Progr.-II (R. Ferrís, J. Albert) 11 PILAS 11.1 Fundamentos En este tema y en el siguiente se analizarán las estructuras de datos lineales pilas y colas. Las pilas y las colas

Más detalles

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas El computador puede realizar cálculos además de mostrar datos por pantalla.

Más detalles

Tema: Tipos Abstractos de Datos (TAD s) en C++.

Tema: Tipos Abstractos de Datos (TAD s) en C++. Programación II. Guía 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Tipos Abstractos de Datos (TAD s) en C++. Objetivos Específicos Explicar el concepto "Tipo Abstracto

Más detalles

7.4. UTILIDADES DE LAS PILAS

7.4. UTILIDADES DE LAS PILAS 7.4. UTILIDADES DE LAS PILAS o Llamadas a subprogramas o Paso de programas recursivos a iterativos o Un caso especial, quick_sort iterativo. o Equilibrado de símbolos o Tratamiento de expresiones aritméticas

Más detalles

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos

Más detalles

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) APRENDERAPROGRAMAR.COM LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado

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

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

Más detalles

Escuela Politécnica Superior de Elche

Escuela Politécnica Superior de Elche EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA)jUJ jhshshs SEPTIEMBRE 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, una clase derivada puede acceder

Más detalles

Alonso Ramírez Manzanares Computación y Algoritmos 10.03

Alonso Ramírez Manzanares Computación y Algoritmos 10.03 Recursividad mat-151 1 Ejercicio de recursión: dibujando una regla Queremos dibujar las marcas de diferentes tamaños de una regla. Marcas grandes cada 1/2 cm, marcas más pequeñas cada 1/4 cm... hasta una

Más detalles

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. APUNTADORES Un apuntador 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 de memoria con el contenido

Más detalles

Unidad II: Análisis semántico

Unidad II: Análisis semántico Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico

Más detalles

Un. VI. Generador de código intermedio.

Un. VI. Generador de código intermedio. Un. VI. Generador de código intermedio. La administración de la memoria se da en esta etapa. Se debe considerar tanto la memoria estática como dinámica, y en esta se utilizan generalmente pilas. Los lenguajes

Más detalles

324 MR Versión 1 Prueba Integral 1/3 Semana 10 Lapso 2015-2

324 MR Versión 1 Prueba Integral 1/3 Semana 10 Lapso 2015-2 324 MR Versión 1 Prueba Integral 1/3 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA MODELO DE RESPUESTA ASIGNATURA: Computación II CÓDIGO: 324 MOMENTO: Prueba Integral FECHA DE APLICACIÓN:

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

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

El lenguaje C. 1. Identificadores, constantes y variables

El lenguaje C. 1. Identificadores, constantes y variables Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Lección 2 Introducción al lenguaje C

Lección 2 Introducción al lenguaje C Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

Programación en java. Estructuras algorítmicas

Programación en java. Estructuras algorítmicas Programación en java Estructuras algorítmicas Estructuras algoritmicas 1. Conceptos basicos 1. Dato 2. Tipos de datos 3. Operadores 2. dsd Conceptos Basicos DATO: se considera una representación simbólica

Más detalles

OPERADORES Y EXPRESIONES

OPERADORES Y EXPRESIONES OPERADORES Y EXPRESIONES Una expresión es una combinación de variables, literales y operadores, que representan un valor Operadores aritméticos Operador Función + suma - resta * producto / división % operador

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

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Variables Conceptos de Memoria Una variable es un espacio en la memoria del PC Cada variable tiene un nombre, un tipo, un tamaño y un valor

Más detalles

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006 ARBOLES ESTRUCTURAS DE DATOS 2006 DEFINICION Un árbol (tree) es un conjunto finito de nodos. Es una estructura jerárquica aplicable sobre una colección de elementos u objetos llamados nodos; uno de los

Más detalles

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando

Más detalles

Pilas y Colas. Capítulo 3

Pilas y Colas. Capítulo 3 Pilas y Colas Capítulo 3 Pilas Una pila representa una estructura lineal de datos en que se puede agregar o quitar elementos únicamente por uno de los dos extremos. En consecuencia, los elementos de una

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

Estructura de Datos. Unidad de Aprendizaje: Unidad de Competencia II: Estructuras de Datos Lineales. M. en C. Edith Cristina Herrera Luna

Estructura de Datos. Unidad de Aprendizaje: Unidad de Competencia II: Estructuras de Datos Lineales. M. en C. Edith Cristina Herrera Luna Ingeniería en Computación Unidad de Aprendizaje: Estructura de Datos Unidad de Competencia II: Estructuras de Datos Lineales Marzo 2015 M. en C. Edith Cristina Herrera Luna ESTRUCTURAS DE DATOS Propósito

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 2 Expresiones, operadores y estructuras de control Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo Fundamentos de Informática. Departamento de Ingeniería

Más detalles

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC. Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria

Más detalles

El programa que permite el manejo de la base de datos tiene la siguiente funcionalidad:

El programa que permite el manejo de la base de datos tiene la siguiente funcionalidad: El TAD Diccionario Cuando se usa un conjunto en el diseño de un algoritmo podría no ser necesario contar con operaciones de unión o intersección. A menudo lo que se necesita es simplemente manipular un

Más detalles

Tema 2. El lenguaje JAVA

Tema 2. El lenguaje JAVA Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias

Más detalles

4. Operadores Operador asignación

4. Operadores Operador asignación Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre

Más detalles

2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA

2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA CONTENIDOS: 1. TIPOS DE DATOS 2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIICADORES COMO LOCALIDADES DE MEMORIA OBJETIO EDUCACIONAL: El alumno conocerá las reglas para cambiar fórmulas matemáticas

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario

Más detalles

INSTITUTO POLITECNICO NACIONAL. ESCUELA SUPEIRIOR DE INGENIERIA MECANICA Y ELECTRICA. UNIDAD CULHUACAN. INTEGRANTES: FLORES ACOLTZI ONESIMO

INSTITUTO POLITECNICO NACIONAL. ESCUELA SUPEIRIOR DE INGENIERIA MECANICA Y ELECTRICA. UNIDAD CULHUACAN. INTEGRANTES: FLORES ACOLTZI ONESIMO INSTITUTO POLITECNICO NACIONAL. ESCUELA SUPEIRIOR DE INGENIERIA MECANICA Y ELECTRICA. UNIDAD CULHUACAN. INTEGRANTES: FLORES ACOLTZI ONESIMO MARCEL SANTOS ARIEL MARTINEZ AGUILAR GILBERTO. MATERIA: ESTRUCTURA

Más detalles

Capítulo. Listas, pilas y colas en C. Contenido. Introducción

Capítulo. Listas, pilas y colas en C. Contenido. Introducción Capítulo 32 Listas, pilas y colas en C Contenido Listas enlazadas Clasificación de listas enlazadas Operaciones en listas enlazadas Inserción de un elemento en una lista Búsqueda de un elemento de una

Más detalles

Tema 4. Operadores y Expresiones

Tema 4. Operadores y Expresiones Tema 4 Operadores y Expresiones Contenidos 1. Conceptos Básicos. 2. Operadores Aritméticos. 3. Operadores de Relación, de Igualdad y Lógicos. 4. Operadores de Incremento y Decremento. 5. Operadores y Expresiones

Más detalles

Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas

Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas Programación 1 Tema II. Diseño de programas elementales Lección 7. Diseño modular y descendente de programas 1 Objetivos de la lección : Aprender qué es un diseño modular de un programa Aprender a diseñar

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

Tema 13: Apuntadores en C

Tema 13: Apuntadores en C Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción

Más detalles

Notación Polaca (Jan Lukasiewitz) (Notación prefija)

Notación Polaca (Jan Lukasiewitz) (Notación prefija) APLICACIONES. Notación Polaca y Polaca Inversa. Notación infija A+B C-D E*F G/H Distinción entre (A+B)*C y A+(B*C) de prelación. Con paréntesis y orden Notación Polaca (Jan Lukasiewitz) (Notación prefija)

Más detalles

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática Programación de Computadores 4 Iteraciones y Decisiones Prof. Javier Cañas Universidad Técnica Federico Santa María Departamento de Informática Contenido 1 Introducción 2 Operadores Relacionales y Lógicos

Más detalles

ANEXO XVII DE LA RESOLUCION N

ANEXO XVII DE LA RESOLUCION N Hoja 1 de 7 UNIVERSIDAD NACIONAL DE CÓRDOBA Facultad de Ciencias Exactas Físicas y Naturales República Argentina Programa de: Código: Informática Carrera: Materia común Res. Nº Plan: Puntos:3.5 Escuela:

Más detalles

Tema 7.- Fundamentos de la Programación Orientada a Objetos

Tema 7.- Fundamentos de la Programación Orientada a Objetos Tema 7.- Fundamentos de la Programación Orientada a Objetos 7 de enero de 2014 Objetivos Saber definir clases propias. Saber crear objetos de una clase determinada e interactuar con ellos (Problema 1).

Más detalles

Práctica de constantes, expresiones y operadores. Programación en C 1

Práctica de constantes, expresiones y operadores. Programación en C 1 Práctica de constantes, expresiones y operadores Programación en C 1 Definición de variables (II) Las variables (automáticas) no inicializadas tienen cualquier valor. Una variable (automática) se inicializa

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación

Más detalles

Modelos de Desarrollo de Programas Y Programación Concurrente Clase N 3

Modelos de Desarrollo de Programas Y Programación Concurrente Clase N 3 PROGRAMACION FUNCIONAL - Un lenguaje de programación funcional tiene gran flexibilidad, es conciso en su notación y su semántica es sencilla. El inconveniente principal de estos lenguajes ha sido la ineficiencia

Más detalles

Guía práctica de estudio 05: Diagramas de flujo

Guía práctica de estudio 05: Diagramas de flujo Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de

Más detalles

LEX. Las definiciones y subrutinas son opcionales. El segundo %% es opcional pero el primer %% indica el comienzo de las reglas.

LEX. Las definiciones y subrutinas son opcionales. El segundo %% es opcional pero el primer %% indica el comienzo de las reglas. LEX Estructura de un programa en LEX { definiciones { reglas { subrutinas del usuario Las definiciones y subrutinas son opcionales. El segundo es opcional pero el primer indica el comienzo de las reglas.

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

Introducción al lenguaje C

Introducción al lenguaje C Programación 2 Profesorado de Informática CeRP del Suroeste, Uruguay 29 de marzo de 2016 Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10;

Más detalles

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: EMPEZAR DE CERO A PROGRAMAR EN lenguaje C Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 7 OPERADORES Y EXPRESIONES 1 OBJETIVOS Conocer los tipos de operadores

Más detalles

Estructura de Datos y de la Información. Pilas y expresiones aritméticas

Estructura de Datos y de la Información. Pilas y expresiones aritméticas Estructura de Datos y de la Información Pilas y expresiones aritméticas LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y

Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y distribución. Listas Enlazadas Estructuras de datos dinámicas

Más detalles

Funciones. Parámetros por valor

Funciones. Parámetros por valor Funciones I Parámetros por valor Fundamentos de Programación Fundamentos de Programación I Llamada a la función definición subprograma Subprogramas en C++ Funciones 1 Una función es un subprograma que

Más detalles

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros Práctica 3. Paso de parámetros entre subrutinas 1. Objetivo de la práctica El objetivo de esta práctica es que el estudiante se familiarice con la programación en ensamblador y el convenio de paso de parámetros

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays

Más detalles

TIPO DE DATO ABSTRACTO (TDA)

TIPO DE DATO ABSTRACTO (TDA) TIPO DE DATO ABSTRACTO (TDA) Ing. Eduard Antonio Lozano Córdoba Nota: Toda la información fue copiada de: Libros físicos e Internet Actividad Extra Clases #include #include int binario(int

Más detalles

Temario. Tema 2. Tecnología de Desarrollo Software. 2.1 Excepciones en C Prueba y Depuración. 2.3 Documentación

Temario. Tema 2. Tecnología de Desarrollo Software. 2.1 Excepciones en C Prueba y Depuración. 2.3 Documentación Temario 2.1 Excepciones en C++ La sentencia throw La sentencia try - catch Control de Flujo 2.2 Prueba y Depuración Concepto de Prueba Pruebas de Caja Blanca Pruebas de Caja Negra Diseño de casos de prueba

Más detalles

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009 Árboles Ejemplos de estructuras arborescentes: con forma de árbol Regla de Alcance: los objetos visibles en un procedimiento son aquellos declarados en él mismo o en cualquier ancestro de él (cualquier

Más detalles

Operadores y Expresiones

Operadores y Expresiones Operadores y Expresiones Los programas Java constan de datos, sentencias de programas y expresiones. Una expresión es normalmente, una ecuación matemática, tal como 3 * x + 5 * z. En esta expresión, los

Más detalles

2.2 Nombres, Ligado y Ámbito

2.2 Nombres, Ligado y Ámbito 2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el

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 2: Memoria dinámica y Bibliotecas Objetivos Practicar conceptos

Más detalles

PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07

PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07 PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07 1. En qué método de análisis sintáctico puede suceder que en la construcción del árbol de derivación de las posibles expansiones de un símbolo no terminal

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

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 3 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº3 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Mi primeras

Más detalles

PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I

PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I Table of contents 1 INFORMACIÓN GENERAL...2 2 INTRODUCCIÓN... 2 3 OBJETIVOS GENERALES DE LA ASIGNATURA... 3 4 OBJETIVOS, TEMAS Y SUBTEMAS... 3 5 PLAN TEMÁTICO...6

Más detalles

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1 Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos

Más detalles

Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas

Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas Agenda 2.1 Familiarización con el ambiente de programación 2.2 Análisis de la estructura de un programa 2.3 Envío de mensajes a la salida estándar

Más detalles

Pilas y Colas. Cursos Propedéuticos Dr. René Cumplido M. en C. Luis Rodríguez Flores

Pilas y Colas. Cursos Propedéuticos Dr. René Cumplido M. en C. Luis Rodríguez Flores Pilas y Colas Cursos Propedéuticos 2015 Dr. René Cumplido M. en C. Luis Rodríguez Flores Contenido de la sección Pilas Estructura Operaciones Ejemplos de aplicación Implementación Colas Definición Operaciones

Más detalles

Estructura de datos Tema 3: El TAD Lista lineal. Universidad de Valladolid. Departamento de informática. Campus de Segovia

Estructura de datos Tema 3: El TAD Lista lineal. Universidad de Valladolid. Departamento de informática. Campus de Segovia Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 3: El TAD Lista lineal Prof. Montserrat Serrano Montero ÍNDICE El TAD lista lineal Implementación con estructuras

Más detalles

Estatutos de Control C# Estatutos de Decisión (Selección)

Estatutos de Control C# Estatutos de Decisión (Selección) SELECCIÓN Estatutos de Control C# Estatutos de Decisión (Selección) IF Condición THEN Estatuto1 ELSE Estatuto2 Estatuto1 Statement Condición... Antes de ver esta presentación: Lee el Capítulo correspondiente

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

Árboles. Cursos Propedéuticos 2015. Dr. René Cumplido M. en C. Luis Rodríguez Flores

Árboles. Cursos Propedéuticos 2015. Dr. René Cumplido M. en C. Luis Rodríguez Flores Árboles Cursos Propedéuticos 2015 Dr. René Cumplido M. en C. Luis Rodríguez Flores Contenido de la sección Introducción Árbol genérico Definición y representación Árboles binarios Definición, implementación,

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

Programación. Test Autoevaluación Tema 3

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

Más detalles

AREA A LA QUE PERTENECE: 103 Matemática Básica 2 34 créditos POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015

AREA A LA QUE PERTENECE: 103 Matemática Básica 2 34 créditos POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Introducción a la Programación Y Computación 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias y Sistemas AREA

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 3. Tipos de datos simples

Tema 3. Tipos de datos simples Tema 3. Tipos de datos simples Contenido del tema: Concepto de tipo. Tipos simples. Operadores. Expresiones. Semántica. Tipos y expresiones en lenguaje C++ Francisco J. Veredas Dpto. Lenguajes y Ciencias

Más detalles

POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO:

POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO: UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Introducción a la Programación Y Computación 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias y Sistemas AREA

Más detalles

Tema: Sobrecarga de Operadores.

Tema: Sobrecarga de Operadores. Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen

Más detalles

Curso de Programación Avanzada en C

Curso de Programación Avanzada en C Curso de Programación Avanzada en C Copyright, 1996 Universidad Sim on Bol ivar 1 Prof. Mariela J. Curiel Contenido del Curso Conceptos BásicosB Estructuras de Control Arreglos Otros tipos de datos derivados

Más detalles

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Constantes y variables Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. pi = 3.1416 Variable: Es un espacio en la memoria de la computadora que

Más detalles

Las clases como tipos de datos definidos por el usuario

Las clases como tipos de datos definidos por el usuario . La clase Fraccional. Representación en UML de los niveles de acceso 3. Categorías de los objetos que aparecen en los métodos 4. El puntero this. Métodos operadores La clase Fraccional Vamos a diseñar

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

5. Sentencias selectivas o condicionales

5. Sentencias selectivas o condicionales 60 A. García-Beltrán y J.M. Arranz 5. Sentencias selectivas o condicionales Objetivos: a) Describir el funcionamiento de las sentencias selectivas o condicionales (if-else y switch) b) Interpretar el resultado

Más detalles

Tema: Autómata de Pila

Tema: Autómata de Pila Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores 1 Tema: Autómata de Pila Contenido La presente guía aborda los autómatas de pila, y se enfoca en la aplicación que se le puede dar a estas

Más detalles

Definición y Conversión de datos. Agustín J. González ELO-329

Definición y Conversión de datos. Agustín J. González ELO-329 Definición y Conversión de datos Agustín J. González ELO-329 1 Calificador Const El calificador const previene que un objeto sea modificado con posterioridad a su definición. El objeto calificado como

Más detalles

Lenguaje de programación C. Introducción

Lenguaje de programación C. Introducción Lenguaje de programación C Introducción 1 Elementos del lenguaje C Colección de funciones Estas funciones contienen declaraciones, sentencias, expresiones y otros elementos que en conjunto indican a la

Más detalles

GUÍA BÁSICA DE SCHEME v.4

GUÍA BÁSICA DE SCHEME v.4 Esta guía básica pretende ser una introducción elemental al lenguaje de programación Scheme. Se presenta como una guía de comienzo rápido de tal forma que permita conocer de una forma muy esquemática los

Más detalles