RECURSION. Se deben hacer cuatro preguntas para construir una solución recursiva:

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

Download "RECURSION. Se deben hacer cuatro preguntas para construir una solución recursiva:"

Transcripción

1 puntes teóricos Sintaxis y Semántica del Lenguaje ño 2013 RECURSION Veremos un nuevo mecanismo, una nueva técnica de diseño, para resolver problemas: L RECURSIÓN. La recursión es una alternativa a la iteración o repetición, y aunque en tiempo de ejecución y espacio de memoria ocupada la solución recursiva es menos eficiente que la iterativa, existen numerosas situaciones en las que la recursividad provee una solución más simple y natural a un problema. La recursividad es una herramienta potente y útil que la aplicaremos: - en la resolución de problemas que tengan naturaleza recursiva - en reemplazo de la iteración cuando el lenguaje de programación elegido NO posea ninguna estructura de control repetitiva - cuando la solución iterativa sea de gran complejidad respecto de la solución recursiva Qué es recursión? Es una técnica que realiza una tarea T, haciendo otra tarea T de la misma naturaleza que T, pero en algún sentido más pequeña que la original. De esta forma, un algoritmo recursivo expresa la solución de un problema de tamaño N, en términos de una llamada o invocación a sí mismo. Cada invocación se plantea sobre problemas de igual naturaleza que el original, pero de un tamaño menor que N. l ir reduciendo progresivamente la complejidad del problema a resolver, llegará un momento en que la resolución será trivial y directa. Esta última situación se denomina caso base. La forma en que se va reduciendo el tamaño del problema original asegura que el caso base se alcance y por consiguiente, se llegue a la solución esperada. Un algoritmo recursivo (procedimiento o función) presenta las siguientes 3 características: - se autoinvoca dentro de su propia definición, es decir se llama a sí mismo dentro de su cuerpo (al menos una vez) - presenta al menos un caso base o especial, donde se llevan a cabo acciones distintas que aseguran la finalización del proceso y la obtención de la solución - en cada autoinvocación se resuelve un problema de igual naturaleza que el original pero de menor tamaño. La reducción del tamaño del problema asegura que se alcance el caso base. Se deben hacer cuatro preguntas para construir una solución recursiva: 1.- Cómo representar el problema T en términos de un problema T del mismo tipo, pero más pequeño. 1

2 puntes teóricos Sintaxis y Semántica del Lenguaje ño Cómo reducir, en cada llamada recursiva, el tamaño del problema. 3.- Qué instancia del problema sirve como caso base. 4.- Qué manera de reducir el problema nos asegura que siempre será alcanzado el caso base. Para analizar esta técnica de diseño desde el punto de vista del uso de memoria veamos el siguiente ejemplo. Cálculo del Factorial, se elige porque es fácil de entender y se ajusta perfectamente al modelo dado. Definición iterativa del factorial (con n entero positivo): FCT (n) = n * (n-1) * (n-2) *...* 1 FCT (0) = 1 y el factorial de un número negativo es indefinido. Todos sabemos construir una solución iterativa para este problema basándonos en esta definición. También podemos construir un solución recursiva del factorial: FCT (n) = n * FCT (n - 1) Esta definición carece de un elemento importante, el caso base. Como en el diccionario, un caso debe definirse diferente de todos los demás, de lo contrario la recursión nunca se detiene. El caso base en la recursión es el Factorial (0) el que se define simplemente como 1. Dado que n se asume positivo, decrementando en 1 cada vez que se llama al factorial se sabe que siempre será alcanzado el caso base. Definición recursiva del factorial: Factorial (n) 1 si n = 0 n * Factorial (n -1) si n > 0 Estudiaremos los mecanismos de ejecución de esta función recursiva. Si calculamos el Factorial (3), usando esta definición: Factorial (3) = 3 * Factorial (2) 2

3 puntes teóricos Sintaxis y Semántica del Lenguaje ño 2013 Factorial (2) = 2 * Factorial (1) Factorial (1) = 1 * Factorial (0) Factorial (0) = 1 Se alcanzó el caso base. La aplicación de la definición recursiva se detiene y la información obtenida se puede usar para responder la pregunta original factorial (3)? Dado que: Factorial (0) = 1 entonces, reemplazando en cada llamada Factorial (1) = 1 * 1 = 1, entonces Factorial (2) = 2 * 1 = 2, entonces Factorial (3) = 3 * 2 = 6 Es fácil construir una función a partir de la definición recursiva: Function Factorial (n: entero) : entero hacer si (n=0) entonces Factorial :=1 sino Factorial := n * Factorial (n-1) finsi finhacer finfunción Esta función responde al modelo de solución recursiva. 1) La función Factorial se llama a sí misma 2) En cada llamada recursiva el número cuyo factorial se calcula se disminuye en 1. 3) El Factorial (0) se maneja en forma distinta. Este caso base no produce una llamada recursiva. Tipos de recursión. La recursión puede ser: Directa: si el algoritmo recursivo presenta una o más llamadas recursivas en su propio cuerpo. o Simple: si presenta una sola llamada recursiva El factorial de un nº entero positivo: Fact(0):=1 Fact(N):= N* fact(n-1), si N>0 o Múltiple: si presenta dos o más llamados recursivos La serie de Fibonacci: F(0):=0 F(1):=1 F(N):= F(N-1) + F(N-2), si N>1 3

