Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

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

Download "Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011"

Transcripción

1 Módulo 2. Fundamentos de Programación Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 1

2 CONTENIDO Tema 1. Conceptos generales de algorítmica Tema 2. Sentencias de control Tema 3. Conjuntos dimensionados Tema 4. Programación modular Tema 5. Ficheros 2

3 PROGRAMACIÓN MODULAR Introducción Definiciones Parámetros y variables Recursividad Ventajas de la programación modular Análisis/Diseño modular Ejercicios 3

4 Introducción La solución de un problema complejo puede obtenerse a menudo a partir de la resolución de subproblemas más simples (estrategia divide y vencerás ). Análogamente, un algoritmo que resuelve un problema complejo puede expresarse en términos de subalgoritmos que resuelven problemas simples. Problema Subproblemas Algoritmo 4 Subalgoritmos

5 Ejemplo: Cálculo del número combinatorio Algoritmo Combinatorio_NoModular variable entera n, k, i, num, dena, denb Leer(n, k) num = 1, dena = 1, denb = 1 para i desde 1 hasta n hacer num = num*i fin para para i desde 1 hasta n-k hacer dena = dena*i fin para para i desde 1 hasta k hacer denb = denb*i fin para Escribir("Resultado: ", num/( dena*denb ) ) fin Algoritmo n C( n, k) = = k n! k!( n k)! Solución no modular: Código redundante para realizar la misma tarea, en este caso el factorial de un número. Observa que sólo cambia la condición de parada. 5

