Primer Cuatrimestre 2018 Resolución de Problemas y Algoritmos

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

Download "Primer Cuatrimestre 2018 Resolución de Problemas y Algoritmos"

Transcripción

1 Lenguaje de Diseño Primer Cuatrimestre 2018 Resolución de Problemas y Algoritmos 1

2 Programación Modular Programación Estructurada Programas fáciles de leer y modificar Técnicas de Diseños Dividir y Conquistar Estructuras de Control Algoritmos Voraces Programación Dinámica Algoritmos Exhaustivos Secuencia Condicional Iteración Dividir a un problema en subproblemas más simples Módulo Programación Modular 2

3 Programación Modular Enfoque de Diseño y Programación Modular Conviene Cuando una tarea específica debe ejecutarse varias veces Cuando un problema es complejo y la solución se divide o segmenta en módulos donde cada uno ejecuta una tarea específica Divide y vencerás 3

4 Modularización Descomposición del problema suma (unión) de pequeños problemas Se pretende: Dividirlo en pequeños problemas 4 que tengan una tarea específica. 4 sean totalmente independientes del resto. Puede suceder que dicho subproblema sea común a un conjunto de problemas de mayor envergadura. El algoritmo que lo resuelve debería ser el mismo cada vez que el subproblema esté presente en un problema. MODULARIZACIÓN DEL PROBLEMA 4

5 Modularización Programación Modular Ventajas: Aumenta la legibilidad y comprensión del programa Reduce el tiempo de desarrollo, aprovechando módulos ya existentes Permite la resolución del problema por equipos de programadores a la vez Facilita la depuración del programa Facilita el mantenimiento Facilidad para aprehender el problema Reutilización del código.

6 Modularización Técnica de diseño: Top Down Problema Sub problema 1 T1 T2 T3 Sub problema 2 Sub problema 3 T1 T11 T12 T13 T31 T32 T11 T12

7 Modularización Algunos criterios de Descomposición Modular Es importante un compromiso entre el tamaño de los módulos y la complejidad de la aplicación. Si un programa se descompone en muchas unidades, decrece la efectividad. Cuando el Nº de módulos aumenta, decrece el esfuerzo de realizarlos pero aumenta el esfuerzo de integración. Independencia funcional: el módulo realiza una única tarea y se comunica lo menos posible con los módulos restantes. Un módulo se debe dividir hasta conseguir un nivel mínimo de independencia funcional aceptable. La Independencia funcional se puede medir según: la cohesión (mide la relación entre las partes del módulo que deben realizar una única función) y el acoplamiento (mide la relación con el resto de los módulos).

8 Ejemplo: Dado un número n entero positivo, se desea calcular e imprimir el factorial de n, n 2 y de n 3. Se debe tratar de utilizar el algoritmo para el calculo del factorial como un módulo (subalgoritmo). Nota: el algoritmo Factorial permite calcular el valor factorial para un número cualquiera N ingresado por el usuario. ALGORITMO Factorial N, FACT, I: entero LEER N FACT 1 PARA I DESDE 1 HASTA N CON PASO 1 HACER PARA FACT ESCRIBIR FACT FACT * I 8

9 SUBALGORITMO FACTORIAL N, FACT, I: entero LEER N FACT 1 PARA I DESDE 1 HASTA N CON PASO 1 HACER PARA FACT ESCRIBIR FACT FACT * I ALGORITMO Calculo Factoriales FACTORIAL FACTORIAL FACTORIAL 9

10 Invocación FACTORIAL Pantalla Entrada Retorno Calculo Factoriales Tres veces se invoca el módulo FACTORIAL, quien además de calcular el factorial lo muestra por pantalla 10

11 Inconveniente: - se debe ingresar el número toda vez que se invoca el subalgoritmo. - alta probabilidad de cometer error en el ingreso. Se pretende: - ingresar el dato una única vez. 11

12 Pantalla Entrada N N2 FACTORIAL Muestra Pantalla Calculo Factoriales 12

13 ALGORITMO Calculo Factoriales N, AUX: entero LEER N AUX N FACTORIAL N AUX 2 FACTORIAL N AUX 3 FACTORIAL SUBALGORITMO FACTORIAL FACT, I: entero FACT 1 PARA I DESDE 1 HASTA N CON PASO 1 HACER PARA FACT ESCRIBIR FACT FACT * I? 13

14 Visibilidad o ámbito de las variable Visibilidad o Ámbito de una variable (en inglés scope: alcance) es el contexto o zona del programa en que la misma está definida y por lo tanto puede ser accedida y utilizada. Según su ámbito las declaraciones pueden ser: 4 Globales: Afectan a todo el programa. Se almacenan en una zona de memoria común, accesible desde cualquier punto del programa y se mantiene mientras dura el programa. 4Locales: Sólo pueden ser accedidas en el módulo donde han sido declaradas. Se almacenan en una zona de memoria que se reserva cuando se llama al módulo y se destruye cuando termina la ejecución del módulo. Lenguaje de Diseño SOLAMENTE reconoce variables locales 14

