Dra. Jessica Andrea Carballido

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

Download "Dra. Jessica Andrea Carballido"

Transcripción

1 Dra. Jessica Andrea Carballido Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR

2 Pasaje de Parámetros Cuando comienza la ejecución de un programa en Pascal se reservan una o más celdas en memoria para cada una de las variables globales (variables declaradas en el programa principal). Cuando un procedimiento o función se invoca se reservan celdas para cada una de las variables locales al procedimiento o función, como así también para los parámetros. Para cada parámetro pasado por referencia se reserva una celda que mantiene la referencia (una flecha) al parámetro real. Todas estas celdas son liberadas cuando el procedimiento o función termina.

3 Manejo de memoria Program intercambios; var a, b: integer; begin Writeln( Ingrese un valor para a y uno para b ); Readln(a, b); SWAP(a, b); Writeln( El valor de a es:, a, y el de b es:, b); End. procedure SWAP(var x, y: integer); var aux: integer; begin aux:=x; x:=y; y:=aux; end; Porqué decimos que funcionan que funcionan como datos como de datos E/S? de E/S?

4 Función o procedimiento? No tiene datos de salida: Procedimiento Tiene dos o más datos de salida: Procedimiento Tiene un dato de salida de un tipo estructurado: Procedimiento Tiene un único dato de salida de un tipo simple (número, lógico o char) REFLEXIONAR SOBRE CÓMO VA A SER USADA LA PRIMITIVA! Y sobre si tiene efectos colaterales!

5 EFECTO COLATERAL O SECUNDARIO DE UNA FUNCIÓN: Se dice que una función tiene un efecto colateral o efecto secundario si, además de retornar un valor, modifica el estado de su entorno. Por ejemplo, una función podría modificar una variable global, modificar un argumento por referencia, escribir datos a la pantalla o a un archivo, o leer datos desde teclado o desde un archivo. Los efectos secundarios frecuentemente hacen que el comportamiento de un programa sea más difícil de predecir. NO SON ACONSEJABLES.

6 En este punto es importante reflexionar sobre lo siguiente: LAS EXPRESIONES DEBERÍAN ESTAR EXENTAS DE EFECTOS COLATERALES. Una función siempre se usa en el contexto de una expresión. Es decir, a diferencia de las sentencias que son instrucciones cuyo objetivo es cambiar el estado del entorno, las expresiones no deberían hacerlo. FUNDAMENTAL, DIFERENCIAR EXPRESIÓN de SENTENCIA!!!! Para lograr esto, nuestras funciones: Nunca accederán a variables globales. (casi) Nunca tendrán parámetros por referencia. No deberían leer datos de consola ni escribir en pantalla. No deberían modificar el estado de los archivos. Esta filosofía favorece la independencia entre las primitivas y la legibilidad.

7 Problema: Calcular la suma de los dígitos de un número. Algoritmo SumaDig DE: numero (entero) DS: SumaDig (entero) En este caso lo más natural es hacer una función. La primitiva realiza un cálculo y no tiene efectos colaterales.

8 Problema: Calcular la suma de los números naturales de una secuencia ingresada por teclado que finaliza en 0. DE: secuencia de números (enteros) DS: suma (entero) // un dato de salida, de tipo simple Se oscurece la legibilidad

9 Problema: Calcular la suma de los números naturales de una secuencia ingresada por teclado que finaliza en 0. DE: secuencia de números (enteros) DS: suma (entero) // un dato de salida, de tipo simple Además del cálculo realiza el recorrido de la secuencia. En este caso se aconseja implementar un PROCEDIMIENTO.

10 CONCLUSIÓN Que la primitiva tenga un único dato de salida de un tipo simple, es una CONDICION NECESARIA PERO NO SUFICIENTE para decidir implementar una FUNCIÓN. Si la primitiva tiene efectos colaterales, la implementaremos con un PROCEDIMIENTO. El caso más común de efecto colateral en los ejemplos que vemos en esta materia es cuando la primitiva procesa secuencias (desde teclado o archivos).

11 División de problemas en sub-problemas ARCHIVOS COMO PARÁMETROS Se pasan siempre por referencia. Junto con la referencia al archivo pasado como parámetro, se cuenta con la siguiente información: - El archivo está: - cerrado. - abierto: - para lectura (posición) - para escritura (posición)

12 División de problemas en sub-problemas Problema 1: Escribir una primitiva para sumar los elementos contenidos en un archivo. PROCEDIMIENTO (podría ser función) Tiene un solo dato de salida de un tipo simple, pero para calcularlo recorre un archivo. Procedure suma(var f: text; var s: integer); Var n: integer; Begin f es dato de s:=0; reset(f); entrada! While not eof(f) do Begin read(f, n); s:=s+n; End; Close(f); End; TRAZA con pgm. ppal. en el pizarrón Como el objetivo del procedimiento es recorrer el archivo en su totalidad, la apertura y el cierre del archivo se hacen en su bloque ejecutable.