6 Algoritmo Combinatorio_Modular Función entera Fact(n) variable entera n, i, f f=1 para i desde 1 hasta n hacer f=f*i fin para devolver f fin Función variable entera n, k Leer(n, k) Escribir("Resultado: ", Fact(n)/ (Fact(n-k)*Fact(k)) fin Algoritmo n C( n, k) = = k Solución modular: Subalgoritmo n! k!( n k)! La parte principal es mucho más compacta y simple en su lectura 6

7 Definiciones Un subalgoritmo es un conjunto de instrucciones identificadas con un nombre único que toma una serie de datos de entrada y los procesa para generar un resultado. Puede ser llamado o invocado desde un algoritmo o desde otros subalgoritmos (estructura jerárquica). Su uso reduce el algoritmo, simplificándolo ya que hace innecesaria la repetición de código para realizar una misma tarea. Dos tipos: Funciones: retornan un valor. Procedimientos: no devuelven nada. 7

8 Estructura similar a un algoritmo: cabecera, declaración de variables y constantes, cuerpo y cierre. Diferencias: la cabecera incluye una lista de parámetros y el cuerpo contiene instrucciones de retorno, indicando además el valor a retornar en el caso de las funciones. Sintaxis Función Función <tipo> <nombre> (<param>) <declaración_variables> <cuerpo> devolver valor <cuerpo> fin Función Sintaxis Procedimiento Procedimiento <nombre> (<param>) <declaración_variables> <cuerpo> retornar <cuerpo> fin Procedimiento 8

9 Ejemplos Algoritmo Prueba_Función Función real Cuadrado (x) variable real x devolver x*x fin Función variable real y, z Retorno Leer(z) y = Cuadrado(z) Escribir( El cuadrado de, z, es, y) fin Algoritmo Declaración Invocación Algoritmo Prueba_Procedimiento Procedimiento Escribe_Pot_23(x) variable real x Escribir( Cuadrado=, x*x, cubo=, x*x*x) retornar fin Procedimiento variable real y Leer(y) Escribe_Pot_23(y) fin Algoritmo 9

10 Ejemplos ejecución 1 Algoritmo Prueba_Función Función real Cuadrado (x) variable real x devolver x*x fin Función variable real y, z Leer(z) y = Cuadrado(z) Escribir( El cuadrado de, z, es, y) fin Algoritmo Se inicia la ejecución en el algoritmo principal 10

11 Ejemplos ejecución 2 Algoritmo Prueba_Función Función real Cuadrado (x) variable real x devolver x*x fin Función variable real y, z Leer(z) y = Cuadrado(z) Escribir( El cuadrado de, z, es, y) fin Algoritmo Continúa la ejecución en el algoritmo principal 11

12 Ejemplos ejecución 3 Algoritmo Prueba_Función Función real Cuadrado (x) variable real x devolver x*x fin Función variable real y, z Leer(z) y = Cuadrado(z) Escribir( El cuadrado de, z, es, y) fin Algoritmo Se produce la llamada a la función desde el algoritmo principal 12

13 Ejemplos ejecución 4 Algoritmo Prueba_Función Función real Cuadrado (x) variable real x devolver x*x fin Función variable real y, z Leer(z) y = Cuadrado(z) Escribir( El cuadrado de, z, es, y) fin Algoritmo Se suspende la ejecución en el algoritmo principal La ejecución salta a la función 13

14 Ejemplos ejecución 5 Algoritmo Prueba_Función Función real Cuadrado (x) variable real x devolver x*x fin Función variable real y, z Leer(z) y = Cuadrado(z) Escribir( El cuadrado de, z, es, y) fin Algoritmo Termina la ejecución en la función Algoritmo principal a la espera 14

15 Ejemplos ejecución 6 Algoritmo Prueba_Función Función real Cuadrado (x) variable real x devolver x*x fin Función variable real y, z Leer(z) y = Cuadrado(z) Escribir( El cuadrado de, z, es, y) fin Algoritmo Se reanuda la ejecución en el algoritmo principal, a la variable y se le asigna el valor retornado por la función 15

16 Parámetros y variables En la declaración de un subalgoritmo se incluyen los parámetros a través de los cuales se le suministran los datos de entrada. En el momento de la llamada se produce un intercambio de información entre los parámetros del subalgoritmo (parámetros formales) y las variables del algoritmo principal (parámetros reales). Además de los parámetros, pueden existir variables internas que son de ámbito local al subalgoritmo. 16

17 Ejemplo Algoritmo Prueba_Función Función real Cuadrado (x) variable real x variable real y y=x*x; devolver y fin Función variable real y, z Leer(z) y = Cuadrado(z) Escribir( El cuadrado de, z, es, y) fin Algoritmo Parámetro formal Variable local a la función Parámetro real 17

18 Paso de parámetros Existen dos modos de paso de parámetros: Por valor: el contenido de los parámetros reales se copia a los parámetros formales. Las modificaciones internas al subalgoritmo no afectan a la variable externa. Pueden verse como parámetros de entrada. Por referencia: se pasa una referencia a la dirección de memoria del parámetro real. Si se modifica el parámetro formal se modifica la variable externa. Pueden verse como parámetros de salida o de entrada/salida. En la lista de parámetros, el paso por referencia se indica anteponiendo ref al parámetro. 18

19 Ejemplo Algoritmo Prueba_Procedimiento Procedimiento Pot_23(x, ref x2, ref x3) variable real x, x2, x3 x2 = x*x, x3 = x2*x x = 0 retornar fin Procedimiento variablesreal y, y2, y3 y = 7, y2 = 0, y3 = 0 Pot_23(y, y2, y3) Escribir( V=, y, V^2=, y2, V^3=, y3) fin Algoritmo Paso por valor Paso por referencia Modificación de variables interna al procedimiento Inicialización 19

20 Ejemplo - continuación Algoritmo Prueba_Procedimiento Procedimiento Pot_23(x, ref x2, ref x3) variable real x, x2, x3 x2 = x*x, x3 = x2*x x = 0 retornar fin Procedimiento variablesreal y, y2, y3 y = 7, y2 = 0, y3 = 0 Pot_23(y, y2, y3) Escribir( V=, y, V^2=, y2, V^3=, y3) fin Algoritmo Paso por valor Paso por referencia Estado de la memoria antes de la llamada y 7 y2 0 y3 0 20

21 Ejemplo - continuación Algoritmo Prueba_Procedimiento Procedimiento Pot_23(x, ref x2, ref x3) variable real x, x2, x3 x2 = x*x, x3 = x2*x x = 0 retornar fin Procedimiento variablesreal y, y2, y3 y = 7, y2 = 0, y3 = 0 Pot_23(y, y2, y3) Escribir( V=, y, V^2=, y2, V^3=, y3) fin Algoritmo x2 y x3 hacen referencia a la misma dirección que y2 e y3, respectivamente x es una variable distinta sobre la que se copia el valor de y Paso por valor Paso por referencia Estado de la memoria al entrar en el procedimiento y 7 y2, x2 0 y3, x3 0 x 7 21

22 Ejemplo - continuación NOTA: En realidad, el programa principal y las funciones poseen espacios de memoria separados. Aquí se utiliza una representación simplificada a fin de facilitar la exposición. 22

23 Ejemplo - continuación Algoritmo Prueba_Procedimiento Procedimiento Pot_23(x, ref x2, ref x3) variable real x, x2, x3 x2 = x*x, x3 = x2*x x = 0 retornar fin Procedimiento variablesreal y, y2, y3 y = 7, y2 = 0, y3 = 0 Pot_23(y, y2, y3) Escribir( V=, y, V^2=, y2, V^3=, y3) fin Algoritmo Paso por valor Paso por referencia Estado de la memoria tras ejecutar el cuerpo del procedimiento y 7 y2, x2 49 y3, x3 343 x 0 23

24 Ejemplo - continuación Algoritmo Prueba_Procedimiento Procedimiento Pot_23(x, ref x2, ref x3) variable real x, x2, x3 x2 = x*x, x3 = x2*x x = 0 retornar fin Procedimiento variablesreal y, y2, y3 y = 7, y2 = 0, y3 = 0 Pot_23(y, y2, y3) Escribir( V=, y, V^2=, y2, V^3=, y3) fin Algoritmo y no ha cambiado y2 e y3 se han modificado Paso por valor Paso por referencia Estado de la memoria al volver al programa principal y 7 y2 49 y

25 Recursividad Una función recursiva es aquella que se llama a sí misma. Permite soluciones compactas para algunos problemas. La estructura de una función recursiva incluye siempre al menos una condición de salida o caso base y una o más llamadas recursivas. Función <tipo> FunRec(param) si <condición_sobre_param> devolver <valor> si no <modificar_param> resultado=<depende_de> FunRec(param) devolver resultado fin si fin Función Caso base Llamada recursiva 25

26 Ejemplo: obtener el factorial de un número. n! = n*(n-1)*(n-2) *1 0!=1 Función entera FactorialNoRec(n) variable entera n, i, f si n<=1 entonces devolver 1 si no f=1 para i desde 1 hasta n hacer f=f*i fin para devolver f fin si fin Función Solución no recursiva Función entera FactorialRec(n) si n<=1 entonces devolver 1 si no devolver n*factorialrec(n-1) fin si fin Función Solución recursiva 26

27 Ventajas de la programación modular Facilita la programación: Es más sencillo resolver varios problemas simples que uno complejo. Mayor claridad: Programación estructurada en bloques y código más compacto. Ahorro de tiempo: Cada parte de la solución puede desarrollarse independientemente en paralelo. Facilita la modificación/mantenimiento. Permite la reutilización del código: Empaquetado de funciones y procedimientos en librerías o bibliotecas reutilizables. 27

28 Librerías Una librería es un conjunto de funciones y procedimientos con un nexo común que se empaquetan para su reutilización. Ejemplos: funciones gráficas, entrada/salida, matemáticas, etc. Problema A Librería genérica Problema C Problema B 28

29 Análisis/Diseño modular Aspectos específicos a considerar: Identificación de subproblemas: puede el problema descomponerse en problemas más simples? Pueden, a su vez, dichos subproblemas descomponerse? (estructura jerárquica) Planteamiento de la solución: cómo se obtiene la solución global a partir de las particulares? Identificación de funciones/procedimientos y sus parámetros. Generación de librerías: son los subalgoritmos de utilidad para otros problemas? 29

30 Características deseables Características deseables de los subalgoritmos: Caja negra: la salida solo depende de los parámetros de entrada. Número reducido de parámetros de entrada. Pocas líneas de código y simplicidad. Evitar demasiados niveles de jerarquía en la solución (hay que llegar a un compromiso con la anterior). 30

31 Estudio de casos: Ejemplo 1 Estamos diseñando el software para una empresa de ámbito nacional. El precio final de cada uno de los productos que comercializa se obtiene añadiendo al precio de partida los impuesto locales de la región de venta. Analizar este aspecto desde la perspectiva de la programación modular. Publicidad Facturación Contabilidad 31

32 Ejemplo 1 - continuación A) Subproblemas y solución El cálculo del precio es una operación que con total seguridad se requerirá en múltiples puntos del software. Si no se usase un subalgoritmo para realizarla, cualquier cambio en la forma en que se computa el precio sería costoso de aplicar, ya que requiere modificar todos y cada uno de los puntos donde se aplica el cálculo del precio. Publicidad CPrecio Facturación CPrecio Cálculo precio Contabilidad CPrecio 32

