Los tipos de estos datos pueden ser cualesquiera, y no necesariamente de tipo char.

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

Download "Los tipos de estos datos pueden ser cualesquiera, y no necesariamente de tipo char."

Transcripción

1 11. ENTRADA Y SALIDA. COMUNICACION Introducción. La utilidad y éxito de los lenguajes de programación de alto nivel se apoyan en el principio de la abstracción, consistente en ocultar los detalles, pertenecientes al computador que se está empleando para ejecutar el programa, destacando las estructuras de datos y algoritmos expresados por el programa. Corrientemente las operaciones de entrada y salida son las de mayor nivel de abtracción. Su desarrollo no sólo está vinculado a los periféricos, y el computador que se esté empleando, sino también está fuertemente vinculado al sistema operativo. El alto nivel de abstracción no es sorprendente, ya que estas operaciones inherentemente están relacionadas con dispositivos periféricos; cuya estructura, funciones y operación difieren fuertemente entre las diversas clases y marcas. Todos estos aspectos deben ser convenientemente ocultados al programador. La mayoría de los lenguajes de alto nivel han incorporado instrucciones para leer y escribir datos, en forma secuencial, sin hacer referencia a los artefactos específicos. Debe distinguirse entre entrada y salida legible e ilegible. Normalmente la entrada y salida legible se emplean para comunicar el computador con el usuario, fundamentalmente sus componentes son elementos de tipo char; excepción de ésto son la entrada y salida gráfica por puntos o pixeles. Entradas de tipo legible provienen de teclados, lectoras de tarjetas y dispositivos similares; la salida legible se envía generalmente a pantallas de terminales (displays) e impresoras. Salidas y entradas ilegibles están asociadas a la comunicación entre computadores y dispositivos de almacenamiento secundario, tales como cintas, discos, tambores. En un ambiente de control automático, la comunicación con sensores y dispositivos actuadores, también puede clasificarse como comunicación ilegible; y en general serán de igual tipo todas aquellas comunicaciones del computador con máquinas digitales controladas por éste. Los tipos de estos datos pueden ser cualesquiera, y no necesariamente de tipo char. Prof. Leopoldo Silva Bijit

2 En general, se denomina entrada y salida binaria a la ilegible; y de texto a la legible. Un programa en ejecución, es un proceso que acepta datos desde un medio externo (input) a través de instrucciones específicas; luego los manipula de acuerdo al algoritmo; y finalmente produce resultados que se escriben, también mediante instrucciones específicas, hacia un medio externo (output) Comunicación de Computadores con el Medio Ambiente. Una visión esquemática de los procesos de comunicación legibles, es la siguiente: read write INPUT PROCESO OUTPUT La visión abstracta anterior oculta: el transporte de los datos desde y hacia el computador; los protocolos entre dispositivos y hacia el computador; las transformaciones de las representaciones internas de los datos a secuencias de elementos pertenecientes al código que es capaz de manipular cada dispositivo. Una secuencia de caracteres es una estructura de datos, que será estudiada más adelante, denominada archivo (file) secuencial. Un archivo secuencial de caracteres (legible) suele denominarse archivo de texto. Las características básicas de un archivo son: posee componentes de igual tipo (char en caso de textos); el número de sus componentes no se conoce por adelantado (cardinalidad no acotada); el modo, puede ser lectura o escritura; sólo puede agregarse componentes al final, acción de escritura; en cada instante sólo una componente es accesible, la acción de obtener un elemento se denomina lectura Nombres de Dispositivos y Archivos. En un sistema computacional, los archivos suelen almacenarse en dispositivos de memoria secundaria, discos generalmente. Como un disco puede almacenar una gran cantidad de archivos, éstos suelen guardarse con un nombre. Existen procedimientos, en el sistema operativo, para asignarles nombres (crearlos), borrarlos, moverlos hacia otro dispositivo, copiar zonas de memoria hacia un espacio disponible en el disco (escribirlos). Los dispositivos Prof. Leopoldo Silva Bijit

3 periféricos, orientados al carácter (teclados, pantallas, impresoras) también son reconocidos por el sistema operativo con un nombre; por esta razón suelen denominarse archivos virtuales. Debe notarse que estos dispositivos cumplen las características básicas de un archivo, mencionadas anteriormente. Los lenguajes de alto nivel, suelen ocultar casi todos los detalles relacionados con el sistema operativo y que son pertinentes a la comunicación con el medio externo. Una forma de proporcionar valores a las variables, es mediante asignaciones. Esta forma de entrada implica modificaciones al texto si se desea efectuar el proceso con otros valores de entrada. La separación de los datos del programa es una idea fundamental en programación, y permite correr un mismo programa con diferentes datos de entrada. Esto se logra mediante la instrucción read Modo Batch. Los datos que serán empleados, pueden confeccionarse por adelantado y ser depositados en un archivo. También los resultados, producto de las computaciones, pueden ser almacenados en un archivo. De este modo se logra una alta eficiencia del uso del computador, ya que pueden organizarse grupos de tareas similares, para ser procesadas más adecuadamente. Por ejemplo, todas las compilaciones de un lenguaje pueden desarrollarse en sucesión, cargando en memoria sólo una vez el compilador respectivo. Este modo se denomina procesamiento por tandas (batch) y suele emplearse en la manipulación de grandes volúmenes de información. En este ambiente, existen procesadores especiales para generar los archivos de entrada, suelen ser más baratos que el computador; de este modo disminuyen los costos del ingreso de datos. También los resultados impresos pueden confeccionarse después que el programa haya terminado su ejecución, a partir del archivo de resultados Modo Interactivo. En este modo, cuando el programa está en ejecución, un usuario enfrentado a un terminal puede introducir datos a través del teclado; y observar, casi instantáneamente, los resultados en su pantalla. Para facilitar aún más la programación en este modo, los lenguajes de alto nivel, proveen dos archivos estándar de entrada y salida. La entrada, asociada al teclado, se asume un archivo abierto para lectura; la salida, asociada a la pantalla, se asume abierta para escritura Nombre Lógico y Físico. Prof. Leopoldo Silva Bijit