13 División de problemas en sub-problemas Problema 2: Escribir una primitiva para calcular el promedio de los elementos contenidos en un archivo de enteros. procedure prom(var arch: text; var prom: real); Problema 3: Escribir una primitiva para calcular el máximo de los elementos contenidos en un archivo de enteros. procedure max(var arch: text; var max: real); Problema 4: Escribir un programa que pida al usuario (y valide) una opción entre 1 y 3 y realice la operación correspondiente, usando las primitivas previamente implementadas. HINTs: - El archivo es único y se asigna solamente en el programa principal. - Cada primitiva abre el archivo, lo recorre y lo cierra.

14 IMC: Los archivos pasados como parámetros se abren FUERA de la primitiva. Dentro de la primitiva solo se avanza el puntero desde la posición actual. Promedio de notas por línea: El archivo pasado como parámetro se abre FUERA de la primitiva. Dentro de la primitiva solo se avanza a la siguiente línea luego de calcular el promedio de las notas.

15 División de problemas en sub-problemas Retomamos el problema de IMC: A partir de un archivo que en cada línea tiene un nombre, un espacio, una altura y un peso, se desea generar un nuevo archivo con los nombres y el IMC correspondiente a cada uno de ellos.

16 División de problemas en sub-problemas Hacer procedimiento que copia el nombre!

17 En cada ejecución de pasarnombre se lee desde la posición ACTUAL de origen. En cada ejecución de pasarnombre se escribe en la posición ACTUAL de destino. Los archivos se abren antes de invocar a la primitiva.

18 Importante: EN ESTE EJEMPLO los archivos se abren una única vez en el programa principal, fuera del procedimiento. El procedimiento pasarnombre lee un carácter desde la posición actual cada vez que es invocado y lo copia al otro archivo en su posición actual, hasta encontrar un espacio. Los archivos se cierran una única vez en el programa principal.

19 División de problemas en sub-problemas PROBLEMA: En un archivo se almacenan por línea una cantidad variable de notas de distintos alumnos. Se desea conocer el promedio de cada secuencia de notas. Algoritmo notasporlinea DE: archivo DS: info por pantalla Abrir archivo para lectura Mientras hay datos para leer en el archivo procesar una línea y calcular el promedio mostrar el promedio cerrar archivo

20 División de problemas en sub-problemas Problema: recorrer un archivo. Reset(archivo); While not eof(archivo) do Begin suma:=0; cant:=0; End; Close(archivo); Hacer una función que calcula el promedio? while not eoln(archivo) and not eof(archivo) do begin read(archivo, nota); suma:=suma+nota; cant:=cant + 1; end; if (eoln(archivo)) then readln(archivo); writeln( Promedio:, suma/cant); Sub-problema: Recorrer una línea

21 Sub-problema: Recorrer una línea function promlinea(var f: text): real; Var nota, suma, cant: integer; Begin suma:=0; cant:=0; while (eoln(f)=false) and (eof(f)=false) do begin read(f, nota); suma:=suma + nota; cant:=cant+1; end; If eoln(f) then readln(f); promlinea:=suma/cant; End; Además de devolver el promedio de la línea, se AVANZÓ UNA LINEA EN EL ARCHIVO.

22 División de problemas en sub-problemas Problema: recorrer un archivo. begin Assign(archivo, ); Reset(archivo); While not eof(archivo) do writeln( Promedio:, promlinea(archivo):4:2); Close(archivo); End. Oscurece la legibilidad En cada invocación a la primitiva se avanza una línea en el archivo desde el último lugar donde se dejó además de calcular el promedio.

23 Sub-problema: Recorrer una línea Procedure promlinea (var f: text; var prom: real); Var nota, suma, cant: integer; Begin suma:=0; cant:=0; while (eoln(f)=false) and (eof(f)=false) do begin read(f, nota); suma:=suma+nota; cant:=cant+1; end; If eoln(f) then readln(f); prom:=suma/cant; End;

24 Sub-problema: Recorrer una línea Procedure promlinea (var f: text; var prom: real); Var nota, suma, cant: integer; Importante: Begin suma:=0; cant:=0; while única (eoln(f)=false) vez, fuera and del (eof(f)=false) procedimiento. do begin read(f, nota); suma:=suma+nota; cant:=cant+1; una línea en el archivo. end; If eoln(f) then readln(f); prom:=suma/cant; End; PARA ESTE EJEMPLO los archivos se abren una El objetivo del procedimiento promlinea es calcular el promedio de la línea actual cada vez que es invocado. El efecto colateral es avanzar

25 División de problemas en sub-problemas Problema: recorrer un archivo. begin Assign(archivo, ); Reset(archivo); While not eof(archivo) do Begin promlinea(archivo, promedio); writeln( Promedio:, promedio); End; Close(archivo); End Elegimos implementar un procedimiento, a pesar de que la primitiva tiene un único dato de salida de un tipo simple!! En cada invocación a la primitiva se avanza una línea en el archivo desde el último lugar donde se dejó. O sea, se modifica el estado del archivo!!! ADEMÁS se calcula el promedio.

26 División de problemas en sub-problemas PROBLEMA: En un archivo se almacenan por línea una cantidad variable de notas de distintos alumnos. Se desea conocer la mínima y máxima notas de cada alumno. Algoritmo notasporlinea DE: archivo DS: info por pantalla Abrir archivo para lectura Mientras hay datos para leer en el archivo procesar una línea y calcular min y max mostrar min y max cerrar archivo