33 Ejemplo 1 - continuación B) Funciones/Procedimientos y parámetros Se puede emplear una función que tome como datos de entrada el precio y la región de venta y devuelva el precio final. Función real CalculaPrecioFinal(precio, región) variable real precio variable entera región variable real impuesto según región hacer caso 1, impuesto = 4.5 // Canarias caso 2, impuesto = 5.5 // Andalucía otro caso, impuesto = 5.0 fin según devolver precio*(1+impuesto/100) fin Función 33

34 Ejemplo 1 - continuación Si el cálculo de los impuestos fuese necesario para otros algoritmos, podría codificarse también como una función independiente. Función real CalculaImpuesto(región) variable entera región variable real impuesto según región hacer caso 1, impuesto = 4.5 // Canarias caso 2, impuesto = 5.5 // Andalucía otro caso, impuesto = 5.0 fin según devolver impuesto fin Función 34

35 Ejemplo 1 - continuación Jerarquía: Publicidad Facturación Cálculo precio Cálculo impuesto Contabilidad 35

36 Estudio de casos: Ejemplo 2 Tenemos que escribir diferentes algoritmos para realizar operaciones con vectores y matrices, pidiendo los datos por teclado y mostrando el resultado por pantalla: sumas, restas, multiplicaciones, divisiones, producto escalar, etc. Algoritmo SumaM Algoritmo RestaM Algoritmo DivisiónM Algoritmo SumaV Algoritmo ProductoM Algoritmo PEscalarV 36

37 Estudio de casos: Ejemplo 2 Algoritmo SumaM Algoritmo ProductoM A) Subproblemas y solución Todos los algoritmos requieren tres fases: lectura de datos, operación y escritura de resultados. La solución se obtiene encadenando secuencialmente las tres fases. Las fases de lectura y escritura son similares en muchos algoritmos. Lectura de matrices Lectura de matrices Suma matricial Producto matricial Escritura de matriz Escritura de matriz 37

38 Ejemplo 2 - continuación B) Funciones/Procedimientos La fase de lectura pide datos al usuario y los devuelve en forma de vector o matriz funciones o procedimientos con parámetros de entrada/salida para leer vectores y matrices (lee_vector, lee_matriz). La fase de escritura muestra resultados por pantalla procedimientos para escribir vectores y matrices (escribe_vector, escribe_matriz). Las operaciones toman los datos para generar resultados, son comunes y seguramente las volvamos a necesitar funciones o procedimientos diferentes para cada operación (suma_vectores, multiplica_matrices, etc). Funciones de lectura Algoritmos Funciones de operación Procedimientos de escritura 38

39 Ejemplo 2 - continuación Podríamos pensar en una función de lectura genérica que llamara a la función lee_matriz, que llamara a lee_vector por cada fila, esta a su vez a lee_elemento para cada posición y esta finalmente a lee_número. Mala solución, demasiados niveles jerárquicos no justificados pueden complicar el código. Funciones de lectura de vectores Funciones de lectura de matrices Funciones de lectura de números Función de lectura Funciones de lectura de elementos 39