4 Un programador puede visualizar un archivo legible, como una secuencia de caracteres. La declaración de una variable de este tipo puede efectuarse según: var x:file of char; También puede emplearse un tipo estándar que es equivalente: var x: text; Se dice que x es el nombre lógico del archivo. Y es la entidad que el programador emplea en el texto de su programa. También es necesario asociar la variable, interna al programa, con el archivo depositado en el almacenamiento secundario. Este archivo reside en el directorio con un nombre y puede ser manipulado por el sistema operativo: es decir, puede ser copiado a otra zona del disco, cambiado de nombre, eliminado, mostrado en la pantalla, enviado a la impresora; y también podrá ser manipulado por editores de texto. Esta instancia del archivo se denomina "archivo físico". El archivo es uno solo, lógico y físico se refieren a diferentes visiones de la información Abrir y Cerrar Archivos. En cada implementación de Pascal, existen instrucciones especiales para efectuar la asociación entre el archivo físico y el archivo lógico. Una forma de efectuarlo, es la siguiente: open(x,'<nombre>',input); {modo input} Esta instrucción abre (open en inglés) el archivo, existente en el directorio, denominado <nombre>. Y queda accesible para lectura el primer caracter de la secuencia. Debe recordarse que la secuencia sólo puede leerse de izquierda a derecha y no puede volverse atrás. Cuando se desea escribir en un archivo, se emplea: open(x,'<nombre>',output); {modo output} Después de esta instrucción se borra del directorio el archivo denominado <nombre> y se crea un espacio en blanco para depositar la secuencia. También sólo puede escribirse de izquierda a derecha y no puede volverse atrás. Después de abrir el archivo, puede intercambiarse datos entre el programa y el archivo. Prof. Leopoldo Silva Bijit

5 El identificador del nombre del archivo debe cumplir las reglas del sistema operativo. Suele estar acotado el largo del nombre, y el de la extensión. No puede abrirse un archivo que ya está abierto. Tampoco puede cambiarse de modo sin previamente cerrar el archivo. Es decir, no puede escribirse en un archivo abierto para entrada; ni tampoco, puede leerse en un archivo abierto para escritura o salida. La instrucción: close(x) cierra el archivo. La acción de cerrar un archivo asegura que la totalidad de la información escrita queda permanentemente ligada al archivo. Esto es indispensable en archivos abiertos para escritura; y para archivos en los que sólo se ha leído, y luego se desea cambiar su modo (es decir, escribir). No obstante lo anterior, los sistemas suelen cerrar automáticamente los archivos al salir del bloque en que está declarada la variable lógica correspondiente. Otras implementaciones(por ejemplo: Turbo Pascal) usan: assign(x,<nombre>) Para relacionar el nombre físico con el lógico. Otras incluyen en las instrucciones reset y rewrite el nombre físico del archivo Entrada y Salida Estándar. En todas las implementaciones existen dos archivos predeclarados según: var: input, output: text; Los cuales pueden usarse, sin abrirlos ni cerrarlos, y ni siquiera declararlos. Suelen estar asociados al teclado y la pantalla, respectivamente; y se denominan entrada y salida estándares Sintaxis. La sintaxis de las instrucciones de entrada y salida son: Prof. Leopoldo Silva Bijit

6 <entrada> ::= 'read' '('[<nombre lógico> 'input'',']{<variable>* ','}')' <salida> ::= 'write' '(' [<nom. lógico> 'output' ','] {<p.escritura>* ','} ')' Si no se coloca nombre de archivo, se asume por omisión (o defecto), los archivos input o output. <parámetro de escritura> ::= <expresión> [':' <ancho> [ ':' <decimales>] ] En el archivo output o archivos de tipo texto la expresión puede ser de tipo char, boolean, integer, real; y también puede ser un string. Como se verá este último corresponde a un tipo llamado: packed array of char. Ancho y decimales deben ser expresiones enteras. Sólo se especifica decimales para números reales. En caso de no hacerlo el número se escribirá en formato exponencial. Si no se especifica el ancho, cada implementación define un ancho por defecto para cada tipo. Los cuales pueden determinarse a través del manual o programas simples. En el caso de lectura, la variable puede ser de tipo char, integer o real. Se leen el carácter o secuencias de dígitos de acuerdo a las reglas de composición léxica para cada tipo. Más adelante se verán ejemplos que aclaran este punto. La reglas para leer y escribir en archivos que no son de texto, difieren de las anteriores, y se verán más adelante Estructuras de Líneas. Readln, Writeln Texto de líneas. Prof. Leopoldo Silva Bijit

7 Un archivo de texto, o secuencia de caracteres, también puede visualizarse, como una secuencia de líneas. Una línea queda delimitada por un marcador de fin de línea (eolm). Entonces: <línea> ::= { <caracter gráfico> } <eolm> <texto > ::= { <línea > } <eofm> Una línea se dice vacía si no contiene caracteres; solo contiene un eolm. Igualmente, un archivo se dice vacío si sólo contiene un eofm. El largo de una línea, es el número de caracteres que la forman y puede ser variable. Nótese que, en archivos no vacíos, debe existir un eolm antes del marcador de fin de archivo, eofm Escribir marcadores de líneas. La instrucción: writeln(x) escribe un eolm en la variable archivo de texto, declarada con el nombre lógico x. Si el archivo es output, puede escribirse: O más simplemente writeln(output); writeln; En un terminal equivale a mover el cursor, desde su posición actual, a la primera columna de la línea siguiente. La secuencia: write(ep); writeln; Puede reemplazarse por: writeln(ep) Prof. Leopoldo Silva Bijit

8 La instrucción writeln es una abreviatura de write line (escriba línea). Al cerrarse un archivo, abierto para escritura, el sistema agrega, en forma automática, un eofm (marcador de fin de archivo) después del último carácter escrito por una instrucción de salida. En archivos de texto, estructurado en líneas, conviene escribir un eolm cómo el último carácter. Prof. Leopoldo Silva Bijit

9 Lectura marcadores de línea. Consideremos la lectura de un archivo externo de texto, declarado con nombre lógico t; cuando se lo abre, queda disponible el primer carácter de la primera línea. A medida que se efectúan instrucciones de lectura, se van consumiendo caracteres y la posición que contiene el carácter disponible va avanzando hacia el final del archivo. Siempre habrá, en cualquier instante, una posición bien definida que contiene el siguiente carácter disponible. La instrucción: readln(t); Avanza hasta encontrar un eolm; y deja la posición disponible como el primer carácter después del eolm. Readln es una abreviatura de read line (lea línea). Si el archivo es input: readln(input); Es equivalente a: readln; La secuencia: read(variable);readln; Puede reemplazarse según: readln(variable); Readln(t) también puede interpretarse como descartar todos los caracteres desde la posición actual, hasta el final de la línea corriente, incluyendo el eolm Funciones Eoln y Eof. Para los archivos de texto, considerando su estructura de líneas, la implementación estándar de Pascal, define dos funciones que entregan un resultado de tipo booleano. Para variable t declarada de tipo text: Prof. Leopoldo Silva Bijit

