Informática II Práctica 1: Contar palabras

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

Download "Informática II Práctica 1: Contar palabras"

Transcripción

1 Informática II Práctica 1: Contar palabras GSyC Septiembre de Introducción En esta práctica debes realizar un programa en Ada relacionado con la gestión de palabras de un fichero de texto. El programa analizará las líneas del fichero y almacenará en una lista dinámica las palabras diferentes que contiene, incluyendo el número de veces que aparece cada una. Además el programa permitirá añadir, borrar, o buscar palabras a la lista, y al terminar mostrará la palabra más repetida de la lista. 2. Especificación del programa words Escribe en lenguaje Ada un programa llamado words que almacene una lista con las palabras que contiene un fichero de texto y la frecuencia de aparición de cada una de ellas (es decir, cuántas veces aparece cada palabra en el fichero de texto). Al ejecutar el programa se le pasará obligatoriamente como argumento el nombre del fichero que contiene las palabras a contar. Y el programa tras construir la lista de palabras mostrará por pantalla la palabra que más veces aparece en el fichero. Adicionalmente se le podrán pasar (o no) al programa un argumento más: -i Si se incluye este argumento, el programa, tras analizar el fichero, funcionará de forma interactiva, presentando al usuario un menú con las siguientes opciones: 1. Añadir una palabra a la lista: Si la palabra a añadir ya está en la lista, se incrementará en uno su frecuencia. Si la palabra es nueva, se añadirá a la lista con una frecuencia de Borrar una palabra de la lista 3. Buscar una palabra en la lista, mostrando cuál es su frecuencia 4. Mostrar todas las palabras de la lista. 5. Salir del programa El programa, por lo tanto, debe poder lanzarse de las siguientes formas:./words f1.txt Construye la lista de palabras, muestra la palabra más frecuente, y termina../words -i f1.txt Construye la lista de palabras, y entra en modo interactivo. Cuando se elige la opción de salir (5), se muestra la palabra más frecuente de la lista actual y se termina la ejecución. Si no exisitiera el fichero que se le pasa como argumento, el programa lo indicará con un mensaje. Si no se le pasa la opción -i, el programa termina sin más, y si se le pasa la opción -i, el programa comienza el modo interactivo con una lista de palabras vacía. Cualquier otra forma de lanzar el programa debe hacer que éste termine sin hacer nada, indicando cuáles son la formas correctas de lanzarlo. 1

2 3. Ejemplos de ejecución Antes de la primera ejecución se muestra con cat el contenido del fichero: $ cat f1.txt hola a todos hola a todos hola a todos hola mundo adios $./words f1.txt The most frequent word: hola - 4 $./words -i f1.txt Your option? 4 hola - 4 a - 3 todos - 3 mundo - 1 adios - 1 Your option? 1 Word? casa Word casa added Your option? 4 2

3 hola - 4 a - 3 todos - 3 mundo - 1 adios - 1 casa - 1 Your option? 2 Word? a a deleted Your option? 4 hola - 4 todos - 3 mundo - 1 adios - 1 casa - 1 Your option? 3 Word? todos todos - 3 Your option? 5 The most frequent word: hola - 4 3

4 $./words asdkf askf: file not found $./words -i asdkf askf: File not found Your option? 4 No words. Your option? 1 Word? casa Word casa added Your option? 5 The most frequent word: casa - 1 $./words usage: words [-i] <filename> $./words -i usage: words [-i] <filename> $./words -k sdfsd usage: words [-i] <filename> $./words asdas sdfsd usage: words [-i] <filename> $ 4

5 4. Condiciones obligatorias de funcionamiento 1. Los programas deberán escribirse teniendo en cuenta las consideraciones sobre legibilidad y reutilización del código que hemos comentado en clase. 2. Los programas deberán ser robustos, comportándose de manera adecuada cuando no se arranquen con los parámetros adecuados en línea de comandos. 3. Las palabras deben almacenarse en una lista dinámica. Dicha lista dinámica debe estar implementada en el paquete Word_Lists cuya especificación (que no puede modificarse) es la siguiente: with Ada.Strings.Unbounded; package Word_Lists is package ASU renames Ada.Strings.Unbounded; type Cell; type Word_List_Type is access Cell; type Cell is record Word: ASU.Unbounded_String; Count: Natural := 0; Next: Word_List_Type; end record; Word_List_Error: exception; procedure Add_Word (List: in out Word_List_Type; Word: in ASU.Unbounded_String); procedure Delete_Word (List: in out Word_List_Type; Word: in ASU.Unbounded_String); procedure Search_Word (List: in Word_List_Type; Word: in ASU.Unbounded_String; Count: out Natural); procedure Max_Word (List: in Word_List_Type; Word: out ASU.Unbounded_String; Count: out Natural); procedure Print_All (List: in Word_List_Type); end Word_Lists; 4. Comportamiento esperado de los subprogramas: Add_Word: Si Word ya está en la lista, incrementa en un su Count. Si Word no está en la lista, crea una nueva celda para ella, con Count a 1. Delete_Word: Si Word está en la lista, elimina su celda de la lista y libera la memoria ocupada por ella (llamando adecuadamente a Free). Si Word no está en la lista, eleva la excepción Word_List_Error. Search_Word: Si Word está en la lista, devuelve su Count. Si Word no está en la lista, devuelve 0. Max_Word: Devuelve los campos de la celda de mayor Count de la lista. Si hay varias celdas con el mismo valor máximo de Count, devuelve la primera de ellas. Si la lista está vacía, eleva la excepción Word_List_Error. Print_All: Muestra el contenido de todas las celdas de la lista, en el mismo orden en que se introdujeron en ella, y con el formato que se muestra en los ejemplos de ejecución. Si la lista está vacía, muestra el mensaje No words. 5