40 Ejemplo 2 - continuación Sí podría estar justificada la siguiente jerarquía: La división de matrices es un producto de una matriz por la inversa de la otra -> puede llamarse a la función producto matricial. La multiplicación de matrices consiste en una serie de productos escalares de vectores fila y columna -> puede llamarse a la función producto escalar. Función División Matricial Función Producto Escalar Función Producto Matricial 40

41 Ejemplo 2 - continuación C) Parámetros caso lee_matriz Este subalgoritmo de lectura necesita conocer las dimensiones de la matriz a leer, por lo que tomará dos parámetros de entrada: el número de filas y el número de columnas. Si se programa como función podría devolver un puntero a la matriz leída o bien un dato tipo matriz. Función ref entera lee_matriz (filas, columnas)... Si se programa como procedimiento se le pasa por referencia una matriz que luego se rellena con los datos introducidos por el usuario. Procedimiento lee_matriz (filas, columnas, ref M)... 41

42 Ejercicios 1. Escribir un algoritmo que realice la conversión de pulgadas a centímetros utilizando una función. El factor de conversión es: 1 pulgada = 2,54 cm. 2. Diseñar un algoritmo, que haciendo uso de una función, evalúe la siguiente fórmula: x = k! n! ( n k) +! ( 2 m)!( 2 ( n m) ) ( 2 n)! 3. Escribir un algoritmo que use una función para convertir las letras de una cadena de caracteres de minúscula a mayúscula. Asumir por simplicidad que la cadena no contiene tildes, y que además de los caracteres solo contiene espacios en blanco. 4. Escribir un algoritmo que guarde en un vector los elementos de una matriz ordenados por filas, utilizando para ello subprogramas El vector resultante contendría : ! 42

43 Ejercicios 5. Escribir, usando subalgoritmos reutilizables, A. Un algoritmo que lea una matriz e imprima los elementos sobre la diagonal principal. Ejemplo, para la matriz: El resultado sería: B. Un algoritmo que lea una matriz e imprima los elementos bajo la diagonal secundaria. Para el ejemplo anterior el resultado sería: Realizar un algoritmo que devuelva como resultado la traspuesta de una matriz de m filas y n columnas, considerando que m y n pueden no ser iguales. Utilizar subprogramas en la solución. 7. Escribir un algoritmo, haciendo uso de subprogramas, que sustituya una fila i de una matriz por la resta de esa fila con el producto de otra fila j por un factor c. 43

44 Ejercicios 8. Escribir un algoritmo que calcule el sumatorio de los n primeros números enteros, haciendo uso de una función recursiva. 9. Escribir un algoritmo que dado un número x calcule su potencia p, utilizando para ello una función recursiva. 10. Escribir un algoritmo que calcule para dos números enteros n elevado a m, haciendo uso de una función recursiva. 11. Desarrollar un algoritmo recursivo que devuelva el enésimo número de la serie de Fibonacci. 44

45 Bibliografía Fundamentos de Informática y Programación para Ingeniería. Ejercicios Resueltos para C y Matlab. Modesto Castrillón et al, Paraninfo, Introducción a la informática, A. Prieto Espinosa, A. Lloris Ruiz, J.C. Torres Cantero, McGraw-Hill, Madrid,

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

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 Módulo 2. Fundamentos de Programación Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 1 CONTENIDO Tema 1. Conceptos generales de algorítmica Tema 2. Sentencias

Más detalles

Informática Aplicada TEMA 8: FUNCIONES 1.- CONCEPTOS. Funciones

Informática Aplicada TEMA 8: FUNCIONES 1.- CONCEPTOS. Funciones TEMA 8: FUNCIONES 1.- CONCEPTOS Funciones Permiten desarrollar algoritmos y códigos modulares, mejorando la legibilidad. Son reutilizables por lo que pueden incorporarse a diagramas distintos, descargando

Más detalles

Programación Estructurada. Complementos de Informática Tema 2: Programación Estructurada y Programación Modular. Números Amigos

Programación Estructurada. Complementos de Informática Tema 2: Programación Estructurada y Programación Modular. Números Amigos Programación Estructurada Complementos de Informática Tema 2: Programación Estructurada y Programación Modular Álo Romero Jiménez Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad

Más detalles

Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Área de Programación

Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Área de Programación Asignatura: Programación I Fecha: Marzo 2012 Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Área de Programación Funciones 1. Escriba un programa en C que intercambie

Más detalles

TEMA 5: Subprogramas, programación modular

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

PRÁCTICO N o 7. Lenguaje de Diseño (Tercera Parte): Modularización. Ejercicio 1: Teniendo en cuenta la resolución del ejercicio 7 del Práctico 6:

PRÁCTICO N o 7. Lenguaje de Diseño (Tercera Parte): Modularización. Ejercicio 1: Teniendo en cuenta la resolución del ejercicio 7 del Práctico 6: PRÁCTICO N o 7 Lenguaje de Diseño (Tercera Parte) Modularización Ejercicio 1 Teniendo en cuenta la resolución del ejercicio 7 del Práctico 6 a Analice su solución identificando las distintas tareas que

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 2016-2017. 1º Grado en Informática Práctica 1: Punteros Objetivos Se hará hincapié en la aritmética de punteros

Más detalles

Tema: Funciones, Procedimientos y Recursividad en C#.

Tema: 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 detalles

Índice general 7. Presentación 15

Índice general 7. Presentación 15 ÍNDICE GENERAL Índice general 7 Presentación 15 1. Introducción 19 1.1. Antecedentes históricos de la computación................... 19 1.2. Definiciones previas............................... 24 1.3.

Más detalles