10 La función end of line: UNIVERSIDAD TECNICA FEDERICO SANTA MARIA eoln(t) Entrega un valor verdadero cuando la posición actual, de lectura, es un eolm; es decir, después de leer el último caracter gráfico de la línea. En caso contrario retorna un valor false. Una línea puede tener largo 0; es decir, sin caracteres gráficos. Esto corresponde a la secuencia:...<eolm> <eolm>... Y puede haberse generado mediante la secuencia: writeln(línea anterior); writeln... El eolm no está incluido en el tipo char. Por esta razón si eoln es verdadero y si se lee una variable de tipo char, será asignado un espacio (o blanco) a dicha variable. Además eoln tomará valor falso, excepto si la siguiente línea es de largo 0; en cuyo caso, permanecerá con valor verdadero. Cuando se leen números, se descartan los blancos o espacios entre los números y también los delimitadores de fin de línea y comentarios. Después de leer el último carácter gráfico de la última línea del texto, la función: eof(t) toma valor verdadero; en caso contrario es false. Entonces, si ch es de tipo char: Es equivalente a: readln(t); while not eoln(t) do read(t,ch); read(t,ch); Las sucesivas lecturas, reescriben el valor anterior de ch; lo que es equivalente a descartar los caracteres. La última lectura, después del while, es para descartar el eolm. Prof. Leopoldo Silva Bijit

11 La instrucción read(t,ch) en un archivo de texto estructurado en líneas puede explicarse según: if eol(t) then Begin read(t,ch); ch:=' ' end else read(t,ch) Copiar archivos de texto. Desarrollar un programa para copiar un archivo de texto. Asumir que el archivo fuente se llama: fuente.txt, y el destino: destino.txt. Program copia(f,d); var ch:char; f,d:text; {nombres lógicos} Procedure copielinea; while not eoln(f) do read(f,ch); write(d,ch) end;{copia caracteres gráficos} readln(f); writeln(d) {copia eolm} end; open(f,'fuente.txt',input); {se abre para lectura} open(d,'destino.txt',output); {se abre en modo escritura} while not eof(t) do copielinea end. {al salir se cierran automáticamente el fuente y el destino} Como se verá más adelante, es posible leer un string (como un packed array of char, en Pascal estándar) y emplearlos en el comando open( no estándar); haciendo más general el utilitario de copia de archivos de texto. El programa no efectúa comentarios hacia el terminal; esto puede mejorarse, agregando un mensaje inicial, para avisar que se entró a ejecutar (o interpretar) el programa copie. Además podría, por ejemplo, escribirse en el terminal un punto '.', cada 10 líneas copiadas. Prof. Leopoldo Silva Bijit

12 Sobre entrada estándar Lectura con eco. UNIVERSIDAD TECNICA FEDERICO SANTA MARIA En muchas implementaciones de Pascal, el archivo input, está diseñado para copiar los caracteres, que se digiten en el teclado, en la pantalla. Esto se denomina lectura con eco. En Pascal estándar, se asume que la lectura es sin eco. Esto es bueno, conceptualmente, ya que separa las acciones de entrada y salida. Si la lectura es sin eco, y se desea tener una realimentación visual de lo digitado en el teclado, debe emplearse la secuencia: read(variable); write(variable) Esquema que puede verse, en los ejemplos que figuran en el Report y User Manual de Pascal. En la gran mayoría de los compiladores Pascal (pero no en todos) suele predefinirse un archivo de texto estándar de entrada sin eco. Y se le da el nombre de keyboard. En este caso, la lectura de un caracter sin eco, se codificaría según: read(keyboard, ch); Pero la secuencia read, write en un archivo input con eco, produce en la pantalla un efecto distorsionante y molesto. Ya que cada caracter digitado en el teclado, figura dos veces en la pantalla. Uno es debido al eco; el otro a la instrucción write. Entonces: read(keyboard,variable); write(variable); Implementa la lectura con eco; que figura en el libro mencionado antes Programas interactivos. Se dice que la entrada es interactiva si se emplean los archivos input y output. No es interactiva si se lee y escribe en archivos externos; es el caso del programa copia, visto antes. La entrada interactiva presenta dificultades, que le son propias. Fundamentalmente, el computador no puede saber que cosa tipeará a continuación el usuario. Prof. Leopoldo Silva Bijit

13 Un read(variable) se interpreta como un cursor fijo en la pantalla. Lo cual puede ocasionar pérdidas de tiempo, y errores de entrada. Una solución es: write('prompt'); read(variable); El string debe ser lo suficientemente claro. Por lo menos debe indicar al usuario qué desea leer: Tipo de variable y rango si lo hay o el algoritmo lo requiere. Lo anterior no evita las equivocaciones que pueden cometerse al digitar la secuencia de caracteres; por esta razón siempre es conveniente agregar código para la validación de los datos de entrada. Los errores pueden ser innumerables, más aún en instalaciones que inicialicen las variables por omisión. Si el valor inicial por defecto de un número es cero, y si cuando se espera leer un dígito, se presiona una letra (y si adicionalmente no se detectan incompatibilidades de tipo) se asignará el valor cero a la variable. Una forma de evitar esto es programar a la defensiva. Planeando cuidadosamente todos aquellos segmentos, en que el usuario debe poner alguno de sus diez dedos cerca del teclado. En lectura interactiva con eco, readln se interpreta según: descartar todos los caracteres digitados, hasta presionar la tecla return Ejemplos de lectura, según tipos. Se simboliza _ como un espacio en blanco, y <cr> simboliza el eolm. Se digita: _12_345 67<cr> 8 <cr> Variables enteras. Si a, b, c y d son variables enteras: a) read(a,b,c); readln; read(d) La variables toman los siguientes valores: a=12; b=345; c=67; d=8 Prof. Leopoldo Silva Bijit

14 Los signos igual son algebraicos. La posición del carácter disponible, queda apuntando al primer blanco después del 8. b) readln(a); readln(b); read(c) La variables quedan: a=12; b=8 y el cursor queda en la primera columna de la tercera línea, esperando leer un entero. Entonces c aún no está definido. c) readln(a,b); read(c); readln; Queda: a=12; b=345; c=8 el cursor queda en la primera columna de la tercera línea Entradas mixtas. Si a y b son enteros; y c y d son char. a) read(a,b,c); readln; read(d) Quedan: a=12; b=345; c=' '; d='8' b) read(a,a,a); read(c); read(d) Quedan: a=67; c=' '; d='8' {cuando se lee eolm, retorna un blanco} c) readln(a,a,a); read(c); read(d) Quedan: línea. a=67; c='8'; d=' ' el cursor apunta al último carácter gráfico de la segunda Se recomienda visualizar la pantalla estructurada en líneas; y emplear readln, cuando se desee comenzar a leer una nueva línea. Además siempre ayuda el escribir prompts, para solicitar datos Ejemplo. De Consola a Disco. Se desea copiar todo lo que se escriba en el terminal en un archivo denominado imagen.txt. Program bitacora; var ch:char; salida:text; Prof. Leopoldo Silva Bijit

