Documente Academic
Documente Profesional
Documente Cultură
METODOLOGIA DE LA
PROGRAMACION
CCT15PBT176
8W
CCT15PBT176
8W
Tercera semana
3.1 estructuras repetitivas
3.1.1 contadores
3.1.2 acumuladores
3.1.3 bifurcaciones
3.2 diagrama desde (for o dofor)
3.2.1 utilidad y procedimiento
3.2.2 simbologa de flujo (decisin)
3.2.3 ejemplos y ejercicios
3.2.4 prueba de escritorio
3.3. Diagramas mientras (while o dowhile)
3.3.1 utilidad y procedimiento
3.3.2 simbologa de flujo (decisin)
3.3.3 ejemplos y ejercicios
3.3.4 prueba de escritorio
3.4. Diagramas repetir (repeat o dountil)
3.4.1 utilidad y procedimiento
3.4.2 simbologa de flujo (decisin)
3.4.3 ejemplos y ejercicios
3.4.4 prueba de escritorio
Cuarta semana
nota: pendiente no quedamos en acuerdo del programa que vamos a
utilizar para crear los diagramas.
Quinta semana
5.1 estructuras de datos
5.1.1 seudocdigos
5.2 programacin modular
5.2.1 introduccin
5.3 programacin estructurada
5.3.1 introduccin
5.4 mtodos de programacin estructurada
INTRODUCCION A LA DIAGRAMACION.
La iniciacin a la programacin suele ser casi siempre
problemtica: unas veces por la carencia de conocimientos
informticos del alumno y otras por la escasez de tiempo lectivo
que obliga a iniciarse en el lenguaje de programacin elegido a
la mayor brevedad posible. Por suerte, la mayora; si no en
todos los centros escolares a nivel de enseanza media,
formacin profesional y naturalmente universitaria han
introducido o estn introduciendo en sus planes de estudios,
asignaturas de metodologa o introduccin a la programacin cuya
profundidad evidentemente estar en consonancia con el nivel del
alumno.
Esta obra est dirigida a todos aquellos que por alguna razn
necesitan solucionar problemas de tipo algortmico, aplicando
razonamiento basado en la lgica. Fundamentalmente para que los
alumnos apliquen un razonamiento sistemtico, basado en la
lgica, para resolver problemas de tipo algortmico,
independientemente de un lenguaje de programacin.
CONCEPTOS GENERALES
Programa: se le denomina a un conjunto o serie de instrucciones
escritas en forma lgica para llevar a cabo una tarea especfica
a travs un lenguaje de programacin.
Proceso: es una accin que se puede descomponer en otras ms
simples o tambin conjunto de fenmenos organizados en el tiempo
y concebidos como activo. Se le considera un proceso como un
conjunto de acciones elementales que forma un acontecimiento.
Ejemplo tpico de proceso: un cocinero elabora un plato de
cocina (por ejemplo, un estofado de carne para 6 personas)
Las acciones a seguir son: calentar el aceite, frer la carne,
poner condimentos. Etc.
PROBLEMA
ANALISIS
PROFUNDO
DEL
PROBLEMA
ETAPA
1
CONSTRUCCIO
N DEL
AGORITMO
ETAPA 2
VERIFICACIO
DEL
ALGORITMO
ETAPA
ALGORITMO
DATOS DE
ENTRADA
MODULO
1
PROCESAMIENT
O DE LOS
DATOS
MODULO
2
IMPRESION DE
RESULTADOS
MODULO
3
algoritmo
datos
de
Mdulo 1
entrada
procesamie
Mdulo 2
nto
de los datos
impresion
Mdulo 3
de
resultados
Identificador
Dato estructurado
Los enteros son nmeros que pueden estar precedidos del signo +
o -, y que no tienen parte decimal. Por ejemplo: -120
1528
-714 7856.
Los reales son nmeros que pueden estar precedidos del signo
o -, y que tienen una parte decimal. Por ejemplo: 7.5 128.0
-37.865 -1.5.
`B
`$
`9
`-
`#
IDENTIFCADOR
NUM
DATO 5
Memo
N.REAL
COSTO
7.25
8.69
IDENTIFICADOR
X
SUMA 0
TOTAL
0
COSTO
(a)
Toma de datos: el analista o programador deber recibir
una descripcin clara y detallada de la aplicacin que debe
desarrollar y en caso de no percibir suficiente informacin,
debe solicitarla en la medida necesaria para el desarrollo
de su trabajo.
(b)
Modularizacion: Esta fase consiste en la descomposicin
sucesiva del problema en mdulos o subproblemas cada vez ms
concretos y detallados.
Estos mdulos normalmente se programaran y desarrollaran
independientemente y luego se enlazaran.
(c)
Representacin grfica de las operaciones a realizar:
En esta etapa se realizara una representacin grfica clara
y detallada que refleje la secuencia en que deben ser
ejecutadas las diferentes operaciones por la mquina. Estas
representaciones graficas son las herramientas utilizadas
para el anlisis de la programacin. Se clasifican en tres
grandes bloques: diagramas de flujo u organigramas,
Pseudocdigos y tablas de decisin.
(d)
Codificacin en un lenguaje de programacin: Una vez
que el diagrama de flujo o el algoritmo de resolucin del
problema est ya definido se pasa a la fase de codificacin
del programa en el lenguaje elegido y la obtencin del
programa de fuente.
(e)
Preparacin de un conjunto de datos: Es necesario un
conjunto de datos que permitan probar el programa cuando se
ejecute.
(f)
Ejecucin y correccin de errores del programa: Segn
sea el tipo de lenguaje elegido as realizaran las
diferentes fases de la traduccin del programa a lenguaje o
cdigo ,maquina (programa objeto)
(g)
Puesta a punto final del programa: El programa se
considera terminado cuando se la han realizado a pruebas, y
ensayada a su fiabilidad con los conjuntos de datos
seleccionados y otros nuevos que se quieran elegir y no se
encuentra errores de ningn tipo.
(h)
documentacin de programa: La documentacin de un
programa es todo el material escrito que se ha ido
produciendo simultneamente a la elaboracin del programa.
La apuesta a punto final del programa debe ir siempre igual
con la documentacin del mismo.
la
en
en
lugar
de
Fin
No valido
PSEUDOCODIGO
Valido
Ejercicios.
Construye un diagrama de flujo que permita reflejar la manera de cmo obtener el rea de un
tringulo, debe mostrar en pantalla el rea de triangulo.
INICIO
BASE, ALTURA,
AREA, Y
Y=BASE * ALTURA
AREA=Y/2
AREA
FIN
Se integra como dato el nmero de credencial, el nombre del alumno y 5 calificaciones obtenidas en el
semestre. Construye un diagrama de flujo que muestre la forma de cmo obtener el promedio general,
imprimir dicho promedio, el nmero de credencial y el nombre del alumno.
INICIO
Suma=
cal1+cal2+cal3+cal4+cal
5
Promedio= suma/5
Promedio, nombre y
crede
Fin
Construye un diagrama de flujo que muestre la forma de cmo calcular el permetro y la superficie de un
rectngulo, debe mostrar en la pantalla el rea y el permetro de la figura.
Inicio
y=base + altura
Permetro= y x 2
rea y permetro
Inicio
Construye un diagrama de flujo que muestre la forma de cmo obtener el sueldo base de x trabajador, tomando en
cuenta el sueldo diario y los das trabajados. Debe mostrar en pantalla el sueldo base.
Inicio
Base= sdiario x
dtraba
Base
Fin
En un Super mercado se obtiene el pago neto de 5 ventas realizadas, a la suma de estas 5 ventas se le agrega el 5%
de descuento que se aplica al total de las ventas. Debe mostrar en pantalla el subtotal y el total de las ventas. Debe
construir un diagrama de flujo que muestre la forma de cmo solucionar el problema.
incio
Sub=v1+v2+v3+v4+
v5
Des=sub x 0.05
Inicio
DIAGRAMAS SELECTIVAS.
Los diagramas selectivos se encuentran en la mayora de la
solucin algortmica de casi todo tipo de problemas. Las
utilizamos cuando en el desarrollo de la solucin de un problema
debemos tomar una decisin, para establecer un proceso o sealar
un camino alternativo a seguir.
Esta toma de decisin se (expresa en un rombo), se basa en la
evaluacin de una o ms condiciones que nos sealaran como
alternativa o consecuencia la rama a seguir.
Las estructuras de diagramas selectivas que se utilizan para la
toma de decisiones lgicas, se clasifican de la siguiente
manera.
1.- si entonces (estructura simple)
2.- si entonces si no (estructura doble)
3.- si mltiple (estructura casos)
Diagrama si entonces:
La estructura si entonces (if then), es un caso particular de si
entonces si no y significa si la condicin es verdadera
entonces hacer una o varias acciones; en caso contrario no hacer
nada.
Condicin
Si condicin
Proceso
Entonces
Acciones
Fin_ si
Ejercicios.
En una empresa deciden realizar un incremento de salarios para todos aquellos trabajadores que
perciban menos de 1000 pesos como sueldo base, el incremento se har del 10% en este caso
debe mostrar en pantalla el nuevo sueldo de trabajador.
inicio
Incre= sueldo x
0.10
Falso
Nsuel= sueldo +
incre
Nsuel
Fin
inicio
Y= cal1+cal2+cal3
Prome= y / 3
Prome > = 7
Prome,
promovido
Fin
Inicio
SI A > 0
POSITIVO
FIN
UN CLIENTE REALIZA UNA COMPRA, SI LA COMPRA DEL ARTICULO ES MAYOR A $500, APLICAR UN DESCUENTO DEL
5%. DEBE MOSTAR EN PANTALLA EL SUBTOTAL, EL TOTAL Y EL ARTCULO.
W = PRE
X = NOMBRE
INICIO
W, DESC, SUBT,
TOTAL, X
SI W > 500
VERDADERO
DESC =W + 0.05
TOTAL = W - DESC
FALSO
X, SUBT. TOTAL
FIN
Condicin
Procesos
Procesos
SI condicin entonces
Accin A
Sino
Accin B
Fin_ si
EJERCICIOS.
EN UN ESTACIONAMIENTO SE COBRA $ 15.00 LA HORA DEL SEVICIO DE ESTACIONAMIENTO. SI LOS USUARIOS
SUPERAN LA HORA SE LES HACE UN COBRO ADICIONAL DE $ 5.00 POR HORA. DEBE IMPRIMIR EN PANTALLA LA
CNTIDA QUE DEBE PAGAR POR EL SERVICIO DE ESTACIONAMIENTO.
INICIO
SI TIEMPO = 1 HORA
15 PESOS
CUOTA = 5 + y
COBRA =y > 15
TOTAL = COBRA +
CUOTA
TOTAL
FIN
SALARIO, INCRE,
SUELDO
INCRE = SALARIO
*0.15
INCRE = SALARIO
*0.07
N SUELDO = SALARIO
+INCRE
N SUELDO = SALARIO +
INCRE
N SUELDO
N SUELDO
FIN
UNA LLANTERA REALIZA LAA SIGUIENTE PROMOCION SI LA COMPRA DE MAS DE 2 LLANTAS APLICA UN DESCUENTO
DEL 9% AL TOTAL, SI ES MENOR DE 2 NO APLICA DESCUENTO. DEBE MOSTRAR EL PAGO Y EL PORCENTAJE DE
DESCUENTO.
INICIO
COMPRA,DESC
NLLANTA Y,X,Z
SI N LLANTA>2
PAGO = Y Z
X=Y*Z
DESC = X * 0.09
PAGO
P
PAGO = X - DESC
PAGO, 9 %
FIN
Selector
Accin 2
Accin 1
Accin N
Accin N + 1
EJERCICIOS.
En una empresa deciden realizar un incremento de salarios basndose a la categora del trabajado r. para presentar este diagrama se
proporciona la siguiente tabla.
CATEGORIA
INCREMENTO
1
2
3
4
15%
12%
10%
9%
INICIO
CATEGO, INCRE,
SALARIO, N SUELDO
CATEGO
INCRE = SALARIO *
0.015
N SUELDO =INCRE
+ SALA
CATEG 1, N
SUELDO
INCRE = SALARIO
0.12
N SUELDO =INCRE
+ SALARIO
CATEG 2, N SUELDO
INCRE = SALARIO *
0.10
N SUELDO = INCRE
+ SALARIO
CATEG 3, N
SUELDO
INCRE = SALARIO *
0.09
N SUELDO = INCRE
+ SALARIO
CATEG 4, N SUELDO
FIN
CANTIDAD
1
2
3
4
DESCUENTO
2%
5%
7%
10%
INICIO
Cantidad, desc,
compra, subt, total
Cantidad
Desc=compra x
0.02
Desc=compra x
0.05
Desc=compra x
0.07
Total=compra desc
FIN
Desc=compra x
0.10
INICIO
Estacin
Primavera
Otoo
Verano
Invierno
FIN
Estructuras algortmicas
repetitivas
CONTADORES
I = 3
P = 5
I = I + 1
P = P + 1
N=0
SI
SALIDA DEL
BUCLE
N = 11
NO
ACCION 1
ACCION 2
N=N+1
ACUMULADORES
INICIO
N=0
LECTURA DE:
D (DATO)
N=N+D
IMPRESIN DE:
N
LECTURA DE:
OP
SI OP = S
NO
FIN
BIFURCACIONES
Condicional
Incondicional
ACCION A1
ACCION
A1
Salto
positivo
ACCION A2
Salto
negativo
ACCION A2
ACCION
ACCION AN
ACCION AN
En los apartados anteriores hemos visto cmo utilizar if-then-else y el bucle que
genera para crear caminos alternativos en el clculo. En ocasiones, es
conveniente una estructura con una larga y controvertida historia, la sentencia o
estructura goto.
En un programa sin bucles o estructuras IF, las estructuras el programa- se
ejecutan en secuencia y se dice que el flujo es normal. A veces, se rompe el
flujo normal por la transferencia o bifurcacin a otra instruccin que no est en
secuencia, como es el caso de los bucles, o bien, transfiriendo el control
directamente a alguna instruccin especifica. Para expresar este caso se
necesitan: (1) una estructura para ejecutar la transferencia de control y (2) un
medio de referencia de esta estructura en el programa. Este segundo requisito se
satisface permitiendo que la instruccin sean numeradas o etiquetadas con
palabras.
El primer requisito es la estructura GOTO (goto).
GOTO
Es una estructura (enunciado simple lo denominado Wirth, el padre del pascal)Que
indica que el proceso adicional debe continuarse en alguna otra parte del
programa.
El formato de la estructura GOTO (ir a) es:
GOTO
GOTO numero de
lnea
ESTRUCTURAS REPETITIVAS
E
s muy comn encontrar en los algoritmos operaciones que se deben ejecutar un
nmero repetido de veces. Si bien las instrucciones son las mismas, los datos
sobre los que se opera varan. El conjunto de instrucciones que se ejecuta
repetidamente se llaman ciclo.
Todo ciclo debe terminar de ejecutarse luego de un nmero finito de veces, por lo
que es necesario en cada interacion del mismo, evaluar las condiciones necesarias
para decidir si debe seguir ejecutndose o debe detenerse. En todo el ciclo,
siempre debe existir una condicin de parada o fin de ciclo.
En algunos algoritmos podemos establecer la prioridad para que el ciclo se repita
un nmero definido de veces que ha de ejecutarse el ciclo, si no que este nmero
depender de las proposiciones dentro del mismo. Llamaremos repetir a la
estructura algortmica repetitiva que se ejecuta un nmero definido de veces.
Por otra parte, en algunos algoritmos no podemos establecer la prioridad en el
sentido del nmero de veces que a de ejecutarse el ciclo, si no que este nmero
depender de las proposiciones dentro del ciclo. Llamaremos mientras a la
estructura algortmica repetitiva que se ejecuta mientras la condicin evaluada
resulta verdadera.
Una tcnica muy potente, fundamental en toda programacin, es la construccin y
uso de bucles o lazos para implementar acciones que se deben ejecutar
repetidamente. La base de esta tcnica es hacerla posible mediante una secuencia
de instrucciones que se ejecutan una y otra vez evitando la necesidad de copias
sucesivas de cada repeticin de acciones.
Las tres estructuras repetitivas mas importantes son:
Desde (FOR o bien DOFOR)
Mientras (WHILE o bien DOWHILE)
Repetir (REPEAT o bien DOUNTIL)
Un bucle o lazo es un conjunto de instrucciones que se repiten un nmero
determinado/indeterminado de veces hasta que se cumple una condicin especifica.
Estructura mientras (WHILE o DOWHILE)
La condicin est situada al principio del bucle y las instrucciones interiores
al bucle se repetirn mientras sea cierta la condicin.
ACCION
CONDICI
CONDICIO
ACCIONES
MIENTRAS
CONDICION
WHILE CONDICION
DO
DO WHILE CONDICION
ACCIONES
ACCIONES
END DO
FIN_MIENTRAS
END DO
ACCIONES
NOTRA: Las acciones del interior del bucle pueden no realizarse si la condicin
no se cumple la primera vez que se comprueba o se ejecuta mientras.
EJEMPLO 1: Supongamos que debemos obtener la suma de los gastos que hicimos en
nuestro ltimo viaje, pero no sabemos exactamente cuntos fueron. Los datos son
expresados en forma:
Datos:
Dnde:
,
SUMGAS=
GASTO
GASTO <>
-1
NO
SI
SUMGAS =
SUMGAS
+ GASTO
GASTO
SUMA_GASTOS
SUMGAS
FIN
1. Hacer SUMGAS = 0
2. Leer GASTO