15 ALGORITMO Calculo Factoriales N, AUX: entero LEER N AUX N FACTORIAL N AUX 2 FACTORIAL N AUX 3 FACTORIAL SUBALGORITMO FACTORIAL FACT, I: entero FACT 1 PARA I DESDE 1 HASTA N CON PASO 1 HACER PARA FACT ESCRIBIR FACT FACT * I? 15

16 ALGORITMO Calculo Factoriales N, AUX: entero LEER N AUX N FACTORIAL(N) N AUX 2 FACTORIAL(N) N AUX 3 FACTORIAL(N) Es necesario poder comunicarle al subalgoritmo el valor que necesita, en este caso el valor de N SUBALGORITMO FACTORIAL (in NU:entero) FACT, I: entero FACT 1 PARA I DESDE 1 HASTA NU CON PASO 1 HACER PARA FACT ESCRIBIR FACT FACT * I 16

17 Supongamos que se desea sacar del módulo FACTORIAL la tarea de mostrar por pantalla Invocación Retorno Muestra FACTORIAL Es necesario que el módulo devuelva el resultado para que, desde el algoritmo se muestre por pantalla Entrada Calculo Factoriales Pantalla 17

18 ALGORITMO Calculo Factoriales N, AUX, FACT: entero LEER N AUX N FACTORIAL(N, FACT) ESCRIBIR FACT N AUX 2 FACTORIAL(N, FACT) ESCRIBIR FACT N AUX 3 FACTORIAL(N, FACT) ESCRIBIR FACT Invocación Retorno Muestra FACTORIAL Entrada Calculo Factoriales Pantalla 18

19 ALGORITMO Calculo Factoriales N, AUX, FACT: entero LEER N AUX N FACTORIAL(N, FACT) ESCRIBIR FACT N AUX 2 FACTORIAL(N, FACT) ESCRIBIR FACT N AUX 3 FACTORIAL(N, FACT) ESCRIBIR FACT SUBALGORITMO FACTORIAL (in NU:entero, out FA:entero) I: entero FA 1 PARA I DESDE 1 HASTA NU CON PASO 1 HACER FA PARA Qué función cumple NU y FA? FA * I 19

20 ALGORITMO Calculo Factoriales Parámetros Actuales N, AUX, FACT: entero LEER N AUX N FACTORIAL(N, FACT) ESCRIBIR FACT N AUX 2 FACTORIAL(N, FACT) ESCRIBIR FACT N AUX 3 FACTORIAL(N, FACT) ESCRIBIR FACT 20

21 SUBALGORITMO FACTORIAL (in NU:entero, out FA:entero) I: entero FA 1 PARA I DESDE 1 HASTA NU CON PASO 1 HACER FA PARA FA * I Parámetros Formales 21

22 FACTORIAL( N, FACT ) Invocación SUBALGORITMO FACTORIAL (in NU:entero, out FA:entero) Definición Los parámetros Formales se definen: 4 in, son sólo parámetros de ingreso de datos. 4 out, solo parámetros de salida de datos. 4 in out, a través de ellos se ingresan los datos al subalgoritmo y el subalgoritmo devuelve información. 22

23 Restricciones: Si el parámetro formal fue definido 4 in, los parámetros actuales solo pueden ser constantes, variables, expresiones o valores de funciones. 4 out o in out, los parámetros actuales deben estar definidos en el ámbito del algoritmo invocante pues es allí donde se debe retornar los resultados. 23

24 AMBITO Lenguaje de Diseño: Subalgoritmos ALGORITMO Calculo Factoriales Ambito para N, AUX, FACT N, AUX, FACT: entero LEER N AUX N FACTORIAL(N, FACT) ESCRIBIR FACT N AUX 2 FACTORIAL(N, FACT) ESCRIBIR FACT N AUX 3 FACTORIAL(N, FACT) ESCRIBIR FACT Visibilidad o Ámbito de una variable (en inglés scope: alcance) es el contexto o zona del programa en que la misma está definida y por lo tanto puede ser accedida y utilizada. 24

25 SUBALGORITMO FACTORIAL (in NU:entero, out FA:entero) Ámbito sólo para NU, FA, I I: entero FA 1 PARA I DESDE 1 HASTA NU CON PASO 1 HACER FA PARA FA * I 25

26 Formalmente: Lenguaje de Diseño: Subalgoritmos SUBALGORITMO <Nombre_subalgoritmo> (<lista de parámetros>) <cuerpo del subalgoritmo> Donde la declaración de cada parámetro debe tener los siguiente datos: < clase de parámetro > < nbre_par > : <tipo_de_dato_vble> in out in out Entero Real Carácter Lógico Arreglo de.. 26

27 Ejemplos: SUBALGORITMO Factorial (in N:entero, out FACT:entero) SUBALGORITMO Ordeno (inout V: arreglo de entero, in M, N: entero) SUBALGORITMO Mult (in A: real, in B: entero, out N: real) 27