27 b a. i! donde a y b son datos de entrada. i=a z b. donde z y e son datos de entrada. i=1 5 i e c. (a 2 i ) donde a es dato de entrada. i=1 M d. (2 k + k) donde M es dato de entrada. k=1 Escribir funciones para calcular estas operaciones, modularizando adecuadamente. Hacer un programa que pida una opción (entre a y d) y realice el cálculo correspondiente.

28 Para estudiar en casa y preguntar a la profe en la consulta

29 Temperaturas: El archivo pasado como parámetro se abre y se cierra dentro de la primitiva.

30 División de problemas en sub-problemas Problema: El archivo de texto temp.txt contiene las temperaturas mínimas y máximas de cada día durante un período. En cada línea del archivo hay una mínima y una máxima correspondientes a un determinado día. 1. Escriba un procedimiento que calcule el promedio entre las mínimas y el promedio entre las máximas. 2. Escriba un procedimiento que calcule en cuántos días la mínima fue menor al promedio de las mínimas y en cuántos días la máxima fue mayor al promedio de las máximas. 3. Escriba un programa que use los procedimientos anteriores y muestre todos los valores calculados.

31 División de problemas en sub-problemas En el siguiente ejemplo se consideran 4 días, solo 1 día la mínima fue menor al promedio de las mínimas, y en 2 días la máxima fue mayor al promedio de las máximas. Mínima Máxima Promedios

32 División de problemas en sub-problemas program temperaturas; procedure promedios(var t: text; var pmin, pmax: real); begin end; procedure contar(var t: text; pmin, pmax: real; var cmin, cmax: integer); begin end; begin end. Los archivos son los únicos datos que independientemente de que sean dato de entrada o de salida, se pasan SIEMPRE por referencia (por variable)

33 División de problemas en sub-problemas El procedimiento promedio tiene tres parámetros. El parámetro t corresponde al archivo que es un dato de entrada, pero las variables ligadas a archivos siempre se pasan por referencia. Los parámetros pmin y pmax están pasados por referencia porque son los datos de salida. El procedimiento contar tiene cinco parámetros. El parámetro t corresponde al archivo que es un dato de entrada, pero las variables ligadas a archivos siempre se pasan por referencia. Los parámetros pmin y pmax están pasados por valor porque son datos de entrada. Los parámetros cmin y cmax están pasados por referencia porque representan los datos de salida. Los archivos son los únicos datos que independientemente de que sean dato de entrada o de salida, se pasan SIEMPRE por referencia (por variable)

34 TOP-DOWN División de problemas en sub-problemas Declaraciones de los procedimientos contar y promedios

35 División de problemas en sub-problemas 1 dato de entrada. 2 datos de salida. Como el procedimiento debe recorrer el archivo desde el principio, la apertura y el cierre del archivo se hacen en su bloque ejecutable.

36 División de problemas en sub-problemas 3 datos de entrada. 2 datos de salida. Como el procedimiento debe recorrer el archivo desde el principio, la apertura y el cierre del archivo se hacen en su bloque ejecutable.

37 Text División de problemas en sub-problemas Problema: Dado un archivo de texto T conteniendo un documento, generar un archivo E con estadísticas sobre la cantidad de dígitos, cantidad de vocales y cantidad de consonantes en cada oración del documento. Algoritmo estadisticaspororacion DE: T DS: E Dlocal: oración, cantdig, cantvoc, cantcons Abrir T para lectura Abrir E para escritura oracion:=1 Mientras que no se termine T hacer cerrararchivos Procesar Oracion estadísticas PorOracion ProcesarOracion(T, cantdig, cantvoc, cantcons) AnotarEstadistica(E, oracion, cantdig, cantvoc, cantcons) oracion:=oracion+1 Anotar Estadistica La lectura y escritura de los archivos se realiza de forma parcial en sucesivas llamadas a las primitivas

38 División de problemas en sub-problemas Text Problema: Dado un archivo de texto T conteniendo un documento, generar un archivo E con estadísticas sobre la cantidad de dígitos, cantidad de vocales y cantidad de consonantes en cada oración del documento. estadísticas PorOracion T estadísticas PorOracion E Procesar Oracion Anotar Estadistica T Procesar Oracion cd cv cc T E cd cv cc n Anotar Estadistica E

39 División de problemas en sub-problemas Algoritmo ProcesarOracion DE: T DS: cdig, cvoc, ccons Dlocal: ch En esta primitiva es el único lugar donde se lee y avanza en el archivo de entrada ch:=, cdig=0, cvoc=0, ccons=0 mientras que no se termina T y ch<>. hacer leer(t, ch) si esvocal(ch) entonces cvoc=cvoc+1 sino si esdigito(ch) entonces cdig=cdig+1 sino si esconsonante(ch) entonces ccons=ccons+1