4 puntes teóricos Sintaxis y Semántica del Lenguaje ño 2013 o nidada: si presenta un llamado recursivo como argumento de una llamada recursiva La función de ckerman: (m,n):= n +1, si m=0 (m,n):=(m-1,1), si n=0 (m,n):=(m-1, (m,n-1)), si m>0 y n>0 Indirecta o cruzada: si el llamado recursivo no aparece en su cuerpo sino que se da a través de la invocación de un algoritmo auxiliar. Es decir, si un algoritmo invoca a otro algoritmo B y recíprocamente, el algoritmo B invoca al algoritmo. Procedimiento Hacer. B. finhacer finprocedimiento Procedimiento B Hacer. finhacer finprocedimiento Cómo funciona la recursión en memoria?. Traza de ejecución: método de la caja En principio la evaluación de un algoritmo recursivo no es más difícil que la evaluación de cualquier otro algoritmo. En la práctica, sin embargo, el seguimiento puede irse de las manos, para ello introducimos un método sistemático, llamado método de la caja, para seguir la ejecución de funciones o procedimientos recursivos. Cada caja muestra la representación en memoria de la activación de una unidad de programa y se denomina Registro de ctivación de la unidad. Este contiene toda la información necesaria para que dicha unidad pueda llevar a cabo su ejecución: datos + información de control * Cada llamada recursiva hecha al subprograma en el transcurso de la ejecución va a generar una caja o registro de activación, que contendrá el 4

5 puntes teóricos Sintaxis y Semántica del Lenguaje ño 2013 ambiente local del subprograma. Esto es, las variables y parámetros que se crean en el llamado y se destruyen cuando se termina la ejecución. Cada caja contendrá entonces: -El valor de los parámetros formales. -Las variables declaradas localmente (no existen en este ejemplo). -Un lugar para el valor a ser retornado por cada llamada recursiva generada a partir de la caja corriente (marcada con el rótulo). -El valor de la función misma. * Cuando se crea una nueva caja se dibuja una fecha desde la caja donde se hizo la llamada hacia la nueva. Sobre la flecha se pone el nombre de la llamada (rótulo) para indicar a donde se debe retornar. * Comenzar la ejecución del cuerpo del subprograma con los valores correspondientes al ámbito local de la caja corriente. Cuando termina la ejecución de la caja corriente y se vuelve hacia atrás en las cajas, la anterior es ahora la corriente y el nombre en la flecha indica el lugar a donde se debe retornar y continuar la ejecución del subprograma. El valor calculado se coloca en el ítem apropiado en la caja corriente. Trabajando sobre este concepto vamos a seguir la Traza de Ejecución que resulta de calcular el Factorial (3): Llamada original: Factorial (3) comienza la ejecución rótulo : En el punto, se hace una llamada recursiva, y la nueva invocación de la función Factorial comienza su ejecución. : : En el punto, nuevamente se hace una llamada recursiva, y la nueva invocación de la función Factorial comienza su ejecución. : : 1 : Nuevamente, en el punto, se hace una llamada recursiva, y la nueva invocación de la función Factorial comienza su ejecución. 5

6 puntes teóricos Sintaxis y Semántica del Lenguaje ño 2013 : : 1 : 0 : 1 Se alcanza el caso base, por lo tanto la invocación de Factorial se completó y pueden comenzar a resolverse las cajas. Se vuelve a la caja anterior y se retorna el valor pendiente al punto del llamado (marcado con el rótulo ) : : 1 : 1 Factorial (n-1) = 1? 0 : 1 : : Factorial (n-1) = 1 Factorial = 2 1 : : 1 : 2 Factorial (n-1) = 6? : Factorial (n-1) = 1 Factorial = 2 1 : 1 Factorial (n-1) = 1? 0 : 1 Valor final retornado al programa principal: 6 Otra forma de representación gráfica del método de las caja (pila de ejecución): Conclusión: Como se puede apreciar en los gráficos del ejemplo anterior, el espacio de memoria necesario para ejecutar un algoritmo recursivo es mucho mayor que si fuese un algoritmo iterativo. En un algoritmo recursivo se genera una caja o 6

7 puntes teóricos Sintaxis y Semántica del Lenguaje ño 2013 registro de activación por cada llamada al mismo subprograma, representando en memoria los datos necesarios para su ejecución tantas veces como sea invocado. En un algoritmo iterativo solo existe una caja o registro de activación correspondiente al algoritmo que contiene dicha iteración. Ejemplos de aplicación: 1) Vamos a resolver de manera recursiva el problema de imprimir una lista de caracteres hacia atrás. Para ello debemos responder las tres preguntas, es decir vamos a construir la solución al problema de imprimir una lista de longitud N hacia atrás en términos de una cadena de longitud N -1. Esto indicaría que en cada paso recursivo la longitud de la lista se hace más chica. Entonces el problema de imprimir una lista muy pequeña hacia atrás puede servir como caso degenerado. Una lista muy pequeña es la lista vacía, es decir de longitud cero. Nuestro caso base es entonces imprimir una lista nula y la solución a este problema es no hacer nada (no hay nada que imprimir). hora hay que determinar de qué manera se puede usar la solución de imprimir hacia atrás un lista de longitud N 1 para resolver el problema de imprimir hacia atrás una lista de longitud N. La lista de longitud N 1 resulta de quitar un nodo de la lista original avanzando en cada llamada, al nodo siguiente. Veamos la siguiente solución aproximada: Procedimiento Imprimir_ hacia_ atrás (PC) Si (PC No es nulo) entonces Imprimir_hacia_atrás ( nodo siguiente de PC) Imprimir el carácter del nodo corriente apuntado por PC finsi Las llamadas recursivas a Imprimir _hacia _atrás pasan sucesivamente listas de longitud más chicas sacando siempre un nodo al pasar como argumento la dirección del nodo siguiente al corriente, entonces seguro se alcanzará el caso base (es decir la lista vacía). Procedure Imprimir_ hacia_ atrás (PC: lista) If (PC <> nil) then begin Imprimir_hacia_atrás ( PC^.psig) Writeln(PC^.let) End End; Invocación desde el principal: Imprimir_hacia_atrás(Pin) 7