28 Ejemplo 2: Que hace esta parte del siguiente algoritmo? ALGORITMO EJEMPLO 2 Cur_A: arreglo [1..30] de entero I, Valor: entero PARA I DESDE 1 HASTA 30 CON PASO 1 HACER LEER Cur_A [I] MIENTRAS (Cur_A[I] < 1 v Cur_A [I] > 10) HACER LEER Cur_A [I] MIENTRAS PARA... Lenguaje de Diseño: Subalgoritmos Se ingresan 30 valores enteros en un arreglo llamado Cur_A (supongamos un Curso A). Como se debería modificar este algoritmo si además se desea cargar las notas del Curso B que tiene 45 alumnos? 28

29 ALGORITMO EJEMPLO 2 Cur_A: arreglo [1..30] de entero Cur_B: arreglo [1..45] de entero I, Valor: entero PARA I DESDE 1 HASTA 30 CON PASO 1 HACER LEER Cur_A [I] MIENTRAS (Cur_A[I] < 1 v Cur_A [I] > 10) HACER LEER Cur_A [I] MIENTRAS PARA Como modificamos este algoritmo si además tenemos que cargar las notas del Curso C, D, etc? PARA I DESDE 1 HASTA 45 CON PASO 1 HACER LEER Cur_B [I] MIENTRAS (Cur_B[I] < 1 v Cur_B [I] > 10) HACER LEER Cur_B[I] REPETIR PARA. Lenguaje de Diseño: Subalgoritmos 29

30 ALGORITMO EJEMPLO 2 Cur_A: arreglo [1..30] de entero Cur_B: arreglo [1..45] de entero I, Valor: entero PARA I DESDE 1 HASTA 30 CON PASO 1 HACER LEER Cur_A [I] MIENTRAS (Cur_A[I] < 1 v Cur_A [I] > 10) HACER Qué tienen en común estas dos porciones de código? LEER Cur_A [I] PARA I DESDE 1 HASTA 45 CON PASO 1 HACER MIENTRAS PARA LEER Cur_B [I] MIENTRAS (Cur_B[I] < 1 v Cur_B [I] > 10) HACER LEER Cur_B[I] MIENTRAS PARA.. 30

31 ALGORITMO EJEMPLO 2 Cur_A: arreglo [1..30] de entero Cur_B: arreglo [1..45] de entero I, Valor: entero PARA I DESDE 1 HASTA 30 CON PASO 1 HACER LEER Cur_A [I] MIENTRAS (Cur_A[I] < 1 v Cur_A [I] > 10) HACER Qué tienen diferente estas dos porciones de código? LEER Cur_A [I] PARA I DESDE 1 HASTA 45 CON PASO 1 HACER MIENTRAS PARA LEER Cur_B [I] MIENTRAS (Cur_B[I] < 1 v Cur_B [I] > 10) HACER LEER Cur_B[I] MIENTRAS PARA.. Solución: definimos un subalgoritmo con la tarea que se repite y los datos que cambian lo comunicamos como parámetro 31

32 SUBALGORITMO Llenado (inout C: arreglo de entero) I: entero PARA I DESDE 1 HASTA 30 CON PASO 1 HACER PARA LEER C[I] MIENTRAS (C[I] < 1 v C[I] > 10) HACER LEER C[I] MIENTRAS 32

33 Definimos un Subalgoritmo que va a realizar el Llenado del Arreglo ALGORITMO EJEMPLO 2 Cur_A: arreglo [1..30] de entero Cur_B: arreglo [1..45] de entero I, Valor: entero Llenado (Cur_A, 1, 30 ) Llenado (Cur_B, 1, 45) Invocación... 33

34 SUBALGORITMO Llenado (inout C: arreglo de entero, in M, N: entero) I: entero PARA I DESDE M HASTA N CON PASO 1 HACER PARA LEER C[I] MIENTRAS (C[I] < 1 v C[I] > 10) HACER LEER C[I] MIENTRAS 34

35 Como modificamos este algoritmo si la cantidad de alumnos del Curso C varia ( nunca supera los 30 )? Lenguaje de Diseño: Subalgoritmos ALGORITMO EJEMPLO 2 Cur_A: arreglo [1..30] de entero Cur_B: arreglo [1..45] de entero Cur_C: arreglo [1..30] de entero Cur_D: arreglo [1..30] de entero I, Valor: entero Llenado (Cur_A, 1, 30 ) Llenado (Cur_B, 1, 45 ) ESCRIBIR Cuantos Alumnos tiene el Curso C LEER Valor Llenado (Cur_C, 1, Valor ) Llenado (Cur_D, 1, 30 )... Faltan controles!!! 35

