Informática II Práctica 1: Contar palabras
|
|
- Antonia Salazar de la Fuente
- hace 5 años
- Vistas:
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
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 detallesEstructura 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 detallesParte 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 detallesExamen 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 detallesSUBPROGRAMAS. 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 detallesManual 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 detallesApunte 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 detallesEJERCICIO 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 detallesIntroducció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 detallesEJERCICIOS 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 detallesPrá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 detallesIntroducció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 detallesEstructura 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 detallesIntroducció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 detallesAlfred 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 detallesCapí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 detallesGUIA 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 detallesApuntes 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 detallesPEC1. 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 detallesPrá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 detallesFORMATO 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 detallesLa 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
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 detalles4. 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 detalles1. 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 detallesHistoria. 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 detalles1.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 detallesProgramació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 detallesFUNDAMENTOS 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 detallesTema 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 detallesGuí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 detallesFundamentos 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 detallesFunciones 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 detallesEstructura 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 detallesSoluciones 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 detallesPROGRAMACIÓ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 detallesFUNDAMENTOS 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 detallesLos 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 detallesUnidad 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 detallesSAWA 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 detallesExamen 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 detallesARQUITECTURA 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 detallesAntes 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 detallesPYTHON. 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 detallesPROPIEDADES 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 detallesTEST. 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 detallesEjercicios 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 detallesTema 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 detallesMANUAL 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 detallesIndexació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 detallesComunicació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 detallesSEMINARIO 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 detalles1. 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 detallesSeminario 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 detallesTema 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 detallesEjercicios 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 detallesLUA 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 detallesCLIPS 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 detallesGENERACIÓ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 detallesOperadores. 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 detallesExamen 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 detallesProgramació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 detallesGUÍ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 detallesSEMINARIO 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 detallesProcesamiento 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 detallesIntroducció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 detallesUNIX. 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 detallesFUNDAMENTOS 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 detallesPrá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 detallesVHDL. 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 detallesARBOLES 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
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 detallesPrá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 detallesParte 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 detallesPrá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 detallesEjercicios 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 detallesEl 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 detallesIntroducció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 detallesGENERACIÓ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 detallesProgramació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 detallesAlgoritmos 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 detallesEstructura 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 detallesTema 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 detallesEXAMENES 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 detallescrear 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 detallesREM 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 detallesIntroducció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 detallesGENERACIÓ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 detallesLa 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 detallesTema 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 detallesInformá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 detallesProgramació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 detallesParte 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 detallesSISTEMAS 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 detallesGUIA 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