15 writeln; {asegura escribir en principio de línea} writeln('lo que escriba, quedara en IMAGEN.TXT'); open(salida,'imagen.txt',output); while not eof do while not eoln do read(ch); write(salida,ch) end; readln; writeln(salida) end end Fin de archivo input. En muchos sistemas se emplea ^Z (control-z) para el carácter de fin de archivo. Esto puede obligarse, si antes del primer while se efectúa: ch:=' ' y si se reemplaza eof por ch=chr(26) (que equivale a ^Z). También puede definirse otra variable tipo char, e iniciarla con un carácter; y detener la copia cuando el último leído sea igual al definido. Si se emplea uno gráfico; sólo se copiará hasta encontrar dicho carácter Proceso Secuencial de Textos. En muchas oportunidades se debe realizar un proceso secuencial con las componentes de un archivo externo. Si el archivo es de texto, y la acción que se desea realizar con cada caracter ch es S; entonces, puede describirse el proceso secuencial: while not eof(t) do read(t,ch); S end Si un archivo se abre para salida, y no se escribe nada en él, antes de cerrarlo; se dice que el archivo es vacío. El esquema anterior cubre la posibilidad de procesar un archivo vacío. Prof. Leopoldo Silva Bijit

16 Si se sabe que el archivo no es vacío, el esquema anterior puede plantearse: repeat read(t,ch); S until eof(t) Procesamiento Secuencial de Textos por Líneas. Sean: S1 las acciones a realizar al comienzo de la línea. S2 las acciones a realizar con cada carácter gráfico de la línea. S3 las acciones a realizar al final de cada línea. El esquema general de proceso, para un archivo t y un carácter ch, puede describirse según:... while not eof(t) do S1; while not eoln(t) do read(t,ch); S2 end; S3; readln(t) end; Ejemplo. Líneas de texto, formadas por palabras. Leer una secuencia de palabras en el terminal, hasta encontrar un punto. Escribir en un archivo externo, cada palabra de la frase en una línea aparte; el punto debe quedar en la última línea. Evidentemente, deben descartarse los espacios entre palabras. Program listapalabras; var ch:char; t:text; writeln; writeln('escriba una frase terminada en punto'); open(t,'lista.txt',output); read(ch); while ch<>'.' do while ch<>' ' do write(t,ch); read(ch) end; Prof. Leopoldo Silva Bijit

17 writeln(t); read(ch) {*} end; writeln(t,'.') end. Observaciones y notas: UNIVERSIDAD TECNICA FEDERICO SANTA MARIA Analizar qué sucede si se omite la instrucción de lectura, destacada con el asterisco. Estudiar qué pasa si se ponen dos o más espacios entre palabras; efectuar correcciones si no se cumplen las especificaciones. Determinar si debe existir un espacio antes del punto. Efectuar asociaciones entre el espacio y punto con eolm y eofm. Efectuar el mismo programa, pero no enviar la salida hacia la pantalla. Debe leerse sin eco. Desarrollar programa que lea lista.txt y escriba la frase, en una línea, en la pantalla Ejemplos Contar caracteres. Estadísticas. Desarrollar un programa que cuente los caracteres diferentes del espacio, y los espacios. Deben ignorarse los marcadores de fin de línea. Program blancos(t,output); const espacio=' '; var t:text; ch:char; blancos, noblancos: integer; blancos:=0; noblancos:=0; open(t,'archivo.txt',input); while not eof(t) do while not eoln(t) do Prof. Leopoldo Silva Bijit

18 read(t,ch); if ch=espacio then blancos:=blancos+1 else noblancos:=noblancos+1 end; readln(t) {salta fines de línea} end; writeln; writeln('blancos=',blancos); writeln('no blancos=',noblancos) end. Variantes: Contar: letras mayúsculas y minúsculas; sólo dígitos y signos de puntuación. Cambiar un carácter por otro, o por una secuencia, este tipo de programas se denominan, en general, filtros Escribir un programa que cuente caracteres gráficos y las líneas de un archivo con nombre fuente.dat. Los resultados deben escribirse en un archivo result.dat. Solución PROGRAM CONTADOR; VAR c,l : INTEGER; {c cuenta caracteres; l cuenta líneas} CAR : CHAR; F,T : FILE OF CHAR; BEGIN c:=0; l:=0; OPEN(F,FUENTE.DAT,INPUT); {abre archivo de entrada} WHILE NOT(EOF(F)) DO {lee mientras no sea fin de archivo} BEGIN WHILE NOT EOLN(F) DO {lee hasta fin de línea} BEGIN READ(F,CAR); {lee caracter a caracter} IF CAR<>' ' THEN c:=c+1 {elimina espacios} END; {y cuenta los gráficos} READLN(F); {salta línea en archivo de entrada} l:=l+1 {cuenta líneas} END; Prof. Leopoldo Silva Bijit

19 CLOSE(F); {cierra archivo de entrada} OPEN(R,RESULT.DAT,OUTPUT); {abre archivo de salida} WRITELN(R,'NUMERO DE LINEAS DEL ARCHIVO FUENTE.DAT= ',l); WRITELN(R,'NUMERO DE CARACTERES GRAFICOS= ',c:4); CLOSE(R) {cierra archivo de salida} END Lectura según tipos: Se tiene la siguiente información digitada en un teclado: 3 2_4 5<eolm> Donde <eolm> es el marcador de fin de línea. _1_5_67_8<eolm> El espacio se ha representado por : _ 9 10_<eolm> <eolm> 2_3<eolm> <eofm> Asumiendo: var a,b,c: integer; m,n: char; Determinar valores de las variables después de efectuar: a) read(a);readln(b);read(b);readln(c); b) readln(m);readln(b);readln(n); c) readln;read(a,b);read(b,a);read(m); d) read(m);read(n);read(a); Solución a) read(a) --> a=3 read(b) --> b=2 y salta de línea. read(b) --> b=1 readln(c) --> c=5 y salta de línea. luego : a=3 ; b=1 ; c=5 b) readln(m) --> m='3' y salta de línea readln(b) --> b= 1 y salta de línea readln(n) --> n='9' y salta de línea Prof. Leopoldo Silva Bijit