6 5. Cuando se muestre la lista de palabras, las palabras deben aparecer en el mismo orden en el que aparecen en el fichero de texto (como se muestra en los ejemplos de ejecución) 6. La salida del programa deberá ser exactamente igual a la que se muestra en los ejemplos de ejecución, con el mismo formato y la misma cadena de mensajes. 7. Se deberá reconocer como palabras cualquier conjunto de caracteres separado de otros por uno o más espacios en blanco seguidos. 8. Dos palabras sólo son iguales si todos sus caracteres son idénticos, incluyendo signos de puntuación y mayúsculas o minúsculas. Así, serán palabras distintas casa, Casa, CaSa, casa,, casa., -Casa Por tanto, en la línea: -Luis por fin no viene, me temo. las palabras son -Luis, por, fin, no, viene,, me, temo. (Nota: los caracteres se usan sólo para mostrar mejor los límites de la palabra, pero realmente no son parte de la misma) 10. El programa se usará sólo con ficheros de texto con caracteres ASCII, como los que hemos proporcionado de ejemplo. 5. Extensiones Una vez que la práctica funcione como se indica en el apartado anterior, puedes realizarle alguna de las siguientes extensiones. Ten en cuenta que en la entrega de la práctica pueden pedirse modificaciones o extensiones del tipo de las que aparecen en este apartado: 1. Se considerarán separadores de palabras uno o más caracteres seguidos no alfanuméricos. Por tanto, en la línea -Luis por fin no viene, me temo. las palabras son Luis, por, fin, no, viene, me, temo 2. Se considerarán iguales palabras que sólo se diferencian en mayúsculas/minúsculas. Así, debe contarse como la misma palabra casa, Casa, CASA, CaSa Antes de terminar el programa debe liberarse la memoria ocupada por la lista de palabras, para lo cual podrás modificar la especificación del paquete Word_Lists para incluir el siguiente procedimiento: procedure Delete_List (List: in out Word_List_Type); Al llamar a este procedimiento se irá borrando elemento a elemento de la lista, liberando la memoria asociada, hasta que la lista quede vacía. 6. Pautas de Implementación 1. Para extraer de cada línea del fichero de texto las palabras que contiene, utiliza los subprogramas Index, Head y Tail del paquete Ada.Strings.Unbounded, cuya funcionamiento se describe en el apartado 7. Para cada subprograma se incluye un ejemplo de uso que facilita mucho entender cómo funciona. 2. Puedes reutilizar código del procedimiento Next_Token que aparece en el Ejemplo Final de las transparencias de Introducción a Ada, pero ten en cuenta que dicho código no funcionará directamente en esta práctica, sino que será necesario realizarle algunas modificaciones. 3. Para la gestión de ficheros de texto os proporcionamos el ejemplo que aparece más adelante (ver apartado 8), que puede usarse tal cual. 4. Para la extensión 1 puedes usar la versión de la función Index que aparece al final de apartado 7. Esta función utiliza Maps para especificar distintos caracteres alternativos a buscar, en vez de buscar exactamente un carácter o una subcadena. 5. Para la extensión 2 puedes usar la función Ada.Characters.Handling.To_Lower() que recibe como único parámetro un String y devuelve un String resultado de pasar el parámetro a minúsculas. 6

7 7. Subprogramas para el manejo de Unbounded_Strings Todos los subprogramas que se detallan a continuación pertenecen al paquete Ada.Strings.Unbounded. Función Length: Función que devuelve la longitud (número de caracteres) del Unbounded_String que recibe como parámetro. function Length (Source : Unbounded_String) return Natural; Source: Unbounded_String cuya longitud quiere conocerse. Devuelve un Natural indicando la longitud de Source. S: ASU.Unbounded_String := ASU.To_Unbounded_String("Hola a todos"); N := ASU.Length (S); -- N tomará el valor 12 Función Index: Función que busca dentro de un Unbounded_String una subcadena, devolviendo la posición en la que aparece. function Index (Source : Unbounded_String; Pattern : String; Going : Direction := Forward; Mapping : Maps.Character_Mapping := Maps.Identity) return Natural; Source: Unbounded_String en el que se busca. Pattern: String que contiene la cadena de caracteres que se busca dentro de Source. Going: Dirección en la que se busca, por defecto hacia adelante. Como este parámetro tiene un valor por defecto no es necesario pasarlo en la llamada. Mapping: Correspondencia entre juegos de caracteres, por defecto la identidad. Como este parámetro tiene un valor por defecto no es necesario pasarlo en la llamada. Devuelve un Natural indicando la posición de Source en la que aparece por primera vez el patrón Pattern buscado. Si el patrón de búsqueda no se encuentra, se devuelve el valor 0. S: ASU.Unbounded_String := ASU.To_Unbounded_String("Hola a todos"); N := ASU.Index (S, " "); -- N tomará el valor 5 7

8 Función Head: Función que devuelve una parte de un Unbounded_String, comenzando por el principio de dicho Unbounded_String. function Head (Source : Unbounded_String; Count : Natural; Pad : Character := Space) return Unbounded_String; Source: Unbounded_String del que se quiere extraer una parte del principio. Count: Número de caracteres de Source a devolver. Pad: Carácter de relleno, por defecto un espacio en blanco. Como este parámetro tiene un valor por defecto no es necesario pasarlo en la llamada. Devuelve un Unbounded_String con los Count primeros caracteres de Source. Si Source tuviera menos de Count caracteres, el valor devuelto se completa con caracteres iguales a Pad. S: ASU.Unbounded_String := ASU.To_Unbounded_String("Hola a todos"); R: ASU.Unbounded_String; N := ASU.Index (S, " "); -- N tomará el valor 5 R := ASU.Head (S, N-1); -- R almacenará la cadena "Hola" Procedimiento Head: Procedimiento que trunca un Unbounded_String para quedarse con el principio. procedure Head (Source : in out Unbounded_String; Count : Natural; Pad : Character := Space); Source: Unbounded_String del que se quiere extraer una parte del principio. El resultado se deja en este mismo parámetro, que se recibe en modo in out. Count: Número de caracteres de Source que se quieren conservar. Pad: Carácter de relleno, por defecto un espacio en blanco. Como este parámetro tiene un valor por defecto no es necesario pasarlo en la llamada. Si Source tuviera menos de Count caracteres, el valor devuelto se completa con caracteres iguales a Pad. S: ASU.Unbounded_String := ASU.To_Unbounded_String("Hola a todos"); N := ASU.Index (S, " "); -- N tomará el valor 5 ASU.Head (S, N-1); -- S almacenará la cadena "Hola" 8