8 puntes teóricos Sintaxis y Semántica del Lenguaje ño 2013 Traza de la ejecución usando el método de la caja: Supongamos sea esta la lista L: C S NIL L pc pc pc pc pc Write C Write Write S Write Imprime a imprime s imprime a imprime c no hace nada Resultado SC La construcción de la solución en este ejemplo y en el del factorial se logra por backtracking, es decir, en la vuelta atrás del proceso recursivo. La retroalimentación es una de las técnicas esenciales de resolución de la recursión, eficaz a la hora de obtener todos los posibles resultados o combinaciones posibles a un problema dado. Por ejemplo para encontrar todas las combinaciones de números que cumplen una determinada condición, o todas las ubicaciones posibles de fichas en un tablero o la mejor solución a un problema, podemos sacar después de la llamada recursiva el último elemento colocado en la combinación y al volver hacia atrás el mecanismo probará con otro elemento aún no colocado. Este proceso se repetirá recursivamente y se lograrán combinaciones automáticas. 2) Diseñe una solución recursiva que encuentre todas las combinaciones posibles de 3 letras mayúsculas de la a la Z que admita letras repetidas. Procedure Comb_Letras (cad:string[3]; N:integer); {recibe una cadena nula en la que irá armando las posibles combinaciones y N=3, la longitud de la cadena a armar} Var I: char; If (N=0) then Writeln(cad) Else For I:= to Z do Comb_Letras (cad + I, N-1) {concatena una letra a la cadena y decrementa su longitud) End; Invocación desde el principal: Comb_Letras (, 3) 8

9 puntes teóricos Sintaxis y Semántica del Lenguaje ño 2013 Este algoritmo usa la iteración para lograr generar todas las letras que se colocan en una posición dada de la cadena que se está armando. Observar que la lógica de resolución propone ubicar una letra inicial en la cadena (concatenando) comenzando con la y llamar recursivamente para ubicar una letra en la 2º posición y lo mismo con la siguiente. Cuando se hayan puesto las primeras 3 letras, llega al caso base e imprime (). Por backtracking deshace una caja al volver atrás y ahora va reemplazando la última letra por B e imprime, luego por C e imprime, y así siguiendo hasta llegar a la Z. B C Z l finalizar la ejecución del For para la 3º posición, retorna una paso más atrás y vuelve a la 2º posición y cambia la letra por B y vuelve a completar la 3º posición B BB BC..BZ C CB CC.CZ Z ZB. ZZ B BB BC BZ BB..... Z ZB..ZZ ZZ ZZB ZZZ Es decir, por cada letra que ubica en una posición dada, la combina con todas las 28 posibles del alfabeto en la posición siguiente. Esto se logra combinando backtracking y el uso del For. 3) Diseñe una solución recursiva que permita eliminar un elemento de una lista. Procedure Elim( var L:lista; pa:lista; pc:lista; el:elem); If (pc <> nil) then If (pc^.dato < > el) then Elim (L, pa^.ps, pc^.ps, el) Else If (pa=nil) then L:=L^.ps; Else Pa^.ps:=pc^.ps; Dispose(pc) End End; Invocación desde el principal: Elim(Pin, nil, Pin, eldato) {lista simple} 9

10 puntes teóricos Sintaxis y Semántica del Lenguaje ño ) Diseñe una solución recursiva que permita insertar al final un elemento en una lista circular. Procedure InsCir( var L:listaC; pc:listac; el:elem); Var Nuevo:listaC; If (L=nil) then {lista vacia} New(nuevo); nuevo^.dato:=el; L:= nuevo; nuevo^.ps:=l; end else If (pc^.ps <> L) then InsCirc(L, pc^.ps, el) Else New(nuevo); Nuevo^.dato:=el; Pc^.ps:=nuevo; Nuevo^.ps:=L End {lista circular} end Invocación desde el principal: InsCir( Pin, Pin, eldato) Ventajas y desventajas del uso de recursión. Las soluciones recursivas son elegantes y simples para problemas de complejidad grande, presentan un diseño muy bien estructurado y modular. Comparadas con la solución iterativa contienen menos líneas de código y son más fáciles de analizar y leer. Desde el punto de vista de la eficiencia, demandan más tiempo de ejecución que las soluciones iterativas y mayor espacio de memoria debido a que cada llamado recursivo genera una copia independiente de las variables declaradas en dicho algoritmo, almacenadas en una zona de la memoria Ram denominadas Registro de ctivación. plicación y uso. Esta técnica de diseño se aplica fundamentalmente en lenguajes de programación que carecen de estructuras de control repetitivas como ocurre en aquellos pertenecientes a la programación Funcional (LISP, HSKELL) y Lógica 10

11 puntes teóricos Sintaxis y Semántica del Lenguaje ño 2013 (PL, PROLOG). Es de amplio uso en Inteligencia rtificial como demostrador de teoremas, y en el área matemática para los cálculos combinatorios. Bibliografía de referencia: - Luis Joyanes guilar, Fundamentos de Programación. lgoritmos y Estructuras de Datos. Ed. Mc Graw Hill - Luis Joyanes guilar, Fundamentos de Programación. lgoritmos, Estructuras de Datos y Objetos. Ed. Mc Graw Hill - Luis Joyanes guilar, Programación en Turbo/Borland Pascal 7.0. Ed. Mc Graw Hill - De Giusti, Madoz y otros,1998. lgoritmos, datos y programas. Conceptos básicos. Ed. Exacta. 11

