Sunteți pe pagina 1din 34

PROGRAMACIN

UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN


Pg. 1 de 34
UNIDAD DE TRABAJO 1. METODOLOGA DE LA
PROGRAMACIN
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 2 de 34
NDICE
1. INTRODUCCIN__________________________________________________________3
1.1. OBJETIVO____________________________________________________________________3
1.2. BIBLIOGRAFA_______________________________________________________________3
2. DESARROLLO____________________________________________________________4
2.1. INTRODUCCIN_____________________________________________________________4
2.2. POR QU UNA METODOLOGA_______________________________________________5
2.3. HERRAMIENTA ! NOTACIONE PARA EL DIE"O DE ALGORITMO___________#
2.3.1. D$%&'%(%) *+ F,-./___________________________________________________#
2.3.2. P)+-*/01*$&/________________________________________________________2
2.4. ETRUCTURA GENERAL DE UN PROGRAMA_________________________________11
2.4.1. P%'3+) *+ -4 P'/&'%(%______________________________________________11
2.4.2. C,%)$50%0$14 *+ ,%) I4)3'-00$/4+)____________________________________12
2.5. TCNICA DE PROGRAMACIN_____________________________________________26
2.5.1. P'/&'%(%0$14 0/47+40$/4%,_________________________________________26
2.5.2. P'/&'%(%0$14 +)3'-03-'%*%__________________________________________26
2.5.3. P'/&'%(%0$14 (/*-,%'______________________________________________26
2.8. PROGRAMA CRATCH9 ALICE : BOB________________________________________22
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 3 de 34
1. INTRODUCCIN
1.1. OBJETIVO
El objetivo del presente tema es que el alumno aprenda una
metodologa de la programacin, que domine los mtodos !
tcnicas que permitan desarrollar buenos programas ! que utilice
"erramientas para dise#ar los algoritmos as como que cono$ca las
pautas a seguir para elaborar su dise#o. %e esta &orma se persigue
que el alumno consiga la destre$a su'ciente para la interpretacin
de problemas ! el dise#o de algoritmos que los resuelvan.
1.2. BIBLIOGRAFA
Programacin Estructurada ! (undamentos de Programacin.
)nc"e$, *"amorro, +olina ! +atelln. Editorial, +c -ra. /ill
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 4 de 34
2. DESARROLLO
2.1. INTRODUCCIN
El presente tema se "a estructurado con el siguiente ndice,
Por qu una M!o"o#o$%a& En este punto se introduce al
alumno en la necesidad de tener una metodologa a la "ora de
de'nir ! dise#ar algoritmos que sern el punto de partida para su
posterior codi'cacin
'rra()n!a* + No!a,)on* -ara # ")*.o " a#$or)!(o*.
0ajo este punto se detallan se estudian los %iagramas de (lujo, el
Pseudocdigo, las tablas de decisin ! los diagramas
estructurados
E*!ru,!ura Gnra# " un Pro$ra(a. En este punto se
describe la estructura general de un programa para entender las
partes que lo constitu!en ! as saber cmo identi'car las
necesidades de cada una de estas partes
T,n),a* " Pro$ra(a,)/n. En este punto se describen tres
tcnicas di&erentes de programacin, programacin
convencional, estructurada ! modular
1 continuacin se desarrollan cada uno de estos puntos.
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 2 de 34
2.2. POR QU UNA METODOLOGA
+uc"a gente piensa que estudiar metodologa de la programacin
es una cosa ardua, costosa ! mu! aburrida. En este tema se
intentar "acer que esto no sea as ! que todo lo que aprendas a
partir de este momento te sea de muc"sima utilidad para la
creacin de esos programas que tienes en mente.
)i todava no ves claro el porqu de la metodologa mira el
siguiente ejemplo, despus !a me dirs que opinas.
Ejemplo 3)ubiendo escaleras4. 5magina que estamos creando un
peque#o programa para un robot que debe subir 16 escalones. El
robot entiende las siguientes instrucciones 7evantaPie5$quierdo
3para levantar el pie i$quierdo ! subir un escaln4 !
7evantaPie%erec"o 3para levantar el pie derec"o ! subir otro
escaln4, con lo que podr ir ascendiendo "asta llegar al 'nal de la
escalera.
)i solo pudisemos utili$ar estas dos instrucciones deberamos
"acer un programa con las siguientes lneas de cdigo,
(jate que en este caso "emos tenido que escribir las mismas
instrucciones varias veces para que el robot &uera subiendo la
escalera. 89ue "ubiese sucedido si el robot en lugar de subir 16
escalones "ubiese tenido que subir la :orre Ei;el<. Pues que el
cdigo "ubiese sido interminable, corriendo el peligro de
equivocarnos al contar la cantidad de escalones, con lo que el
robot no "ubiese llegado a la cima de la escalera. = incluso nos
podramos "aber equivocado poniendo dos veces la misma
instruccin, con lo que el robot se "ubiese pegado un golpeta$o
impresionante al levantar dos veces el mismo pie.
Para solucionar estos problemillas disponemos de di&erentes
instrucciones que nos permiten reducir el n>mero de lneas de un
programa &acilitando as la compresin, la modi'cacin del cdigo
! un posible error en la ejecucin del programa.
=bserva una solucin para nuestro problema. 3Piensa que para un
mismo problema no solo e?iste una solucin, !o te o&recer una,
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. @ de 34
pero eso no quiere decir que sea la mejor4. 7as nuevas
instrucciones se e?plicarn con detenimiento en apartados
posteriores.
7o que "emos creado es una repeticin de cdigo "asta que se
cumple una determinada condicin. *ompara las dos posibles
soluciones al mismo programa,
)eguramente si no entiendes el segundo ejemplo te parecer
muc"o ms &cil la primera solucin, pero en cuanto avancemos un
poco en el tema comprenders que la solucin ms ptima es la
segunda.
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. A de 34
2.3. HERRAMIENTAS NOTACIONES PARA EL DISE!O DE
ALGORITMOS
2.3.1. D"#$%#&#' () F*+,-
Bn diagrama de Cujo es una e?celente a!uda en el proceso de
datos, debido a que nos permite representar el circuito de
in&ormacin desde su entrada como dato, "asta su salida como
resultado, mostrando la secuencia de las operaciones. En la
siguiente 'gura se muestra un gr'ca que indica una secuencia de
in&ormacin, la in&ormacin entra 3valo que indica la entrada4
que, a travs de un proceso de decisin 3rombo4 se trans&orma en
in&ormacin de salida 3valo de salida4.
Inicio Fin Decisin
Accin1 Accin2
Accin3 Accin4
Inicio Fin Decisin
Accin1 Accin2
Accin3 Accin4
7os diagramas de Cujo son el #n$ua0 ,o(1n -ara !o"o* #o*
-ro$ra(a"or*.
)e puede utili$ar en dos etapas del ciclo de vida,
An2#)*)*, el diagrama de Cujo se conoce como =rganigrama
Pro$ra(a,)/n, el diagrama de Cujo se conoce como
=rdinograma
El conjunto de smbolos tiene un signi'cado re&erente al tipo de
instruccin que se va a ejecutar. 7os smbolos van unidos por
Cec"as que indicarn el orden de secuencia a seguir.
ORGANIGRAMA
7os organigramas constitu!en un procedimiento com>n en
in&ormtica que consiste en reCejar gr'camente la ubicacin de
in&ormacin en los soportes peri&ricos de entrada ! salida, unida
por el Cujo de datos e in&ormaciones que utili$a un programa de
manera clara ! sencilla. Bn organigrama debe dar una visin
e?terna e interna a travs de los siguientes elementos,
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. D de 34
Perifrico Entrada
Soporte E/S Soporte E/S
Perifrico Salida
Programa
En la parte superior de la 'gura estn los peri&ricos que permiten
la introduccin de datos al programa. En la parte in&erior estn los
peri&ricos que permiten visuali$ar la in&ormacin como la pantalla
o impresora. En la parte central 'gura el nombre del programa. En
la parte i$quierda ! derec"a 'guran los soportes utili$ados para el
almacenamiento de los datos de entradaEsalida. Por ejemplo, *%F
G=+, disquete, etc.
Ejemplo, reali$ar un organigrama que reCeje la actuali$acin del
'c"ero de nminas de nuestro centro. 7a actuali$acin se reali$a
introduccin los datos a travs del teclado, ! el programa mostrar
en pantalla los cambios reali$ados en el 'c"ero de Hminas. 7a
visuali$acin de los datos se puede reali$ar por pantalla, tal !
como se muestra en la siguiente 'gura,
Teclado
Ficero !minas
Pantalla
Programa Act"ali#acin !minas
ORDINOGRAMA
En in&ormtica, las posibles soluciones de un problema se
consiguen utili$ando los Programas. Bn programa est constituido
por un entendimiento del problema a resolver que el usuario
in&ormtico desarrolla en papel. Bna ve$ entendido el problema
ste es codi'cado en un lenguaje comprensible por el ordenador.
7os ordinogramas representan paso a paso todas las instrucciones
del programa, reCejando la secuencia lgica de las operaciones
necesarias para la resolucin de un problema. Estas operaciones
van encaminadas a su resolucin por medio del ordenador. El
ordinograma detalla paso a paso el proceso que debemos seguir en
la etapa de *odi'cacin o Programacin.
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. I de 34
:odo ordinograma debe tener un inicio ! un 'n de programa
adems de una secuencia de operaciones. En la representacin se
deben tener en cuenta las siguientes reglas,
)e deben se usar solamente lneas de Cujo "ori$ontales !Eo
verticales
)e debe evitar el cruce de lneas utili$ando los conectores
Hormalmente los smbolos de inicio ! 'n se utili$an una sola
ve$
Ho deben quedar lneas de Cujo sin conectar
)e deben tra$ar los smbolos de manera que se puedan leer de
arriba "acia abajo ! de i$quierda a derec"a
:odo te?to escrito dentro de un smbolo deber ser escrito
claramente, evitando el uso de muc"as palabras ! debe ser un
te?to independiente del lenguaje de programacin a utili$ar
posteriormente
Inicio Fin Decisin
Accin1 Accin2
Accin3 Accin4
S$
!o
2.3.2. P')+(-./("$-
El pseudocdigo permite escribir las instrucciones que conducen a
la resolucin de un problema utili$ando estructuras bsicas de
programacin. Puede ir acompa#ado de palabras claves escritas
en espa#ol o ingls.
+ediante el pseudocdigo se puede escribir la solucin de un
problema en &orma de algoritmo utili$ando palabras ! &rases del
lenguaje natural sujetos a unas determinadas reglas. )e considera
como un paso intermedio entre la solucin de un problema ! su
codi'cacin en un lenguaje.
7as ventajas de utili$ar un Pseudocdigo a un %iagrama de (lujo
son las siguientes,
=cupa menos espacio en una "oja de papel
Permite representar en &orma &cil operaciones repetitivas
compleja
Es mu! &cil pasar de pseudocdigo a un programa en alg>n
lenguaje de programacin
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 16 de
34
)i se siguen las reglas se puede observar claramente los niveles
que tiene cada operacin
Jeamos un ejemplo, un ni#o "a quedado con sus amigos para ir al
cine. 7legan al cine ! observan la cartelera. )i el cine es apto para
menores, pasarn ! comprarn palomitasK en caso contrario, van al
parque
5nicio
+irar la cartelera
)i el cine es apto para ni#os entonces
Entrar al cine
*omprar palomitas
)ino
5r al parque
:odo pseudocdigo debe posibilitar la descripcin de los siguientes
elementos,
5nstrucciones de EntradaE)alida
5nstrucciones de Proceso
)entencias de control de Cujo de ejecucin
*omentarios que comien$an con los smbolos LL
7a estructura general de un pseudocdigo es la siguiente,
Programa, H=+0GE correspondiente al programa. )uele guardar
alg>n tipo de relacin directa o similitud con el &uncionamiento del
programa
Entorno, %eclaracin de las Estructuras de %atos 3variable
3numrica entera, numrica real, al&anumricas, lgicas4 tabla,
'c"eros utili$ados durante la ejecucin de un programa4. )e
suelen separar entre comas, en su declaracin
Algoritmo, )ecuencia de instrucciones que &orman el programa. Es
el algoritmo que resuelve el problema
Fin de programa
E0r,),)o 1, reali$ar el pseudocdigo de un programa que permita
calcular el rea de un rectngulo. )e debe introducir las base ! la
altura para poder reali$ar el clculo
Programa, Mrea
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 11 de
34
Entorno,
01)E, 1GE1, 17:BG1 son numricas enteras
Algoritmo3
escribir N5ntrodu$ca la base ! la alturaO
leer 01)E, 17:BG1
calcular 1GE1 P 01)E L 17:BG1
escribir NEl rea del rectngulo es la siguiente N 1GE1
FinPrograma
E0r,),)o 4, reali$ar el pseudocdigo que representa un algoritmo
que reciba como dato de entrada el valor de una temperatura
e?presada en grados centgrados ! nos calcule ! escriba sus
equivalentes en grados Geam"ur, grados (a"ren"eit ! grados
Qelvin.
)abiendo que,
166R *entgrados 3?4P D6R Geam"ur 3!4P 212R (a"ren"eit 3$4 P
3A3R Qelvin 3.4
6R *entgrados P 6R Geam"ur P 32R (a"ren"eit P 2A3R Qelvin
!P166ED6?P1,D? 3!P Geam"ur4
$P3212F324? S32P1,D? S32 3$P (a"ren"eit4
.P2A3S? 3.PTelvin4
Programa, grados
Entorno,
*E7)5B), QE7J5H, GE1+/BG, (1GEH/E5: son numricas
enteras
Algoritmo3
escribir N5ntrodu$ca la temperatura en grados *E7)5B)O
leer *E7)5B)
GE1/+BGP*E7)5B) L6,D
(1GEH/E5:P*E7)5B)L1,D S32
QE7J5HP*E7)5B) S 2A3
escribir GE1+/BG, (1GEH/E5:, QE7J5H
FinPrograma
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 12 de
34
E0r,),)o 5, Geali$ar el pseudocdigo que permita al usuario
introducir por teclado dos notas, calculando la suma ! el producto
de las notas, para posteriormente calcular datos estadsticos
Programa, *lculo
Entorno,
)B+1, PG=%B*:=, H=:11, H=:12 son numricas enteras
Algoritmo3
escribir N5ntrodu$ca la nota primera, ! la nota segunda
respectivamenteO
leer H=:11, H=:12
)B+1P H=:11SH=:12
PG=%B*:=P H=:11LH=:12
escribir Nla suma de los n>meros es, O )B+1
FinPrograma
2.4. ESTRUCTURA GENERAL DE UN PROGRAMA
2.4.1. P#%0)' () +1 P%-$%#&#
Bn programa tiene tres partes,
En!ra"a " Da!o*, acciones que obtienen la in&ormacin de un
dispositivo de entrada 3teclado, soportes de la in&ormacin, etc.4
Pro,*o, acciones que modi'can esos objetivos desde un estado
inicial "asta un estado 'nal, dejando los resultados disponibles en
memoria
Sa#)"a " Da!o*, acciones que toman los resultados ! los envan
a dispositivos e?ternos
2.4.2. C*#'"2.#."/1 () *#' I1'0%+.."-1)'
7os programas manejan objetos que modi'can su estado
dependiendo de la ejecucin de las instrucciones. Bna instruccin
se caracteri$a por su estado anterior a la ejecucin ! otro
posterior a la ejecucin. 7as instrucciones o e?presiones se
clasi'can en,
In*!ru,,)on* -r)()!)6a* o E*!ru,!ura S,un,)a#
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 13 de
34
o 1signacin
o Entrada
o )alida
In*!ru,,)on* " ",#ara,)/n
o )imple
In*!ru,,)on* " ,on!ro#
o Estructuras *ondicionales
)imple
*ompuesta
+>ltiple
o Estructuras Gepetitivas
INSTRUCCIONES PRIMITI7AS o ESTRUCTURA
SECUENCIAL
7a estructura secuencial es aquella en la que una accin
3instruccin4 sigue a otra en secuencia. 7as tareas se suceden de
tal modo que la salida de una es la entrada de la siguiente ! as
sucesivamente "asta el 'n del proceso. Bna estructura secuencial
se representa de la siguiente &orma,
1lgoritmo
1ccion1
1ccion2

1ccionH
(inPrograma
En el momento que aparecen en el programa deben ser
ejecutadas. E?isten tres tipos,
A*)$na,)/n3 7a asignacin consiste, en el paso de valores o
resultados a una $ona de la memoria. %ic"a $ona ser reconocida
con el nombre de la variable que recibe el valor. 7a asignacin se
puede clasi'car de la siguiente &orma,
o )imples, *onsiste en pasar un valor constate a una variable
3aP124
o *ontador, *onsiste en usarla como un veri'cador del numero de
veces que se reali$a un proceso 3aPaS14
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 14 de
34
o 1cumulador, *onsiste en usarla como un sumador en un proceso
3aPaSb4
o %e trabajo, %onde puede recibir el resultado de una operacin
matemtica que involucre muc"as variables 3aPcSbL2E44
1 continuacin se recoge un ejemplo de su representacin
mediante el smbolo adecuado,
En!ra"a, 7a lectura consiste en recibir desde un dispositivo de
entrada 3p.ej. el teclado4 un valor. Esta operacin se representa en
un pseudocdigo como sigue,
7eer a, b
%onde NaO ! NbO son las variables que recibirn los valores
= en representacin gr'ca,

Leer NOMB, APELL, DIRECC
Sa#)"a, *onsiste en mandar por un dispositivo de salida 3p.ej.
monitor o impresora4 un resultado o mensaje. Este proceso se
representa en un pseudocdigo como sigue,
Escribir NEl resultado es, O, G
%onde NEl resultado es,O es un mensaje que se desea
apare$ca ! G es una variable que contiene un valor.
= en representacin gr'ca,

Escribir Telfono
PROBLEMAS SECUENCIALES
18 )uponga que un individuo desea invertir su capital en un banco
! desea saber cuanto dinero ganara despus de un mes si el banco
paga a ra$n de 2U mensual.
Programa, *alculo*apital
Entorno,
*1PV5HJ, -1H
1lgoritmo,
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
)altoP)alto S
2
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 12 de
34
escribir N5ntrodu$ca el *apital 5nvertidoO
leer *1PV5HJ
-1H P *1PV5HJ L 6.62
escribir -1H
(inPrograma
48 Bn vendedor recibe un sueldo base ms un 16U e?tra por
comisin de sus ventas, el vendedor desea saber cuanto dinero
obtendr por concepto de comisiones por las tres ventas que
reali$a en el mes ! el total que recibir en el mes teniendo en
cuenta su sueldo base ! comisiones.
58 Bna tienda o&rece un descuento del 12U sobre el total de la
compra ! un cliente desea saber cuanto deber pagar 'nalmente
por su compra.
98 Bn alumno desea saber cual ser su cali'cacin 'nal en la
materia de 1lgoritmos. %ic"a cali'cacin se compone de los
siguientes porcentajes,
22U del promedio de sus tres cali'caciones parciales.
36U de la cali'cacin del e?amen 'nal.
12U de la cali'cacin de un trabajo 'nal.
:8 Bn maestro desea saber que porcentaje de "ombres ! que
porcentaje de mujeres "a! en un grupo de estudiantes.
;8 Geali$ar un algoritmo que calcule la edad de una persona a
partir de su &ec"a de nacimiento ! la actual
INSTRUCCIONES DE DECLARACIN
1 la "ora de de'nir las variables es recomendable que !a en
pseudocdigo indiquemos el tipo de esas variables. Es decir si es
numrico, al&anumrico, la longitud de caracteres, etc.
Ejemplo, variables re&erentes a datos personales
Programa, *entro9uevedo
Entorno,
H=+0GE es al&abtico de 12 caracteres
1PE775%= es al&abtico de 22 caracteres
%5GE**5WH es al&anumrico de 32 caracteres
:E7E(=H= es numrico de 16 caracteres
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 1@ de
34
1lgoritmo,
(inPrograma
INSTRUCCIONES DE CONTROL < ESTRUCTURAS
CONDICIONALES
7as estructuras condicionales comparan una variable contra
otro3s4 valor3es4, para que en base al resultado de esta
comparacin, se siga un curso de accin dentro del programa.
*abe mencionar que la comparacin se puede "acer contra otra
variable o contra una constante, seg>n se necesite. E?isten dos
tipos bsicos, las simples ! las m>ltiples.
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 1A de
34
S)(-#*, 7as estructuras condicionales simples se les conoce
como N:omas de decisinO. Estas tomas de decisin tienen la
siguiente &orma,
)5 condicin o condiciones
EH:=H*E)
accin 1
accin 2
X.
accin H
(5H)5
Do=#*, 7as estructuras condicionales dobles permiten elegir
entre dos opciones o alternativas posibles en &uncin del
cumplimiento o no de una determinada condicin. )e representa
de la siguiente &orma,
)5 condicin o condiciones
EH:=H*E)
accin 1
accin 2
X.
accin H
)5H=
accin 1Y
accin 2Y
X.
accin HY
(5H)5
%onde,
Si, 5ndica el comando de comparacin
Condicin, 5ndica la condicin a evaluar
Entonces, Precede a las acciones a reali$ar cuando se
cumple la condicin
accin(es), )on las acciones a reali$ar cuando se cumple o no
la condicin
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 1D de
34
si no, Precede a las acciones a reali$ar cuando no se cumple
la condicin
%ependiendo de si la comparacin es cierta o &alsa, se
pueden reali$ar una o mas acciones
7a representacin gr'ca sera tal ! como se muestra en la
siguiente 'gura,
%ondicin
Accin1
Accin2
Accin1&
Accin2&
''' '''
S$ !o
M1#!)-#*, 7as estructuras de comparacin m>ltiples, son tomas
de decisin especiali$adas que permiten comparar una variable
contra distintos posibles resultados, ejecutando para cada caso
una serie de instrucciones especi'cas. 7a &orma com>n es la
siguiente,
)5 Zcondicin[
EH:=H*E)
1ccin3es4
)5H=
)5 Zcondicin[
EH:=H*E)
1ccin3es4
)5H=
1ccin3es4
(5H)5
(5H)5
Es decir utili$amos estructuras condiciones dobles anidadas.
Ho obstante a veces es ms ptimo utili$ar, especialmente
cuando la variable puede tomar muc"os valores distintos, la
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 1I de
34
instruccin de control )\5:*/. En &uncin del valor que
adopta una e?presin ejecuta un conjunto de sentencias.
En Pseudocdigo sera,
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 26 de
34
)\5:*/ 3e?presin4
]
*1)E Zcondicin[PPZopcin1[
EH:=H*E)
accin 1
accin2
...
accin H
*1)E Zcondicin[PPZopcin2[
EH:=H*E)
accin 1Y
accin2Y
...
accin HY
*1)E
EH:=H*E)
accin 1YY
accin2YY
...
accin HYY
^
)u correspondiente representacin gr'ca sera,
%ondicin
E(presin
Accin1&
Accin2&
Accin1&&
Accin2&&
''' '''
)pcin 3 )pcin 2
Accin1
Accin2
'''
)pcin 1
Accin1&&&
Accin2&&&
'''
)pcin 4
%ondicin
E(presin
Accin1&
Accin2&
Accin1&&
Accin2&&
''' '''
)pcin 3 )pcin 2
Accin1
Accin2
'''
)pcin 1
Accin1&&&
Accin2&&&
'''
)pcin 4
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 21 de
34
PROBLEMAS CONDICIONALES
18 Bn "ombre desea saber cuanto dinero se genera por concepto
de intereses sobre la cantidad que tiene en inversin en el banco. l
decidir reinvertir los intereses siempre ! cuando estos e?cedan a
_A666, ! en ese caso desea saber cuanto dinero tendr 'nalmente
en su cuenta.
Programa, *alculo5ntereses
Entorno,
P=GV5H: numrico real
5H: numrico real
*1P5:17V5HJ numrico real
*1P5:17V(5H numrico real
1lgoritmo
escribir Nintrodu$ca el tipo de inters ! el capital inicial
invertidoO
leer P=GV5H:, *1P5:17V5HJ
5H: P *1PV5HJ L P=GV5H:
)5 5H: [ A666
EH:=H*E)
*1P5:17V(5H P *1PV5HJ S 5H:
escribir *1P5:17V(5H
(5H)5
(inPrograma
48 %eterminar si un alumno aprueba un curso, sabiendo que
aprobara si su promedio de tres cali'caciones es ma!or o igual a
AK repite en caso contrario.
58 En un almacn se "ace un 26U de descuento a los clientes cu!a
compra supere los 1666`8 *ual ser la cantidad que pagara una
persona por su compra<
98 Bn obrero necesita calcular su salario semanal, el cual se
obtiene de la siguiente. manera,
)i trabaja 46 "oras o menos se le paga 1@` por "ora
)i trabaja mas de 46 "oras se le paga 1@` por cada una de las
primeras 46 "oras ! 26` por cada "ora e?tra.
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 22 de
34
:8 9ue lea dos n>meros ! los imprima en &orma ascendente
;8 Bna persona en&erma, que pesa A6 Tg, se encuentra en reposo !
desea saber cuantas caloras consume su cuerpo durante todo el
tiempo que realice una misma actividad. 7as actividades que tiene
permitido reali$ar son >nicamente dormir o estar sentado en
reposo. 7os datos que tiene son que estando dormido consume
1.6D caloras por minuto ! estando sentado en reposo consume
1.@@ caloras por minuto.
>8 /acer un algoritmo que imprima el nombre de un articulo,
clave, precio original ! su precio con descuento. El descuento lo
"ace en base a la clave, si la clave es 61 el descuento es del 16U !
si la clave es 62 el descuento en del 26U 3solo e?isten dos claves4.
no?8 /acer un algoritmo que calcule el total a pagar por la
compra de camisas. )i se compran tres camisas o mas se aplica un
descuento del 26U sobre el total de la compra ! si son menos de
tres camisas un descuento del 16U
@8 Bna empresa quiere "acer una compra de varias pie$as de la
misma clase a una &abrica de automviles. 7a empresa,
dependiendo del montante total de la compra, decidir que "acer
para pagar al &abricante.
)i el montante total de la compra e?cede de 266 666` la empresa
tendr la capacidad de invertir de su propio dinero un 22U del
montante de la compra, pedir prestado al banco un 36U ! el resto
lo pagara solicitando un crdito al &abricante.
)i el montante total de la compra no e?cede de 266 666` la
empresa tendr capacidad de invertir de su propio dinero un A6U
! el restante 36U lo pagara solicitando crdito al &abricante.
El &abricante cobra por concepto de intereses un 26U sobre la
cantidad que se le pague a crdito.
1A8 7eer 2 n>merosK si son iguales que los multiplique, si el
primero es ma!or que el segundo que los reste ! si no que los
sume.
118 7eer tres n>meros di&erentes e imprimir el numero ma!or de
los tres.
148 %eterminar la cantidad de dinero que recibir un trabajador
por concepto de las "oras e?tras trabajadas en una empresa,
sabiendo que cuando las "oras de trabajo e?ceden de 46, el resto
se consideran "oras e?tras ! que estas se pagan al doble de una
"ora normal cuando no e?ceden de DK si las "oras e?tras e?ceden
de D se pagan las primeras D al doble de lo que se pagan las "oras
normales ! el resto al triple.
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 23 de
34
158 *alcular la utilidad que un trabajador recibe en el reparto
anual de utilidades si este se le asigna como un porcentaje de su
salario mensual que depende de su antigaedad en la empresa de
acuerdo con la sig. tabla,
:iempo Btilidad
+enos de 1 a#o 2 U del salario
1 a#o o mas ! menos de 2
a#os
AU del salario
2 a#os o mas ! menos de
2 a#os
16U del salario
2 a#os o mas ! menos de
16 a#os
12U del salario
16 a#os o mas 26U del salario
Programa, *alculo)alario
Entorno,
)171G5=V+E) numrico real
1H:5-bE%1% numrico entero
B:575%1% numrico real
1lgoritmo
escribir N5ntroducir salario mensual ! antigaedadO
leer )171G5=V+E), 1H:5-bE%1%
)5 1H:5-bE%1% Z 1
EH:=H*E)
B:575%1% P )171G5=V+E) L 6.62
)5H=
)5 31H:5-bE%1% [ P 14 and 31H:5-bE1% Z 24
EH:=H*E)
B:575%1%P )171G5=V+E) L 6.6A
)5H=
)5 31H:5-bE%1% [ P 24 and
31H:5-bE%1% Z 24
EH:=H*E)
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 24 de
34
B:575%1% P )171G5=V+E) L
6.16
)5H=
)5 31H:5-bE%1%[P24 and
31H:5-bE%1% Z 164
EH:=H*E)
B:575%1% P
)171G5=V+E) L 6.12
)5H=
B:575%1% P )171G5=V+E) L
6.26
(5H)5
(5H)5
(5H)5
(5H)5
imprimir B:575%1%
(inPrograma
198 En una tienda de descuento se e&ect>a una promocin en la
cual se "ace un descuento sobre el valor de la compra total seg>n
el color de la bolita que el cliente saque al pagar en caja. )i la
bolita es de color blanco no se le "ar descuento alguno, si es
verde se le "ar un 16U de descuento, si es amarilla un 22U, si es
a$ul un 26U ! si es roja un 166U. %eterminar la cantidad 'nal que
el cliente deber pagar por su compra. se sabe que solo "a! bolitas
de los colores mencionados.
1:8 El 5+)) requiere clasi'car a las personas que se jubilaran en
el a#o de 1IIA. E?isten tres tipos de jubilaciones, por edad, por
antigaedad joven ! por antigaedad adulta. 7as personas adscritas
a la jubilacin por edad deben tener @6 a#os o mas ! una
antigaedad en su empleo de menos de 22 a#os. 7as personas
adscritas a la jubilacin por antigaedad joven deben tener menos
de @6 a#os ! una antigaedad en su empleo de 22 a#os o ms.
7as personas adscritas a la jubilacin por antigaedad adulta deben
tener @6 a#os o mas ! una antigaedad en su empleo de 22 a#os o
mas. %eterminar en que tipo de jubilacin, quedara adscrita una
persona.
1;8 Geali$ar un pseudocdigo que permita visuali$ar un mensaje
dependiendo de la tecla que pulsemos,
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 22 de
34
+EHc PG5H*5P17
1.F PG=*E)1%=G %E :Ed:=)
2.F /=e1 %E *M7*B7=
3.F 01)E %E %1:=)
5ntrodu$ca una opcin....
Programa, +EHB
Entorno,
=P*5=H numrica entera
1lgoritmo,
leer =P*5=H
)\5:*/ 3=P*5=H4
]
*1)E 3=P*5=HP14 EH:=H*E)
escribir NPG=*E)1%=G %E :Ed:=)O
*1)E 3=P*5=HP24 EH:=H*E)
escribir N/=e1 %E *M7*B7=O
*1)E 3=P*5=HP34 EH:=H*E)
escribir N01)E %E %1:=)O
)5H= escribir N71 :E*71 PB7)1%1 E) EGGWHE1O
}
(inPrograma
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 2@ de
34
INSTRUCCIONES DE CONTROL < ESTRUCTURAS
REPETITI7AS
7a instruccin de control repetitiva consiste en una serie de
operaciones que pueden repetirse varias veces. Para conseguir
que una instruccin de control repetitiva no sea in'nita, es
necesario dotarla de una terminacin. 1tendiendo a la estructura
de una instruccin de control repetitiva, su repeticin ! su
terminacin se clasi'can en,
M)n!ra* BCD)#8. Permite repetir una parte de la estructura
mientras se cumple una condicin. El n>mero de repeticiones
queda determinado por una condicin que se debe veri'car
an!* " ,a"a r-!),)/n. El valor de esta repeticin oscila
entre A ! )nEn)!o.
Inicio
Parte o
%"erpo
*"cle
S$
!o
%ondicin
P*u"o,/")$o3
+5EH:G1) condicin
)entencias
(5H+5EH:G1)
Do For. :ras evaluar la condicin, si se cumple se repite una
parte de esta estructura un n>mero determinado de veces
3limitado4. El valor de esta repeticin oscila entre A ! un n>mero
En)!o de veces
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 2A de
34
Parte o
%"erpo
*"cle
+c,+i
S$
!o
+c -aria.le control
+i -alor Inicial
+f -alor Final
/ Incremento o
Decremento a aplicar
en cada 0"elta
+c,+c1/
%ondicin
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 2D de
34
P*u"o,/")$o3
P1G1 di, d&, f
)entencias
(5HP1G1
Do CD)#. Permite repetir una parte de la estructura mientras se
cumple una condicin que es evaluada a# Ena# "# ()*(o.
Permite repetir una parte de la estructura mientras se cumple
una condicin. El n>mero de repeticiones queda determinado por
una condicin que se debe veri'car tras ,a"a r-!),)/n.El
valor de esta repeticin oscila entre 1 ! )nEn)!o. 1 di&erencia de
\"ile ! (or siempre se ejecuta una ve$ el bucle
Inicio
Parte o
%"erpo
*"cle
S$
!o
%ondicin
P*u"o,/")$o,
GEPE:5G
)entencias
+5EH:G1) *=H%5*5WH
(5HGEPE:5G
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 2I de
34
PROBLEMAS ESTRUCTURAS REPETITI7AS
1. Hos encontramos en la sesin de evaluacin en el *iclo de
+arTeting ! )istemas 5n&ormticos. )e pide reali$ar el
pseudocdigo que calcula cuntas notas estn aprobadas de una
lista de 26 notas. En la normativa de los nuevos ciclos no e?iste la
posibilidad de n>meros decimales 3CONTADOR4
Programa, Hotas
Entorno,
HB+EG=V17B+H=) numrico entera LLcontador
1PG=0 numrico entero LLcontador de aprobados
H=:1 numrica entera
1lgoritmo,
FFOPCIN 1
HB+EG=V17B+H=) P 6
1PG=0 P 6
+5EH:G1) HB+EG=V17B+H=) Z26
HB+EG=V17B+H=) P HB+EG=V17B+H=) S1
leer H=:1
)5 H=:1 [ 2
EH:=H*E)
1PG=0P1PG=0S1
(5H)5
(5H+5EH:G1)
escribir 1PG=0
(inPrograma
FFOPCIN 4
1PG=0P6
(=G 3HB+EG=V17B+H=)P6K HB+EG=V17B+H=)Z26K
HB+EG=V17B+H=)SS4
leer H=:1
)5 H=:1 [ 2
EH:=H*E)
1PG=0P1PG=0S1
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 36 de
34
(5H)5
(5H(=G
escribir 1PG=0
(inPrograma
FFOPCIN 5
HB+EG=V17B+H=) P 6
1PG=0 P 6
GEPE:5G
HB+EG=V17B+H=) P HB+EG=V17B+H=) S1
leer H=:1
)5 H=:1 [ 2
EH:=H*E)
1PG=0P1PG=0S1
(5H)5
+5EH:G1) HB+EG=V17B+H=) Z26
(5HGEPE:5G
escribir 1PG=0
(inPrograma
2. Geali$ar el pseudocdigo que permita obtener la suma ! el
producto de los 326 primeros cdigos de las &acturas de una
empresa dedicada a la venta de muebles 31*B+B71%=GE)4
Programa, &acturas
Entorno,
)B+1 numrica entera
PG=% numrica entera
(1*:BG1 numrica entera
1lgoritmo,
FFOPCIN 1
)B+1 P 6
PG=% P 1
(1*:BG1 P6
+5EH:G1) (1*:BG1 Z326
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 31 de
34
(1*:BG1 P (1*:BG1 S1
)B+1 P )B+1 S (1*:BG1
PG=%B*:= P PG=%B*:= L (1*:BG1
(5H+5EH:G1)
escribir )B+1, PG=%B*:=
(inPrograma
FFOPCIN 4
)B+1 P 6
PG=% P 1
(=G 3(1*:BG1P6K (1*:BG1Z326K (1*:BG1SS4
)B+1 P )B+1 S(1*:BG1
PG=%B*:= P PG=%B*:=L(1*:BG1
(5H(=G
escribir )B+1, PG=%B*:=
(inPrograma
FFOPCIN 5
)B+1 P 6
PG=% P 1
(1*:BG1 P6
GEPE:5G
)B+1 P )B+1 S(1*:BG1
PG=%B*:= P PG=%B*:=L(1*:BG1
(1*:BG1 P (1*:BG1S1
+5EH:G1) (1*:BG1 Z326
(5HGEPE:5G
escribir )B+1, PG=%B*:=
(inPrograma
3. *alcular el promedio de un alumno que tiene A notas parciales en
la materia de %ise#o Estructurado de 1lgoritmos
4. 7eer 16 n>meros e imprimir su cubo ! su cuarta
secuencialmente.
2. 7eer 16 n>meros e imprimir solamente los n>meros positivos
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 32 de
34
@. 7eer 26 n>meros e imprimir cuantos son positivos, cuantos
negativos ! cuantos Heutros
A. 7eer 12 n>meros negativos ! convertirlos a positivos e imprimir
dic"os n>meros.
D. )uponga que se tiene un conjunto de cali'caciones de un grupo
de 46 alumnos. Geali$ar un algoritmo para calcular la cali'cacin
media ! la cali'cacin ms baja de todo el grupo.
I. *alcular e imprimir la tabla de multiplicar de un n>mero
cualquiera. 5mprimir el multiplicando, el multiplicador ! el
producto.
16. Geali$ar el pseudocdigo que permite obtener la siguiente
salida por pantalla
16 I D A @ 2 4 3 2 1
I D A @ 2 4 3 2 1
D A @ 2 4 3 2 1
A @ 2 4 3 2 1
@ 2 4 3 2 1
2 4 3 2 1
4 3 2 1
3 2 1
2 1
1
Hota, considere que e?iste la &uncin Nescribir )17:=V7gHE1O que
permite dejar la lnea sin terminar de escribir ! saltar a la
siguiente lnea
Btilice la Estructura Gepetitiva /a$ +ientras 3\"ile4, (=G,
Gepetir /asta 3%o \"ile4
11. Geali$ar el pseudocdigo que permita obtener el &actorial
de un n>mero cualquiera. Por ejemplo el &actorial de @ se
consigue aplicando la siguiente &rmula,
HhP HL3HF14L3HF24L...
@h P @L2L4L3L2L1PA26
12. )imular el comportamiento de un reloj digital, imprimiendo
la "ora, minutos ! segundos de un da desde las 6,66,66 "oras
"asta las 23,2I,2I "oras
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 33 de
34
2.3. TCNICAS DE PROGRAMACIN
2.3.1. P%-$%#&#."/1 .-14)1."-1#*
1nte cualquier problema debemos seguir los siguientes pasos,
anlisis del problema, dise#o del algoritmo ! resolucin a travs
de un computador. Estos tres pasos constitu!en la programacin
convencional, imprimiendo en ella objetivos tales como la
concrecin, la legibilidad, la depuracin de errores ! la &acilidad
en la modi'cacin.
7a di'cultad de la etapa del mantenimiento en el ciclo de vida de
un programa surge a la "ora de modi'car ! veri'car el programa
elaborado durante las anteriores etapas. Pero esto todava se
incrementa cuando la tcnica utili$ada es la programacin
convencional. 7a tcnica utili$ada era la &ormacin de bucles !
rutinas entreme$cladas que se llamaban unas a otras, !
conseguan el correcto &uncionamiento a costa del consumo de
recursos, la escase$ econmica, etc.
7a -ro$ra(a,)/n ,on6n,)ona# lleva implcita poca claridad, !
como consecuencia falta de fabilidad, sobre todo cuando el
algoritmo planteado es grande o complejo
2.3.2. P%-$%#&#."/1 )'0%+.0+%#(#
*omo consecuencia de estos problemas aparece a principios de los
setenta un nuevo concepto de programacin, la programacin
estructurada 3pro&esor %ijTstra4. *onsiste en una tcnica
constructiva de programas basada en un conjunto de reglas que
persiguen coordinar las diferentes etapas de la programacin,
utiliando para ello estructuras espec!fcas " optimiando los
recursos lgicos " f!sicos de cada lenguaje de programacin. Esta
metodologa de trabajo solventa los costes producidos ! mejora la
productividad del equipo de pro!ecto.
El mtodo ms clsico dentro de esta programacin es el mtodo
\arnier basado en una organi$acin lgica de conjuntos Ho
obstante sea cual &uere el tipo de mtodo utili$ado esta
metodologa requiere adaptarse a ciertas reglas que se e?ponen en
los siguientes temas.
En esta metodologa las tres estructuras de control son la selectiva
o condicional, la repetitiva ! secuencial.
/o! en da las aplicaciones in&ormticas son muc"o ms
ambiciosas que las necesidades de programacin e?istentes en los
a#os 1I@6, principalmente debido a las aplicaciones gr'cas, por
lo que las tcnicas de programacin estructurada no son
DESARROLLO DE APLICACIONES MULTIPLATAFORMA
PROGRAMACIN
UNIDAD DE TRABAJO 1. METODOLOGA DE LA PROGRAMACIN
Pg. 34 de
34
su'cientes. Ello "a llevado al desarrollo de nuevas tcnicas, tales
como la -ro$ra(a,)/n or)n!a"a a o=0!o* + # "*arro##o "
n!orno* " -ro$ra(a,)/n que &acilitan la programacin de
grandes aplicaciones.
2.3.3. P%-$%#&#."/1 &-(+*#%
El concepto bsico de programacin modular consiste en la
divisin de un complejo programa en varios programas sencillos.
Estos programas sencillos reciben el nombre de mdulos ! son
independientes. 7as &unciones de estos programas sencillos e
independientes no inter'eren en el &uncionamiento de otros
programas. Estos mdulos pueden ejecutarse uno a continuacin
de otros o pueden ser llamados en momentos determinados para
su ejecucin.
Esta metodologa se basa en el modelo descendente llamado :opF
do.n ! consiste en ir descomprimiendo un problema original en
subproblemas ms peque#os solucionando cada uno de los
subproblemas por separado ! una ve$ solucionado enla$a todos
estas soluciones del problema original
2.5. PROGRAMA SCRATCH6 ALICE 7 BOB
DESARROLLO DE APLICACIONES MULTIPLATAFORMA