9 Función Tail: Función que devuelve una parte de un Unbounded_String, comenzando por el final de dicho Unbounded_String. function Tail (Source : Unbounded_String; Count : Natural; Pad : Character := Space) return Unbounded_String; Source: Unbounded_String del que se quiere extraer una parte del final. Count: Número de caracteres de Source a devolver. Pad: Carácter de relleno, por defecto un espacio en blanco. Como este parámetro tiene un valor por defecto no es necesario pasarlo en la llamada. Devuelve un Unbounded_String con los Count últimos caracteres de Source. Si Source tuviera menos de Count caracteres, el valor devuelto se completa con caracteres iguales a Pad. S: ASU.Unbounded_String := ASU.To_Unbounded_String("Hola a todos"); R: ASU.Unbounded_String; N := ASU.Index (S, " "); -- N tomará el valor 5 R := ASU.Tail (S, ASU.Length(S)-N); -- R almacenará la cadena "a todos" Procedimiento Tail: Procedimiento que trunca un Unbounded_String para quedarse con el final. procedure Tail (Source : in out Unbounded_String; Count : Natural; Pad : Character := Space); Source: Unbounded_String del que se quiere extraer una parte del final. El resultado se deja en este mismo parámetro, que se recibe en modo in out. Count: Número de caracteres de Source que se quieren conservar. Pad: Carácter de relleno, por defecto un espacio en blanco. Como este parámetro tiene un valor por defecto no es necesario pasarlo en la llamada. Si Source tuviera menos de Count caracteres, el valor devuelto se completa con caracteres iguales a Pad. S: ASU.Unbounded_String := ASU.To_Unbounded_String("Hola a todos"); N := ASU.Index (S, " "); -- N tomará el valor 5 ASU.Tail (S, ASU.Length(S)-N); -- S almacenará la cadena "a todos" 9

10 Función Index 1 : Función que busca dentro de un Unbounded_String uno cualquiera de entre varios posibles caracteres, devolviendo la primera posición en la que aparece cualquiera de los caracteres buscados. function Index (Source : Unbounded_String; Set : Maps.Character_Set; Test : Membership := Inside; Going : Direction := Forward) return Natural; Source: Unbounded_String en el que se busca. Set: Conjunto de caracteres a buscar la primera aparición de uno cualquiera de ellos dentro de Source. Test: Condición de pertenencia que debe cumplirse para dar la búsqueda por satisfactoria, por defecto que un caracter pertenezca al conjunto especificado en Set. Como este parámetro tiene un valor por defecto no es necesario pasarlo en la llamada. Going: Dirección en la que se busca, por defecto hacia adelante. Como este parámetro tiene un valor por defecto no es necesario pasarlo en la llamada. Devuelve un Natural indicando la primera posición de Source en la que aparece por primera vez uno cualquiera de los caracteres especificados en Set. Si no se encuentra ninguno, se devuelve el valor 0. S: ASU.Unbounded_String := ASU.To_Unbounded_String("Hola, a todos"); N := ASU.Index (S, Ada.Strings.Maps.To_Set(",.-"); -- Busca un espacio o coma o punto o guión -- N tomará el valor 5 Puedes consultar el Manual de Referencia de Ada para ver la especificación completa de estos y otros subprogramas para el tratamiento de cadenas de caracteres. 1 Sólo para extensión 1 10

11 8. Gestión de ficheros de texto El paquete Ada.Text_IO permite, además de la entrada y salida de texto a través de la entrada y salida estándar (por defecto, teclado y ventana de terminal), leer y escribir en ficheros de texto utilizando los mismos subprogramas, pero utilizando un primer parámetro adicional que representa al fichero del que se lee y se escribe. El siguiente programa lee línea a línea un fichero de texto y va mostrando cada línea en la salida estándar: with Ada.Text_IO; with Ada.Command_Line; with Ada.Strings.Unbounded; with Ada.Exceptions; with Ada.IO_Exceptions; procedure Show_File is package ACL renames Ada.Command_Line; package ASU renames Ada.Strings.Unbounded; begin Usage_Error: exception; File_Name: ASU.Unbounded_String; File: Ada.Text_IO.File_Type; Finish: Boolean; Line: ASU.Unbounded_String; if ACL.Argument_Count /= 1 then raise Usage_Error; end if; File_Name := ASU.To_Unbounded_String(ACL.Argument(1)); Ada.Text_IO.Open(File, Ada.Text_IO.In_File, ASU.To_String(File_Name)); Finish := False; while not Finish loop begin Line := ASU.To_Unbounded_String(Ada.Text_IO.Get_Line(File)); Ada.Text_IO.Put_Line(ASU.To_String(Line)); exception when Ada.IO_Exceptions.End_Error => Finish := True; end; end loop; Ada.Text_IO.Close(File); exception when Usage_Error => Ada.Text_IO.Put_Line("Use: "); Ada.Text_IO.Put_Line(" " & ACL.Command_Name & " <file>"); end Show_File; 11

12 9. Entrega El límite para la entrega de esta práctica es el Martes, 3 de Octubre a las 23:59 El procedimiento exacto de entrega se indicará a través del aula virtual. La Prueba de Laboratorio 1 correspondiente a esta práctica se realizará en el aula de prácticas habitual el Miércoles 4 de Octubre a las 13:00 A dicha prueba el alumno acudirá con el código de su práctica, y en el transcurso de la misma deberá ser capaz de realizar los ejercicios que se indiquen. 12

Examen de Lenguajes de Alto Nivel

Examen de Lenguajes de Alto Nivel Cuestiones (4 cuestiones, 4 puntos en total) Examen de Lenguajes de Alto Nivel Febrero 2005 1) Escribir el cuerpo del paquete cuya especificación se muestra debajo, de modo que el procedimiento Abre abra

Más detalles

Estructura de Datos y de la Información

Estructura de Datos y de la Información Universidad Rey Juan Carlos Curso 2009/10 Ingeniería Técnica en Informática de Gestión Estructura de Datos y de la Información Examen Final Junio 2010 Fecha: 24-6-2010 Soluciones Ejercicio 1. (Puntuación

Más detalles

Parte I: Programación en Ada

Parte I: Programación en Ada Parte I: Programación en Ada 1. Introducción a los computadores y su programación 2. Elementos básicos del lenguaje 3. Modularidad y programación orientada a objetos 4. Estructuras de datos dinámicas 5.

Más detalles

Examen de Lenguajes de Alto Nivel

Examen de Lenguajes de Alto Nivel Examen de Lenguajes de Alto Nivel Septiembre 2004 Cuestiones (4 cuestiones, 4 puntos en total; contestar brevemente de forma razonada) 1) Se dispone del siguiente paquete con un procedimiento P que puede