36 Como modificamos este algoritmo si vamos a cargar las notas a partir del alumno 10 hasta el 20 en el Curso D? SUBALGORITMO Llenado (in out C: arreglo de entero, in M, N: entero) I: entero PARA I DESDE M HASTA N CON PASO 1 HACER LEER C[I] PARA MIENTRAS (C[I] < 1 v C[I] > 10) HACER LEER C[I] REPETIR Es posible invocar al subalgoritmo así Llenado (Cur_A, 30, 1 )? ALGORITMO EJEMPLO 2 Cur_A: arreglo [1..30] de entero Cur_B: arreglo [1..45] de entero Cur_C: arreglo [1..30] de entero Cur_D: arreglo [1..30] de entero I, Valor: entero Llenado (Cur_A, 1, 30 ) Llenado (Cur_B, 1, 45 ) ESCRIBIR Cuantos Alumnos tiene el Curso C LEER Valor Llenado Llenado (Cur_C, 1, Valor ) (Cur_D, 10, 20 ) 36

37 SUBALGORITMO Llenado (inout C: arreglo de entero, in M, N: entero) I: entero PARA I DESDE M HASTA N CON PASO 1 HACER PARA LEER C[I] MIENTRAS (C[I] < 1 v C[I] > 10) HACER LEER C[I] MENTRAS Se puede generalizar un poco más 37

38 SUBALGORITMO Llenado (in out C: arreglo de entero, in M, N: entero, in P: entero) I: entero PARA I DESDE M HASTA N CON PASO P HACER PARA LEER C[I] MIENTRAS (C[I] < 1 v C[I] > 10) HACER LEER C[I] MIENTRAS 38

39 Ejemplo: Intercambiar el contenido de dos variables enteras. El algoritmo deberá ser diseñado como subalgoritmo denominado Intercambio. Solución: - Intercambiar los contenidos mediante la ayuda de una variable auxiliar que almacene temporariamente el contenido de una de ellas. Ejemplo: estado inicial: 21 35? A B Aux 1º acción: A B Aux 2º acción: A B Aux 3º acción: A B Aux 39

40 Objetos: A - variable entera con el primer dato. B - variable entera con el segundo dato. AUX - variable auxiliar. Variables? Técnica de Refinamiento? Módulo Intercambio: Versión 1: Versión 2: t 1 - Declarar las variables A y B que contienen los valores a intercambiar. t 2 Declarar la variable AUX como auxilio para el intercambio. t 3 Intercambiar los valores de A y B t 11 - Declaro la variable entera A como parámetros t 12 - Declaro la variable entera B como parámetros t 21 - Declaro la variable entera AUX t 31 A la variable AUX le asigno el valor de B t 32 - A la variable B le asigno el valor de A t 33 - A la variable A le asigno el valor de AUX 40

41 Objetos: Variables? Parámetros? A - variable entera con el primer dato. B - variable entera con el segundo dato. AUX - variable auxiliar. SUBALGORITMO Intercambio ( ) 41

42 Algoritmo Depurado: SUBALGORITMO Intercambio ( inout A,B:entero ) AUX: entero AUX A A B B AUX Clase de Parámetros? in out in out 42

43 SUBALGORITMO Intercambio ( inout A,B:entero ) AUX: entero AUX A A B B AUX Diagrama de Flujo? Se debe realizar el diagrama de flujo para cada uno de los subalgoritmos y para el algoritmo 43

44 Como modificamos este algoritmo si vamos a cargar las notas a partir del alumno 10 hasta el 20 en el Curso D? SUBALGORITMO Llenado (in out C: arreglo de entero, in M, N: entero) I: entero PARA I DESDE M HASTA N CON PASO 1 HACER LEER C[I] PARA MIENTRAS (C[I] < 1 v C[I] > 10) HACER LEER C[I] REPETIR Diagrama de flujo? ALGORITMO EJEMPLO 2 Cur_A: arreglo [1..30] de entero Cur_B: arreglo [1..45] de entero Cur_C: arreglo [1..30] de entero Cur_D: arreglo [1..30] de entero I, Valor: entero Llenado (Cur_A, 1, 30 ) Llenado (Cur_B, 1, 45 ) ESCRIBIR Cuantos Alumnos tiene el Curso C LEER Valor Llenado Llenado (Cur_C, 1, Valor ) (Cur_D, 10, 20 ) 44

45 Problema: Se desea ordenar tres valores enteros en forma ascendente. Los valores son leídos en tres variables X, Y y Z. La salida debe ser: X con el menor valor, luego Y, y el mayor valor en Z. Se debe utilizar el subalgoritmo Intercambio Versión 1: t 1 - Declarar las variables X, Y, Z. t 2 - Leer los valores para X, Y, Z. t 3 - Comparando los tres valores ordenarlos de menor a mayor. t 4 - Mostrar X, Y, Z ordenados. Versión 2: t 1 - Declarar las variables X, Y, Z. t 2 - Leer los valores para X, Y, Z. t 31 - Si X > Y, intercambio los valores, sino los dejo como estaban. t 32 - Si Y > Z, intercambio los valores, comparar nuevamente si X > Y sino los dejo como estaban. 45