RECURSION. Se deben hacer cuatro preguntas para construir una solución recursiva:

RECURSION. Se deben hacer cuatro preguntas para construir una solución recursiva: puntes teóricos ño 2013 RECURSION Veremos un nuevo mecanismo, una nueva técnica de diseño, para resolver problemas: L RECURSIÓN. La recursión es una alternativa a la iteración o repetición, y aunque en

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

Estructuras de control

Estructuras de control Estructuras de control Introducción Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones; sin embargo, existen tareas más complejas que no pueden ser resueltas empleando

Más detalles

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO Recursividad: La recursividad es una técnica de programación

Más detalles

Semana de las Matemáticas e Ingeniería. Desarrollo de algoritmos recursivos empleando la aplicación PseInt

Semana de las Matemáticas e Ingeniería. Desarrollo de algoritmos recursivos empleando la aplicación PseInt Semana de las Matemáticas e Ingeniería Desarrollo de algoritmos recursivos empleando la aplicación PseInt 21 de Noviembre de 2013 Agenda Desarrollo de algoritmos recursivos empleando la aplicación PSeInt

Más detalles

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN PRODUCCIÓN INDUSTRIAL. UNIDAD DE APRENDIZAJE: PROGRAMACIÓN Créditos institucionales de la UA: 6 Material visual: Diapositivas Unidad de competencia

Más detalles

Funciones Tipos de funciones y Recursividad

Funciones 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 detalles

DEPARTAMENTO DE MATEMATICAS Y FISICA Matemáticas Discreta

DEPARTAMENTO DE MATEMATICAS Y FISICA Matemáticas Discreta DEPARTAMENTO DE MATEMATICAS Y FISICA Matemáticas Discreta SUCESIONES Y RELACIONES DE RECURRENCIA Esta última sección la dedicamos a presentar el concepto de recurrencia, que esta muy ligado al axioma de

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

Planificaciones Algoritmos y Programación I. Docente responsable: AZCURRA DIEGO ANDRES. 1 de 5

Planificaciones Algoritmos y Programación I. Docente responsable: AZCURRA DIEGO ANDRES. 1 de 5 Planificaciones 7540 - Algoritmos y Programación I Docente responsable: AZCURRA DIEGO ANDRES 1 de 5 OBJETIVOS Objetivos estratégicos: -Desarrollar el concepto algorítmico. -Aplicar técnicas de programació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

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

Guía práctica de estudio 03: Algoritmos

Guía práctica de estudio 03: Algoritmos Guía práctica de estudio 03: Algoritmos Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 03: Algoritmos Objetivo:

Más detalles

Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira

Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira Informática IV Algoritmos Diagramas de Flujo L. S. C. Heriberto Sánchez Costeira Algoritmos 1 Definición Es una serie finita de pasos o instrucciones que deben seguirse para resolver un problema. Es un

Más detalles

Distinguir las diferentes estructuras de repetición utilizadas en problemas con bucles: mientras, repetir mientras, para.

Distinguir las diferentes estructuras de repetición utilizadas en problemas con bucles: mientras, repetir mientras, para. ESTRUCTURAS ITERATIVAS 1 ESTRUCTURAS ITERATIVAS OBJETIVOS Aprender a resolver problemas mediante la ejecución repetida de una secuencia de proposiciones llamados bucle o estructuras repetitivas o iterativas.

Más detalles

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido

Más detalles

2007/ PROGRAMACIÓN. Tipo: TRO Curso: 1 Semestre: AB CREDITOS Totales TA TS AT AP PA OBJETIVOS. 1.-Introducción.

2007/ PROGRAMACIÓN. Tipo: TRO Curso: 1 Semestre: AB CREDITOS Totales TA TS AT AP PA OBJETIVOS. 1.-Introducción. 2007/2008 Tipo: TRO Curso: 1 Semestre: AB CREDITOS Totales TA TS AT AP PA OBJETIVOS 1.-Introducción. -Comprender cómo funciona un lenguaje de programación 2. Características del lenguaje C -Entender las

Más detalles

Modelos de Desarrollo de Programas Y Programación Concurrente Clase N 3

Modelos de Desarrollo de Programas Y Programación Concurrente Clase N 3 PROGRAMACION FUNCIONAL - Un lenguaje de programación funcional tiene gran flexibilidad, es conciso en su notación y su semántica es sencilla. El inconveniente principal de estos lenguajes ha sido la ineficiencia

Más detalles

Complejidad computacional (Análisis de Algoritmos)

Complejidad computacional (Análisis de Algoritmos) Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada Código de materia 01 Prof Titular Ing Rafael Brizuela Facultad de tecnología informática UNIVERSIDAD ABIERTA INTERAMERICANA GUÍA DE REPASO CONCEPTUAL PREGUNTAS Unidad 1: Conceptos

Más detalles

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación. ALGORITMOS SECUENCIALES: La estructura secuencial es aquella 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

Más detalles

PUNTEROS. Un puntero es una variable cuyo valor o contenido es una dirección de memoria.

PUNTEROS. Un puntero es una variable cuyo valor o contenido es una dirección de memoria. PUNTEROS Introducción Todas las variables y estructuras de datos que se han utilizado hasta el momento, exceptuando archivos, han sido estructuras estáticas. La cantidad de espacio de memoria ocupada por

