Está en la página 1de 9

PROGRAMACION MODULAR

Un problema se puede resolver ms eficazmente cuando se rompe el problema


original en subproblemas.
Este mtodo se conoce como Divide y Vencers, es decir dividir un problema
complejo en otros ms simples.
Ventajas de la prograaci!n od"lar
El problema se comprende ms fcilmente al dividirse en partes ms simples
denominadas mdulos.
Las modificaciones en los mdulos son ms fciles.
La comprobacin del problema se puede verificar fcilmente.
Mod"lo principal
Se trabaja con un modulo principal, el cual contiene operaciones !o tambin las
llamadas a otros mdulos. "or ejemplo# Un algoritmo $ue promedia % n&meros
ingreasados.
'nicio
Entrada (nota),nota*,nota%+
"roceso (nota),nota*,nota%,prom+
Salida (prom+
,in
Entrada (nota),nota*,nota%+
Leer (nota),nota*,nota%+
,in de la entrada
"roceso(nota),nota*,nota%,prom+
- )- mod * -../ 0!1
) )- mod % ).- %-!%-
) %- div %- -./ *.-!2.-
3 )1 div * -.*/ )!2
% )- div % %./ )-./!%.-
4esultado E5presin 4esultado E5presin
E5ponenciacin
6
4esiduo mod
7ivisin entera div
7ivisin real
!
8ultiplicacin
9
4esta :
Suma ;
Operaci!n
Operador
raizcuadrada 4aiz cuadrada
suma<nota) ; nota* ; nota%
prom< suma!%
,in del proceso
Salida(prom+
Escribir (prom+
,in de la salida
OP#RADOR#$ % OP#R&NDO$
Un operador es el s=mbolo $ue determina el tipo de operacin o relacin $ue >abr
de establecerse entre los operandos para alcanzar un resultado.
Los operadores se clasifican en tres grupos#
). ?ritmticos.
*. 4elacionales.
%. Lgicos.
'( Operadores Arit)ticos
Son a$uellos $ue permiten la realizacin de clculos aritmticos. Utilizan operndos
numricos proporcionan resultados numricos.
En caso de realizar ms de una operacin aritmtica, utilizar los parntesis para
agrupar las operaciones $ue se realizarn primero.
"or ejemplo#
2 ; )* !* < )- (sin agrupar+
(2 ; )*+ !* < 1 (con agrupador+
Operadores div y od
El s=mbolo ! se utiliza para la divisin real, el operador div representa la divisin
entera.
*( Operadores Relacionales
"ermiten realizar comparaciones de valores de tipo numrico o carcter. Estos
operadores sirven para e5presar las condiciones en los algoritmos. "roporcionan
resultados lgicos.
+( Operadores L!gicos
Son a$uellos $ue permiten la combinacin de condiciones para formar una sola
e5presin lgica. "roporcionan resultados lgicos.
7isuncin E5clusiva
(@!S@L@+
5or
7isuncin (@+ or
Aonjuncin (B+ and
Cegacin (Co+ not
Relaci!n Operador
7iferente de
DE
8aor o igual $ue E<
8enor o igual $ue D<
'gual $ue <
8aor $ue E
8enor $ue D
$igni,icado Operador
Ejemplos#
Not - . / "roduce un error, a $ue el operador not se aplica a 2.

Not 0- . '-1 "roduce un valor verdadero.
0'(2341 And 04351 Si 5 vale . z vale 2, se obtiene un valor falso.
#N6RADA % $ALIDA D# IN7ORMACI8N #N6RADA % $ALIDA D# IN7ORMACI8N
Los clculos $ue realizan las computadoras re$uieren los datos de Entrada
necesarios para ejecutar las operaciones $ue posteriormente se convertirn en
resultados, es decir, Salida.
Las operaciones de entrada permiten leer determinados valores asignarlos a
determinadas variables. Esta entrada se conoce como operacin de Lectura
(read+. Los datos de entrada se introducen al procesador mediante dispositivos de
entrada (teclado, unidades de disco, etc+. La salida puede aparecer en un
dispositivo de salida (pantalla, impresora, etc+. La operacin de salida se denomina
escritura (Frite+.
En la escritura de algoritmos las acciones de lectura escritura se representan
por los formatos siguientes#
leer ( ComGvariable +
escribir (lista de variables de salida+, escribir (Hte5toI+
Solo uno de los operandos es verdadero J@4
?l menos un operando es verdadero @4
?mbos operandos son verdaderos ?C7
El operando es falso C@K
$e o9tiene Verdadero si:
, L L , , V V
L L , , L V 7
L L , L , 7 V
, , , L L 7 7
; ;OR % ; OR % ; AND % NO60%1 NO60;1 % ;
#$6RUC6URA$ <A$ICA$ D# PROGRAMACI8N
Secuenciales
Selectivas
4epetitivas
#VOLUCI8N D# LA PROGRAMACI8N
Prograaci!n
Lineal
Prograaci!n
#str"ct"rada
Prograaci!n
Mod"lar
Prograaci!n
Orientada a
O9jetos
Progra(
Orie
ntad
a a
Aspe
ctos
o #
c"aciones
lineales
o #str"ct"
ra $ec"encial
o #str"ct"
ra $electiva
o #str"ct"
ra Repetitiva
o #(
$ec"encial
o #(
$electiva
o #(
Repetitiva
=
o 7"n
ciones
o Pro
cediientos
o #(
$ec"encial
o #(
$electiva
o #(
Repetitiva
o 7"n
ciones
o Pro
cediientos
=
o Cla
ses
o O9j
etos
$"rgiiento de la prograaci!n estr"ct"rada
? finales de los aMos sesenta surgi una nueva forma de programar $ue no
solamente daba lugar a programas fiables eficientes, sino $ue adems estaban
escritos de manera $ue facilitaba su comprensin posterior.
Un famoso Keorema de 7ijNstra, demostrado por Edsger 7ijNstra en los aMos
sesenta, demuestra $ue todo programa puede escribirse utilizando &nicamente las
tres instrucciones de control siguientes#
Secuencia
'nstruccin condicional.
'teracin, o bucle de instrucciones.
Solamente con estas tres estructuras se puede >acer un programa informtico, o
desarrollar un "seudocdigo.
Ventajas de la prograaci!n estr"ct"rada
Aon la programacin estructurada, elaborar programas de computador sigue siendo
una labor $ue demanda esfuerzo, creatividad, >abilidad cuidado. Sin embargo, con
este estilo podemos obtener las siguientes ventajas#
). Los programas son ms fciles de entender a $ue pueden ser le=dos
de forma secuencial, para entender la lgica.
*. La estructura del programa es ms clara puesto $ue las instrucciones
estn ms ligadas o relacionadas entre s=.
%. 4educcin del esfuerzo en las pruebas. El seguimiento de las fallas
se facilita debido a la lgica ms visible, por lo $ue los errores se pueden
detectar corregir ms fcilmente.
2. 4educcin de los costos de mantenimiento.
/. "rogramas ms sencillos ms rpidos.
0. Los blo$ues de cdigo son auto e5plicativos, lo $ue apoa a la
documentacin.
Inconvenientes de la prograaci!n estr"ct"rada
El principal inconveniente de este mtodo de programacin, es $ue se obtiene un
&nico blo$ue de programa, $ue cuando se >ace demasiado grande puede resultar
problemtico su manejo, esto se resuelve empleando la programacin modular,
definiendo mdulos interdependientes programados compilados por separado. Un
mtodo un poco ms sofisticado es la programacin por capas, en la $ue los mdulos
tienen una estructura jerr$uica mu definida se denominan capas.
#$6RUC6URA $#CU#NCIAL
Una estructura de programa es secuencial si se ejecutan una tras otra a modo de
secuencia.
Es decir, es a$uella en la $ue una accin (instruccin+ sigue a otra en secuencia. Las
tareas se suceden de tal modo $ue la salida de una es la entrada de la siguiente
as= sucesivamente >asta el fin del proceso. La estructura secuencial tiene una
entrada una salida.
Su representacin grfica es la siguiente#
Pse"docodigo de "na Pse"docodigo de "na # #str"ct"ra str"ct"ra $ $ec"encial ec"encial
'nicio
#
#
acciones
#
#
fin
Ejemplo de acciones#
au5 5
5
au5
Esta secuencia de instrucciones intercambia los valores de 4 e y, con auda de
una variable a"4iliar (au5+.
)O Puardamos una copia del valor de 4 en a"4.
*O Puardamos el valor de y en 4, se pierde el valor anterior de 4 pero no
importa por$ue tenemos una copia en a"4.
%O Puardamos el valor de a"4 en y, $ue es el valor inicial $ue ten=a 4.
El resultado es el intercambio de los valores de 4 e y, en tres operaciones
secuenciales.
#jeplo: #jeplo:
Un vendedor recibe mensualmente un sueldo base mas un e5tra, $ue es el )-Q de
cada venta $ue realice, el vendedor desea saber cuanto dinero e5tra obtendr por
las % ventas $ue realiz en el mes, adems del total $ue recibir en el mes tomando
en cuenta su sueldo base las comisiones.
$ol"ci!n
"rocedimiento "rincipal
'nicio
4eales sb, mv), mv*, mv%, e5tra), e5tra*, e5tra%, tote5tra, sueldo
Entrada (sb, mv), mv*, mv%+
"roceso) (mv), mv*, mv%, e5tra), e5tra*, e5tra%+
"roceso*( e5tra), e5tra*, e5tra%,totalestra,sueldo+
Salida(totalestra,sueldo+
,in
"rocedimiento Entrada(4eal R sb, 4eal R mv), 4eal R mv*, 4eal R mv%+
'nicio
Escribir (H'ngresar sueldo baseI+
Leer (sb+
Escribir (H'ngresar monto de la )S ventaI+
Leer (mv)+
Escribir (H'ngresar monto de la *S ventaI+
Leer (mv*+
Escribir (H'ngresar monto de la %S ventaI+
Leer (mv%+
,in
"rocedimiento "roceso)(4eal mv), 4eal mv*, 4eal mv%, 4ealRe5tra), 4ealRe5tra*,
4eal Re5tra%+
'nicio
e5tra) mv) 9 -.)-
e5tra* mv* 9 -.)-
e5tra% mv% 9 -.)-
,in
"rocedimiento "roceso*(4eal e5tra), 4eal e5tra*, 4eal e5tra%,4eal Rtotale5tra,
4eal Rsueldo+
'nicio
tote5tra e5tra) ; e5tra* ; e5tra%
sueldo sb ; tote5tra
,in
"rocedimiento Salida(4eal totale5tra, 4eal sueldo+
'nicio
Escribir (HEl total de dinero e5tra es#I, totale5tra+
Escribir (HEl salario de mes es#I, sueldo+
,in
Re,erencia >
El R permite $ue el valor ingresado o calculado de una variable sea enviado de un
procedimiento a otro para $ue este lo pueda utilizar.
Por ejeplo:
Procediiento #ntrada
Procediiento Proceso*

También podría gustarte