Más detalles

SUBPROGRAMAS. Los subprogramas pueden ser invocados varias veces desde diferentes partes del programa.

SUBPROGRAMAS. Los subprogramas pueden ser invocados varias veces desde diferentes partes del programa. SUBPROGRAMAS Los subprogramas son un conjunto de instrucciones que realizan una labor específica y se comportan de manera independiente en un programa. Los subprogramas facilitan: Descomponer la complejidad

Más detalles

Manual de turbo pascal

Manual de turbo pascal Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de

Más detalles

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Apunte Laboratorio ALPI - El lenguaje de programación Pascal Apunte Laboratorio ALPI - El lenguaje de programación Pascal 1 2 ÍNDICE GENERAL Índice 1. Estructura de un Programa en Pascal 3 2. Sintaxis de Pascal 4 2.1. Uso de mayúsculas.....................................

Más detalles

EJERCICIO 2 (3 PUNTOS) A) Sea el árbol binario AVL de la figura siguiente: B) Dada la estructura de la figura siguiente:

EJERCICIO 2 (3 PUNTOS) A) Sea el árbol binario AVL de la figura siguiente: B) Dada la estructura de la figura siguiente: ASIGNATURA TITULACIÓN APELLIDOS ESTRUCTURA DE DATOS Y DE LA INFORMACIÓN EJERCICIO 1 (3 PUNTOS) GRUPO CURSO CONVOCATORIA NOMBRE 23 / 24 EXTRAORDINARIA- SEPTIEMBRE CALIFICACIÓN Dado el tipo abstracto de

Más detalles

Introducción al Lenguaje de Programación Ada

Introducción al Lenguaje de Programación Ada Instrumentación de Tiempo Real Introducción al Lenguaje de Programación Ada Mario Aldea Rivas Departamento de Electrónica y Computadores Universidad de Cantabria GRUPO DE COMPUTADORES Y TIEMPO REAL Mario

Más detalles

EJERCICIOS MANEJO DE ESTRUCTURAS BÁSICAS SCRIPTS

EJERCICIOS MANEJO DE ESTRUCTURAS BÁSICAS SCRIPTS EJERCICIOS MANEJO DE ESTRUCTURAS BÁSICAS SCRIPTS Ejercicio 1: Hacer un script que muestre por pantalla el mensaje Hola mundo. Ejecútalo de las dos formas vistas Ejercicio 2: Realizar otro script que cree

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

Introducción a PL/SQL

Introducción a PL/SQL Introducción a 21/11/2014 1. Qué es? 2. Bloque Introducción a Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla Noviembre 2014 1.

Más detalles

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa Contenido Estructura de un programa en Java... 2 Tipos de datos básicos... 2 Operadores... 3 Literales... 4 Entrada / Salida... 4 Sentencias condicionales... 5 Funciones... 5 Ejercicios... 6 Variables,

Más detalles

Introducción al lenguaje de programación Ada

Introducción al lenguaje de programación Ada Introducción al lenguaje de programación Ada Programación de Sistemas de Telecomunicación Informática II Departamento de Teoría de la Señal y Comunicación y Sistemas Telemáticos y Computación (GSyC) Universidad

Más detalles

Alfred V. Aho, Peter J. Weinberg, Brian W. Kerningan

Alfred V. Aho, Peter J. Weinberg, Brian W. Kerningan Desarrolladores de awk Utilidad awk Introducción I Alfred V. Aho, Peter J. Weinberg, Brian W. Kerningan Objetivo inicial Utilidad para desarrollar pequeños programas Potenciar la funcionalidad proporcionada

Más detalles

Capítulo 3. Subprogramas. 3.1 Subprogramas FUNCTION

Capítulo 3. Subprogramas. 3.1 Subprogramas FUNCTION Capítulo 3 Subprogramas Con lo explicado hasta aquí se pueden escribir programas sencillos y no demasiado largos. Pero varias razones justifican la necesidad de disponer de otro tipo de recursos. Por una

Más detalles

GUIA 3 PARTE II. Introducción a PL/SQL

GUIA 3 PARTE II. Introducción a PL/SQL GUIA 3 PARTE II Introducción a PL/SQL PL/SQL proviene de Procedural Language (lenguaje procedural)/ Structured Query Language (Lenguaje de consulta estructurado). PL/SQL ofrece un conjunto de comandos

Más detalles

Apuntes elaborados por: Eduardo Quevedo,Raquel López Revisado por: Javier Miranda el 25 de Mayo de 2004

Apuntes elaborados por: Eduardo Quevedo,Raquel López Revisado por: Javier Miranda el 25 de Mayo de 2004 Apuntes elaborados por: Eduardo Quevedo,Raquel López Revisado por: Javier Miranda el 25 de Mayo de 2004 Tema 1: Arrays En este primer tema nos familiarizaremos con la programación mediante objetos con

Más detalles

PEC1. Formato y fecha de entrega. Presentación. Competencias

PEC1. Formato y fecha de entrega. Presentación. Competencias PEC1 Formato y fecha de entrega La PEC debe entregarse antes del lunes 20 de marzo de 2017 a las 23:59. Para la entrega es necesario que entreguéis un fichero en formato ZIP, que contenga: Fichero con

Más detalles

Práctica 6 Redirección de la E/S y filtros

Práctica 6 Redirección de la E/S y filtros Práctica 6 Redirección de la E/S y filtros 1. Redirección de la E/S 2. Filtros 3. Ejercicios José Luis Triviño Rodriguez 1 Redirección de la E/S Todos los procesos en Unix disponen de tres canales de comunicación:

Más detalles

FORMATO DEL FICHERO CON LA TABLA DE SÍMBOLOS

