Universidad de Panamá Centro Regional Universitario de San Miguelito Facultad de Informática, Electrónica y Comunicación Escuela de Informática
Lic En Informática !ara la "estión Educativa y Em!resarial Curso# Programación II Profesora# $dessa %randa Proyecto &Programación modular y !rogramas Pseint' "ru!o# LIE ()* Ela+orado !or# Rosaura -.e/ c0d 1)213)4(* 5atlyn Mo6ica c0d4)784)219 S:a+da Meade c0d1)7(()*324
;)*8)83*9
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT
I. Programación estructurada y programación modular. La !rogramación !rogramación modular es es un paradigma de programación programación que que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable. Se prese presenta nta histór histórica icamen mente te como como una una evolu evolució ción n de la programación programación estructurada estructurada para solucionar problemas de programación más grandes y complejos de lo que esta puede resolver. Al aplicar la programación programación modular, modular, un problema complejo debe ser dividido en varios subproblemas más simples, y estos a su ve en otros subproblemas más simples. !sto debe hacers hacerse e hasta hasta obtene obtenerr subpr subprob oblem lemas as lo sufic suficien iente temen mente te simple simples s como como para para poder poder ser resueltos fácilmente con alg"n lenguaje de programación. !sta t#cnica se llama refinamiento sucesivo, divide y vencerás ó vencerás ó análisis descendente $%op&'o(n).
1.1 Definición y características características de un módulo *n módulo es módulo es una porción de un programa programa de de ordenador. 'e las varias tareas que debe real reali iar ar un prog progra rama ma para para cump cumpli lirr con con su func funció ión n u obje objeti tivo vos, s, un módu módulo lo real reali iar ará, á, com"nmente, una de dichas tareas $o varias, en alg"n caso). !n general $no necesariamente relacionado con la programación), un módulo recibe como entr entrad ada a la sali salida da que que hay haya prop propor orci cion onad ado o otro otro módu módulo lo o los los dato datos s de entr entrad ada a al sistema sistema $ $ programa programa) si se trata del módulo principal de #ste+ y proporcionará una salida que, que, a su ve, ve, podr podrá á ser ser util utili iad ada a como como entr entrad ada a de otro otro módu módulo lo o bien bien cont contri ribu buir irá á directamente a la salida final del sistema $ programa), si se retorna al módulo principal.
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT Particularmente,
en
el
caso
de
la !rogramación, !rogramación ,
los
módulos suel suelen en
$no esta estar r $no
necesari necesariamen amente) te) organia organiados dos jerárqu jerárquicame icamente nte en niveles, niveles, de forma forma que hay un módulo módulo principal que realia las llamadas oportunas a los módulos de nivel inferior. uando un módulo es convocado, recibe como entrada los datos proporcionados por otro del mismo o superior nivel, el que ha hecho la llamada+ luego realia su tarea. A su ve este módulo convocado puede llamar a otro u otros módulos de nivel inferior si fuera necesario+ cuand cua ndo o ell ellos os fi final nalia ian n su sus s tar tareas eas,, dev devuel uelve ven n la sal salida ida pe perti rtine nente nte al mód módulo ulo inm inmed ediat iato o llamad lla mador or,, en se secue cuenc ncia ia rev revers ersa. a. -in -inal almen mente te se con contin tin"a "a con la eje ejecuc cución ión de dell mód módulo ulo principal.
Caracter
%ama0o relativamente peque0o.& !sto facilita aislar el impacto que pueda tener la realiación de un cambio en el programa, bien para corregir un error, o bien por
•
redise0o del algoritmo algoritmo correspondiente. correspondiente. 1ndependencia modular. & uanto más independientes son los módulos entre s más fácil fá cil y fle fle2i 2ible blemen mente te se tra traba bajar jará á con ell ellos os.. !st !sto o imp implic lica a qu que e par para a de desar sarro rolla llarr un
•
módulo no es necesario conocer detalles internos de otros módulos. Los módulos deben tener la má2ima cohesión y el mnimo acoplamiento. !s decir,
•
deben tener la má2ima independencia entre ellos. La salida del módulo debe ser función de la entrada, pero no de ning"n estado inter ntern no.
•
!n
la
crea reación ión
de
los los
módu módullos
deben eben
cump umplirs irse
tres res
aspecto ectos s
básicos/ descripción, rendimiento y dise0o. !n la descripción se definen las funciones y objetivos del programa. Para obtener el má2i má2imo mo rend rendim imie ient nto o se ha de comp compro roba barr que que el prog progra rama ma real realic ice e el proc proces eso o apro aprove vech chan ando do al má2i má2imo mo todo todos s los los recu recurs rsos os de los los que que disp dispon one. e. !n cuan cuanto to al dise dise0o 0o,, se debe debe comp compro roba barr la estr estruc uctu tura ra que que sigu sigue e el módu módulo lo,, as as como como la estructura de los datos y la forma de comunicaciones entre los diversos y diferentes módulos.
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT •
onforme se e2tiende el tama0o de los algoritmos, se hace más difcil su revisión,
•
actualiación y3o corrección. *na poltica com"n para solventar este problema consiste en la modulariación. !sto significa que el algoritmo se fragmenta en partes llamadas módulos. !n realidad, es un m#todo de dise0o que tiende a dividir el problema, de forma lógica, en partes perfectamente diferenciadas que pueden ser analiadas, programadas y puestas a
•
punto independiente. 4ealmente la programación modular es un intento para dise0ar programas, de forma tal que cualquier función lógica pueda ser intercambiada sin afectar a otras partes del programa.
1.2
Ventajas Ventaja s y desventajas de la programación modular: • • • • • • • •
Simplifica el dise0o. 'isminuye la complejidad de los algoritmos. 'isminuye el tama0o total del programa. Ahorra en en tiempo de programació programación n porque promueve promueve la reusabilidad reusabilidad del código. código. -avorece el trabajo en equipo. -acilita la depuración y prueba. -acilita el mantenimiento. Permite la estructuración de libreras especficas. 'esventajas
• • •
Separación de módulos. 5emoria y tiempo de ejecución se obtiene un "nico bloque de programa, que cuando se hace demasiado grande puede resultar problemático su manejo+ esto se resuelve empleando la programación modula modular, r, defin definien iendo do módulo módulos s interd interdepe ependi ndient entes es progra programad mados os y compi compila lados dos por por separado.
1.3 Metodología
del diseño
!l concepto básico del dise0o modular es muy simple. onsiste en dividir un programa en módulos que puedan ser analiados, programados y depurados por separado. La má2ima que rige esta filosofa es/ =ivide y vencerás
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT La división de un problema en módulos o programas independientes e2ige que haya un módulo que controle o relacione a todos los demás. !s el denominado módulo +ase o !rinci!al del !rinci!al del problema. !n #ste sera main. %odo programa debe estar constituido por un módulo main y posiblemente otra serie de módulos secundarios.
4ealmente, la programación modular es un intento por dise0ar programas por componentes. Metodología descendente: top-down
La metodologa o dise0o descendente tambi#n conocida como dise0o top&do(n consiste en refinar un módulo de programa en niveles de menor a mayor complejidad que den solución al problema. Si nos nos fijamo fijamos, s, consi consist ste e en lleva llevarr los princ principi ipios os macro macroscó scópic picos os del del dise0 dise0o o modula modularr de programas hasta el interior de que cada módulo, terminando el proceso al llegar a las instrucciones instrucciones simples. uando se considera una solución modular para cualquier problema, pueden formularse muchos muchos nivele niveles s de abstra abstracc cción ión.. !n el nivel nivel supe superio riorr de abstra abstracc cción ión,, se establ establec ece e una una soluci solución ón en t#rmin t#rminos os amplio amplios. s. !n los los nivele niveles s inferi inferiore ores s de abstra abstracci cción ón se toma toma una una orien orientac tació ión n más procedi procedimen mental tal..
Por Por "ltimo "ltimo,, en el nivel nivel más bajo bajo de abstr abstracc acció ión, n, se
establece la solución de forma que pueda implementarse implementarse directamente. !sencialmente consiste en crear una estructura jerárquica de tipo arbórea, en la que los niveles superiores pró2imos a la ra enuncian el problema a groso modo, mientras que seg"n vamos descendiendo por la estructura, estructura, vamos entrando en mayor detalle, hasta llegar
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT a las hojas del árbol, que representan las instrucciones simples en que se descompone el problema. !jemplo de dise0o top&'o(n A continuación, continuación, vamos a desarrollar desarrollar un ejemplo de esto. Supongamos que debemos programar un módulo que controle el flujo de información y documentos de un almac#n. Lo primero que hacemos es descomponer la gestión en las tres tareas básicas del almac#n/ •
compras
•
manejo diario de e2istencias
•
ventas
A continuación, continuación, profundiaramos profundiaramos en las subtareas subtareas en que se descomponen las anteriores, y as sucesivamente hasta llegar al nivel de detalle de una acción concreta/ com!ras#
mane6o#
ventas#
•
buscar proveedor
•
almacenamiento
•
facturación
•
conseguir cr#dito
•
inventario
•
reparto
•
gestionar transporte
•
etiquetado
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT
e2isten distintas metodologas/ 6ac7son, 8ertini, 9arnier, de reconocido prestigio, aunque ya un poco en desuso. A modo de ilustración, veremos cómo se representara este ejemplo utiliando la metodologa 9arnier/
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT
II Módulos >Funciones?
8* @i!os de funciones# internas y creadas !or el usuario 1ntegradas Las siguientes funciones integradas no deterministas se pueden usar en funciones %ransact& S:L definidas por el usuario.
*44!;%<%15!S%A5P
==5A><?;;!%1?;S
@!%<%4A;S51SS1?;
==PA<4!!1B!'
@!%'A%!
==PA
@!%*%'A%!
==PA!%
==?;;!%1?;S
==%15!%1S
==P*<8*SC
==%?%AL
=='8%S
==%?%AL<4!A'
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT
==1'L!
==%?%AL<941%!
==1?<8*SC Las siguientes funciones integradas no deterministas no no se se pueden usar en funciones %ransact&S:L definidas por el usuario.
;!91'
4A;'
;!9S!:*!;%1AL1'
%!>%P%4
Funciones creadas !or el usuario unción escalar Las funciones escalares definidas por el usuario devuelven un "nico valor de datos del tipo definido en la cláusula 4!%*4;S. !n una función escalar insertada no hay cuerpo de la función+ el valor escalar es el resultado de una sola instrucción. Para una función escalar de varias instrucciones, el cuerpo de la función, definido en un bloque 8!@1;...!;', contiene una serie de instrucciones de %ransact&S:L que devuelven el "nico valor. !l tipo devuelto puede pue de ser de cua cualqu lquier ier ti tipo po de dat datos os e2c e2cept epto o te2 te2t, t, nt nte2t e2t,, ima image, ge, cur cursor sory y tim timest estamp amp.. !jemplos.
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT
unciones con valores de ta!la Las funciones con valores de tabla definidas por el usuario devuelven devuelven un tipo de datos table. Las funciones insertadas con valores de tabla no tienen cuerpo+ la tabla es el conjunto de resultados de una sola instrucción S!L!%. !jemplos. unciones del sistema S:L Server proporciona proporciona numerosas funciones del sistema que se pueden usar para realiar divers div ersas as op opera eracio cione nes. s. ;o se pu puede eden n mod modifi ifica car. r. Par Para a obt obtene enerr más inf infor ormac mación ión,, vea -unciones integradas $%ransact&S:L), -unciones almacenadas del sistema $%ransact&S:L) y -unciones y vistas de administración dinámica $%ransact&S:L). ;?%A/ Las funciones %ransact&S:L definidas por el usuario en consultas solo se pueden ejecutar en un "nico subproceso $plan de ejecución en serie). 2.2 "omponentes 2.2.1 Declaración 'eclaración 'eclaració n son aquellas en donde donde se escriben las variables variables que se usarán y los tipos de datos de cada una. !jemplo en / 1nstó numeroD, numeroE+ float numeroF+ !sto declara dos variables que contendrán n"meros enteros y una tercera como flotante.
Las componentes más elementales de las variables de tipo 5atri son, por lo tanto, n"meros reales. La siguiente declaración es una forma alternativa de declaración del tipo 5atri/ %CP! 5atri G A44AC HD..DIIJ of A44AC HD..DIIJ HD..DIIJ of 4eal+ Además, Además, es posible abreviar a"n
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT más más la dec declara laraci ción ón del del tipo tipo 5atr 5atri i,, de la form forma a sigu siguie ient nte/ e/ %CP! %CP! 5atr 5atri i G A44A 44AC HD..DI HD..DII,D I,D..D ..DII IIJJ of 4eal+ 4eal+ La decla declarac ración ión de un vecto vectorr bidim bidimen ensio sional nal,, en su forma forma más abreviada, tiene la siguiente forma general/ %CP! ;ombre%ipo G A44AC H1ndiceD, 1ndiceEJ ?- %ipo8ase+ donde ;ombre%ipo es el nombre del nuevo tipo que se está definiendo, %ipo8ase es el tipo de los elementos individuales del vector bidimensional. Sirva como ejemplo la siguiente declaración que permite representar un tablero de ajedre/ ?;S%
%am
G
K+
5a2;um
G
DII+
%CP!
Lado
G
D..%am+
Pieas
G
$peon,torre,caballo,alfil,dama,rey,vacia)+ %ablero G A44AC HLado,LadoJ ?- Pieas+ Partida G A44AC HD..5a2;umJ ?- %ablero+ %ablero+ BA4 BA4 %abD,% %abD,%a abE / %ablero+ PieD / Pieas+ 6uego / Partida+ ;ótese que un tablero se define como un vector bidimensional bidimensional de elementos que son pieas $donde se ha incluido la casilla vaca), y toda una partida se ha representado como un vector de table tableros ros $los $los corre correspo spondi ndient entes es a las jugada jugadas s sucesi sucesiva vas). s). omo omo se ve, es posibl posible e generaliar la declaración anterior a vectores de tres o más dimensiones, denominados n& dimensionales, siendo en este caso %ipo8ase tambi#n un vector+ as la siguiente declaración muestra la forma general, más abreviada, de definir vectores de tres dimensiones/ %CP! ;ombre%ipo G A44AC H1ndiceD,1ndiceE,1ndiceFJ ?- %ipo8ase+ 2.2.2 #rgumentos 4epresenta el valor que se proporciona a un parámetro del procedimiento cuando se llama al procedimiento. !l código de llamada proporciona los argumentos cuando llama al procedimiento. La parte de la llamada del procedimiento que especifica los argumentos se denomina lista de argumentos . !n la siguiente ilustración se muestra un código que llama al procedimiento safeSquare4oot desde dos lugares diferentes. La primera llamada transfiere el valor de la variable 2 $.I) al parámetro number y el valor devuelto en root $E.I) se asigna a la variable y. La segunda llamada transfiere el valor literal M.I a number y asigna el valor devuelto $F.I) a la variable
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT
Pasar un argumento a un parámetro
2.2.3 $ar%metros *n parámetro es un valor que la función espera recibir cuando sea llamada $invocada), a fin de ejecutar acciones en base al mismo. *na función puede esperar uno o más parámetros $que irán separados por una coma) o ninguno. def mi
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT nombre
N 4etornará el error/ ;ame!rror/ name OnombreO is not defined print nombre Al llamar a una función, siem!re se le de+en !asar sus argumentos en el mismo orden en el Aue los es!era. es!era . Pero esto puede evitarse, haciendo uso del paso de argumentos como 7ey(ords $ver más abajo/ "Keywords como parámetros" ). 2.2.3.1 $ar%metros por omisión !n Pyt Python hon,, ta tambi mbi#n #n es pos posibl ible, e, asi asigna gnarr va valor lores es por def defect ecto o a los par paráme ámetro tros s de las funciones. !sto significa, que la función podrá ser llamada con menos argumentos de los que espera/ def saludar$no saludar$nombre, mbre, mensajeGOo mensajeGOolaO)/ laO)/ print mensaje, nombre saludar$OPepe saludar$ OPepe @rilloO) N 1mprime/ ola Pepe @rillo definición de una función la deben anteceder anteceder dos dos lneas en en blanco. PEP 1# Funciones A Funciones A la definición Al asignar parámetros por omisión, omisión, no debe dejarse espacios espacios en blanco ni antes ni despu#s despu#s del signo G.
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT 2.2.3.2. &ey'ords como par%metros !n Python, tambi#n es posible llamar a una función, pasándole los argumentos esperados, como pares de clavesGvalor/ def saludar$no saludar$nombre, mbre, mensajeGOo mensajeGOolaO)/ laO)/ print mensaje, nombre
saludar$mensajeGQ8uen daQ, nombreGQ6uanchoQ) 2.2.3.3. $ar%metros ar!itrarios Al igual que en otros lenguajes de alto nivel, es posible que una función, espere recibir un n"mero arbitrario &desconocido& de argumentos. !stos argumentos, llegarán a la función en forma de tupla. Para definir argumentos arbitrarios en una función, se antecede al parámetro un asterisco $R)/ def recorrer
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT def recorrer
N Los argumentos arbitrarios tipo clave, se recorren como los diccionarios for clave in 7(ords/ print Q!l valor deQ, clave, QesQ, 7(ordsHclaveJ recorrer
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT def calcular$importe, descuento)/ return importe & $importe R descuento 3 DII) datos G TQdescuentoQ/ DI, QimporteQ/ DIIU print calcular$RRdatos) 2.3 *nvocación y retorno del valor de la función *na *n a fun funció ción, n, no es eje ejecu cutad tada a ha hasta sta tan tanto to no se sea a inv invoca ocada. da. Pa Para ra inv invoca ocarr un una a fun funció ción, n, simplemente se la llama por su nombre/ def mi
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT
III Programación con Pseint 3.1 Definición de $+e*nt: PSe1nt es un soft(are libre educativo multiplataforma dirigido a personas que se inician en la programación. 'escripción/ PSe1nt es la abreviatura de PSeudo 1nt#rprete, una herramienta educativa util utili iad ada a prin princi cipa palm lmen ente te por por estu estudi dian ante tes s para para apre aprend nder er los los fund fundam amen ento tos s de la programación y el desarrollo de la lógica. !s un soft(are muy popular de su tipo y es ampliamente utiliado en universidades de Latinoam#rica y !spa0a. *tilia pseudocódigo para la solución de algoritmos. Propó Propósit sitos/ os/ PSe1n PSe1ntt está está pensa pensado do para para asist asistir ir a los estudi estudian antes tes que se inicia inician n en la construcción de programas o algoritmos computacionales. !l pseudocódigo se suele util utili iar ar como como prim primer er cont contac acto to para para intr introd oduc ucir ir conc concep epto tos s bási básico cos s como como el uso uso de estr estruc uctu tura ras s de cont contro rol, l, e2pr e2pres esio ione nes, s, vari variab able les, s, etc. etc. sin sin tene tenerr que que lidi lidiar ar con con las las particularidades de la sinta2is de un lenguaje real. !ste soft(are pretende facilitarle al principi principiante ante la tarea tarea de escribir escribir algoritm algoritmos os en este pseudolengu pseudolenguaje aje presenta presentando ndo un conjunto de ayudas y asistencias, y brindarle además algunas herramientas adicionales que le ayuden a encontrar errores y comprender la lógica de los algoritmos. "aracterísticas: V
Leng Lengua uaje je Aut Autoc ocom ompl plet etad ado o
V
Ayud Ayudas as !mer mergent gente es
V
Plan Planti till llas as de oman omando dos s
V
Sopo Soport rta a proc proced edim imie ient ntos os y func funcio ione nes s
V
1nde 1ndent nta ado 1nte 1nteli lige gent nte e
V
!2portac !2portación ión a otros otros lenguajes lenguajes $, $, WW, N, 6ava, 6ava, PP, PP, 6avaS 6avaScript cript,, Bisual Bisual 8asic .;!% .;!%,,
Python, 5atlab) V
@rafic @raficad ado, o, creac creación ión y edic edición ión de de diagr diagrama amas s de fluj flujo o
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT V
!dit !ditor or con con col color orea eado do de sin sinta ta2i 2is s
V
-oro -oro ofic oficia iall de PSe1 PSe1nt nt
V
Soft Soft(a (are re mult multip ipla lata tafo form rmaE aE
$antalla del programa pseint Pantalla de 1nicio/ Al iniciar la aplicación nos muestra la estructura básica desde donde comenare comenaremos mos a escribir escribir nuestro código. Pantalla Pantalla de 1nicio/ 1nicio/ Al iniciar iniciar la aplicaci aplicación ón nos muestra la estructura básica desde donde comenaremos a escribir nuestro código.
!s muy importante, aunque no obligatorio, documentar el código $omentar algunas lneas) para que nos permita rápidamente identificar qu# partes del mismo hace qu# cosa, ya que a medida que se avance en el desarrollo y aumente considerablemente la cantidad de lneas, se hará más difcil encontrar en cuál de ellas se encuentra la sentencia que hace algo especfico. !sto se consigue utiliando la doble barra Q33Q
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT
!structuras de ontrol Los eje ejempl mplos os qu que e se mu muest estran ran en est esta a se secci cción ón co corre rrespo sponde nde al mis mismo mo pr progr ograma ama,, per pero o construido en los tres ciclos 9hile $5ientras), 4epeat $4epetir) y -or $Para). La Estructura Re!etitiva Mientras >B:ile? !l (hile es una estructura que se ejecuta mientras la pregunta de control obtiene una respuesta verdadera, cuando la respuesta a la pregunta de control es falsa esta abandona el ciclo. !ste tipo de estructura es recomendable recomendable cuando dentro del programa se desconoc desconoce e el momento en que se va abandonar el ciclo. Por ejemplo, si necesitamos realiar un programa que solicite n"meros y los sume hasta que el usuario ingrese un n"mero negativo, como no se sabe en qu# momento el usuario ingresará un valor negativo, la estructura recomendable es el 9hile $5ientras). La caracterstica principal del 9hile es que este primero pregunta y despu#s hace.
La Estructura Re!etitiva Re!etir >=o B:ile? -unciona de igual manera que el 9hile $5ientras), la gran diferencia es que primero hace y despu#s pregunta, y en lugar de abandonar su ejecución al obtener una respuesta falsa en la pregunta de control, lo hace al momento de obtener una verdadera.
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT
La Estructura Re!etitiva Para >For? !s una estructura repetitiva que se emplea cuando se conoce cuantos giros debe realiar el ciclo, por ejemplo, si se realia un algoritmo que le solicite al usuario cuantos n"meros va a sumar sum ar,, el alg algor oritm itmo o co conoc nocer era a la ca canti ntidad dad de gir giros os a pa parti rtirr de la ca canti ntidad dad de n" n"mer meros os ingresados por el usuario.
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT
3.2 $rogramas
F.E.D !jemplos de programas en PSeint y coloque el diagrama de flujo de cada uno.
% Programa que permita escribir en pantalla los DII primeros n"meros pares.
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT
Programa Programa que permita elevar un n"mero entero ingresado por teclado, a una potencia dada.
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT
C *so C *so del operador de módulo $5?' o X)
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT Be+graf
Autor/ olaboradores olaboradores de 9i7ipedia, 9i7ipedia, editor/ La La enciclopedia enciclopedia libre. libre. %tulo del documento/ Programación 5odular -echa de creación/ F de maro de EIIY -echa de acceso/ EM de noviembre de EIDY 'irección electrónica/ https/33es.(i7ipedia.org3(i7i https/33es. (i7ipedia.org3(i7i3ProgramaciXF 3ProgramaciXFX8Fn
https/33es.(i7ipedia.org3(i7i35XFX8Fdulo<$informXFXADtica)
Autora/ Pilar Pilar @onále Augusto Augusto %tulo del documento/ Programación y Lenguaje $*%P/ 5ódulo DI) -echa de creación/ -echa de acceso/ EM de noviembre EIDY 'irección !lectrónica/ http/33(((.iesjuandelacierva.com3paginade3fupro3apuntes3utDI.htm Autor/ 9illiams 4icardo %tulo del documento/ Programación 5odular -echa de creación/ sábado DK de agosto de EIDE. -echa de acceso/ EM de noviembre de EIDY 'irección electrónica/ http/33progmodular.blogspot.com3searchZ http/33progmo dular.blogspot.com3searchZupdated&minGEIDE updated&minGEIDE&ID& &ID& ID%II/II/II&IK/II[updated&ma2GEIDF&ID&ID%II/II/II&IK/II[ma2&resultsG http/33dcb.fi&c.unam.m23users3miguelegc3tutoriales3tutorialcd3mnj
%emaE https/33msdn.microsoft.com3es&es3library3msDMDII\.asp2
http/33libros(eb.es3libro3python3capitulo
PROGRAMACIÓN MODULAR Y PROGRAMAS PSEINT http/33users.dsic.upv.es3asignaturas3eui3adE3practD.pdf %emaF http/33diagramas&de&flujo.blogspot.com3 Biernes EY de abril EIDF