Más detalles

Estructuras de Control

Estructuras de Control Algorítmica y Lenguajes de Programación Estructuras de Control Estructuras de Control. Introducción Hasta ahora algoritmos han consistido en simples secuencias de instrucciones Existen tareas más complejas

Más detalles

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos

Más detalles

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Control 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 detalles

Taller de Informática I Dpto. Computación F.C.E. y N. - UBA 2010

Taller de Informática I Dpto. Computación F.C.E. y N. - UBA 2010 FUNCIONES Definición: Una función es un subprograma que recibe cero o más valores de entrada y retorna un único objeto de salida. Es una tarea independiente que puede o no depender de variables externas.

Más detalles

Diagramas de secuencia

Diagramas de secuencia Facultad de Ingeniería Departamento de Ingeniería de Sistemas y Computación Diagramas de secuencia Interacciones básicas 1 Para qué sirven los diagramas de secuencia? 2 Para qué sirven los diagramas de

Más detalles

Diseño Estructurado de Algoritmos

Diseño Estructurado de Algoritmos Diseño Estructurado de Algoritmos 1 Sesión No. 11 Nombre: Estructuras algorítmicas. Tercera parte. Objetivo de la sesión: Al concluir la sesión el estudiante aplicará las estructuras algorítmicas repetitivas

Más detalles

Guía práctica de estudio 03: Algoritmos

Guía práctica de estudio 03: Algoritmos Guía práctica de estudio 03: Algoritmos Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 03: Algoritmos Objetivo:

Más detalles

Ecuaciones Diofánticas

Ecuaciones Diofánticas 2 Ecuaciones Diofánticas (c) 2011 leandromarin.com 1. Introducción Una ecuación diofántica es una ecuación con coeficientes enteros y de la que tenemos que calcular las soluciones enteras. En este tema

Más detalles

MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6

MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6 MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6 NOMBRE DE LA PRÁCTICA. Estructuras secuénciales 6.1 OBJETIVO GENERAL El alumno desarrollará la habilidad para diseñar algoritmos secuenciales,

Más detalles

Profesor(a): M. A. Zeferino Galarza Hernández

Profesor(a): M. A. Zeferino Galarza Hernández Área Académica: Informática IV Tema: Algoritmos Profesor(a): M. A. Zeferino Galarza Hernández Periodo: Enero-junio de 2012 IV Semestre. Asignatura: Informática IV Tema: Algoritmos Abstract Contains and

Más detalles

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas Herramientas de Programación M.C. Juan Carlos Olivares Rojas Febrero 2011 Temario Simbología Reglas para la construcción de Diagramas Pseudocódigo Temario Tipos de Datos y Expresiones Estructuras lógicas

Más detalles

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus

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

Ubicación de la asignatura. Propósito de la asignatura. Desarrollando proyectos. Asignaturas relacionadas. Una mirada hacia la optimización económica

Ubicación de la asignatura. Propósito de la asignatura. Desarrollando proyectos. Asignaturas relacionadas. Una mirada hacia la optimización económica EL CÁLCULO EN MI VIDA DIARIA OPTATIVAS ÁREA: MATEMÁTICAS Ubicación de la asignatura La asignatura El cálculo en mi vida diaria, se encuentra dentro del bloque de las asignaturas optativas del Bachillerato

Más detalles

5.- Problemas de programación no lineal.

5.- Problemas de programación no lineal. Programación Matemática para Economistas 7 5.- Problemas de programación no lineal..- Resolver el problema Min ( ) + ( y ) s.a 9 5 y 5 Solución: En general en la resolución de un problema de programación

Más detalles

Matrices Invertibles y Elementos de Álgebra Matricial

Matrices Invertibles y Elementos de Álgebra Matricial Matrices Invertibles y Elementos de Álgebra Matricial Departamento de Matemáticas, CSI/ITESM 20 de agosto de 2008 Índice 121 Introducción 1 122 Transpuesta 1 123 Propiedades de la transpuesta 2 124 Matrices

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

Estrategias de Diseño de Algoritmos

Estrategias de Diseño de Algoritmos Estrategias de Diseño de Algoritmos Introducción A través de los años, los científicos de la computación han identificado diversas técnicas generales que a menudo producen algorit mos eficientes para la

Más detalles

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje INDICE Prólogo XV Parte 1. Visual Basic 1 Capitulo 1. Qué es Visual Basic? 3 Introducción 3 Como crear una aplicación 5 Otras facilidades de Visual Basic 6 Un lenguaje de alto nivel 9 Menús 10 Colores

Más detalles

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Tema 2 Conceptos básicos de programación. Fundamentos de Informática Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis

Más detalles

ECUACIONES.