FORMATO DEL FICHERO CON LA TABLA DE SÍMBOLOS FORMATO DEL FICHERO CON LA TABLA DE SÍMBOLOS Para la corrección de la Práctica de Procesadores de Lenguajes, y como se indica en la especificación de la misma (http://dlsiisv.fi.upm.es/procesadores/practica.html),

Más detalles

La implementación se realizará en Java, a partir de un diseño orientado a objetos del problema descrito.

La implementación se realizará en Java, a partir de un diseño orientado a objetos del problema descrito. CONTEXTO FUNDAMENTOS DE PROGRAMACIÓN: TRABAJO PRÁCTICO OBLIGATORIO Curso: 2013/14 CASO DE APLICACIÓN: GESTIÓN DE UNIVERSIDADES (ENTREGA 2) Versión: 1.0.1 El trabajo práctico se enmarca en el desarrollo

Más detalles

Índice. Definición Objetivos Estructura de una unidad Ejemplo de creación y uso FAQs Opciones de compilación Unidades estándar de TurboPascal

Índice. Definición Objetivos Estructura de una unidad Ejemplo de creación y uso FAQs Opciones de compilación Unidades estándar de TurboPascal Departamento de Informática Universidad de Valladolid Campus de Segovia Unidades en TurboPascal Programación II Prácticas 2006 (E.I.T.G. Segovia) Índice Definición Objetivos Estructura de una unidad Ejemplo

Más detalles

4. Pilas ESTRUCTURAS DE DATOS 1

4. Pilas ESTRUCTURAS DE DATOS 1 4. Pilas Una Pila es una colección de elementos homogéneos dispuestos en orden tal que se recuperan en orden inverso a como se introdujeron. La extracción e inserción de elementos en la Pila se realiza

Más detalles

1. ESTRUCTURA DE UN PROGRAMA PASCAL Todo programa escrito en lenguaje Pascal, del más simple al más complejo, tiene la siguiente estructura:

1. ESTRUCTURA DE UN PROGRAMA PASCAL Todo programa escrito en lenguaje Pascal, del más simple al más complejo, tiene la siguiente estructura: 1. ESTRUCTURA DE UN PROGRAMA PASCAL Todo programa escrito en lenguaje Pascal, del más simple al más complejo, tiene la siguiente estructura: PROGRAM Nombre_del_programa; ZONA de DECLARACIONES ZONA de INSTRUCCIONES

Más detalles

Historia. Introducción al lenguaje Ada95. Historia (2) Características. Elementos del lenguaje. Características (2)

Historia. Introducción al lenguaje Ada95. Historia (2) Características. Elementos del lenguaje. Características (2) Introducción al lenguaje Ada95 Historia Concurso de ideas del Departamento de Defensa norteamericano (1979) Primer estándar: Ada 83 Utilizado en la industria militar, aeroespacial, sistemas empotrados,

Más detalles

1.2.4 Listas enlazadas

1.2.4 Listas enlazadas 1.2.4 Listas enlazadas Las listas enlazadas son tipos de datos dinámicos que se construyen con nodos. Un nodo es un registro con al menos, dos campos, uno de ellos contiene las componentes y se le denomina

Más detalles

Programación Web Tema 3.2 Java Script Estructura del Lenguaje. Ramón Alcarria ETSI en Topografía, Geodesia y Cartografía - UPM

Programación Web Tema 3.2 Java Script Estructura del Lenguaje. Ramón Alcarria ETSI en Topografía, Geodesia y Cartografía - UPM Programación Web Tema 3.2 Java Script Estructura del Lenguaje Miguel Ángel Manso Emerson Castañeda Ramón Alcarria ETSI en Topografía, Geodesia y Cartografía - UPM Contenido Variables Operadores Estructuras

Más detalles

FUNDAMENTOS DE OBJECT PASCAL

FUNDAMENTOS DE OBJECT PASCAL FUNDAMENTOS DE OBJECT PASCAL 1. ASPECTOS GENERALES DE LA SINTAXIS Los bloques de código quedan delimitados por y end. Se usa punto y coma como separador de sentencias de código. Comentarios: - ias líneas:

Más detalles

Tema 2: La clase string. Índice. Notas. Programación 2. Curso Notas. Definición Declaración Entrada / salida Métodos Operaciones

Tema 2: La clase string. Índice. Notas. Programación 2. Curso Notas. Definición Declaración Entrada / salida Métodos Operaciones : 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

Guías técnicas Grupo Danysoft: Creación de Componentes en Delphi (parte II)

Guías técnicas Grupo Danysoft: Creación de Componentes en Delphi (parte II) Guías técnicas Grupo Danysoft: Creación de Componentes en Delphi (parte II) Por Pablo Reyes Grupo Danysoft mayo de 2001 - (902) 123146 www.danysoft.com Segunda parte Este artículo es el segundo de una

Más detalles

Fundamentos de Programación

Fundamentos de Programación Fundamentos de Programación COMENTARIOS Microsoft Visual Basic interpreta que todo lo que está a la derecha del carácter ( ) en una línea cualquiera de programa es un comentario y no ejecuta acción alguna.

Más detalles

Funciones en Visual Basic

Funciones en Visual Basic Funciones en Visual Basic Manejo de cadena de caracteres 03/04/2012 UEGS Ing. Marco Buenaño A. Funciones propias de Visual Basic 1 - Funciones para el tratamiento de cadenas Las funciones de cadena, como

Más detalles

Estructura de datos y Programación

Estructura de datos y Programación Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de

Más detalles

Soluciones al Examen de Fundamentos de Computadores y Lenguajes

Soluciones al Examen de Fundamentos de Computadores y Lenguajes Soluciones al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Parcial. Junio 2005 1) Escribir una clase con un atributo privado que sea un array de

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN ORIENTADA A OBJETOS GRADO EN INGENIERÍA INFORMÁTICA SEGUNDO CURSO DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO ESCUELA POLITÉCNICA SUPERIOR UNIVERSIDAD DE CÓRDOBA CURSO ACADÉMICO: 2011

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN. 1º ING. INFORMÁTICA (Plan 2000) 1ª Convocatoria. 21 de Enero de 2002