20 c) readln --> salta de línea (empieza lectura en la segunda) read(a,b) --> a=1 y b=5 read(b,a) --> b=67 y a=8 (se pierden valores anteriores) read(m) --> m=' ' (no lee CR) luego b=67 ; a=8 ; m=' ' d) read(m) --> m='3' read(n) --> n=' ' read(a) --> a= Escritura según tipos: Asumiendo: var a,b,c: integer; m,n: char; Con: a:=12; b:=13; c:=5; m:='*'; n:='5'; Determinar qué escriben las siguientes líneas: a) write(c,n);writeln(a:4);write(c:5); b) write(m:3);writeln;writeln(b);write(a); c) write('*',m,n,c,n);writeln(a:4;b:3); d) write(a,a,b,a);writeln;write(3*a,2*a:5;b*c:4); Solución a) write(c,n) escribe 55 writeln(a:4) escribe a continuación de lo anterior y salta de línea. write(c:5) escribe 5 Finalmente: <eolm> 5 b) write(m:3) escribe * writeln salta de línea, equivale a writeln(m:3) Prof. Leopoldo Silva Bijit

21 writeln(b) escribe 13 y salta de línea write(a) escribe 12 Lo que queda: * <eolm> 13 <eolm> 12 c) write('*',m,n,c,n) escribe **555 writeln(a:4,b:3) escribe en la misma línea 12_13 y salta de línea Finalmente: **555 12_13 <eolm> d) write(a,a,b,a);writeln equivale a writeln(a,a,b,a) <eolm> write(3*a,2*a:5,b*c:4) calcula y luego escribe Lo que queda: <eolm> Prof. Leopoldo Silva Bijit

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Programación en Pascal Capítulo 2. Acciones Primitivas.

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Programación en Pascal Capítulo 2. Acciones Primitivas. 2. ACCIONES PRIMITIVAS. En los lenguajes de alto nivel existen cuatro instrucciones primitivas que reflejan lo que un computador puede realizar (en este nivel de abstracción). Se describirán las instrucciones

Más detalles

Asumiremos que se dispone de procedimientos para leer y escribir caracteres. Se desarrollan algunas funciones primitivas que nos serán útiles.

Asumiremos que se dispone de procedimientos para leer y escribir caracteres. Se desarrollan algunas funciones primitivas que nos serán útiles. 26. Representación de números. Conversiones 26.1. Representación y conversión. Los números son representados internamente, en un computador digital, en sistema binario. Externamente se representan mediante

Más detalles

Dra. Jessica Andrea Carballido

Dra. Jessica Andrea Carballido Dra. Jessica Andrea Carballido jac@cs.uns.edu.ar La Procesamiento Computadora de Secuencias Una computadora es un dispositivo electrónico que integra componentes físicos y lógicos. El hardware de una computadora

Más detalles

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa PROGRAMACIÓN 10. Prof. Dolores Cuiñas H. Recuerde que estos son apuntes muy simplificados que deberá completar con la bibliografía recomendada APUNTES Nº 4 ESTRUCTURA SECUENCIAL GENERAL La estructura secuencial

Más detalles

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal. LENGUAJE DE PROGRAMACIÓN TURBO PASCAL El lenguaje de programación de alto nivel Pascal fue diseñado el 1968 por Niklaus Wirth con una finalidad eminentemente pedagógica El 1983, el Pascal fue estandarizado

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

Resolución de Problemas y Algoritmos

Resolución de Problemas y Algoritmos RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS CLASE 0 Archivos de texto para entrada y salida. Luciano H. Tamargo http://cs.uns.edu.ar/~lt Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional

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

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28 Componentes Básicos InCo InCo Componentes Básicos 1 / 28 Modelo de Computación Vemos al computador como un procesador de datos. +------------+ Entrada ===> Computador ===> Salida +------------+ InCo Componentes

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

FICHEROS EN PASCAL. Ficheros

FICHEROS EN PASCAL. Ficheros Ficheros Qué es un fichero? Un fichero es una colección ordenada de elementos, normalmente almacenados en la memoria externa (disco) del que pueden leerse elementos y en el que pueden escribirse nuevos

Más detalles

'type' <nombre conjunto> '=' 'SET OF' <tipo base>

'type' <nombre conjunto> '=' 'SET OF' <tipo base> 20. CONJUNTOS. SET. 20.1. Valores. Un tipo de datos especifica el conjunto de valores que una variable de ese tipo puede adoptar. El tipo conjunto es estructurado a partir de un tipo base; el tipo base

Más detalles

Resolución de Problemas y Algoritmos

Resolución de Problemas y Algoritmos Resolución de Problemas y Algoritmos Sistemas Operativos Estadísticas (de web servers) Clase 8: Sistemas Operativos. Almacenamiento en Memoria. Archivos secuenciales en Pascal. Dr. Alejandro J. García

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

Í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

Departamento de Informática Universidad de Valladolid Campus de Segovia LABORATORIO: INTRODUCCIÓN A LAS UNIDADES EN TURBO PASCAL

Departamento de Informática Universidad de Valladolid Campus de Segovia LABORATORIO: INTRODUCCIÓN A LAS UNIDADES EN TURBO PASCAL Departamento de Informática Universidad de Valladolid Campus de Segovia LABORATORIO: INTRODUCCIÓN A LAS UNIDADES EN TURBO PASCAL UNIDADES EN TURBO PASCAL 7.0 Concepto de unidad Estructura de una unidad

Más detalles

Estudiemos el siguiente problema, propuesto por Wirth y desarrollado por Dijkstra: Una lista de las primeras secuencias que cumplen es:

Estudiemos el siguiente problema, propuesto por Wirth y desarrollado por Dijkstra: Una lista de las primeras secuencias que cumplen es: 25. Algoritmos heurísticos 25.1 Concepto de heurística. Se denomina heurística al arte de inventar. En programación se dice que un algoritmo es heurístico cuando la solución no se determina en forma directa,

Más detalles

Dra. Jessica Andrea Carballido

Dra. Jessica Andrea Carballido Dra. Jessica Andrea Carballido jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Procesamiento Entrada y salida de Secuencias Archivo secuencial: * Sucesión

Más detalles

Dra. Jessica Andrea Carballido

Dra. Jessica Andrea Carballido Dra. Jessica Andrea Carballido jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Problemas, Algoritmos y Programas PROBLEMA Solución ALGORITMO PROGRAMA Problemas,

Más detalles

n 6 Logro Conocimientos previos Tema: Datos y # Ficha de aprendizaje

n 6 Logro Conocimientos previos Tema: Datos y # Ficha de aprendizaje Tema: Datos y variables Ficha de aprendizaje n 6 Logro Conoce las partes de un programa. Conoce los tipos de variables. Usa estas variables para hacer programaciones básicas. @ # Conocimientos previos

Más detalles

6. Estructuras básicas de control 1. Pseudocódigo

6. Estructuras básicas de control 1. Pseudocódigo 6. Estructuras básicas de control 1 Acciones Pseudocódigo Slide 1 Estructuras de control Secuencia Selección simple (si... entonces... ) doble (si... entonces... si no... ) múltiple (según el caso... )