ECUACIONES. . ECUACIONES... Introducción. Recordemos que el valor numérico de un polinomio (y, en general, de cualquier epresión algebraica) se calcula sustituyendo la/s variable/s por números (que, en principio,

Más detalles

Fundamentos de Programación. Flujo de Control I: Estructuras selectivas

Fundamentos de Programación. Flujo de Control I: Estructuras selectivas Fundamentos de Programación Flujo de Control I: Estructuras selectivas El Flujo de Control de un Programa Un algoritmo puede ser construido utilizando combinaciones de tres estructuras de control de flujo

Más detalles

Estructuras de repetición

Estructuras de repetición Estructuras de repetición Una estructura de repetición, también llamada lazo o bucle, hace posible la ejecución repetida de secciones específicas de código. Hay dos tipos básicos de estructuras de repetición,

Más detalles

UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA VICERRECTORADO ACADÉMICO COORDINACION DE PRE-GRADO PROYECTO DE CARRERA DE INGENIERIA INDUSTRIAL

UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA VICERRECTORADO ACADÉMICO COORDINACION DE PRE-GRADO PROYECTO DE CARRERA DE INGENIERIA INDUSTRIAL VICERRECTORADO ACADÉMICO COORDINACION DE PRE-GRADO PROYECTO DE CARRERA DE INGENIERIA INDUSTRIAL PROGRAMA: PROGRAMACION I CÓDIGO ASIGNATURA: 1215-208 PRE-REQUISITO: 1215-102 SEMESTRE: II (SEGUNDO) UNIDADES

Más detalles

Descomposición en forma canónica de Jordan (Segunda versión)

Descomposición en forma canónica de Jordan (Segunda versión) Descomposición en forma canónica de Jordan (Segunda versión) Francisco J. Bravo S. 1 de septiembre de 211 En esta guía se presentan los resultados necesarios para poder construir la forma de Jordan sin

Más detalles

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para

Más detalles

Métodos que devuelven valor Dado el siguiente triángulo rectángulo:

Métodos que devuelven valor Dado el siguiente triángulo rectángulo: Métodos que devuelven valor Dado el siguiente triángulo rectángulo: hipotenusa altura base Para dibujar este triángulo necesitamos los siguientes datos: base y altura La base y la altura, se utilizarán

Más detalles

Guía práctica de estudio 05: Diagramas de flujo

Guía práctica de estudio 05: Diagramas de flujo Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de

Más detalles

Algoritmos glotones. mat-151

Algoritmos glotones. mat-151 Algoritmos glotones (greedy) mat-151 Alonso Ramirez Manzanares Computación y Algoritmos 04.06.2009 Algoritmos glotones Algoritmos utilizados en problemas de optimización. Estos algoritmos siguen típicamente

Más detalles

Estatutos de Control C# Estatutos de Decisión (Selección)

Estatutos de Control C# Estatutos de Decisión (Selección) SELECCIÓN Estatutos de Control C# Estatutos de Decisión (Selección) IF Condición THEN Estatuto1 ELSE Estatuto2 Estatuto1 Statement Condición... Antes de ver esta presentación: Lee el Capítulo correspondiente

Más detalles

Fila: Es un conjunto de varias celdas dispuestas en sentido horizontal.

Fila: Es un conjunto de varias celdas dispuestas en sentido horizontal. Que Es Excel? Excel es un programa que permite la manipulación de libros y hojas de calculo. En Excel, un libro es el archivo en que se trabaja y donde se almacenan los datos. Como cada libro puede contener

Más detalles

Complejidad de los Algoritmos

Complejidad de los Algoritmos Que es un Algoritmo? Complejidad de los Algoritmos Webster: cualquier método especial para resolver cierta clase de problemas. Horowitz: método preciso utilizable en una computadora para la solución de

Más detalles

Práctica IV: Métodos de Newton-Raphson y de la secante, para encontrar las raíces de una función.

Práctica IV: Métodos de Newton-Raphson y de la secante, para encontrar las raíces de una función. Práctica IV: Métodos de Newton-Raphson y de la secante, para encontrar las raíces de una función. Se suele llamar método de Newton-Raphson al método de Newton cuando se utiliza para calcular los ceros

Más detalles

Ecuaciones de primer grado o lineales

Ecuaciones de primer grado o lineales CATÁLOGO MATEMÁTICO POR JUAN GUILLERMO BUILES GÓMEZ BASE 8: ECUACIONES DE PRIMER Y DE SEGUNDO GRADO RESOLUCIÓN DE PROBLEMAS ECUACIONES DE PRIMER GRADO O LINEALES CON UNA SOLA INCÓGNITA: Teoría tomada de

Más detalles

Programación Dinámica 1

Programación Dinámica 1 Programación Dinámica 1 El método de programación dinámica sirve para resolver problemas combinando las soluciones de subproblemas. Normalmente es usada para resolver problemas de optimización. Al construir

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

Sistemas de ecuaciones lineales

Sistemas de ecuaciones lineales Sistemas de ecuaciones lineales TIPOS DE SISTEMAS. DISCUSIÓN DE SISTEMAS. Podemos clasificar los sistemas según el número de soluciones: Incompatible. No tiene solución Compatible. Tiene solución. Compatible

Más detalles

COMBINAR CORRESPONDENCIA

COMBINAR CORRESPONDENCIA COMBINAR CORRESPONDENCIA Microsoft Office Word nos provee una herramienta muy útil que nos permite incluir en un documento, datos que se encuentran almacenados en otro lugar. De esta forma logramos obtener

Más detalles

Tema 3. Aplicaciones de Tipo Consola

Tema 3. Aplicaciones de Tipo Consola Tema 3. Aplicaciones de Tipo Consola Una aplicación de consola es aquella que se ejecuta dentro de una ventana de línea de comandos. Este tipo de ventana recibe diferentes denominaciones: Símbolo del sistema,

Más detalles

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES Introducción al tema a. Formar grupos de 4 personas b. Tomar una hoja en blanco y una lapicera o lápiz c. En la hoja en blanco diseña un

Más detalles

ESTADÍSTICA CON EXCEL

ESTADÍSTICA CON EXCEL ESTADÍSTICA CON EXCEL 1. INTRODUCCIÓN La estadística es la rama de las matemáticas que se dedica al análisis e interpretación de series de datos, generando unos resultados que se utilizan básicamente en

Más detalles

Taller de Resolución de Problemas Computacionales

Taller de Resolución de Problemas Computacionales Taller de Resolución de Problemas Computacionales Clase1: 27/9 Presentación: Equipo de Trabajo Encuentros Certificación del Taller: Por Asistencia Por Aprobación Sitio Web. Etapas en la Resolución de Problemas

Más detalles

Estructuras de Control. Secuencia y Selección

Estructuras de Control. Secuencia y Selección Estructuras de Control. Secuencia y Selección InCo - FING Programación 1 InCo - FING Estructuras de Control. Secuencia y Selección Programación 1 1 / 35 Estructuras de control InCo - FING Estructuras de

Más detalles

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1 Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos

Más detalles

EJERCICIOS EXCEL. Guardar el libro en tu pen drive, con el nombre PRACTICA1_ALUMNO_GRUPO.

EJERCICIOS EXCEL. Guardar el libro en tu pen drive, con el nombre PRACTICA1_ALUMNO_GRUPO. EJERCICIOS EXCEL EJERCICIO DEL PRECIO CON IVA Crear un libro para saber cuál es el precio de un artículo aplicándole el 16% de IVA. El precio sin IVA es un valor que se tendrá que introducir, así como

Más detalles

Unidad II: Análisis semántico

Unidad II: Análisis semántico Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico

Más detalles

Aplicaciones de problemas de Máximos y Mínimos.

Aplicaciones de problemas de Máximos y Mínimos. Aplicaciones de problemas de Máximos y Mínimos. En la resolución de problemas de máximos y mínimos el mayor desafío consiste generalmente en obtener, a partir del enunciado, la función que se necesita

Más detalles

Base y Dimensión de un Espacio Vectorial

Base y Dimensión de un Espacio Vectorial Base y Dimensión de un Espacio Vectorial 201 6Asturias: Red de Universidades Virtuales Iberoamericanas 1 Índice 1 Qué es un sistema generador?... 4 2 Base de un espacio vectorial... 4 3 Dimensión de un

Más detalles

Capítulo 1. Algoritmos, diagramas de flujo y programas.

Capítulo 1. Algoritmos, diagramas de flujo y programas. Capítulo 1. Algoritmos, diagramas de flujo y programas. 1.1 Problemas y algoritmos 1.2 Diagramas de flujo 1.2.1 Reglas para la construcción de diagramas de flujo 1.3 Conceptos fundamentales 1.3.1 Tipos

Más detalles

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY ALGORITMO DEFINICIÓN: CONSISTE EN LA DESCRIPCIÓN CLARA Y DETALLADA DEL PROCEDIMIENTO A SEGUIR PARA ALCANZAR LA SOLUCIÓN A UN PROBLEMA EN DONDE SE ESTABLECE

Más detalles

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS  GONZALO VAZQUEZ VELA INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA " GUIA DE ESTUDIOS DE ANALISIS Y DISEÑO DE ALGORITMOS. 1. Qué es un algoritmo? 2. Qué es un Pseudocódigo?

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

Para las ecuaciones diferenciales ordinarias no lineales no existen métodos generales.

Para las ecuaciones diferenciales ordinarias no lineales no existen métodos generales. Unidad IV: Sistemas continuos (continuación) Objetivo específico: Entender ampliamente el fenómeno del comportamiento de los modelos matemáticos para la resolución de problemas enfocados a las ecuaciones

Más detalles

Materia: Matemática de 5to Tema: Ecuación de la Recta. Marco Teórico

Materia: Matemática de 5to Tema: Ecuación de la Recta. Marco Teórico Materia: Matemática de 5to Tema: Ecuación de la Recta Marco Teórico Simplemente comenzar con la ecuación general de la forma pendiente-intersección de una línea, y luego conecte los valores dados de y

Más detalles

Recursividad. Introducción a la programación

Recursividad. Introducción a la programación Recursividad Introducción a la programación I semestre, 2016 Concepto general Un concepto que está definido utilizando para este propósito el propio concepto que se está definiendo. Es un proceso de repetición

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio PLAN DE CLAVE CARRERA NOMBRE DE LA ASIGNATURA ESTUDIO ASIGNATURA LSC 2009-2 11290 Introducción a la Programación PRÁCTICA No. 2 LABORATORIO DE NOMBRE DE LA PRÁCTICA Licenciado en Sistemas Computacionales

Más detalles

Grafos. Amalia Duch Brown Octubre de 2007

Grafos. Amalia Duch Brown Octubre de 2007 Grafos Amalia Duch Brown Octubre de 2007 Índice 1. Definiciones Básicas Intuitivamente un grafo es un conjunto de vértices unidos por un conjunto de líneas o flechas dependiendo de si el grafo es dirigido

Más detalles

a) Factoriza el monomio común. En este caso 6 se puede dividir de cada término:

a) Factoriza el monomio común. En este caso 6 se puede dividir de cada término: Materia: Matemática de 5to Tema: Factorización y Resolución de ecuaciones 1) Factorización Marco Teórico Decimos que un polinomio está factorizado completamente cuando no podemos factorizarlo más. He aquí

Más detalles

Clases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica.

Clases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica. Algoritmos Estructuras de Datos I Primer cuatrimestre de 2014 Departamento de Computación - FCEN - UBA Programación imperativa - clase 10 Memoria dinámica listas enlazadas Clases e instancias El paquete

Más detalles

LABORATORIO 3 ESTRUCTURAS REPETITIVAS WHILE / DO WHILE

LABORATORIO 3 ESTRUCTURAS REPETITIVAS WHILE / DO WHILE LABORATORIO 3 ESTRUCTURAS REPETITIVAS WHILE / DO WHILE 1 OBJETIVOS Al finalizar esta actividad, serás capaz de: Entender el funcionamiento de las estructuras iterativas en general; la(s) condición(es)

Más detalles

Exterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>}

Exterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>} Bloque II. 2. Objetos y acciones elementales Bloque II. 2. Objetos y acciones elementales Objetivos: Familiarizarse con conceptos de entorno, objeto y tipo Entender qué significa que un objeto sea de un

