Resolución de Problemas y Algoritmos Segundo cuatrimestre 2015 Clase 11: Construcción de primitivas (Funciones)
|
|
- Salvador López Hernández
- hace 6 años
- Vistas:
Transcripción
1 Resolución de Problemas y Algoritmos Segundo cuatrimestre 2015 Clase 11: Construcción de primitivas (Funciones) Dr. Sergio A. Gómez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina
2 idea desarrollo Ciclo de Uso/mantenimiento vida del software análisis diseño (i.) implementación El software surge de una necesidad, problema o idea. Luego se desarrolla e implementa. Finalmente se usa durante un tiempo y de ser necesario se modifica (según la experiencia el 60-80% del ciclo de vida lo constituye esta etapa). Es importante utilizar metodologías y técnicas que simplifiquen el desarrollo y faciliten el mantenimiento.
3 Solución de problemas con primitivas Hemos visto cómo resolver problemas simples, escribiendo un algoritmo y luego implementándolo en Pascal utilizando asignaciones, condicionales y repeticiones. En lo que resta de la materia veremos: 1. Técnicas para resolver problemas complejos. 2. Cómo escribir algoritmos basados en primitivas y algoritmos que son primitivas. 3. Cómo implementar en Pascal primitivas y poder usar las dos técnicas anteriores. 3
4 Técnica: Descomposición de problemas. Cuando se intenta resolver un problema complejo, es conveniente descomponer el problema en partes (sub-problemas). Si los subproblemas también son complejos, entonces pueden a su vez descomponerse en otros subproblemas, y así siguiendo. 4
5 Técnica: descomposición de problemas. Comprar Ropa novio Comprar ropa Comprar vestido novia Organizar casamiento Contratar salón Organizar fiesta Diseñar Contr invitacion Contrat atar es ar DJ caterin g Enviar invitaciones Enviar Imprimir invitac invitacio iones nes Comprar traje Comprar zapatos Un problema complejo que puede dividirse en subproblemas... 5
6 Técnicas top-down y bottom-up Top-down: División del problema principal en subproblemas más simples hasta llegar a problemas que no necesitan dividirse. Problema subproblemas Bottom-up: Por composición, resolviendo primero los subproblemas más simples hasta llegar a solucionar al problema principal. 6
7 Ejemplo de trabajo Problema: Escriba un algoritmo y luego un programa para calcular la suma hasta el término K-ésimo de la siguiente suma infinita: suma = 2/1 + 4/2 + 8/6 + 16/ / / Técnica: Dar ejemplos particulares y luego generalizar. Ejemplos particulares: K=1,2,3 Término general: 2 N / N! K=6 Solución: sumar (2 N / N!) desde N=1 hasta N=k Técnica: Para escribir el algoritmo y el programa se sugiere descomponer el problema en sub-problemas. 7
8 Descomposición del problema SumaTérminos Algoritmo Suma-términos DISEÑO Término i-ésimo IMPLEMENTACIÓN Algoritmo Termino-iesimo Algoritmo Potencia Algoritmo Factorial Potencia Factorial 8
9 Algoritmos como primitivas Los Algoritmos: 1. Reciben datos (entrada) 2. Modifican los datos (acciones primitivas + estructuras de control) 3. Devuelven datos (salida) Veremos a continuación que un algoritmo puede ser usado como una primitiva por otro algoritmo a través de lo que se denomina invocación o llamada. La motivación para usar algoritmos para describir primitivas es que estas podrán ser utilizadas luego en otros algoritmos más complejos. 9
10 Flujo de control en la invocación de Algoritmo principal una primitiva (subprograma) Invocación a primitiva P argumentos resultado Primitiva P Código describiendo el algoritmo la primitiva P Nota: Sinónimos para primitiva son subprograma, subrutina, módulo (ojo: término más general) - Dr. Sergio A. Gómez 10
11 Conceptos a entender Cómo se definen los subprogramas? Cuándo se ejecutan los subprogramas? Cómo se le brinda información de entrada a los subprogramas? Cómo se retorna información de salida desde los subprogramas? Cómo interactúan las variables en subprogramas separados? - Dr. Sergio A. Gómez 11
12 Potencia SumaTérminos Término i-ésimo Factorial PRIMITIVA Potencia Datos Entrada : Base, Exponente Datos Salida : Pot COMIENZO Pot 1 REPETIR Exponente VECES Pot Pot * Base FIN ALGORITMO PRIMITIVA Factorial Datos Entrada : N {natural} Datos Salida : Fact COMIENZO Fact 1 mientras N>0 Fact Fact * N N N-1 FIN ALGORITMO 12
13 Algoritmos como primitivas PRIMITIVA Termino-i-esimo D. Entrada : i {posición del término en la sucesión} D. Salida : Termino {valor del término i-esimo} COMIENZO Termino Potencia(2,i) / Factorial(i) FIN ALGORITMO 13
14 Algoritmos como primitivas PRIMITIVA SumaTerminos D. Entrada : K {cant. términos a sumar} D. Salida : Suma {suma de primeros K términos} COMIENZO i 1 Suma 0 Repetir K veces Suma Suma + Término-i-esimo(i) i i + 1 FIN ALGORITMO 14
15 División del problema en subproblemas SumaTérminos Program suma; Término i-ésimo PRIMITIVAS en Pascal: 1. FUNCTION 2. PROCEDURE Potencia Factorial Termino-iesimo Suma-términos Potencia Factorial Begin End. 15
16 Pascal es estructurado por bloques PROGRAM MIPROGRAMA CONST... VAR... FUNCTION FACTORIAL( ) CONST... VAR.. BEGIN... END; FUNCTION POTENCIA( ) CONST... VAR.. BEGIN... END; BEGIN... END. En Pascal, un programa está definido por un bloque que tiene: constantes variables FUNCIONES sentencias Una función es también un bloque que tiene constantes, variables, sentencias, etc. 16
17 Primitivas en Pascal Cuando un algoritmo tiene un único dato de salida se puede invocarlo desde una expresión. Estas primitivas se pueden considerar como nuevas funciones a utilizar en los algoritmos. En Pascal se pueden construir funciones que tienen un número indeterminado de datos de entrada pero un único dato de salida. Se utiliza la palabra reservada FUNCTION. 17
18 PRIMITIVA Potencia D. Entrada : Base, Exponente D. Salida : Pot COMIENZO Pot 1 REPETIR Exponente VECES Pot Pot * Base FIN ALGORITMO Parámetros formales Tipo del Resultado Variables Locales FUNCTION Potencia ( Base, Exponente : integer) : integer; VAR aux, P : integer; BEGIN P := 1; FOR aux := 1 TO Exponente DO P := P * Base; Potencia := P; END; Asignación del resultado 18
19 En Pascal toda función tiene: 1. Un nombre (con el cual se la invocará desde una expresión). 2. Parámetros (entre los cuales estarán los datos de entrada). 3. Tipo del resultado (que será el tipo de la función y determinará en que expresión usarla) 4. Variables locales (para uso interno solamente). 5. Sentencias. 6. Asignación del valor de salida al nombre de la función (es la forma de devolver un valor). FUNCTION Potencia (Base, Exponente:integer) : integer; VAR aux,p : integer; BEGIN P := 1; FOR aux:= 1 TO Exponente DO P := P * Base; Potencia:= P; END; 19
20 Funciones en Pascal Para llamar (invocar o usar) a una función debe: 1) Utilizarse su nombre en una expresión. 2) Coincidir la cantidad de parámetros y tipo de cada uno. 3) El tipo del resultado debe coincidir con el tipo de la expresión en la que se lo llama. 20
21 La llamada a FUNCTION debe realizarse desde una expresión: PROGRAM Prueba_potencia; VAR B,E, Pot :Integer; FUNCTION Potencia (Base, Exponente:integer) : integer; VAR aux,p: integer; BEGIN Parámetros formales por valor: reciben una P := 1; copia de los valores de los actuales FOR aux:= 1 TO Exponente DO P := P * Base; Potencia:= P; END; BEGIN write( Ingrese base y exponente: ); readln(b, E); Pot:=Potencia(B,E); B := B+1; E := E+1; writeln( pot, <>, potencia(b,e)); END. Parámetros actuales (o efectivos) 21
22 Invocación a funciones (en expresiones) FUNCTION EsVocal (letra :char): boolean; BEGIN CASE letra OF A, E, I, O, U, a, e, i, o, u, : EsVocal := true; ELSE EsVocal := false; END; END; Algunos ejemplos de invocación: VAR ch: char; es_letra_voc:boolean; read(ch); es_letra_vocal := EsVocal(ch); writeln(esvocal(ch)); IF (EsVocal(ch) or )) THEN WHILE not EsVocal(ch) and not EOF(archi) DO 22
23 Problema propuesto Realizar la implementación y la traza completa del programa propuesto para la serie. 23
24 Problema: Mínimo entre dos números Program PruebaMinimo; Var a, b : integer; { } Function Minimo2( x, y : integer ) : integer; Begin if x < y then Minimo2 := x else Minimo2:= y; end; { } Begin WriteLn( Ingrese dos numeros: ); ReadLn( a, b ); WriteLn( El minimo es:, Minimo2( a, b ); End. - Dr. Sergio A. Gómez 24
25 Problema: Mínimo entre tres números Program PruebaMinimo; Var a, b, c : integer; Function min3( a, b, c : integer ) : integer; Begin if (a<=b) and (a<=c) then min3 := a else if (b<=c) then min3 := b else min3 := c; end; Begin WriteLn( Ingrese tres numeros: ); ReadLn( a, b, c ); WriteLn( El minimo es:, min3( a, b, c ) ); End. - Dr. Sergio A. Gómez 25
26 Mínimo entre tres números (de nuevo) Program PruebaMinimo; Var a, b, c : integer; Function min2( x, y : integer ) : integer; Begin if x<y then min2 := x else min2 := y end; Function min3( x, y, z : integer ) : integer; Begin min3 := min2( x, min2( y, z ) ); end; Begin WriteLn( Ingrese tres numeros: ); ReadLn( a, b, c ); WriteLn( El minimo es:, min3( a, b, c ); End. - Dr. Sergio A. Gómez 26
27 Problema: Convertir a minúscula Program ConvertirAMinuscula; Var car : char; Function Minuscula( c : char ) : char; Begin if ( A <= c) and (c <= Z ) then Minuscula := Chr( Ord(c) Ord( A ) + Ord( a ) ) else Minuscula := c; end; Begin WriteLn( Ingrese un carácter: ); ReadLn( car ); WriteLn( car, en mayuscula es, Minuscula( car ) ); end. - Dr. Sergio A. Gómez 27
28 Sumario de temas Diseño top-down versus diseño bottom-up Primitivas (subprogramas, subrutinas) Notación en pseudocódigo Dos clases: Funciones y procedimientos Invocación Parámetros (formales y actuales) Retornar un valor de la función Ejemplos - Dr. Sergio A. Gómez 28
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 detallesDepartamento 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 detallesUniversidad 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 detallesApunte Laboratorio ALPI - El lenguaje de programación Pascal
Apunte Laboratorio ALPI - El lenguaje de programación Pascal 1 2 ÍNDICE GENERAL Índice 1. Estructura de un Programa en Pascal 3 2. Sintaxis de Pascal 4 2.1. Uso de mayúsculas.....................................
Más detallesDepartamento 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 detallesProgramació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 detallesResolució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 detallesResolución de Problemas y Algoritmos Segundo cuatrimestre de 2015 Clase 18: Recursión - Problemas clásicos
Resolución de Problemas y Algoritmos Segundo cuatrimestre de 2015 Clase 18: Recursión - Problemas clásicos Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación
Más detallesSlide 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 detallesFUNDAMENTOS 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 detallesSubrutinas. Subrutinas. Erwin Meza Vega
Subrutinas Erwin Meza Vega Outline 1 Introducción 2 Especicación de subrutinas 3 Funciones booleanas 4 Parámetros 5 Recursividad 6 Ejercicios Introducción Programación divide y vencerás Cuando la solución
Más detalles6. 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 detallesFUNDAMENTOS DE OBJECT PASCAL
FUNDAMENTOS DE OBJECT PASCAL 1. ASPECTOS GENERALES DE LA SINTAXIS Los bloques de código quedan delimitados por y end. Se usa punto y coma como separador de sentencias de código. Comentarios: - ias líneas:
Más detallesTRABAJO 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 detallesComponentes 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 detallesFunciones y subrutinas
Algorítmica y Lenguajes de Programación Funciones y subrutinas Funciones y subrutinas. Introducción El diseño descendente permite obtener un programa que resuelva un problema dividiendo este en subproblemas
Más detallesAPUNTES 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 detallesTrabajo 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 detallesSubprogramas en Fortran 90. Seminario de Computación 2009
Seminario de Computación 2009 1. Algoritmos con nombre en Fortran 90 Un algoritmo con nombre es la generalización de un operador En Fortran 90 los algoritmos con nombre pueden ser: - Intrínsecos (propios
Más detallesDeclaración de Procedimientos
Procedimientos Concepto Un procedimiento es un subprograma que realiza una tarea especifica. Puede recibir cero más valores del programa que llama y devolver cero o más valores a dicho programa que lo
Más detallesTema 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 detallesUnidad 1. Análisis de Algoritmos. Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1
Unidad 1 Análisis de Algoritmos Ing. Leonardo R. L. Estructura de datos - Generalidades Unidad I Pág 1 GENERALIDADES Qué se necesita para escribir un programa eficiente? Para diseñar programas eficientes
Más detallesIntroducción a Haskell. Cecilia Manzino
Paradigmas de programación Un paradigma de programación representa un estilo particular o filosofía para la construcción del software. Los más comunes dan lugar a los siguientes tipos de programación:
Más detalles8.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 detalles2.3 DEFINICIÓN DE LENGUAJES ALGORÍTMICOS
2.3 DEFINICIÓN DE LENGUAJES ALGORÍTMICOS Características de los algoritmos Las características fundamentales que debe cumplir todo algoritmo son: Un algoritmo debe ser preciso e indicar el orden de realización
Más detallesUnidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Más detallesManual de turbo pascal
Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de
Más detallesDra. 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 detalles1. ESTRUCTURA DE UN PROGRAMA PASCAL Todo programa escrito en lenguaje Pascal, del más simple al más complejo, tiene la siguiente estructura:
1. ESTRUCTURA DE UN PROGRAMA PASCAL Todo programa escrito en lenguaje Pascal, del más simple al más complejo, tiene la siguiente estructura: PROGRAM Nombre_del_programa; ZONA de DECLARACIONES ZONA de INSTRUCCIONES
Más detallesTrabajo 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 detallesESTRUCTURA 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 detallesIngeniería del software I 9 - Diseño detallado
Diseño detallado Ingeniería del software I 9 - Diseño detallado El diseño de alto nivel no especifica la lógica. Esto es incumbencia del diseño detallado. En este sentido, una notación textual provee mejor
Más detallesTodo programa en 'C' consta de una o más funciones, una de las cuales se llama main.
LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan
Más detallesConcepto de Recursión. Características de algoritmos recursivos. Ejemplos
RECURSION Temario Concepto de Recursión Características de algoritmos recursivos Ejemplos RECURSION Metodologías para resolver problemas: 1. Diseño Top Down 2. Recursión 3. Abstracción de Datos 4. Diseño
Más detallesEXAMENES RESUELTOS DE PROGRAMACION I
EXAMENES RESUELTOS DE PROGRAMACION I Comentarios por Jose Antonio Vaqué EXAMEN DE septiembre 1994, Reserva Soluciones no oficiales 1.- Determinar los valores reales válidos en Modula-2: a) 56.2F-54 y 2.2
Más detallesMódulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica.
EQUIVALENCIAS BÁSICAS ENTRE PASCAL Y C A continuación se presentan algunas equivalencias básicas entre estos lenguajes de programación : Operadores en lenguaje C: Operador Descripción % Módulo = Asignación
Más detallesModularizació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 detallesLenguaje de Diseño. Primera Parte. Resolución de Problemas y Algoritmos. Primer Cuatrimestre Ing. En Informática e Ing.
Primera Parte Resolución de Problemas y Algoritmos Ing. En Informática e Ing. En Computación Primer Cuatrimestre 2017 1 Lenguajes Algorítmicos Los algoritmos pueden describirse, en mayor o menor detalle,
Más detallesIntroducción a PL/SQL
Introducción a PL/SQL Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2011 Objetivos de este tema Conocer PL/SQL. PL/SQL
Más detallesProgramació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 detallesLenguaje de Diseño. Primera Parte. Segundo Cuatrimestre 2017
Primera Parte Fund. de la Informática Int. a la Programación Int. a la Computación Resolución de Problemas y Algoritmos Segundo Cuatrimestre 2017 1 Etapas en el proceso de resolver un problema: 1- Comprender
Más detallesGLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:
Cuestionario Modulo 1.1 GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo: 1001 0110. 2. qué es Dato? Definición: Es toda
Más detallesIntroducción rápida a la programación (estructurada ) con C++
Introducción rápida a la programación (estructurada ) con C++ A B No A? Si B A Los Bloques pueden ser una línea de código o un modulo (función o subrutina) que pueden estar contenido en otro archivo de
Más detallesProgramació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 detallesProgramació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 detallesIntroducción al Lenguaje de Programación Ada
Instrumentación de Tiempo Real Introducción al Lenguaje de Programación Ada Mario Aldea Rivas Departamento de Electrónica y Computadores Universidad de Cantabria GRUPO DE COMPUTADORES Y TIEMPO REAL Mario
Más detallesTrabajo 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Í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 detallesPrimer Parcial. Programación 1 Instituto de Computación Año 2011
No. Parcial: Nombre: CI: Primer Parcial. Programación 1 Instituto de Computación Año 2011 Observaciones: Cada ejercicio tiene una única opción correcta. Una respuesta correcta suma 2 puntos Una respuesta
Más detallesDonde 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 detalles14/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 detallesFACULTADE DE INFORMÁTICA Departamento de Computación Estructura de Datos e da Información. Ejercicios de recursividad
H AC LUCE FACULTADE DE INFORMÁTICA Departamento de Computación Estructura de Datos e da Información Ejercicios de recursividad 1. Determinar qué operación realiza: //x>=0, y>0 function funcion_x (x,y:
Más detallesDra. 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 detalles28/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 detallesUNIDAD IV Programación Funcional. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM
UNIDAD IV Programación Funcional Porqué? 2 Introducción Porque aprender programación funcional? - Recursión - Abstracción funcional - Funciones de primer orden Estos conceptos se han incorporado en la
Más detallesAnálisis léxico. Formalización y desarrollo. Procesadores de Lenguajes. Ingeniería Técnica superior de Ingeniería Informática
Procesadores de Lenguajes Ingeniería Técnica superior de Ingeniería Informática Departamento de Lenguajes y Sistemas informáticos Análisis léxico Formalización y desarrollo Javier Vélez Reyes jvelez@lsi.uned.es
Más detalles5. Subprogramas Fundamentos de Informática
5. Subprogramas Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos Curso 2012 / 2013 Índice Subprogramas 1. Cálculo de la función Coseno 2. Suma 3. Ecuación de 2º grado 2 1. Cálculo de
Más detallesGuía práctica de estudio 05: Pseudocódigo
Guía práctica de estudio 05: Pseudocódigo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Autorizado por: M.C. Alejandro Velázquez Mena Guía
Más detallesPrimer 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 detallesJavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.
Javascript (II) 1 Elementos Básicos: Comentarios: Para una línea // Esto es un Comentario Para un bloque /*......... */ Literales: Valores que puede tomar una variable o una constante. Ejemplos: "Soy una
Más detallesEsquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Tipos de Esquema
Los esquemas repetitivos permiten implementar iteraciones del lenguaje algorítmico (mientras, repetir, para, hasta). Podemos dividir los esquemas según: - Se conozcan el número de iteraciones a priori,
Más detallesEnteros. 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 detallesALGORITMOS Y ESTRUCTURAS DE DATOS. Ejercicios Resueltos CUADERNILLO DE PRACTICA
ALGORITMOS Y ESTRUCTURAS DE DATOS Ejercicios Resueltos CUADERNILLO DE PRACTICA TERCERA PARTE 1 SUBPROGRAMAS Ejercicio Resuelto: Escribir un programa que calcule la expresión: N i x para cualquier par de
Más detallesCapítulo 3. Subprogramas. 3.1 Subprogramas FUNCTION
Capítulo 3 Subprogramas Con lo explicado hasta aquí se pueden escribir programas sencillos y no demasiado largos. Pero varias razones justifican la necesidad de disponer de otro tipo de recursos. Por una
Más detallesEstructuras de Datos y Algoritmos
Estructuras de Datos y Algoritmos Práctico 2: Evaluación de Algoritmos (Finalización: 03/09) Ingeniería en Computación - Ingeniería en Informática Año 2015 Ejercicio 1: Dados los siguientes vectores, correspondientes
Más detallesTrabajo 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 detallesControl de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO
Control de Flujo Estructuras de Control Experiencia Educativa de Algorítmica 1 Introducción El estilo de como escribimos y analizamos un algoritmo se convierte en una de las principales características
Más detallesCURSO PROGRAMACIÓN BÁSICA. SEMANA 4 El diseño de un programa
CURSO PROGRAMACIÓN BÁSICA SEMANA 4 El diseño de un programa Objetivos Porqué es necesario el diseño? Diseño de programas 1. Definición de la salida 2. Desarrollo de la lógica 3. Escritura del programa
Más detallesProgramación Funcional Lisp-DrScheme Primera Parte. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional
Programación Funcional Lisp-DrScheme Primera Parte Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Programación Funcional! La programación funcional es un paradigma de programación
Más detallesControl de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO
Control de Flujo Estructuras de Control Experiencia Educativa de Algorítmica 1 Introducción El estilo de como escribimos y analizamos un algoritmo se convierte en una de las principales características
Más detallesAsumiremos 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 detallesEsquemas repetitivos en Fortran 90
Los esquemas repetitivos permiten implementar iteraciones del lenguaje algorítmico (mientras, repetir, para, hasta). Podemos dividir los esquemas según: - Se conozcan el número de iteraciones a priori,
Más detallesALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. Indíce Algoritmo Elementos de un algoritmo: Variables, Constantes, Expresiones Datos: Definición y
Más detallesDATOS PROGRAMA PROCESADOR
ORDENADOR Maquina capaz de aceptar datos por una entrada, los almacena en una memoria donde previamente se a almacenado un programa o programas y con ellos ejecutar un proceso. DATOS DATOS ENTRADA PROGRAMA
Más detallesTEMA 4: Programación estructurada
TEMA 4: Programación estructurada 4.1.-Introducción. Teorema de la programación estructurada El principio fundamental de la programación estructurada es que en todo momento el programador pueda mantener
Más detallesDepartamento 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 detallesInicio 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 detallesEstructuras de Repetición: Repita Mientras.
Estructuras de Repetición: Repita Mientras. Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación Digital I 1 Programación
Más detallesResolució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 detallesUnidad de Competencia I Elementos de Competencia Requerimientos de información
REQUISITOS: ninguno HORAS: 45 CRÉDITOS: 11.25 PROGRAMA(S) EDUCATIVO(S) QUE LA RECIBE(N): Ingeniería de Software PLAN: 2009 FECHA DE REVISIÓN: julio de 2009 PROGRAMA DE CURSO Modelo 2009 PROFESIONAL ASOCIADO
Más detallesALGORITMOS Y ESTRUCTURAS DE DATOS EJERCICIOS RESUELTOS SEGUNDA PARTE
ALGORITMOS Y ESTRUCTURAS DE DATOS EJERCICIOS RESUELTOS CUADERNILLO DE PRACTICA SEGUNDA PARTE Página - 1 ARREGLOS a) Unidimensionales: Ejercicio Resuelto: Ingresar 20 números reales en un arreglo y luego
Más detallesRepetición Condicional
Repetición Condicional InCo - FING Programación 1 InCo - FING Repetición Condicional Programación 1 1 / 20 La instrucción while InCo - FING Repetición Condicional Programación 1 2 / 20 Ejemplo Leer números
Más detallesDeclaración. Introducción. Definición o implementación. Llamada. Un programa en C consta de una o más funciones.
Dpto. de ATC, Universidad de Sevilla - Página 1 de 5 1 2 Introducción Declaración Un programa en C consta de una o más funciones. La función main es la primera función que se ejecuta y que llama a las
Más detallesTECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL
1 TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL TECNOLOGÍA DE LA COMPUTADORA FACILITADOR: PARTICIPANTE: DAVID, CHIRIQUÍ 2015 2 Qué es un programa? Un programa informático es un conjunto
Más detallesInstituto de Computación. Facultad de Ingeniería. Universidad de la República Examen de Programación 2 03 de Agosto de 2006 Generalidades:
Instituto de Computación. Facultad de Ingeniería. Universidad de la República Examen de Programación 2 03 de Agosto de 2006 Generalidades: La prueba es individual y sin material. La duración es 3 horas.
Más detallesProcesamiento de Lenguajes (PL) Curso 2015/2016. Práctica 5: traductor a código m2r
Procesamiento de Lenguajes (PL) Curso 2015/2016 Práctica 5: traductor a código m2r Fecha y método de entrega La práctica debe realizarse de forma individual o por parejas 1, y debe entregarse a través
Más detallesTEMA 5: Subprogramas, programación modular
TEMA 5: Subprogramas, programación modular 5.1.-Definición de módulo. Programación modular La programación modular está basada en la técnica de diseño descendente, que como ya vimos consiste en dividir
Más detallesPHP: Lenguaje de programación
Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054
Más detallesProcedimientos, Funciones y Recursividad
Procedimientos, Funciones y Recursividad Gonzalo Soriano gsorianob@gmail.com 7 de abril de 2009 Divide y vencerás 1. Introducción a procedimientos y funciones. Un procedimiento o función es un bloque de
Más detallesPROGRAMACIÓN CONCURRENTE. Tema 5 Monitores
PROGRAMACIÓN CONCURRENTE Tema 5 Monitores 1 Indice Definición de los monitores Sincronización condicional usando monitores Algunos problemas con monitores 2 Problemas de las regiones críticas condicionales
Más detallesTema: Funciones, Procedimientos y Recursividad en C#.
Tema: Funciones, Procedimientos y Recursividad en C#. Objetivos Programación I, Guía 6 1 Utilizar la sintaxis de las funciones definidas por el usuario (programador) para resolver problemas. Identificar
Más detallesTema: Funciones, Procedimientos y Recursividad en C#.
Tema: Funciones, Procedimientos y Recursividad en C#. Objetivos Programación I, Guía 7 1 Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Utilizar la sintaxis de las funciones
Más detallesAnálisis de algoritmos. Recursividad
Análisis de algoritmos Recursividad 1 Matrushka La Matrushka es una artesanía tradicional rusa. Es una muñeca de madera que contiene otra muñeca más pequeña dentro de sí. Ésta muñeca, también contiene
Más detallesTema: Funciones, Procedimientos y Recursividad en C#.
2 Programación I Programación I. Guía 6 3 Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Tema: Funciones, Procedimientos y Recursividad en C#. Objetivos Utilizar la
Más detallesEstructuras de Control. Secuencia y Selección
Estructuras de Control. Secuencia y Selección InCo - FING Programación 1 Contents 1 Estructuras de control 2 1.1 Clasificación.............................. 2 1.2 La secuencia..............................
Más detallesFunciones Tipos de funciones y Recursividad
Funciones Tipos de funciones y Recursividad SESION 4 Definición Una función es una subrutina o subprograma que forman un programa que realiza tareas bien definidas. Todo programa en C consta de una o más
Más detallesRECURSIVIDAD. Prof. Ing. M.Sc. Fulbia Torres
ESTRUCTURAS DE DATOS 2006 Prof. UNIDAD II ESTRUCTURAS DE DATOS RECURSIVIDAD Definición. Estado base. Estado general. Ejemplos. Ejercicios. DEFINICIÓN Es una técnica de programación muy potente que permite
Más detallesCalidad del Software. Ejercicios Tema 4 Conceptos de pruebas
Tema 4 Conceptos de Pruebas Calidad del Software Ejercicios Tema 4 Conceptos de pruebas Calidad del Software Enfoque de Caja Blanca: Prueba del camino básico FUNCIÓN PASCAL Especificar un conjunto de pruebas
Más detallesTema: Funciones, Procedimientos y Recursividad en C#.
Programación I, Guía 6 1 Tema: Funciones, Procedimientos y Recursividad en C#. Objetivos Utilizar la sintaxis de las funciones definidas por el usuario (programador) para resolver problemas. Identificar
Más detallesInformática I Fundamentos de Computadores
Informática I Fundamentos de Computadores Cambio día prácticas Grupo 1 y Grupo 2-> Jueves día 1 de noviembre->martes día 30 de Octubre Grupo 1: de 15:00 a 17:30h Grupo 2: de 17:30 a 20:00h Grupo 3 -> Viernes
Más detalles