Más detalles

28/10/2016. Procesamiento de Secuencias. Procesamiento de Secuencias. Procesamiento de Secuencias. Procesamiento de Secuencias

28/10/2016. Procesamiento de Secuencias. Procesamiento de Secuencias. Procesamiento de Secuencias. Procesamiento de Secuencias Un tipo particular de problemas para el cual resulta adecuada la iteración es el procesamiento de secuencias de valores. Dra. Jessica Andrea Carballi jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de

Más detalles

Primer Parcial. Programación 1 Instituto de Computación Año 2017

Primer Parcial. Programación 1 Instituto de Computación Año 2017 Nº Parcial: Nombre: CI: Primer Parcial. Programación 1 Instituto de Computación Año 2017 a) -1919293949 b) -1-1-1-1-1-1 c) 01020304050 d) No imprime nada e) 012345 Respuesta: 3 Observaciones: Cada ejercicio

Más detalles

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Laboratorio de Arquitectura de Redes. Entrada y salida estándar Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada

Más detalles

Uno de los conceptos más útiles en ciencias de la computación es la pila.

Uno de los conceptos más útiles en ciencias de la computación es la pila. 23. PILA. (Stack). Tipos de Datos Abstractos. 23.1 Conceptos. Uno de los conceptos más útiles en ciencias de la computación es la pila. Una pila es una colección ordenada de elementos de igual tipo, en

Más detalles

Programas ejemplo. Lenguaje de Programación PASCAL. Miguel Murguía

Programas ejemplo. Lenguaje de Programación PASCAL. Miguel Murguía Programas ejemplo Lenguaje de Programación PASCAL Miguel Murguía Programas ejemplo Lenguaje de Programación PASCAL Miguel Murguía ABACo, A.C. Asociación de Biólogos Amigos de la Computación, A. C. www.abacoac.org.mx

Más detalles

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

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

Más detalles

8.1.- FUNCIONES Y PROCEDIMIENTOS DEFINIDOS POR EL USUARIO EN TURBO PASCAL.

8.1.- FUNCIONES Y PROCEDIMIENTOS DEFINIDOS POR EL USUARIO EN TURBO PASCAL. 8.1.- FUNCIONES Y PROCEDIMIENTOS DEFINIDOS POR EL USUARIO EN TURBO PASCAL. PROCEDIMIENTOS. CONCEPTO Un procedimiento es un programa que realiza una tarea específica. Puede recibir cero o más valores del

Más detalles

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

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:

Más detalles

Archivos en lenguaje C

Archivos en lenguaje C Archivos en lenguaje C Los archivos, a diferencia de las estructuras de datos conocidas hasta ahora (variables simples, arreglos) son estructuras de datos almacenadas de manera permanente (discos rígidos,

Más detalles

Servicios del Sistema Operativo (SO)

Servicios del Sistema Operativo (SO) Servicios del Sistema Operativo (SO) Un SO brinda un entorno para ejecutar programas. Este, ofrece servicios a los programas y a los usuarios de dichos programas. Por supuesto, los servicios específicos

Más detalles

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos. Lenguaje C Un poco de historia C es un lenguaje de propósito general, es decir, se pueden desarrollar aplicaciones de diversas áreas. Dentro de sus principales características podemos mencionar que: Es

Más detalles

APUNTES DE CÁTEDRA: ARREGLOS MULTIDIMENSIONALES

APUNTES DE CÁTEDRA: ARREGLOS MULTIDIMENSIONALES Facultad de Ciencias Exactas, Ingeniería y Agrimensura (U.N.R.) Escuela de Ciencias Exactas y Naturales Departamento de Matemática Cátedra: Computación (L.M. - P.M.) Prof. responsable: Mgr. María del Carmen

Más detalles

Principios de Computadoras II

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

Más detalles

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7 Estructuras selectivas Programación I Ingeniería Técnica Informática Ejercicios de los Temas 4, 5, 6 y 7 24.- Elabore un programa para determinar si una hora leída en la forma horas, minutos y segundos

Más detalles

2.2 Nombres, Ligado y Ámbito

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

Más detalles

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

Curso de Programación Avanzada en C

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

Más detalles

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje. Modulo 1. Introducción a los lenguajes de programación La solución de problemas mediante en uso de un computador nos lleva a desarrollar programas o aplicaciones, la construcción de estos programas debe

Más detalles

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

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

Más detalles

GUIA EXAMEN FINAL/EXTRAORDINARIO

GUIA EXAMEN FINAL/EXTRAORDINARIO INSTITUTO SAN ANGEL DEL SUR ESCUELA NACIONAL PREPARATORIA INCORPORADA A LA UNAM CLAVE 1261 CICLO 2012-2013 Nombre del profesor: Ing. Jorge Padilla Gutiérrez Asignatura: INFORMATICA V GUIA EXAMEN FINAL/EXTRAORDINARIO

Más detalles

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS La principal razón para que las personas aprendan lenguajes de programación es utilizar una computadora como una herramienta para la resolución de problemas. Cinco

Más detalles

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola) Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma

Más detalles

Tema 5. Soporte lógico de computadoras.

Tema 5. Soporte lógico de computadoras. Tema 5. Soporte lógico de computadoras. 5.1 Conceptos generales Como se ha visto previamente, un ordenador consta de dos partes, una la parte física, conocida como "Hardware" y otra, la parte lógica denominada

Más detalles

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples Desarrollo de aplicaciones en Java Generación de código fuente Compilación Ejecución Elementos de aplicaciones simples EII147-01-02 Introducción a las tecnologías de información Escuela de Ingeniería Industrial

Más detalles

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

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

Más detalles

U nidad 6: A rreglos: U nidim ensionales y m ultidim ensionales

U nidad 6: A rreglos: U nidim ensionales y m ultidim ensionales ARREGLOS Introducción Primero que todo, es importante conocer el concepto de estructura de datos. Una estructura de datos es "una colección de datos organizados de un modo particular." Las estructuras

Más detalles

Objetivos. El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes.

Objetivos. El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes. Objetivos El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes. Al final de esta práctica el alumno podrá: 1. Utilizar las herramientas para

Más detalles

Slide 1. ordenación de tres números en forma. creciente.

Slide 1. ordenación de tres números en forma. creciente. Slide 1 Slide 2 EsTriangulo := (a < b+c) and (b < a+c) and (c < a+b) ; EsEquilatero := (a = b) and (b = c); EsIsosceles := (a = b) and (a c) or (a = c) and (a b) or (b = c) and (a b); EsEscaleno

Más detalles

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION DIIAGRAMAS DE FLUJO Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para

Más detalles

Ing. Rojas Córsico, Ivana