46 Problema: Se desea ordenar tres valores enteros en forma ascendente. Los valores son leídos en tres variables X, Y y Z. La salida debe ser: X con el menor valor, luego Y, y el mayor valor en Z. Se debe utilizar el subalgoritmo Intercambio Versión 2: Versión 3: t 1 - Declarar las variables X, Y, Z. t 2 - Leer los valores para X, Y, Z. t 31 - Si X > Y, intercambio los valores, sino los dejo como estaban. t 32 - Si Y > Z, intercambio los valores, comparar nuevamente si X > Y sino los dejo como estaban. t 1 - Declarar las variables X, Y, Z. t 2 - Leer los valores para X, Y, Z. t Si X > Y, invocar el subalgoritmo Intercambio con los valores X e Y.. t Si Y > Z,, invocar el subalgoritmo Intercambio con los valores Y y Z, Si X es mayor que Y, invocar el subalgoritmo Intercambio con los valores X e Y sino los dejo como estaban. 46

47 ALGORITMO Ordenar tres números X, Y, Z: entero LEER X, Y, Z SI X > Y ENTONCES SI Intercambio (X, Y) SI Y > Z ENTONCES SI Intercambio (Y, Z) SI X > Y ENTONCES SI ESCRIBIR X,Y,Z Intercambio (X, Y) Variables del Algoritmo Variables del subalgoritmo 1º invocación X Y Z A B AUX º invocación º invocación

48 Ejercicio: Analice el siguiente algoritmo. Se pide que defina (en forma completa) los parámetros formales, parámetros actuales y las definiciones de variables correspondientes para un buen funcionamiento del mismo Lenguaje de Diseño: Subalgoritmos SUBALGORITMO Ingreso ( ) ESCRIBIR INGRESE LA CANTIDAD DE CARACTERES LEER LS MIENTRAS LS <=0 v LS > 100 HACER ESCRIBIR INGRESE CANTIDAD LEER LS VECES VECES + 1 MIENTRAS I LI MIENTRAS I <= LS HACER ESCRIBIR INGRESE CARACTER LEER ARR[I] I I + 1 MIENTRAS ALGORITMO AL Acar: arreglo [1..100] de caracter LI, LS, ERROR: entero LI 1 Ingreso ( ) ESCRIBIR Ingreso, ERROR, veces un valor incorrecto 48

49 Problema: Codificar un algoritmo que calcule De cuántas maneras pueden sentarse 10 personas en un banco si hay 4 sitios disponibles. Ayuda: m=10 n=4 49

50 50

Lenguaje de Diseño Primer Cuatrimestre 2015 1

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

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

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

Modularización en lenguaje C. Funciones

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

Más detalles

Dra. Jessica Andrea Carballido

Dra. Jessica Andrea Carballido Dra. Jessica Andrea Carballido jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Problema Diseño de la solución Dividir y conquistar Implementación de los

Más detalles

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

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

Más detalles

RESOLUCIÓN DE LA PRIMERA RECUPERACIÓN DEL SEGUNDO PARCIAL

RESOLUCIÓN DE LA PRIMERA RECUPERACIÓN DEL SEGUNDO PARCIAL RESOLUCIÓN DE LA PRIMERA RECUPERACIÓN DEL SEGUNDO PARCIAL Nota: Entregar cada ejercicio escrito en tinta y en hoja separada. El parcial se aprueba con el 70 % y para promocionar se necesita obtener al

Más detalles

Lenguaje de Diseño: Estructuración de Datos

Lenguaje de Diseño: Estructuración de Datos Teoría Nº 6 Lenguaje de Diseño: Estructuración de Datos Primer Cuatrimestre Un palíndromo es una palabra, o frase que se lee igual hacia adelante que hacia atrás. Si se trata de un número, se llama capicúa.

Más detalles

Lenguaje de Diseño: Estructuración de Datos

Lenguaje de Diseño: Estructuración de Datos Teoría Nº 6 Lenguaje de Diseño: Estructuración de Datos Segundo Cuatrimestre Un palíndromo es una palabra, o frase que se lee igual hacia adelante que hacia atrás. Si se trata de un número, se llama capicúa.

Más detalles

Lenguaje de Diseño: Estructuración de Datos

Lenguaje de Diseño: Estructuración de Datos Teoría Nº 8 Lenguaje de Diseño: Estructuración de Datos Resolución de Problemas y Algoritmos Primer Cuatrimestre ENUNCIADO: DADO UN NÚMERO ENTERO POSITIVO, ENCONTRAR EL ALGORITMO QUE DETERMINE EL FACTORIAL

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

Programación Estructurada

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

Más detalles

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

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

ELEMENTOS DE PROGRAMACIÓN