Ejercicios Tema 6. Funciones

Ejercicios Tema 6. Funciones Ejercicios Tema 6. Funciones 1. Programa que calcule el cuadrado de todos los números comprendidos entre dos dados. Usar una función a la que se le pasa como parámetro un valor y retorna su cuadrado. 2.

Más 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

Tema 5: Programación modular

Tema 5: Programación modular Tema 5: Programación modular Departamento de Ciencia de la Computación e Inteligencia Artificial Universidad de Alicante 1 Contenidos Criterios de Descomposición Modular Concepto de Subalgoritmo Variables

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

Análisis de algoritmos. Recursividad

Aná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 detalles

Metodología de la Programación II. Recursividad

Metodología de la Programación II. Recursividad Metodología de la Programación II Recursividad Objetivos Entender el concepto de recursividad. Conocer los fundamentos del diseño de algoritmos recursivos. Comprender la ejecución de algoritmos recursivos.

Más detalles

Secuencias Calculadas

Secuencias Calculadas Secuencias Calculadas Estructuras de Iteración y Recursividad Prof. Hilda Contreras Programación 1 hildac.programacion1@gmail.com Secuencias Calculadas Se aplican a los problemas donde los elementos de

Más detalles

Qué es la recursividad?

Qué es la recursividad? Recursividad 1 Ejemplo 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í. Esta muñeca, también contiene otra muñeca dentro.

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

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE

DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS PSEUDOCÓDIGO El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al

Más detalles

Subrutinas. Subrutinas. Erwin Meza Vega

Subrutinas. 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 detalles

FUNDAMENTOS DE PROGRAMACIÓN TALLER No. 1 Profesor: Alvaro Ospina Sanjuan

FUNDAMENTOS DE PROGRAMACIÓN TALLER No. 1 Profesor: Alvaro Ospina Sanjuan FUNDAMENTOS DE PROGRAMACIÓN TALLER No. 1 Profesor: Alvaro Ospina Sanjuan 1. Escriba un programa que cambie cualquier suma de dinero hasta de 99 ctvs usando las monedas de denominación de 1 ctvs, 5 ctvs,

Más detalles

TEMA 4: ALGORITMOS Y PROGRAMAS

TEMA 4: ALGORITMOS Y PROGRAMAS TEMA 4: ALGORITMOS Y PROGRAMAS TEMA 4: ALGORITMOS Y PROGRAMAS.1 INTRODUCCIÓN1 Análisis del problema..1 Búsqueda del algoritmo..1 Programación del algoritmo.2 ESTRUCTURAS DE CONTROL.3 Estructuras secuenciales.4

Más detalles

Programación. Ejercicios Tema 6 Tipos de Datos Estructurados: Vectores y Matrices

Programación. Ejercicios Tema 6 Tipos de Datos Estructurados: Vectores y Matrices Programación Ejercicios Tema 6 : Vectores y Matrices Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordóñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro

Más detalles

UNIDAD 3 Modularidad

UNIDAD 3 Modularidad Modularidad Funciones de biblioteca, uso. Módulos. Concepto. Clasificación. Ámbito de identificadores. Transferencia de información a y desde procedimientos: los parámetros, tipos de parámetros. Conceptos

Más detalles

Universidad Autónoma del Estado de México Facultad de Medicina

Universidad Autónoma del Estado de México Facultad de Medicina Universidad Autónoma del Estado de México Facultad de Medicina Licenciatura en Bioingeniería Médica Unidad de Aprendizaje: Algoritmos y programación básica Unidad 3: Estructuras de control de flujo en

Más detalles

CAPITULO 6: FUNCIONES

CAPITULO 6: FUNCIONES CAPITULO 6: FUNCIONES 1. INTRODUCCIÓN Un problema de programación en C se resuelve descomponiéndolo en varias partes. Cada una de estas partes se puede asociar a una función que resuelva su fracción correspondiente

Más detalles

Ejercicios sobre recursividad

Ejercicios sobre recursividad Ejercicios sobre recursividad 11 de febrero de 2003 1. Implementa una función recursiva que devuelva la suma de los dígitos de un número natural, que se le pasa por parámetro. 2. Implementa una función

Más detalles

Tema: Funciones, Procedimientos y Recursividad en C#.

Tema: 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 detalles

Tema: Funciones, Procedimientos y Recursividad en C#.

Tema: 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 detalles

Ejercicios de programación en C. ET1032 Informática Industrial

Ejercicios de programación en C. ET1032 Informática Industrial Ejercicios de programación en C. ET1032 Informática Industrial - 2016 1 - Ejercicios generales introductorios 1. - Realizad un programa que reciba un entero tipo int- desde el teclado, lo sume consigo

Más detalles

SUBPROGRAMAS. Los subprogramas pueden ser invocados varias veces desde diferentes partes del programa.

SUBPROGRAMAS. Los subprogramas pueden ser invocados varias veces desde diferentes partes del programa. SUBPROGRAMAS Los subprogramas son un conjunto de instrucciones que realizan una labor específica y se comportan de manera independiente en un programa. Los subprogramas facilitan: Descomponer la complejidad

Más detalles

Bloque 1. Conceptos y técnicas básicas en programación

Bloque 1. Conceptos y técnicas básicas en programación Bloque 1. Conceptos y técnicas básicas en programación 1. Introducción 2. Datos y expresiones. Especificación de algoritmos 3. Estructuras algorítmicas básicas 4. Iteración y recursión 5. Iteración y recursió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