Ing. Rojas Córsico, Ivana Ing. Rojas Córsico, Ivana INFORMÁTICA Informática: conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de computadoras Dato: es un elemento

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

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN - Introducción - Sintaxis - Semántica básica - Tipos de datos - Expresiones y enunciados - Procedimientos y ambientes - Tipos abstractos de datos y módulos

Más detalles

Conocimientos previos

Conocimientos previos Ficha de aprendizaje Tema: Datos, variables y Operaciones n 6 Logro Reconoce las partes de un programa y comprende su estructura. Reconoce la diferencia entre los tipos de datos. Asigna datos a las variables

Más detalles

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla Índice de contenido 1.- Qué es un ordenador?...3 2.-Hardware básico de un ordenador:...3 3.-Software...4 3.1.-Software

Más detalles

Datos en Turbo Pascal

Datos en Turbo Pascal Datos en Turbo Pascal Introducción M Carlos 25 Dato. Se refiere a alguno de los objetos de información con los que Turbo Pascal trabaja. Los datos deben tener un tipo asociado. Edad Nombre Sexo Números

Más detalles

Tema 13: Manejo de archivos en lenguaje C

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

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

UTN FRR Ingeniería en Sistemas de Información Algoritmos y Estructuras de Datos Archivos Directos GUIA DE ESTUDIO: ARCHIVOS DIRECTOS

UTN FRR Ingeniería en Sistemas de Información Algoritmos y Estructuras de Datos Archivos Directos GUIA DE ESTUDIO: ARCHIVOS DIRECTOS GUIA DE ESTUDIO: ARCHIVOS DIRECTOS Introducción: Una característica común de los tipos de datos que hemos visto hasta ahora es que la información que cargamos se mantiene vigente solamente mientras está

Más detalles

Elementos de un programa en C

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

Más detalles

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Programación en Pascal Capítulo 21. Registros. Records.

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Programación en Pascal Capítulo 21. Registros. Records. 21. REGISTROS. Records. 21.1. Concepto Abstracto. Así como el arreglo es la estructura más usada por los programadores en un ambiente científico o de aplicaciones personales, el registro es la unidad básica

Más detalles

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +. APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje

Más detalles

Estructura de Datos: Archivos. Programacion I Mgter. Vallejos, Oscar A.

Estructura de Datos: Archivos. Programacion I Mgter. Vallejos, Oscar A. Archivo: Concepto Para poder acceder a determinada información en cualquier momento, se necesitará que ella esté depositada en soportes físicos los cuales la almacenan en forma permanente. Este es el caso

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería

Más detalles

Es la estructura que permite ejecutar los comandos solamente si se cumple una determinada condición. La sintaxis más usual:

Es la estructura que permite ejecutar los comandos solamente si se cumple una determinada condición. La sintaxis más usual: Más scripts de Shell Además de las herramientas para manejo de variables que se explicaron anteriormente, el shell nos permite utilizar herramientas para manejo de ciclos y para estructuras condicionales,

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo Qué es una computadora? Una computadora es una máquina digital y sincrónica con capacidad de cálculo numérico y lógico controlada

Más detalles

Curso Completo de Visual Basic 6.0

Curso Completo de Visual Basic 6.0 CURSO Curso Completo de Visual Basic 6.0 Escuela Superior de Ingenieros Industriales UNIVERSIDAD DE NAVARRA Javier García de Jalón José Ignacio Rodríguez Alfonso Brazález Patxi Funes Eduardo Carrasco Jesús

Más detalles

Esp. Alexis Olvany Torres ch. Datos de salida. Datos de salida. Datos de salida

Esp. Alexis Olvany Torres ch. Datos de salida. Datos de salida. Datos de salida Tiempo de Ejecución fuente Descripción abstracta del comportamiento de un programa Máquina abstracta objeto Descripción del comportamiento de un programa independiente de máquina pero fácil de implementar

Más detalles

Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa

Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa Programación 1 Tema I. Conceptos y elementos básicos de Programación Lección 2. Lenguaje de programación y ejecución de un programa 1 Léxico, sintaxis y semántica de un lenguaje #include #include

Más detalles

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso.

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso. Elementos básicos de programación en Java Objetivos del tema Conocer la estructura básica de un programa Java. Comprender los conceptos de tipo, valor y variable. Comprender las diferencias entre tipos

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

Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora.

Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora. Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora. La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi,

Más detalles

Lenguaje de Programación: C++ ARCHIVOS I/O

Lenguaje de Programación: C++ ARCHIVOS I/O UG C++ Lenguaje de Programación: C++ ARCHIVOS I/O Universidad de Guanajuato Octubre 2010 Como abrir un archivo Antes de poder escribir datos en un archivo, debemos abrirlo, esto significa que debemos decirle

Más detalles

Introducción a Sistemas Operativos: Ficheros

Introducción a Sistemas Operativos: Ficheros Introducción a Sistemas Operativos: Ficheros Clips Fr ancisco J Ballesteros 1. Entrada/Salida Es importante saber cómo utilizar ficheros. En UNIX, es aún más importante dado que gran parte de los recursos,

Más detalles

Especificación IEEE-754, para representar valores decimales en punto flotante de simple precisión.

Especificación IEEE-754, para representar valores decimales en punto flotante de simple precisión. Especificación IEEE-754, para representar valores decimales en punto flotante de simple precisión. Ing. Cosme Rafael Marcano Gamero, MSc, DEA. cosmemarcano@gmail.com En este escrito se explica la especificación

Más detalles

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen Fundamentos de Informática. Dpto. de ATC - Página 1 de 8 conceptos Manejo de ficheros en C Contienen los datos que se almacenan en dispositivos de almacenamiento masivo: disquetes, discos duros, DROM,

Más detalles

Introducción a la Computación. Herramientas Informáticas. Omar Ernesto Cabrera Rosero Universidad de Nariño

Introducción a la Computación. Herramientas Informáticas. Omar Ernesto Cabrera Rosero Universidad de Nariño Introducción a la Computación Omar Ernesto Cabrera Rosero Universidad de Nariño 6 de Julio 2010 Esquema Terminología Informática 1 Terminología Informática Computación e Informática Dato e Información

Más detalles

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Programación MODULAR: Subalgoritmos - funciones y procedimientos Programación MODULAR: Subalgoritmos - funciones y procedimientos Uno de los métodos fundamentales para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. Estos problemas

Más detalles

Analizador Léxico. Programación II Margarita Álvarez. Analizador Léxico - Funciones

Analizador Léxico. Programación II Margarita Álvarez. Analizador Léxico - Funciones Analizador Léxico Programación II Margarita Álvarez Analizador Léxico - Funciones Función Principal Leer carácter por carácter de la entrada y elaborar como salida una secuencia de componentes léxicos