ELEMENTOS DE PROGRAMACIÓN VI.1.- SUBPROGRAMAS. PROCEDIMIENTOS Y FUNCIONES. UNIVERSIDAD DE MALAGA DPTO. DE LENGUAJES Y C. DE LA COMPUTACION E.T.S. DE INGENIERIA INFORMATICA INGENIERIA INFORMATICA ELEMENTOS DE PROGRAMACIÓN (CURSO

Más detalles

Programación y Algoritmia

Programación y Algoritmia Programación y Algoritmia Un enfoque práctico y didáctico para el diseño de algoritmos 3 Acciones y Funciones Lic. Oscar Ricardo Bruno, MDU Contenido Acciones y Funciones 3 Introducción 3 Modularizacion

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

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

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

Capitulo 2. Programación Modular

Capitulo 2. Programación Modular Capitulo 2. Programación Modular Consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable. Se presenta históricamente como una evolución de la programación

Más detalles

Introducción a los subalgoritmos o subprogramas

Introducción a los subalgoritmos o subprogramas Introducción a los subalgoritmos o subprogramas Soluciona problemas complejos al dividirlos en subprogramas y luego dividirlos estos en otros mas simples, hasta que estos sean mas fáciles de resolver.

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

Funciones, Subrutinas o Procedimientos Jhon Jairo Padilla Aguilar, PhD.

Funciones, Subrutinas o Procedimientos Jhon Jairo Padilla Aguilar, PhD. Funciones, Subrutinas o Procedimientos Jhon Jairo Padilla Aguilar, PhD. Definición de función En el contexto de la programación, una función es una secuencia de sentencias que realizan una operación y

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

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

Módulo 4: Algoritmos como primitivas

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

Más detalles

Ejemplo de análisis y diseño de un algoritmo: Cálculo del factorial de un número

Ejemplo de análisis y diseño de un algoritmo: Cálculo del factorial de un número Ejemplo de análisis y diseño de un algoritmo: Cálculo del factorial de un número Para ilustrar el uso de la metodología para resolver problemas a través de la computadora y el diseño de algoritmos, se

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

Cadenas de caracteres

Cadenas de caracteres Trabajo práctico Nº 6 (Trabajos con cadenas de caracteres y estructuras) Realiza el programa en Lenguaje C correspondiente. Cadenas de caracteres 1- Construir una función PASSWORD que pida por teclado

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

TEMA2:LAS HERRAMIENTAS DE PROGRAMACION

TEMA2:LAS HERRAMIENTAS DE PROGRAMACION TEMA2:LAS HERRAMIENTAS DE PROGRAMACION 1.Las herramienta de programación. 1.1.Análisis de problemas. 1.2.Diseño de algoritmos. 1.3.Introducción a la plataforma.net Framework Objetivos Definir y comprender

Más detalles

Introducción a los subalgoritmos o subprogramas

Introducción a los subalgoritmos o subprogramas Introducción a los subalgoritmos o subprogramas Soluciona problemas complejos al dividirlos en subprogramas y luego dividirlos estos en otros mas simples, hasta que estos sean mas fáciles de resolver.

Más detalles

TEMA 1: Algoritmos y programas

TEMA 1: Algoritmos y programas TEMA 1: Algoritmos y programas 1.1.-Introducción La razón principal para utilizar un ordenador es para resolver problemas (en el sentido más general de la palabra), o en otras palabras, procesar información

Más detalles

Cómo implementar tus propias funciones en Lenguaje C?

Cómo implementar tus propias funciones en Lenguaje C? Cómo implementar tus propias funciones en Lenguaje C? por Iván Cruz Cuando se realiza un programa, es importante siempre manejar una buena organización del código fuente, debido a que se puede desear incrementar

Más detalles

Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: EMPEZAR DE CERO A PROGRAMAR EN lenguaje C Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 3 CICLO DE VIDA DE UN PROGRAMA 1 OBJETIVOS Saber qué es la Ingeniería

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

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

Lógica de programación 1

Lógica de programación 1 Lógica de programación 1 Universidad Nacional Autónoma de Nicaragua - León Facultad de Ciencias y Tecnología Departamento de Computación Lógica de programación Elaborado por: Lic. Luis Ernesto Díaz Beteta

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

Dra. Jessica Andrea Carballido

Dra. Jessica Andrea Carballido Dra. Jessica Andrea Carballido jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Cuando la complejidad de los problemas aumenta, la tarea de hallar una solución

Más detalles

Conceptos. Generales ALGORITMOS

Conceptos. Generales ALGORITMOS Conceptos 1 Generales ALGORITMOS Que es un Algoritmo? 2 Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos

Más detalles

Problema 3: Mercado. Dividir y conquistar

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

Más detalles

2.2 METODOLOGÍA PARA EL DISEÑO DE SOFTWARE

2.2 METODOLOGÍA PARA EL DISEÑO DE SOFTWARE 2.2 METODOLOGÍA PARA EL DISEÑO DE SOFTWARE Programación Modular La programación modular es uno de los métodos de diseño más flexibles y potentes para mejorar la productividad de un programa. En programación

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

ProgramaciónDeclarativa

ProgramaciónDeclarativa ProgramaciónDeclarativa 1. Introducción Programación estructurada Programación orientada a objetos Programación lógica Programación funcional Objetivos Establecer los fundamentos de la programación estructurada

Más detalles

5. ESTRUCTURAS DE REPETICIÓN

5. ESTRUCTURAS DE REPETICIÓN 5. ESTRUCTURAS DE REPETICIÓN Las estructuras de repetición, permiten la ejecución de una lista o secuencia de instrucciones () en varias ocasiones. El número de veces que el bloque

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

Luís Rodríguez Baena Universidad Pontificia de Salamanca (campus Madrid) Escuela Superior de Ingeniería y Arquitectura

Luís Rodríguez Baena Universidad Pontificia de Salamanca (campus Madrid) Escuela Superior de Ingeniería y Arquitectura Fundamentos de Programación I 4. Programación modular Luís Rodríguez Baena (luis.rodriguez@upsam.net) Universidad Pontificia de Salamanca (campus Madrid) Escuela Superior de Ingeniería y Arquitectura Introducción

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

Tema 1. Introducción al Paradigma Orientado a Objetos

Tema 1. Introducción al Paradigma Orientado a Objetos Tema 1. Introducción al Paradigma Orientado a Objetos Objetivo: El alumno se familiarizará con los conceptos básicos de la teoría de Orientación a objetos. 1 Introducción al Paradigma Orientado a Objetos

Más detalles

UNIDAD III. TÉCNICA DE PROGRAMACIÓN ESTRUCTURADA

UNIDAD III. TÉCNICA DE PROGRAMACIÓN ESTRUCTURADA UNIDAD III. TÉCNICA DE PROGRAMACIÓN ESTRUCTURADA 1 UNIDAD III. TÉCNICA DE PROGRAMACIÓN ESTRUCTURADA OBJETIVO: Aplicarás la técnica de programación estructurada, analizando su concepto, estructura y función

Más detalles

INSTITUTO TECNOLÓGICO DE TIJUANA

INSTITUTO TECNOLÓGICO DE TIJUANA INSTITUTO TECNOLÓGICO DE TIJUANA DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN SEMESTRE AGOSTO-DICIEMBRE 2013 Ingeniería en Sistemas Computacionales Fundamentos de Programacion Nombre del trabajo: Paradigmas

Más detalles

Lenguaje de Diseño. Primera Parte. Segundo Cuatrimestre 2017

Lenguaje de Diseño. Primera Parte. Segundo Cuatrimestre 2017 Primera Parte Fund. de la Informática Int. a la Programación Int. a la Computación Resolución de Problemas y Algoritmos Segundo Cuatrimestre 2017 1 Etapas en el proceso de resolver un problema: 1- Comprender

Más detalles

Elegir tipos de datos Qué tipo de variable usar al programar? Ejemplos resueltos (CU00206A)

Elegir tipos de datos Qué tipo de variable usar al programar? Ejemplos resueltos (CU00206A) aprenderaprogramar.com Elegir tipos de datos Qué tipo de variable usar al programar? Ejemplos resueltos (CU00206A) Sección: Cursos Categoría: Curso Bases de la programación Nivel II Fecha revisión: 2024

Más detalles

Funciones y Procedimientos

Funciones y Procedimientos 1 Funciones y Procedimientos 2013 Transversal de Programación Básica Proyecto Curricular de Ingeniería de Sistemas 2 Objetivos Aprender a resolver problemas grandes y complejos dividiendo un problema en

Más detalles

Modularización. Bibliografía

Modularización. Bibliografía Modularización Uso de subprogramas Razones válidas para crear un subprograma Cohesión y acoplamiento Pasos para escribir un subprograma El nombre y los parámetros de un subprograma Tipos de datos abstractos

Más detalles

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

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

Más detalles

CURSO PROGRAMACIÓN BÁSICA. SEMANA 4 El diseño de un programa

CURSO PROGRAMACIÓN BÁSICA. SEMANA 4 El diseño de un programa CURSO PROGRAMACIÓN BÁSICA SEMANA 4 El diseño de un programa Objetivos Porqué es necesario el diseño? Diseño de programas 1. Definición de la salida 2. Desarrollo de la lógica 3. Escritura del programa

Más detalles

Tipos Abstractos de Datos (TAD) Lección 1

Tipos Abstractos de Datos (TAD) Lección 1 Tipos Abstractos de Datos (TAD) Lección 1 Esquema Paradigmas de programación Definición de TAD Programación con TAD Ventajas de la programación con TAD Lectura recomendada: secciones 1.1 y 1.2 del libro

Más detalles

1. Los objetos conocidos, es decir, aquellos objetos de los cuales poseemos información total o parcial útil en la búsqueda de los objetos desconocido

1. Los objetos conocidos, es decir, aquellos objetos de los cuales poseemos información total o parcial útil en la búsqueda de los objetos desconocido 3. METODOLOGÍA DE SOLUCIÓN DE PROBLEMAS CON EL COMPUTADOR El desarrollo de un programa que resuelva un problema dado es una tarea compleja, ya que es necesario tener en cuenta de manera simultánea muchos

Más detalles

Lenguaje de Diseño. Primera Parte. Resolución de Problemas y Algoritmos. Primer Cuatrimestre Ing. En Informática e Ing.

Lenguaje de Diseño. Primera Parte. Resolución de Problemas y Algoritmos. Primer Cuatrimestre Ing. En Informática e Ing. Primera Parte Resolución de Problemas y Algoritmos Ing. En Informática e Ing. En Computación Primer Cuatrimestre 2017 1 Lenguajes Algorítmicos Los algoritmos pueden describirse, en mayor o menor detalle,

Más detalles

ASECOMPU. PORTAL DE REFUERZO ACADEMICO EN PROGRAMACIÓN LISTA DE EJERCICIOS

ASECOMPU.   PORTAL DE REFUERZO ACADEMICO EN PROGRAMACIÓN LISTA DE EJERCICIOS Fecha de impresión: 05-01-2019 74 Contar el numero de Vocales y Consonantes de una cadena de texto (utiliza vectores y punteros). 79 La criba de Eratóstenes es un algoritmo que permite hallar todos los

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

Funciones Propias con C++ (funciones definidas por el usuario)

Funciones Propias con C++ (funciones definidas por el usuario) Funciones Propias con C++ (funciones definidas por el usuario) Jorge A. Martel Torres Programación para ingeniería Jorge A. Martel Torres 1 Introducción Nace del principio divide y vencerás, que consiste

Más detalles

Programación estructurada

Programación estructurada Programación estructurada Esta metodología de programación : Permite utilizar sentencias de bifurcación condicional estandarizadas. Facilita leer la codificación del programa de inicio a fin en forma continua.

Más detalles

Escribir programas a partir de un diagrama de flujo

Escribir programas a partir de un diagrama de flujo Escribir programas a partir de un diagrama de flujo por Iván Cruz En esta lectura se revisará una estrategia específica para lograr implementar un programa computacional a partir de un diagrama de flujo,

Más detalles

INSTITUTO TECNOLÓGICO

INSTITUTO TECNOLÓGICO INSTITUTO TECNOLÓGICO DE NUEVO LAREDO Con la Ciencia por la Humanidad Introducción a la Ingeniería en Sistemas Computacionales y al Diseño de Algoritmos Curso propedéutico Instructor: Bruno López Takeyas

Más detalles

Etapas en la vida del software

Etapas en la vida del software Etapas en la vida del software La necesidad del software suele expresarse inicialmente en lenguaje natural de una manera informal y, por tanto, imprecisa. A partir de la expresión de la necesidad, la vida

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

1. Detalle de los Comandos:

1. Detalle de los Comandos: 1. Detalle de los Comandos: Este es un resumen puede servir como guía rápida para consultas, para mas detalles remitirse a la Ayuda de PSeInt. Observar que cada línea que termina una sentencia debe tener

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

Capítulo 1 Introducción

Capítulo 1 Introducción Capítulo 1 Introducción Pasos a seguir para resolver un problema 1- Definición del problema Consiste en identificar el problema y enunciarlo de una manera comprensible. Se puede partir de las preguntas:

Más detalles

PROGRAMACION ESTRUCTURADA: Tema 3. Funciones

PROGRAMACION ESTRUCTURADA: Tema 3. Funciones PROGRAMACION ESTRUCTURADA: Tema 3. Funciones Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. 37 dtorres@mixteco.utm.mx Contenido 1. Definiciones

Más detalles

Conceptos Programa Programa objeto Pseudocódigo Algoritmos y Diagramas de flujo 1) Finitud 2) Definición 3) Entrada