40 División de problemas en sub-problemas Algoritmo AnotarEstadistica DE: nrooracion, cdig, cvoc, ccons DS: E escribir(e, Estadisticas de la oracion numero:, nrooracion) escribir(e, Cant Digitos:, cdig) escribir(e, Cant Vocales:, cvoc) escribir(e, Cant Vocales:, ccons) En esta primitiva es el único lugar donde se escribe en el archivo de salida

41 División de problemas en sub-problemas Program estadisticaspororacion; var d1, d2: text; // d1 es T, d2 es E oracnro, cantvoc, cantdig, cantcons: integer; begin assign(d1,. ); assign(d2,. ); end.

42 División de problemas en sub-problemas Al pasar por parámetro un archivo, se pasa la siguiente información: - El archivo está abierto o cerrado? - Si está abierto, - está abierto para lectura o para escritura? - posición actual en el archivo.

43 División de problemas en sub-problemas estadísticas PorOracion (not eof(d) and ch<>. ) esdigito Procesar Oracion esvocal Anotar Estadistica esconsonante

44 División de problemas en sub-problemas

45 Text Recorridos simples Problema: Dado un archivo de texto conteniendo un documento, generar un nuevo archivo con el mismo contenido pero sin las apariciones de la letra a. Algoritmo sina DE: archivoentrada DS: archivosalida Dlocal: caracter Abrir archivoentrada para lectura Abrir archivosalida para escritura Mientras no se termine archivoentrada hacer leer(archivoentrada, caracter) si caracter distinto de a entonces escribir(archivosalida, caracter) cerrararchivos

46 Text Recorridos simples Problema: Dado un archivo de texto conteniendo un documento, generar un archivo con el mismo contenido, omitiendo las partes entre paréntesis. Algoritmo sinparentesis DE: archivoentrada DS: archivosalida Dlocal: caracter and not eof(d1) Abrir archivoentrada para lectura Abrir archivosalida para escritura Mientras no se termine archivoentrada hacer leer(archivoentrada, caracter) si caracter= ( entonces mientras caracter<> ) hacer leer(archivo, caracter) sino escribir(archivosalida, caracter) cerrararchivos

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 Pasaje de Parámetros Cuando comienza la ejecución de un programa en Pascal

Más detalles

09/05/2018. Pasaje de Parámetros. Dra. Jessica Andrea Carballido. Manejo de memoria. Función o procedimiento?

09/05/2018. Pasaje de Parámetros. Dra. Jessica Andrea Carballido. Manejo de memoria. Función o procedimiento? Pasaje de Parámetros Cuando comienza la ejecución de un programa en Pascal se reservan una o más celdas en memoria para cada una de las variables globales (variables declaradas en el programa principal).

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 Problema Diseño de la solución Dividir y conquistar Implementación de los

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 Cuando la complejidad de los problemas aumenta, la tarea de hallar una solució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 Procesamiento Entrada y salida de Secuencias Archivo secuencial: * Sucesión

Más detalles

Problema 3: Mercado. Dividir y conquistar

Problema 3: Mercado. Dividir y conquistar Problema 3: Mercado Dividir y conquistar En un supermercado se mantiene un archivo de texto productos.txt con la siguiente información de cada producto: COD nombre Precio Cada línea del archivo de texto

Más detalles

Nombre. lógico. físico. Nombre lógico. a 12. Nombre. program Archivos; var a: file of integer; begin assign(a, arch.dat ); end.

Nombre. lógico. físico. Nombre lógico. a 12. Nombre. program Archivos; var a: file of integer; begin assign(a, arch.dat ); end. 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

Nombre. Nombre. físico. Nombre lógico. lógico. a 12. program Archivos; var a: file of integer; begin assign(a, arch.dat ); end.

Nombre. Nombre. físico. Nombre lógico. lógico. a 12. program Archivos; var a: file of integer; begin assign(a, arch.dat ); end. 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

Resolución de Problemas y Algoritmos Segundo cuatrimestre 2015 Clase 11: Construcción de primitivas (Funciones)

Resolución de Problemas y Algoritmos Segundo cuatrimestre 2015 Clase 11: Construcción de primitivas (Funciones) Resolución de Problemas y Algoritmos Segundo cuatrimestre 2015 Clase 11: Construcción de primitivas (Funciones) Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la

Más detalles

28/08/2018. Dra. Jessica Andrea Carballido. cuota monto/cantcuotas

28/08/2018. Dra. Jessica Andrea Carballido. cuota monto/cantcuotas PROBLEMA: A partir del monto de un crédito y la cantidad de cuotas se desea calcular el monto de cada cuota. Dra. Jessica Andrea Carballido jac@cs.uns.edu.ar Datos de entrada y de salida? Algoritmo ValorDeCuota

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

Iteración Diagrama de SINTAXIS: IF

Iteración Diagrama de SINTAXIS: IF VISION ESTATICA VISION DINAMICA Dra. Jessica Andrea Carballi jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Diagrama de SINTAXIS: IF Visión estática Diagrama

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 La recursividad es adecuada en problemas que reúnen las siguientes propiedades:

Más detalles

Resolución de Problemas y Algoritmos