Tema: Funciones, Procedimientos y Recursividad en C#.

Tema: 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 detalles

El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan

El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan tanto la escritura como la lectura de programas En esencia,

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

Unidad 6. Subprogramas: Funciones y Procedimientos. Prof. Eliana Guzmán U. Semestre: A 2015

Unidad 6. Subprogramas: Funciones y Procedimientos. Prof. Eliana Guzmán U. Semestre: A 2015 Unidad 6 Subprogramas: Funciones y Procedimientos Prof. Eliana Guzmán U. Semestre: A 2015 Introducción Un método ya citado para solucionar problemas complejos es dividirlo en subproblemas (problemas más

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

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 Módulo 2. Fundamentos de Programación Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 1 CONTENIDO Tema 1. Conceptos generales de algorítmica Tema 2. Sentencias

Más detalles

Práctico Nº 5 Tema: Lenguaje de Diseño (1 parte)

Práctico Nº 5 Tema: Lenguaje de Diseño (1 parte) Práctico Nº 5 Tema: Lenguaje de Diseño (1 parte) 1. Escribir las siguientes expresiones aritméticas usando sintaxis del lenguaje de diseño: a. (X+Y) 3 b. X+Y 3 c. (A + B 2 ) / X - R donde R es el resto

Más detalles

Prof. Judith Barrios Albornoz

Prof. Judith Barrios Albornoz Prof. Judith Barrios Albornoz Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Semestre A_2013 Este material toma como base el curso original

Más detalles

Programa Oficial de Asignatura. Ficha Técnica. Presentación. Competencias y/o resultados del aprendizaje. Fundamentos de Programación

Programa Oficial de Asignatura. Ficha Técnica. Presentación. Competencias y/o resultados del aprendizaje. Fundamentos de Programación Ficha Técnica Titulación: Grado en Ingeniería de Organización Industrial Plan BOE: BOE número 75 de 28 de marzo de 2012 Asignatura: Módulo: TICs (Tecnologías de la Información y las Comunicaciones) Curso:

Más detalles

Matrices y Determinantes. Prof. Nilsa I. Toro Catedrática Recinto Universitario de Mayagüez Residencial - AFAMaC

Matrices y Determinantes. Prof. Nilsa I. Toro Catedrática Recinto Universitario de Mayagüez Residencial - AFAMaC Matrices y Determinantes Prof. Nilsa I. Toro Catedrática Recinto Universitario de Mayagüez Residencial - AFAMaC Origen y Usos Las matrices aparecen por primera vez hacia el año 1850, introducidas por J.J.

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

Tema 14: Diseño Estructurado (Modularidad)

Tema 14: Diseño Estructurado (Modularidad) Tema 14: Diseño Estructurado (Modularidad) M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco)

Más detalles

Algoritmos y Estructuras de Datos Curso 06/07. Ejercicios

Algoritmos y Estructuras de Datos Curso 06/07. Ejercicios 6.1.(Clase) Un programa que utiliza la técnica divide y vencerás, divide un problema de tamaño n en a subproblemas de tamaño n/b. El tiempo g(n) de la resolución directa (caso base) se considerará constante.

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

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

Introducción a la Algorítmica Transparencias correspondientes a las clases impartidas por los profesores: Lourdes Miró Amarante Ignacio García Vargas

Introducción a la Algorítmica Transparencias correspondientes a las clases impartidas por los profesores: Lourdes Miró Amarante Ignacio García Vargas Dpto. de ATC - Página 1 de 16 CONCEPTO DE ALGORITMO (1) Fundamentos de Informática E.U.P. Universidad de Sevilla Introducción a la Algorítmica Transparencias correspondientes a las clases impartidas por

Más detalles

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un

Más detalles

Parte de Algoritmos de la asignatura de Programación Master de Bioinformática. Divide y vencerás

Parte de Algoritmos de la asignatura de Programación Master de Bioinformática. Divide y vencerás Parte de Algoritmos de la asignatura de Programación Master de Bioinformática Divide y vencerás Web asignatura: http://dis.um.es/~domingo/algbio.html E-mail profesor: domingo@um.es Transparencias preparadas

Más detalles

ANEXO XVII DE LA RESOLUCION N

ANEXO XVII DE LA RESOLUCION N Hoja 1 de 7 UNIVERSIDAD NACIONAL DE CÓRDOBA Facultad de Ciencias Exactas Físicas y Naturales República Argentina Programa de: Código: Informática Carrera: Materia común Res. Nº Plan: Puntos:3.5 Escuela:

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 2016-2017 1º Grado en Informática Práctica 2: Memoria dinámica, Bibliotecas Objetivos Practicar conceptos

Más detalles

Tema 06: Recursividad

Tema 06: Recursividad Tema 06: Recursividad M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Recursión Recursividad Programación

Más detalles

Tema 9. Recursividad

Tema 9. Recursividad Tema 9. Recursividad http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la información Universitat

Más detalles

4.1 Conceptos Básicos de Matlab. Matlab es creado por The MathWorks, el cual es un idioma de alto rendimiento

4.1 Conceptos Básicos de Matlab. Matlab es creado por The MathWorks, el cual es un idioma de alto rendimiento MATLAB CAPÍTULO 4 Realización Activa en 4.1 Conceptos Básicos de es creado por The MathWorks, el cual es un idioma de alto rendimiento para la informática técnica. Integra cómputo, visualización, y programación

Más detalles