FUNDAMENTOS DE PROGRAMACIÓN. 1º ING. INFORMÁTICA (Plan 2000) 1ª Convocatoria. 21 de Enero de 2002 FUNDAMENTOS DE PROGRAMACIÓN. 1º ING. INFORMÁTICA (Plan 2000) 1ª Convocatoria. 21 de Enero de 2002 NORMAS DE EXAMEN: Notas inferiores a 3.5 en este ejercicio implican suspender la asignatura (en primera

Más detalles

Los procedimientos almacenados son nuevas funcionalidades de la versión de MySQL 5.0. Un procedimiento

Los procedimientos almacenados son nuevas funcionalidades de la versión de MySQL 5.0. Un procedimiento PROCEDIMIENTOS ALMACENADOS Los procedimientos almacenados son nuevas funcionalidades de la versión de MySQL 5.0. Un procedimiento almacenado es un conjunto de comandos SQL que pueden almacenarse en el

Más detalles

Unidad 6. Procedimientos Almacenados y Disparadores

Unidad 6. Procedimientos Almacenados y Disparadores Unidad 6 Procedimientos Almacenados y Disparadores Disparadores (Triggers) Características Los disparadores solo ocurren cuando se presentan determinados eventos Los tipos de eventos permitidos suelen

Más detalles

SAWA Carga fichero csv de Relación de Proyectos PFEA. Manual de Usuario

SAWA Carga fichero csv de Relación de Proyectos PFEA. Manual de Usuario SAWA Carga fichero csv de Relación de Proyectos PFEA Queda prohibido cualquier tipo de explotación y, en particular, la reproducción, distribución, comunicación pública y/o transformación, total o parcial,

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 7 de septiembre de 2017 Se debe disponer sobre la mesa en lugar visible un documento

Más detalles

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES PRÁCTICA 5 El Shell de UNIX como lenguaje de programación (II) Conteni 2.1 CONTROL DEL FLUJO (II) 1.5.1 Bucles con las sentencias while y until 1.5.2 Las órdenes true y false

Más detalles

Antes de pasar a los ejemplos de creación de hipervínculos en Excel es conveniente conocer los tipos de hipervínculos que tenemos disponibles:

Antes de pasar a los ejemplos de creación de hipervínculos en Excel es conveniente conocer los tipos de hipervínculos que tenemos disponibles: Excel. Hipervínculo Un hipervínculo es un elemento dentro de un documento electrónico que hace referencia a otro documento o a un punto específico dentro del mismo documento. Los hipervínculos en Excel

Más detalles

PYTHON. Programación básica

PYTHON. Programación básica PYTHON Programación básica Qué es Python? Es un lenguaje de programación creado a principios de los 90 Su nombre viene del grupo cómico Monty Python Es bastante sencillo de entender (comparado con otros

Más detalles

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control PROPIEDADES DE LOS CAMPOS Cada campo de una tabla dispone de una serie de características que proporcionan un control adicional sobre la forma de funcionar del campo. Las propiedades aparecen en la parte

Más detalles

TEST. 2 En el PC de prácticas. Puede haber varios procesos en el mismo instante de tiempo?

TEST. 2 En el PC de prácticas. Puede haber varios procesos en el mismo instante de tiempo? FUNAMENTOS E INFORMÁTIA Examen de iciembre EXAMEN E TEORÍA T1 18 / 12 / 2006 Nombre NI Grupo INSTRUIONES Todas las preguntas del test se han de contestar en la tabla a pie de página de esta primera hoja

Más detalles

Ejercicios sobre tuberías

Ejercicios sobre tuberías Boletín 3. Ejercicios sobre tuberías July 14, 016 1. Indica de manera justificada si las siguientes afirmaciones sobre la utilización de tuberías como mecanismo de sincronización entre dos procesos son

Más detalles

Tema 3: Listas Enlazadas

Tema 3: Listas Enlazadas Apuntes elaborados por: Eduardo Quevedo/ Raquel López García Revisado por: Javier Miranda el???? Tema 3: Listas Enlazadas En este tema se va a trabajar con memoria de tipo dinámico, organizada por nodos

Más detalles

MANUAL DE RUBY (PARTE I) Luis José Sánchez González

MANUAL DE RUBY (PARTE I) Luis José Sánchez González MANUAL DE RUBY (PARTE I) Luis José Sánchez González 1. QUÉ ES RUBY? Ruby es un lenguaje de programación interpretado y orientado a objetos muy potente y al mismo tiempo muy sencillo. Para apreciar la extrema

Más detalles

Indexación con lista enlazada

Indexación con lista enlazada Indexación con lista enlazada Estructura de datos Roberto Maestre Martínez Diseño y arquitectura del sistema La nomenclatura utilizada es la siguiente. cvar Indica nombre de clase Var ovar Indica un objeto

Más detalles

Comunicación y sincronización

Comunicación y sincronización Comunicación y sincronización Son conceptos relacionados con la interacción entre los procesos La comunicación se refiere al paso de información de un proceso a otro La sincronización corresponde al cumplimiento

Más detalles

SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS

SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º, Año 2004/2005 SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Contenidos: 1. Descripción general de Maude 2. Comandos básicos 3. Formato

Más detalles

1. Introducción a la programación

1. Introducción a la programación 1. Introducción a la programación Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos Curso 2012 / 2013 Índice 1. Introducción a la programación 1. Ej01: Vacío 2. Ej02: Saludo 3. Ej03: Asignación

Más detalles

Seminario de Utilización del Laboratorio de ITR

Seminario de Utilización del Laboratorio de ITR Seminario de Utilización del Laboratorio de ITR Mario Aldea Rivas Departamento de Electrónica y Computadores Universidad de Cantabria GRUPO DE COMPUTADORES Y TIEMPO REAL Mario Aldea Rivas 1 Estructura

Más detalles

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo Tema 4 Control de flujo Programación 2015-2016 Programación - Tema 4: Control de Flujo 1 Tema 4. Control de flujo Introducción. Estructuras condicionales. Estructuras de repetición. Programación - Tema

Más detalles

Ejercicios de Programación Introducción al Lenguaje Ada Programación de Sistemas de Telecomunicación - Informática II

Ejercicios de Programación Introducción al Lenguaje Ada Programación de Sistemas de Telecomunicación - Informática II Ejercicios de Programación Introducción al Lenguaje Ada Programación de Sistemas de Telecomunicación - Informática II GSyC Departamento de Teoría de la Señal y Comunicaciones y Sistemas Telemáticos y Computación

Más detalles

LUA scripting NXA standard functions

LUA scripting NXA standard functions LUA scripting NXA standard functions Las Funciónes estándar NXA proporcionan las Funciónalidades básicas que cualquier función LUA puede utilizar en cualquier momento durante la ejecución del BMS Server.

Más detalles

CLIPS Definición de funciones

CLIPS Definición de funciones CLIPS Definición de funciones Por función consideramos tanto las funciones predefinidas en CLIPS como las definidas por el usuario en este lenguaje, o las definidas en un lenguaje externo (C, FORTRAN o

Más detalles

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS A.- ASPECTOS FUNDAMENTALES DEL CÓDIGO ORIENTADO A OBJETOS MÓDULOS DE CÓDIGO: El código en Visual Basic se almacena en módulos. Hay tres tipos de módulos: de formulario,

Más detalles

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Operadores aritméticos Son operadores binarios (requieren siempre dos operandos) que realizan las operaciones aritméticas

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 31 de agosto de 2012 Disponer sobre la mesa en lugar visible un documento de identificación

Más detalles

Programación 1. Tema V Clase de problemas. Desarrollo de un módulo de biblioteca C++ para trabajar con conjuntos de letras

Programación 1. Tema V Clase de problemas. Desarrollo de un módulo de biblioteca C++ para trabajar con conjuntos de letras Programación 1 Tema V Clase de problemas Desarrollo de un módulo de biblioteca C++ para trabajar con conjuntos de letras 1 1. Representación del tipo Conjunto DebedefinirselarepresentacióndelosdatosdetipoConjunto

Más detalles

GUÍA N 5 PROGRAMACIÓN WEB - GRADO 11. Ing. Néstor Raúl Suarez Perpiñan Página 1 de 10

GUÍA N 5 PROGRAMACIÓN WEB - GRADO 11. Ing. Néstor Raúl Suarez Perpiñan Página 1 de 10 Página 1 de 10 GUIA N 5 FUNCIONES Y VALIDACIÓN DE CAMPOS EN PHP I. FUNCIONES PHP (DEFINIDAS POR EL PROGRAMADOR) Una función es un conjunto de instrucciones agrupadas bajo un mismo nombre que puede ser

Más detalles

SEMINARIO DE DQL CON PHP Y MYSQL

SEMINARIO DE DQL CON PHP Y MYSQL SEMINARIO DE DQL CON PHP Y MYSQL Índice del Seminario Instalación del paquete XAMPP en Windows Instalación de directorios virtuales. Creación y ejecución de la primera pagina PHP. Fundamentos de PHP Estructura

Más detalles

Procesamiento de Lenguajes (PL) Curso 2014/2015. Práctica 1: analizador descendente recursivo

Procesamiento de Lenguajes (PL) Curso 2014/2015. Práctica 1: analizador descendente recursivo Procesamiento de Lenguajes (PL) Curso 2014/2015 Práctica 1: analizador descendente recursivo Fecha y método de entrega La práctica debe realizarse de forma individual, como las demás prácticas de la asignatura,

Más detalles

Introducción a la Programación

Introducción a la Programación 0,25 puntos cada pregunta 1. Observa el siguiente esquema de código. Cuándo se ejecuta Instrucción4? IF Condición1 THEN Instrucción1 ELSE IF Condición2 THEN Instrucción2 ELSE IF Condición3 THEN Instrucción3;

Más detalles

UNIX. Curso de Modelado Molecular I INTRODUCCIÓN

UNIX. Curso de Modelado Molecular I INTRODUCCIÓN UNIX INTRODUCCIÓN Estrictamente, UNIX no es un sistema operativo simple, sino una familia de sistemas operativos multiusuario y multitarea. Comprende el núcleo del sistema operativo más un conjunto de

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA ÁREA DE LENGUAJES Y SISTEMAS INFORMÁTICOS DEPARTAMENTO DE INFORMÁTICA E INGENIERÍA DE SISTEMAS ESCUELA DE INGENIERÍA Y ARQUITECTURA FUNDAMENTOS DE INFORMÁTICA 1ª CONVOCATORIA (16-junio-2011) Ejercicio

Más detalles

Práctica 2. Desarrollo de programas. Entrada y salida estándar en C.

Práctica 2. Desarrollo de programas. Entrada y salida estándar en C. INFORMÁTICA Práctica 2. Desarrollo de programas. Entrada y salida estándar en C. Grado en Ingeniería en Electrónica y Automática Industrial Curso 2014-2015 v2.0 (05.09.14) CREACIÓN DE UN PROGRAMA A la

Más detalles

VHDL. Lenguaje de descripción hardware Estructura Básica de diseño

VHDL. Lenguaje de descripción hardware Estructura Básica de diseño VHDL. Lenguaje de descripción hardware Estructura Básica de diseño 2007 A.G.O. All Rights Reserved Estructura de un diseño en VHDL LIBRARY declaraciones VHDL estructura básica ENTITY caja negra ARCHITECTURE

Más detalles

ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES TEMAS Recorrido de un árbol Máximo y mínimo Búsqueda de un elemento Borrado de un nodo 3 Características ARBOLES - CONCEPTOS Cada elemento del árbol

Más detalles

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui PL/SQL - Oracle PL/SQL (Procedural Language/SQL) es una extensión de SQL, que agrega ciertas construcciones propias de lenguajes procedimentales, obteniendose como resultado un lenguaje estructural mas

Más detalles

Práctica 5: CONSULTAS DE ACCIONES

Práctica 5: CONSULTAS DE ACCIONES Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes s/n. 41012 Sevilla Tlf/Fax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es

Más detalles

Parte I: Programación en Ada

Parte I: Programación en Ada Parte I: Programación en Ada 1. Introducción a los computadores y su programación 2. Elementos básicos del lenguaje 3. Modularidad y programación orientada a objetos 4. Estructuras de datos dinámicas 5.

Más detalles

Prácticas de Lenguajes, Gramáticas y Autómatas

Prácticas de Lenguajes, Gramáticas y Autómatas Prácticas de Lenguajes, Gramáticas y Autómatas Cuarto cuatrimestre (primavera) de Ingeniería en Informática Curso 2004-2005 http://webdiis.unizar.es/asignaturas/lga Profesor Responsable: Rubén Béjar Hernández

Más detalles

Ejercicios Tema 6. Funciones

Ejercicios Tema 6. Funciones Ejercicios Tema 6. Funciones 1. Programa que calcule el cuadrado de todos los números comprendidos entre dos dados. Usar una función a la que se le pasa como parámetro un valor y retorna su cuadrado. 2.

Más detalles

El programa en JavaScript debe ir encerrado entre la marca script e inicializada la propiedad type con la cadena text/javascript:

El programa en JavaScript debe ir encerrado entre la marca script e inicializada la propiedad type con la cadena text/javascript: Javascript Qué es JavaScript? Es un lenguaje de scripting (Código interno en las páginas HTML) necesario para los elaboradores de sitios Web, mediante el cual se puede hacer que las páginas sean activas

Más detalles

Introducción a Python Qué es Python?

Introducción a Python Qué es Python? Introducción a Python Qué es Python? Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible. Se trata de un lenguaje de programación

Más detalles

GENERACIÓN DE EXÁMENES TIPO TEST

GENERACIÓN DE EXÁMENES TIPO TEST PRÁCTICA Nº 5: 2 sesiones (S6: 25 de abril, 3, 4, 5 y 6 de mayo) (S7: 9, 10, 11, 12 y 13 de mayo) 0. OBJETIVOS GENERACIÓN DE EXÁMENES TIPO TEST a. Familiarizarse con el uso de listas con punto de interés.

Más detalles

Programación II 2do cuatrimestre 2017

Programación II 2do cuatrimestre 2017 Tecnología Java El propósito de esta clase es aplicar los conceptos de TAD y Complejidad en Java. A continuación se mencionan algunas herramientas que nos ayudaran a aplicar estos y otros conceptos que

Más detalles

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

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1 Contenidos: 1. Características generales de C++ 2. Entrada/salida estándar 3. Variables y tipos de datos

Más detalles

Estructura de Datos: Archivos

Estructura de Datos: Archivos Estructura de Datos: Archivos Registros (record) Un registro es una estructura que consiste de un número fijo de componentes llamados campos. Los campos pueden ser de diferentes tipos y deben tener un

Más detalles

Tema 4.- Pilas y Colas

Tema 4.- Pilas y Colas Apuntes elaborados por: Eduardo Quevedo, Raquel López y Aaron Asencio Revisado por: Javier Miranda el???? Tema 4.- Pilas y Colas Las pilas y colas son estructuras de datos que se utilizan generalmente

Más detalles

EXAMENES RESUELTOS DE PROGRAMACION I

EXAMENES RESUELTOS DE PROGRAMACION I EXAMENES RESUELTOS DE PROGRAMACION I Comentarios por Jose Antonio Vaqué EXAMEN DE Febrero 2005-1ª Semana - Tipo C Soluciones no oficiales 1.- Las variables de tipo puntero utilizan: a) El procedimiento

Más detalles

crear con python Materiales de inicio a la programacion con codigo Ejercicios practicos con soluciones

crear con python Materiales de inicio a la programacion con codigo Ejercicios practicos con soluciones crear con python Materiales de inicio a la programacion con codigo Ejercicios practicos con soluciones Ejercicios unidad 1 Programas de robots 1. Programas de robots Determina que instrucciones se han

Más detalles

REM Visualizar por pantalla los números de Fibonacci REM comprendidos dentro de los límites del intervalo [a,b]. REM

REM Visualizar por pantalla los números de Fibonacci REM comprendidos dentro de los límites del intervalo [a,b]. REM Nombre y Apellidos: Especialidad y Grupo: FUNDAMENTOS DE INFORMÁTICA 9-febrero-2001 PROGRAMA de Estructuras repetitivas y alternativas (2.5 puntos) 1. Los números de Fibonacci constituyen una serie en

Más detalles

Introducción a los Computadores ITTELSI. Curso

Introducción a los Computadores ITTELSI. Curso Introducción a los Computadores ITTELSI. Curso 2004-2005 PRÁCTICA 2: ESTRUCTURAS DE CONTROL Y SUBPROGRAMAS (I) Hoy vamos a practicar más conceptos sencillos del lenguaje, que nos permitan decidir qué sentencias

Más detalles

GENERACIÓN DE CÓDIGO INTERMEDIO EJEMPLOS PARA DISTINTAS ESTRUCTURAS DE DATOS

GENERACIÓN DE CÓDIGO INTERMEDIO EJEMPLOS PARA DISTINTAS ESTRUCTURAS DE DATOS Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

La resolución de problemas es una tarea únicamente humana comprobable en todos los casos con los mismos resultados.

La resolución de problemas es una tarea únicamente humana comprobable en todos los casos con los mismos resultados. Pseudocódigo Introducción La importancia de sistematizar procesos y crear programas de cómputo radica esencialmente en que estos se puedan utilizar como resolución de problemas similares en muchos casos,

Más detalles

Tema 7: Árbol Binario

Tema 7: Árbol Binario Apuntes elaborados por: Eduardo Quevedo, Aaron Asencio y Raquel López Revisado por: Javier Miranda el???? Tema 7: Árbol Binario En el árbol binario se combina lo mejor del array (acceso rápido a elementos,

Más detalles

Informática General 2018 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

Informática General 2018 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales UNA / AREA TRANSDEPARTAMENTAL DE ARTES MULTIMEDIALES Licenciatura en Artes Multimediales Informática General 2018 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales JavaScript - Programación

Más detalles

Programación 2 Curso 2017/2018. Práctica 0 Conceptos básicos

Programación 2 Curso 2017/2018. Práctica 0 Conceptos básicos Programación 2 Curso 2017/2018 Práctica 0 Conceptos básicos Esta práctica consiste en la realización de una serie de ejercicios con el objetivo de repasar conceptos básicos de programación. 1. Normas generales

Más detalles

Parte II: Estructuras de datos y algoritmos

Parte II: Estructuras de datos y algoritmos Parte II: Estructuras de datos y algoritmos Tema 11. Tipos abstractos de datos. Conceptos básicos. Listas. Pilas. Colas. Vectores. Conjuntos. Mapas. Árboles. Árboles binarios. GRUPO DE COMPUTADORES Y TIEMPO

Más detalles

SISTEMAS OPERATIVOS II Tercer curso Ingeniería Informática. Curso

SISTEMAS OPERATIVOS II Tercer curso Ingeniería Informática. Curso SISTEMAS OPERATIVOS II Tercer curso Ingeniería Informática. Curso 2008-2009 Práctica 2: Procesos en UNIX. Ejecución en esgundo plano, credenciales, prioridad, redirección. Continuar la codificación de

Más detalles

GUIA No 5. CREACIÓN DE SubVI s

GUIA No 5. CREACIÓN DE SubVI s GUIA No 5 CREACIÓN DE SubVI s Una característica importante de LabView es el manejo de jerarquías y el poder utilizar fácilmente un programa anterior como un módulo de otro cualquiera. Cuando un VI es

Más detalles