Resolución de Problemas y Algoritmos CONSULTA RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS CAMBIA DE HORARIO LA CONSULTA DEL PROFESOR! DESDE LA SEMANA DEL 0/0 SERÁ LOS VIERNES A LAS 7HS EN EL NUEVO EDIFICIO DEL DCIC. CLASE Funciones definidas por

Más detalles

24/8/2018. cuota monto/cantcuotas

24/8/2018. cuota monto/cantcuotas PROBLEMA: A partir del monto de un crédito y la cantidad de cuotas se desea calcular el monto de cada cuota. Datos de entrada y de salida? Algoritmo ValorDeCuota DE: monto, cantcuotas (enteros) DS: cuota

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

Iteración Diagrama de SINTAXIS: IF

Iteración Diagrama de SINTAXIS: IF VISION ESTATICA VISION DINAMICA Dra. Jessica Andrea Carballi jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Diagrama de SINTAXIS: IF estática Diagrama de

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

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

14/03/2018. Problemas, Algoritmos y Programas. Problemas, Algoritmos y Programas. Programas y Lenguajes. Programas y Lenguajes. Programas y Lenguajes

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

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

Trabajo Práctico Nº 4 Iteración

Trabajo Práctico Nº 4 Iteración Trabajo Práctico Nº 4 Iteración Ejercicio 1: Realice una traza y muestre la salida de cada secuencia de instrucciones. for i:= 0 to 0 do for i:= 1 to -1 do for i:= 1 downto 0 do Ejercicio 2: Escriba un

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

Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación)

Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación) Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación) Dr. http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca,

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

Módulo 8: Primitivas en Pascal

Módulo 8: Primitivas en Pascal Módulo 8: Primitivas en Pascal Tecnologías en la Educación Matemática Dr. Carlos Gonzalía DCIC - UNS Técnologías en la educación matemática Dr. Carlos Gonzalía 1 de Copyright Copyright 2010, 2012 M. Capobianco,

Más detalles

Resolución de Problemas y Algoritmos

Resolución de Problemas y Algoritmos RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS CLASE 3 Definición y compatibilidad de tipos de datos. Sentencia condicional CASE. Luciano H. Tamargo http://cs.uns.edu.ar/~lt Depto. de Ciencias e Ingeniería de la

Más detalles

21/03/2018. Variables y Constantes. Los datos de un programa están representados por variables o constantes y tienen asociado un tipo.

21/03/2018. Variables y Constantes. Los datos de un programa están representados por variables o constantes y tienen asociado un tipo. Variables y Constantes Dra. Jessica Andrea Carballido jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Los datos de un programa están representados por variables

Más detalles

Tipos y Estructuras de Control. Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR

Tipos y Estructuras de Control. Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Tipos y Estructuras de Control Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Datos: variables y constantes Tipos básicos: entero, real, char, lógico Estructuras de control

Más detalles

Módulo 7: Sentencias de control en Pascal

Módulo 7: Sentencias de control en Pascal Módulo 7: Sentencias de control en Pascal Tecnologías en la Educación Matemática Dr. Carlos Gonzalía DCIC - UNS Técnologías en la educación matemática Dr. Carlos Gonzalía 1 de Copyright Copyright 2010,

Más detalles

Resolución de Problemas y Algoritmos

Resolución de Problemas y Algoritmos RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS CLASE Estructura de control condicional. Luciano H. Tamargo http://cs.uns.edu.ar/~lt Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur,

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

Trabajo Práctico 7 Recursividad Versión 4

Trabajo Práctico 7 Recursividad Versión 4 Trabajo Práctico 7 Recursividad Versión 4 Para los ejercicios que solicita resolver el problema recursivamente no puede utilizar, en esta materia, ninguna estructura repetitiva de las vistas anteriormente

Más detalles

COMPUTACIÓN I TEMA 5. Subprogramas o funciones. Alcance de variables. Pasaje de parámetros por valor. Prof. Mireya Morales

COMPUTACIÓN I TEMA 5. Subprogramas o funciones. Alcance de variables. Pasaje de parámetros por valor. Prof. Mireya Morales COMPUTACIÓN I TEMA 5. Subprogramas o funciones. Alcance de variables. Pasaje de parámetros por valor Prof. Mireya Morales CONTENIDO Instrucciones break y continue Importancia del uso de subalgoritmos o

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

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 1: RECURSIÓN

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 1: RECURSIÓN Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 1: RECURSIÓN ÍNDICE Definición Conceptos básicos Ejemplos recursivos Recursión mútua Recursión e iteración DEFINICIÓN Técnica

Más detalles

Recursión. Recursión continuación

Recursión. Recursión continuación Recursión Recursión continuación Recursión Temas que veremos hoy Estructuras de control iterativas, repetitivas y la recursión. Ejemplos recursivos Búsqueda lineal Eficiencia y recursión Conclusiones Recursión

Más detalles

Algorítmica y Lenguajes de Programación. Ficheros

Algorítmica y Lenguajes de Programación. Ficheros Algorítmica y Lenguajes de Programación Ficheros Ficheros. Introducción Un fichero es una unidad de información almacenada en disco a la que se asigna un identificador único. Los ficheros nos ofrecen la

Más detalles

TRABAJO PRÁCTICO N 6 LENGUAJE PASCAL