Más detalles

Administración de Archivos

Administración de Archivos Administración de Archivos Un archivo: Es una colección de bytes. Constituye la unidad fundamental de un sistema de archivos en Unix. Cada archivo tiene los siguientes atributos: Un nombre de archivo.

Más detalles

INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN (WIN-LOGO)

INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN (WIN-LOGO) INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN (WIN-LOGO) Se define como lenguaje de programación a un conjunto de símbolos y reglas que sirven para realizar programas de ordenador. Un programa es un conjunto

Más detalles

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

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

Más detalles

PERIODO 3 HOJA DE CÁLCULO CONCEPTOS INTERMEDIOS OPERACIONES CON CELDAS, FILAS Y COLUMNAS EN EXCEL SELECCIONAR COPIAR MOVER BORRAR

PERIODO 3 HOJA DE CÁLCULO CONCEPTOS INTERMEDIOS OPERACIONES CON CELDAS, FILAS Y COLUMNAS EN EXCEL SELECCIONAR COPIAR MOVER BORRAR PERIODO 3 HOJA DE CÁLCULO CONCEPTOS INTERMEDIOS CONTENIDOS OPERACIONES CON LIBROS DE TRABAJO EN EXCEL GUARDAR UN LIBRO CERRAR UN LIBRO. CREAR UN NUEVO LIBRO. ABRIR UN LIBRO OPERACIONES CON CELDAS, FILAS

Más detalles

Capítulo 9 Archivos de sintaxis

Capítulo 9 Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

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

ESTRUCTURA SECUENCIAL ESTRUCTURA SELECTIVA

ESTRUCTURA SECUENCIAL ESTRUCTURA SELECTIVA ESTRUCTURA SECUENCIAL Es aquélla en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta

Más detalles

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 1: Recursividad. Prof. Montserrat Serrano Montero

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 1: Recursividad. Prof. Montserrat Serrano Montero Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 1: Recursividad Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Ejemplos recursivos Recursividad

Más detalles

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR Tema 1. Programación de un computador TEMA 1. CIÓN DE UN COMPUTADOR 1. CONCEPTO DE 2. LENGUAJES DE CIÓN 2.1. LENGUAJE MÁQUINA 2.2. LENGUAJE ENSAMBLADOR 2.3. LENGUAJE DE ALTO NIVEL 3. ALGORITMOS. REPRESENTACIÓN

Más detalles

Lenguajes de Programación Programación funcional

Lenguajes de Programación Programación funcional Lenguajes de Programación Programación funcional Roberto Bonvallet Departamento de Informática Universidad Técnica Federico Santa María Concepto de función En el paradigma imperativo: Una función es una

Más detalles

Archivos & Cadenas CURSO DE PROGRAMACIÓN EN C. Centro de Investigación y de Estudios Avanzados del IPN. CINVESTAV - Tamaulipas.

Archivos & Cadenas CURSO DE PROGRAMACIÓN EN C. Centro de Investigación y de Estudios Avanzados del IPN. CINVESTAV - Tamaulipas. Archivos & Cadenas CURSO DE PROGRAMACIÓN EN C Centro de Investigación y de Estudios Avanzados del IPN. CINVESTAV - Tamaulipas. Febrero 2016 [Curso de programación en C] - Archivos & Cadenas 1/17 Archivos

Más detalles

ING1310 Introducción a la Computación. Python. Conceptos Básicos. Carlos Reveco

ING1310 Introducción a la Computación. Python. Conceptos Básicos. Carlos Reveco ING1310 Introducción a la Computación Python Conceptos Básicos Carlos Reveco creveco@dcc.uchile.cl careveco@miuandes.cl Facultad de Ingeniería/Universidad de los Andes/Chile Rev : 254 C.Reveco Facultad

Más detalles

PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos

PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos Objetivos El alumno conocerá las estructuras básicas para el diseño de algoritmos 1. Conocerá las estructuras secuenciales y de decisión para construir algoritmos 2. Diseñará algoritmos utilizando las

Más detalles

Los tipos de datos primitivos

Los tipos de datos primitivos Los tipos de datos primitivos El lenguaje de programación Java es de tipo estático, lo que significa que todas las variables debe ser declarado antes de que puedan ser utilizados visto. Se trata de la

Más detalles

UTN FRRo Algoritmos y Estructuras de Datos Bibliotecas Un ejemplo : Gestión de Pantalla, Retardo y Sonido

UTN FRRo Algoritmos y Estructuras de Datos Bibliotecas Un ejemplo : Gestión de Pantalla, Retardo y Sonido Bibliotecas en PASCAL: Cualquier versión que empleemos de lenguaje PASCAL cuenta con un conjunto de instrucciones, subprogramas y funciones que son comunes a todas las implementaciones del lenguaje. Estas

Más detalles

PRINCIPIOS DE PROGRAMACIÓN. Mtro. en Ingeniería de Software. Especialidad en e-commerce Ismael Jiménez Hernández

PRINCIPIOS DE PROGRAMACIÓN. Mtro. en Ingeniería de Software. Especialidad en e-commerce Ismael Jiménez Hernández PRINCIPIOS DE PROGRAMACIÓN Mtro. en Ingeniería de Software. Especialidad en e-commerce Ismael Jiménez Hernández Consideraciones Generales Instructor: Ismael Jiménez Hernández Duración: 3.2 horas/semana

Más detalles

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Programación en Pascal Capítulo 27. Verificación analítica de programas.

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Programación en Pascal Capítulo 27. Verificación analítica de programas. 27. VERIFICACION ANALITICA DE PROGRAMAS El texto de un programa determina un patrón de conducta para el proceso o computación. Un programa puede originar una cantidad no especificada, quizá infinita de

Más detalles

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS 2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y su ejecución en la misma. Aunque el proceso de diseñar

Más detalles

Técnicas de Programación

Técnicas de Programación Técnicas de Programación 2.1.- Introducción: unos conceptos previos y primeros conceptos de la API Introducción La resolución de un problema con medios informáticos implica generalmente la siguiente secuencia

Más detalles

PLN con Python. Alejandro Pimentel

PLN con Python. Alejandro Pimentel PLN con Python Alejandro Pimentel Clase 1 Objetivos del PLN Crear aplicaciones que puedan manipular, interpretar y generar lenguaje humano Modelar la capacidad lingüística humana. Representar el conocimiento

Más detalles

Sistemas Operativos. Dr. Wenceslao Palma M.

Sistemas Operativos. Dr. Wenceslao Palma M. Sistemas Operativos Dr. Wenceslao Palma M. www.inf.ucv.cl/~wpalma/so Introducción a los Sistemas Computacionales Un vistazo de alto nivel caracteriza a un sistema computacional

Más detalles