Trabajo Práctico 5 Estructura Repetitiva

Trabajo Práctico 5 Estructura Repetitiva Trabajo Práctico 5 Estructura Repetitiva Los ejercicios para resolver y enviar por los alumnos son los que están con letra negrita los mismos deben ser enviados en un archivo zip por medio de la página

Más detalles

Ejercicios Unidad 5 Arreglos Resuelva cada problema a través de Arreglos y usando métodos:

Ejercicios Unidad 5 Arreglos Resuelva cada problema a través de Arreglos y usando métodos: Ejercicios Unidad 5 Arreglos Resuelva cada problema a través de Arreglos y usando métodos: 1. Escribir un programa que mediante arreglos transforme un número romano (cadena de caracteres) en número arábigo.

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 Módulo 2. Fundamentos de Programación Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 1 CONTENIDO Tema 1. Conceptos generales de algorítmica Tema 2. Sentencias

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

Recursividad Definición

Recursividad Definición Recursividad Definición Un procedimiento o función se dice recursivo si durante su ejecución se invoca directa o indirectamente a sí mismo. Esta invocación depende al menos de una condición que actúa como

Más detalles

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (mientras)

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (mientras) Juan Pablo Cobá Juárez Pegueros Programación Básica Bioingeniería Médica Facultad de Medicina Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (mientras)

Más detalles

TEMA 2: ALGORITMOS Y PROGRAMAS

TEMA 2: ALGORITMOS Y PROGRAMAS TEMA 2: ALGORITMOS Y PROGRAMAS TEMA 2: ALGORITMOS Y PROGRAMAS. 1 INTRODUCCIÓN 1 Análisis del problema.. 1 Búsqueda del algoritmo.. 1 Programación del algoritmo. 3 ESTRUCTURAS DE CONTROL. 4 Estructuras

Más detalles

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

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

Más detalles

ALGORÍ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. 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 detalles

PRÁCTICA FUNDAMENTOS DE ALGORITMOS (Estructuras de Repetición II) Objetivos

PRÁCTICA FUNDAMENTOS DE ALGORITMOS (Estructuras de Repetición II) Objetivos Objetivos El alumno conocerá las estructuras básicas para el diseño de algoritmos 1. Conocerá las estructuras de repetición para el diseño de algoritmos 2. Diseñará sus algoritmos utilizando las estructuras

Más detalles

PROGRAMACIÓN ESTRUCTURADA

PROGRAMACIÓN ESTRUCTURADA PROGRAMACIÓN ESTRUCTURADA MATRICES ARREGLOS BIDIMENSIONALES Matrices 1 INTRODUCCIÓN Supóngase que se tiene la siguientes calificaciones de los alumnos de Pseudocodigo de la sec. 107 arreglados de la siguiente

Más detalles

APELLIDOS NOMBRE GRUPO CALIFICACIÓN FECHA

APELLIDOS NOMBRE GRUPO CALIFICACIÓN FECHA Hoja 1/10 Duración: una hora y media Resultados de aprendizaje que se evalúan en este examen: R2: Saber emplear las estructuras de control de flujo de programación para implementar algoritmos sencillos.

Más detalles

INDICE Parte I Algoritmos y herramientas de programación Capitulo 1. Computadoras y lenguajes de programación Actividades de Programación Resueltas

INDICE Parte I Algoritmos y herramientas de programación Capitulo 1. Computadoras y lenguajes de programación Actividades de Programación Resueltas INDICE Prologo a la tercera edición xiii Prologo a la segunda edición xxvii Parte I Algoritmos y herramientas de programación Capitulo 1. Computadoras y lenguajes de programación 3 1.1. Organización de

Más detalles

Programación 1 Tema 5. Instrucciones simples y estructuradas

Programación 1 Tema 5. Instrucciones simples y estructuradas Programación 1 Tema 5 Instrucciones simples y estructuradas Índice Instrucciones simples Instrucciones estructuradas 2 Instrucción ::= 3 Instrucciones.

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

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

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

Tema 2. Algoritmos y programas. Informática Grado en Física Universitat de València.

Tema 2. Algoritmos y programas. Informática Grado en Física Universitat de València. Francisco Grimaldo Moreno Ariadna Fuertes Seder Tema 2 Algoritmos y programas Informática Grado en Física Universitat de València Ariadna.Fuertes@uv.es Francisco.Grimaldo@uv.es 1 Concepto de algoritmo

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

Estructuración del programa en partes más pequeñas y sencillas

Estructuración del programa en partes más pequeñas y sencillas Introducción Estructuración del programa en partes más pequeñas y sencillas Modularización Propósito único Identificable Reusable Mayor claridad: programación, depuración, etc. Construcción de librerías

Más detalles

Acción que el procesador puede ejecutar sin necesidad de información suplementaria

Acción que el procesador puede ejecutar sin necesidad de información suplementaria TEMA 5: Algoritmos y programas Fundamentos de Informática (Ingeniería Técnica Industrial) Escuela Universitaria Politécnica Índice de contenidos 1. 2. 3. 4. Introducción. Conceptos básicos Representación

Más detalles

BOLETÍN DE EJERCICIOS: PROGRAMACIÓN EN C++ Ejercicio 1.- escribir un programa que calcule el factorial de un número:

BOLETÍN DE EJERCICIOS: PROGRAMACIÓN EN C++ Ejercicio 1.- escribir un programa que calcule el factorial de un número: Ejercicio 1.- escribir un programa que calcule el factorial de un número: Ejercicio 2.- determinar si un número es primo: Ejercicio 3.- escribir un programa que calcule la velocidad de un cuerpo sabiendo