Más detalles

Estructuras Repetitivas

Estructuras Repetitivas Estructuras Repetitivas Se solicita al operador que ingrese tres números enteros cualesquiera. En base a estos números, mostrar por pantalla cual es el mayor de todos. Diag. De Flujos Pseudocódigo Matlab

Más detalles

Proyecto. Tema 6 sesión 2: Generación de Rectas, Circunferencias y Curvas. Geometría Analítica. Isidro Huesca Zavaleta

Proyecto. Tema 6 sesión 2: Generación de Rectas, Circunferencias y Curvas. Geometría Analítica. Isidro Huesca Zavaleta Geometría Analítica Tema 6 sesión 2: Generación de Rectas, Circunferencias y Curvas Isidro Huesca Zavaleta La Integración de dos Ciencias La Geometría Analítica nació de la integración de dos ciencias

Más detalles

Estructuras Secuénciales

Estructuras Secuénciales Estructuras Secuénciales Los algoritmos más sencillos de realizar son los que no toman decisiones, tan solo se dedican a realizar o ejecutar instrucción tras instrucción en el orden determinado. Estos

Más detalles

Fundamentos de programación

Fundamentos de programación Fundamentos de programación Estructuras de Control Estructuras de control Estructuras de control Estructura secuencial Estructura alternativa Sentencias if, if else Sentencias if else anidadas El operador

Más detalles

Conceptos de Algoritmos, Datos y Programas

Conceptos de Algoritmos, Datos y Programas Conceptos de Algoritmos, Datos y Programas Año 2015 Carreras: Lic. en Informática P2015 Lic. en Sistemas P2015 APU P2015 Año: 1 Duración: Cuatrimestral Coordinador: Ing. Armando De Giusti Profesores: Esp.

Más detalles

Metodología y Tecnología de la Programación

Metodología y Tecnología de la Programación Tema 4. Abstracción procedimental y de datos 1. Cuál es el error del siguiente programa? import java.util.scanner; class Respuesta{ static Scanner leer=new Scanner(System.in); int valor = lectura(); System.out.println(valor);

Más detalles

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 4: Ordenación. Prof. Montserrat Serrano Montero

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 4: Ordenación. Prof. Montserrat Serrano Montero Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 4: Ordenación Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Elección de un método Métodos directos

Más detalles

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.

Más detalles

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 2: Memoria dinámica y Bibliotecas Objetivos Practicar conceptos

Más detalles

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B) APRENDERAPROGRAMARCOM FUNCIONES PHP: DECLARACIÓN Y LLAMADAS PARÁMETROS, RETURN EJERCICIOS EJEMPLOS RESUELTOS (CU00827B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero Fecha

Más detalles

Unidad Nº V Listas Enlazadas

Unidad Nº V Listas Enlazadas Instituto Universitario Politécnico Santiago Mariño Unidad Nº V Listas Enlazadas Lista Enlazadas Es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta

Más detalles

FICHA TÉCNICA DEL MODELO MOTOROLA Asociación Estudiantil Kmon Mayo 2013

FICHA TÉCNICA DEL MODELO MOTOROLA Asociación Estudiantil Kmon Mayo 2013 DEL MODELO MOTOROLA Asociación Estudiantil Kmon Mayo 2013 Calle Hendaia 8, IRUN 20301 1. QUÉ ES EL? El modelo Motorola es uno de los elementos del sistema de desarrollo de la metodología learning by doing.

Más detalles

Tema 7: Geometría Analítica. Rectas.

Tema 7: Geometría Analítica. Rectas. Tema 7: Geometría Analítica. Rectas. En este tema nos centraremos en estudiar la geometría en el plano, así como los elementos que en este aparecen como son los puntos, segmentos, vectores y rectas. Estudiaremos

Más detalles

. De R (Reales) a C (Complejos)

. De R (Reales) a C (Complejos) INTRODUCCIÓN Los números complejos se introducen para dar sentido a la raíz cuadrada de números negativos. Así se abre la puerta a un curioso y sorprendente mundo en el que todas las operaciones (salvo

Más detalles

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto

Más detalles

C a l ses P P y y NP C a l se P C a l se N P N P [No N n o -De D te t rmin i i n s i ti t c i Polynomial-tim i e]

C a l ses P P y y NP C a l se P C a l se N P N P [No N n o -De D te t rmin i i n s i ti t c i Polynomial-tim i e] Análisis y Diseño de Algoritmos Introducción Análisis y Diseño de Algoritmos Concepto de algoritmo Resolución de problemas Clasificación de problemas Algorítmica Análisis de la eficiencia de los algoritmos

Más detalles

PLAN DE MATERIAS ACADEMUSOFT 3.2

PLAN DE MATERIAS ACADEMUSOFT 3.2 FACULTAD DE: _Ingenierías y Tecnológicas PROGRAMA DE: Ingeniería de Sistemas NOMBRE DE LA MATERIA: Programación II Semestre: III Código: _IS006SA No de Créditos 4 H. Teórica: 4 H. Práctica 2 H. Teórica-Practica

Más detalles