TRABAJO PRÁCTICO N 6 LENGUAJE PASCAL TRABAJO PRÁCTICO N 6 LENGUAJE PASCAL En los casos en que considere necesario, divida el problema en subproblemas y justifique su decisión en implementarlos como procedimientos o como funciones. Ejercicio.

Más detalles

Trabajo Práctico 6 Funciones, Procedimientos y División de Problemas

Trabajo Práctico 6 Funciones, Procedimientos y División de Problemas Trabajo Práctico 6 Funciones, Procedimientos y División de Problemas Ejercicio 1: Considere definida la función Invertir. function Invertir( num: integer ):integer; {Objetivo: Invierte el orden de los

Más detalles

Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 1

Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 1 Resolución de Problemas y lgoritmos Dr. lejandro J. García 21/5/212 Resolución de Problemas y lgoritmos Clase 13 Lenguaje Pascal: estructura de bloques, entornos de referencia, visibilidad de identificadores.

Más detalles

Laboratorio 5 Tema 7. Tipos de Datos Estructurados: Arreglos, Registros y Archivos

Laboratorio 5 Tema 7. Tipos de Datos Estructurados: Arreglos, Registros y Archivos Laboratorio 5 Tema 7. Tipos de Datos Estructurados: Arreglos, Registros y Archivos PARTE 1. Arreglos Unidimensionales o Vectores Un arreglo es una estructura de datos conformada por una sucesión de celdas,

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

FUNDAMENTOS DE PROGRAMACIÓN LABORATORIO SESIÓN 2

FUNDAMENTOS DE PROGRAMACIÓN LABORATORIO SESIÓN 2 FUNDAMENTOS DE PROGRAMACIÓN LABORATORIO SESIÓN 2 EJERCICIO 1 VALIDACIÓN DE DATOS DE ENTRADA Modificar el programa del cálculo del MCD de dos números enteros positivos para validar los datos de entrada

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

Trabajo Práctico N 9 Recursividad

Trabajo Práctico N 9 Recursividad Trabajo Práctico N 9 Recursividad Ejercicio. Implemente en Pascal las siguientes definiciones recursivas. a) h ( N) h( N ) h( N ), N, N 0 0 b) 0 g ( x, z) 0 g( x, z ), x 0, z 0, ( x 0) y ( z 0) c) f (

Más detalles

Donde Condicion es una expresión booleana, es decir, que puede tomar el valor verdadero (true) o falso (false).

Donde Condicion es una expresión booleana, es decir, que puede tomar el valor verdadero (true) o falso (false). SETECIA REPETITIVA (SETECIA WHILE) Condicion while do Sentencia Donde Condicion es una expresión booleana, es decir, que puede tomar el valor verdadero (true) o falso (false). Valores

Más detalles

Estructuras de Programación

Estructuras de Programación Apunte del curso ALGORITMOS y PROGRAMACIÓN (FI-UBA, Prof. Ing. F. J. LAGE, J. T. P. Ing. Z. CATALDI; A.T.P. Srta. A Pauluzzi, Sr. C Corradino, Sr. F Gómez Estructuras de Programación Todo programa puede

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

Trabajo Práctico 8 División de Problemas en Subproblemas Uso de Procedimientos y Funciones

Trabajo Práctico 8 División de Problemas en Subproblemas Uso de Procedimientos y Funciones Ejercicio 1: Considere definida una función. Trabajo Práctico 8 División de Problemas en Subproblemas Uso de Procedimientos y Funciones function Invertir(Num: integer):integer; { Objetivo: Invierte el

Más detalles

Ficheros. Introducción. Apertura y cierre de ficheros

Ficheros. Introducción. Apertura y cierre de ficheros s Introducción Podemos deir un fichero o archivo como una unidad de información almacenada en memoria secundaria, un disco, a la que se asigna un identificador único; los ficheros nos ofrecen la posibilidad

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

Unidades en PASCAL (Units)

Unidades en PASCAL (Units) Programación II - Prof. Alejandro H. Gonzalez - 1 Unidades en PASCAL (Units) Aquellos que quieran probar los ejercicios de TAD en Pc pueden utilizar las UNITS de Pascal. En este documento se explican los

Más detalles

Programación modular en Pascal

Programación modular en Pascal Programación modular en Pascal Programación modular Es una técnica para escribir programas grandes y complejos Se basa en subdividir el programa en secciones más simples. Cada sección se llama módulo y

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

Arreglos y Subrangos

Arreglos y Subrangos Arreglos y Subrangos Programación 1 InCo - FING Contents 1 Tipo subrango 2 1.1 Subrangos de enteros......................... 2 1.2 Subrangos de caracteres....................... 2 1.3 Operaciones con subrangos.....................

Más detalles

Primer Cuatrimestre 2018 Resolución de Problemas y Algoritmos

Primer Cuatrimestre 2018 Resolución de Problemas y Algoritmos Lenguaje de Diseño Primer Cuatrimestre 2018 Resolución de Problemas y Algoritmos 1 Programación Modular Programación Estructurada Programas fáciles de leer y modificar Técnicas de Diseños Dividir y Conquistar

Más detalles

Diseño Computarizado 15023

Diseño Computarizado 15023 Diseño Computarizado 15023 PROGRAMACIÓN: FORTRAN Profesor: Claudio García Herrera Departamento de Ingeniería Mecánica Universidad de Santiago de Chile Índice 1 Introducción 2 Estructura 3 Sentencias y

Más detalles

Introducción a la Programación

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

Más detalles

Resolución de Problemas y Algoritmos

Resolución de Problemas y Algoritmos esolución de Problemas y Algoritmos PAÁMETOS ESOLUIÓN DE POBLEMAS Y ALGOITMOS si corresponde a un parámetro formal por valor, puede ser una de estas tres opciones: y debe ser de tipo asignación- LASE 6

Más detalles

9. Subprogramas: Procedimientos 1. TEMA 9: Subprogramas: Procedimientos

9. Subprogramas: Procedimientos 1. TEMA 9: Subprogramas: Procedimientos 9. Subprogramas: Procedimientos 1 TEMA 9: Subprogramas: Procedimientos Índice Slide 1 9.1. Procedimientos...................... 1 9.2. Parámetros y argumentos................. 10 9.2.1. Paso por valor..................

Más detalles

Sintaxis de PSeInt Tutorial

Sintaxis de PSeInt Tutorial Sintaxis de Tutorial Introducción a la Programación (T.U.M - T.U.G. - T.U.E. - T.U.T. - Prof) Introducción a la Computación (T.U.R. - T.U.W.) Fundamentos de la Informática (Ing. en Minas - Ing. Electr.)

Más detalles

Módulo 4: Algoritmos como primitivas

Módulo 4: Algoritmos como primitivas Módulo 4: Algoritmos como primitivas Tecnologías en la Educación Matemática Dr. Carlos Gonzalía DCIC - UNS Técnologías en la educación matemática Dra. Marcela Capobianco 1 de Copyright Copyright 2012 M.

Más detalles

LENGUAJE FORTRAN. FUNCIONES Y SUBRUTINAS

LENGUAJE FORTRAN. FUNCIONES Y SUBRUTINAS LENGUAJE FORTRAN. FUNCIONES Y SUBRUTINAS Programación en Fortran Valentín Moreno ÍNDICE 1. Subprogramas 2. Funciones 3. Subrutinas 2 3 1. SUBPROGRAMAS 1. SUBPROGRAMAS Si necesitamos usar con frecuencia

Más detalles

En el siguiente ejemplo se declara un registro y luego variables de ese tipo de registro:

En el siguiente ejemplo se declara un registro y luego variables de ese tipo de registro: LABORATORIO #6 (Parte I y II) REGISTROS Y ARCHIVOS Parte I: Registros Un registro es una estructura de datos formado por un conjunto de elementos llamados campos, no necesariamente del mismo tipo y que

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

Ejemplo: Paso de polares a cartesianas en el plano. f : [0, ) [0, 2π) R R. coordx : [0, ) [0, 2π) R. coordy : [0, ) [0, 2π) R

Ejemplo: Paso de polares a cartesianas en el plano. f : [0, ) [0, 2π) R R. coordx : [0, ) [0, 2π) R. coordy : [0, ) [0, 2π) R Ejemplo: Paso de polares a cartesianas en el plano f : [0, ) [0, 2π) R R (r, z) (rcos(z), rsin(z)) Slide 1 Primera solución : usar 2 funciones : coordx : [0, ) [0, 2π) R (r, z) rcos(z) coordy : [0, ) [0,

Más detalles

Tema 3. Estructuras de control

Tema 3. Estructuras de control Tema 3. Estructuras de control 3.1. Secuencial 3.2. Selección 3.3. Repetición 2 Objetivos Objetivos del tema: Conocer y saber la utilidad de las tres estructuras de control (secuencial, alternativa y repetitiva)

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

Ahora responde a las siguientes cuestiones: Supongamos que el usuario introduce 3 en A, 4 en B y 5 en C

Ahora responde a las siguientes cuestiones: Supongamos que el usuario introduce 3 en A, 4 en B y 5 en C Bioinformática. 1. Observa la siguiente secuencia de instrucciones: 1. A = 5; 2. B = 7; 3. C = 2; 4. A=A+B+C; 5. B=C/2; 6. A=A/B+A ˆ C; 7. Escribe A; a) Qué valor contiene A después de la cuarta instrucción?

Más detalles

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

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

Más detalles

SOFTWARE Microsoft Visual Studio 2005.NET FrameWork 2.0

SOFTWARE Microsoft Visual Studio 2005.NET FrameWork 2.0 OBJETIVOS! ""# $% % REQUERIMIENTOS SOFTWARE Microsoft Visual Studio 2005.NET FrameWork 2.0 DESCRIPCIÓN En este tutorial se va a revisar la forma de trabajar con los conceptos de OO en Visual Basic.NET.

Más detalles

Trabajo Práctico Nº 5 Repetición y Archivos

Trabajo Práctico Nº 5 Repetición y Archivos Trabajo Práctico Nº 5 Repetición y Archivos Ejercicio 1: Escriba un programa en Pascal que solicite al usuario tres números naturales que llamaremos A, B, y N. Como resultado se deberá mostrar por pantalla

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

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

Modularización en lenguaje C. Funciones

Modularización en lenguaje C. Funciones Modularización en lenguaje C Funciones Segundo Cuatrimestre 2016 F. de la Informática- Int.a la Computación - Int.a la Programación 1 Ejercicio: Dado el siguiente algoritmo incompleto codificado en Lenguaje

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

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

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

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

Más detalles

Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación:

Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación: Clase teórica 2 Algoritmos en C Página 1 de 6 TIPOS DE DATOS Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación: Por el momento nuestro

Más detalles

Ficheros. Archivo, o fichero: Características:

Ficheros. Archivo, o fichero: Características: Ficheros Archivo, o fichero: Es una estructura de datos en memoria externa, cuyo tiempo de vida no está ligado a la ejecución del programa que lo crea o lo maneja. Un fichero existe desde que un programa

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Introducción al lenguaje C Programación 2 Instituto de Computación, Facultad de Ingeniería, Universidad de la República, Uruguay 2 de marzo de 2016 Programación 2 Introducción al lenguaje C 2 de marzo

Más detalles

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

FUNDAMENTOS DE PROGRAMACIÓN. 1º ING. INFORMÁTICA (Plan 2000) 2ª Convocatoria. 21 de junio de 2001 FUNDAMENTOS DE PROGRAMACIÓN. 1º ING. INFORMÁTICA (Plan 2000) 2ª Convocatoria. 21 de junio de 2001 NORMAS DE EXAMEN: (1) La calificación la asignatura depende exclusivamente de este examen; (2) Todas las

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

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

Prof. María Alejandra Quintero. Informática Año

Prof. María Alejandra Quintero. Informática Año Prof. María Alejandra Quintero Informática Año 2014-2015 Es la acción de escribir programas de computación con el objetivo de resolver un determinado problema. Implica escribir instrucciones para indicarle

Más detalles

ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

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

Más detalles

Se debe disponer sobre la mesa un documento de identificación con fotografía.

Se debe disponer sobre la mesa un documento de identificación con fotografía. Examen escrito de Programación 1. Miércoles 31 de enero de 2018 Se debe disponer sobre la mesa un documento de identificación con fotografía. Se debe comenzar a resolver cada uno de los problemas del examen

Más detalles

Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE) Repaso Lenguaje C OBJETOS Variables Constantes Variable: objeto del ambiente cuyo contenido puede cambiar. Constante: objeto cuyo contenido no puede cambiar. Variables: - un nombre que la identifica. Deben

Más detalles

LISTADO DE PROBLEMAS TRIMESTRE 1

LISTADO DE PROBLEMAS TRIMESTRE 1 TIC BACH2-1 LISTADO DE PROBLEMAS TRIMESTRE 1 1. Escribir un algoritmo que lea un número y escriba su cuadrado. 2. Realizar el algoritmo de un programa que lea dos números y muestre la suma de ambos. 3.

Más detalles

Práctico Nº 7 Tema: Lenguaje de Diseño (Parte 3). Subalgoritmos

Práctico Nº 7 Tema: Lenguaje de Diseño (Parte 3). Subalgoritmos Práctico Nº 7 Tema: Lenguaje de Diseño (Parte 3). Subalgoritmos Nota: En todos los casos en que se pida el desarrollo de un algoritmo y/o subalgoritmo, se debe escribir la solución expresada en lenguaje

Más detalles

Departamento de Informática Universidad de Valladolid Campus de Segovia. TEMA 4: TIPOS ABSTRACTOS DE DATOS (TADs)

Departamento de Informática Universidad de Valladolid Campus de Segovia. TEMA 4: TIPOS ABSTRACTOS DE DATOS (TADs) Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 4: TIPOS ABSTRACTOS DE DATOS (TADs) TIPOS ABSTRACTOS DE DATOS (TADs) Introducción Un contraejemplo completo Metodología de la

Más detalles

Licenciatura de Matemáticas Informática I Notación algorítmica - Descripción BNF

Licenciatura de Matemáticas Informática I Notación algorítmica - Descripción BNF Licenciatura de Matemáticas Informática I Notación algorítmica - Descripción BNF Dpto. Informática Noviembre 1998 1. Deniciones en forma BNF < > Símbolos no terminales. Declaraciones u objetos declarados

Más detalles

Apunte de cátedra: Ordenación de Arreglos

Apunte de cátedra: Ordenación de Arreglos 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

1. Lenguaje Pascal. 2. Módulos de un Programa. 3. Tipos de Datos más utilizados. 4. Declaración de Variables

1. Lenguaje Pascal. 2. Módulos de un Programa. 3. Tipos de Datos más utilizados. 4. Declaración de Variables 1. Lenguaje Pascal Se procederá a la comparación de las estructuras de programación utilizadas en pseudocódigo con las respectivas en lenguaje Pascal. Para ello, se seguirá de manera análoga a la descripción

Más detalles

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

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

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada Técnica de programación que consiste en construir programas de fácil comprensión. Es mucho más sencillo entender la codificación del programa, que se habrá hecho en diferentes

Más detalles