Más detalles

Guía práctica de estudio 05: Pseudocódigo

Guí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 detalles

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (repite - mientras) Juan Pablo Cobá Juárez Pegueros

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (repite - mientras) Juan Pablo Cobá Juárez Pegueros Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (repite - mientras) Juan Pablo Cobá Juárez Pegueros Programación Básica Bioingeniería Médica Facultad de

Más detalles

El Pseudo-código de PsInt

El Pseudo-código de PsInt El Pseudo-código de PsInt Las características de este pseudolenguaje fueron propuestas en 2001 por el responsable de la asignatura Fundamentos de Programación de la carrera de Ingeniería Informática de

Más detalles

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO FACULTAD DE CS. QUIMICAS, FISICAS Y MATEMATICAS I. DATOS GENERALES DEPARTAMENTO ACADEMICO DE INFORMATICA SILABO 1.1 Asignatura : LENGUAJE DE PROGRAMACION 1.2 Categoría : OE 1.3 Código : IF463AME 1.4 Créditos

Más detalles

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

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

Más detalles

TNT es una librería que facilita el uso de vectores y matrices en C++.

TNT es una librería que facilita el uso de vectores y matrices en C++. TNT es una librería que facilita el uso de vectores y matrices en C++. Proporciona unas estructuras de datos que con las que se pueden realizar fácilmente operaciones con los vectores y las matrices. Las

Más detalles

GUIA 1: Repaso sobre uso de C#. Funciones, procedimientos y arreglos.

GUIA 1: Repaso sobre uso de C#. Funciones, procedimientos y arreglos. 1 POO, Guía 1 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación Orientada a Objetos GUIA 1: Repaso sobre uso de C#. Funciones, procedimientos y arreglos. Competencia Desarrolla sistemas

Más detalles

Tema 2. Diseño Modular.

Tema 2. Diseño Modular. Tema 2. Diseño Modular. E.U. Politécnica Curso 2004-2005 Departamento Lenguajes y Ciencias de la Computación. Universidad de Málaga José Luis Leiva Olivencia. Despacho: I-326D (Edificio E.U.P)/ 3.2.41

Más detalles

Cursada Segundo Cuatrimestre 2012 Guía de Trabajos Prácticos Nro. 1

Cursada Segundo Cuatrimestre 2012 Guía de Trabajos Prácticos Nro. 1 Temas: Ambiente de trabajo MATLAB. Creación de matrices y vectores. Matrices pre-definidas. Operador dos puntos. Operaciones con matrices y vectores. Direccionamiento de elementos de matrices y vectores.

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION CICLO: 01/ 2013 Nombre de la Practica: Lugar de Ejecución: Tiempo Estimado: MATERIA: GUIA DE LABORATORIO #11 Funciones recursivas

Más detalles

Recursión como herramienta en resolución de problemas computacionales

Recursión como herramienta en resolución de problemas computacionales Recursión como herramienta en resolución de problemas computacionales Modularidad! Es común dividir los algoritmos en módulos! Cada módulo lleva a cabo cierta funcionalidad! Muchas veces los módulos sirven

Más detalles

Programación Modular. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Programación Modular. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Programación Modular Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Programación Modular Un software monolítico no puede ser entendido fácilmente por un solo lector. El

Más detalles

Práctica 5. Contenido: Subprogramas (funciones y procedimientos). Parámetros por valor y por referencia.

Práctica 5. Contenido: Subprogramas (funciones y procedimientos). Parámetros por valor y por referencia. CI-2125 Computación I Práctica 5 Contenido: Subprogramas (funciones y procedimientos). Parámetros por valor y por referencia. 1. Especifique y escriba el diagrama de flujo de una función de nombre mcd,

Más detalles

U.A.B.C. Facultad de Ingeniería Programación Estructurada UNIDAD III

U.A.B.C. Facultad de Ingeniería Programación Estructurada UNIDAD III UNIDAD III Funciones 3.1 Forma general de una función. C fué diseñado como un lenguaje de programación estructurado, también llamado programación modular. Por esta razón, para escribir un programa se divide

Más detalles

UNIDAD V: ARR R EGL G OS O BIDI D MENS N IONALE L S

UNIDAD V: ARR R EGL G OS O BIDI D MENS N IONALE L S UNIDAD V: ARREGLOS BIDIMENSIONALES DIMENSIONALES UNIDAD V: ARREGLOS BIDIMENSIONALES 1.1 GENERALIDADES: Las matrices son una colección finita, homogénea y ordenada de datos. Su información está organizada

Más detalles

EI MT1008 Programación II

EI MT1008 Programación II GRADO EN INGENIERÍA INFORMÁTICA GRADO EN MATEMÁTICA COMPUTACIONAL EI1008 - MT1008 Programación II Curso 2010-2011 Departamento de Lenguajes y Sistemas Informáticos 1. Datos de la asignatura Carácter: Formación

Más detalles

La transformada rápida de Fourier (FFT) y otros algoritmos para la implementación de la DFT

La transformada rápida de Fourier (FFT) y otros algoritmos para la implementación de la DFT 1 La transformada rápida de Fourier (FFT) y otros algoritmos para la implementación de la DFT Existen diversas formas de implementar la transformada discreta de Fourier (DFT). Para estudiar algunas de

Más detalles