Conceptos Programa Programa objeto Pseudocódigo Algoritmos y Diagramas de flujo 1) Finitud 2) Definición 3) Entrada Conceptos Programa Se le llama programa a la serie de instrucciones escritas en alguno de los lenguajes, por medio de los cuales se logra que la computadora realice todas las operaciones o decisiones señaladas

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

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año - Trabajo práctico Nº 7 (Resolución de problemas Estructura: pila y cola). Realiza el programa de cada situación problemática. 1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30) 2- En

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

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

Lógica de programación

Lógica de programación Universidad Nacional Autónoma de Nicaragua - León Facultad de Ciencias y Tecnología Departamento de Computación Lógica de programación Elaborado por: Lic. Luis Ernesto Díaz Beteta Sentencias Repetitivas

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

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

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

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

Más detalles

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

Trabajo Práctico Nro. 1

Trabajo Práctico Nro. 1 Trabajo Práctico Nro. 1 INSTITUTO de TECNOLOGÍA O. R. T. Diagramar algoritmos para resolver los problemas planteados. Objetivos de esta práctica: Pretendemos que al finalizar esta ejercitación el alumno

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

Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal

Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal Algoritmos y solución de problemas Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal Introducción Departamento de Electrónica, Sistemas e Informática En las ciencias de la computación

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

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