Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tema 2: Programacin Estructurada y Programacin Modular Conjunto de tcnicas para desarrollar algoritmos fciles de escribir, vericar, leer y modicar. Tcnicas utilizadas: Diseo descendente: los algoritmos se disean por etapas, de los conceptos generales a los detalles particulares. Recursos abstractos: la resolucin de un problema complejo se realiza suponiendo que los subproblemas en los que se descompone estn ya resueltos. Estructuras bsicas: los algoritmos se escriben utilizando nicamente las estructuras secuencial, selectiva y repetitiva.
2 / 23
Nmeros Amigos
Denicin
Dos nmeros se dice que son amigos si cada uno de ellos es igual a la suma de los divisores propios del otro. Por ejemplo, los nmeros 220 y 284 son amigos, ya que: Suma de divisores de 284: 1 + 2 + 4 + 71 + 142 = 220 Suma de divisores de 220: 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284 Problema: Encontrar y mostrar todas las parejas de nmeros amigos menores o iguales a uno dado.
si suma1 = num2 y suma2 = num1 entonces escribir num1, num2 n si n para n para n
5 / 23
6 / 23
8 / 23
Programacin Modular
Programacin Modular
Resolucin independiente de los subproblemas resultantes de la descomposicin de un problema. Completa y ampla el diseo descendente como mtodo de resolucin de problemas. Un problema ser resuelto por un algoritmo principal que transferir el control a los distintos mdulos o subalgoritmos, los cuales al terminar su tarea devolvern el control al algoritmo principal.
Algunas ventajas signicativas de la programacin modular: La independencia de los mdulos permite trabajar en ellos simultneamente. La modicacin de un mdulo no afecta a los dems. Los mdulos solo se escriben una vez, aunque se necesiten en distintas ocasiones.
9 / 23
10 / 23
Tipos de subalgoritmos
Funciones
Declaracin de funciones
Una funcin toma uno o ms valores, denominados argumentos o parmetros formales, y devuelve un resultado. Para invocar a una funcin se utiliza su nombre seguido por los parmetros actuales sobre los que aplicarla, escritos entre parntesis y separados por comas en una expresin. Cada lenguaje de programacin tiene sus propias funciones internas incorporadas. Si estas no permiten realizar el tipo de clculo deseado ser necesario declarar una funcin externa.
<tipo de dato> funcin <nombre de la funcin> (<parmetros formales>) const <declaracin de constantes> var <declaracin de variables> inicio . . . devolver <resultado> n
11 / 23
12 / 23
Tipos de Subalgoritmos
Procedimientos
Declaracin de procedimientos
Un procedimiento es un algoritmo que realiza una tarea especca, pero que generalmente no devuelve ningn resultado. La entrada de informacin se realiza a travs de los parmetros. En caso necesario la salida de informacin tambin se realiza a travs de los parmetros. Para invocar a un procedimiento se utiliza la instruccin llamar a seguida del nombre del procedimiento y de los parmetros actuales sobre los que aplicarlo, escritos entre parntesis y separados por comas.
procedimiento <nombre del procedimiento> (<parmetros formales>) const <declaracin de constantes> var <declaracin de variables> inicio . . . n
13 / 23
14 / 23
Tipos de Parmetros
Paso de Parmetros
Al invocar un procedimiento o una funcin se produce una correspondencia entre los parmetros formales y los parmetros actuales. Correspondencia posicional: los parmetros formales y los actuales se emparejan segn su posicin, en la denicin del procedimiento o funcin los primeros, y en la llamada realizada los segundos. Correspondencia por nombre: la correspondencia entre los parmetros formales y los actuales se indica explcitamente en la llamada al procedimiento o funcin.
Los parmetros se clasican segn la direccin del ujo de informacin como sigue: Parmetros de entrada (E): transmiten informacin desde el programa llamador al subprograma. Parmetros de salida (S): transmiten informacin desde el subprograma al programa llamador. Parmetros de entrada/salida (E/S): transmiten informacin tanto desde como hacia el programa llamador.
15 / 23
16 / 23
Paso de Parmetros
Segn el lenguaje de programacin utilizado, existen tres mtodos de transmisin de valores a los parmetros formales. Paso por valor: los parmetros formales reciben una copia de los valores de los parmetros actuales. Paso por valor resultado: los parmetros formales reciben una copia de los valores de los parmetros actuales y al nalizar la ejecucin del subprograma se realiza el proceso inverso. Paso por referencia: los parmetros formales reciben las direcciones de memoria que referencian a los valores de los parmetros actuales.
20 / 23
Algoritmos Recursivos
Son aquellos que forman parte de s mismos o intervienen en su propia denicin. Resultan tiles para trabajar con problemas o estructuras denidos en modo recursivo. Todo algoritmo recursivo puede ser convertido en iterativo.
21 / 23
22 / 23