Anda di halaman 1dari 99

CAP.

II
FUNDAMENTOS DE
PROGRAMACIN
Ing. Francisco Javier Camacho Caldern

SUCRE - BOLIVIA
1
INTRODUCCIN
Partimos de:
LAS COMPUTADORAS NO SABEN
HACER NADA
Excepto algunas operaciones sencillas
programadas electrnicamente
Se dispone de circuitos para
realizarlas.

2
OPERACIONES SENCILLAS
Aritmticas. + , - * , /, %.
Relacionales. == , > , <
<=, >=, !=, ===, !==
Lgicas. Y (AND) Suma lgica
O (OR) Producto lgico
NO (NOT) Negacin lgica.
Operaciones de Flujo de Informacin.
Escritura (Almacenamiento) de un bit
Lectura (Recuperacin)dato. 3
INTRODUCCIN
Para que una computadora pueda
realizar otras operaciones, se necesita
ensearle, indicarle, comunicarle como
realizar dichas operaciones, combinando
adecuadamente las operaciones bsicas.
Se requiere disear, escribir
Programas.
Cualquier operacin mas o menos
compleja realizar combinando
operaciones bsicas.
Estudiaremos como podemos hacer4
RESOLVER PROBLEMAS CON
COMPUTADORA
METODOLOGA
Elaborar un programa para resolver un
problema Ejecutar varios pasos:
1. Determinar el Problema.
2. Estructurar el Modelo Matemtico y
Lgico.
3. Plantear un Algoritmo de Solucin.
4. Codificar el Algoritmo.
No es nica pero proceso ordenado y
sistemtico optimiza esfuerzo y tiempo.
5
MET. 1- DETERMINAR EL PROBLEMA
Quizs es el ms importante.
Comprender el Problema especificar
con claridad y precisin el Problema.
Definir el Objetivo del programa.
Resolver problemas con la computadora
Hacer programas No interesan
valores
Interesa que representan, su significado,
los conceptos
6
MET. 1- DETERMINAR EL PROBLEMA
Especificacin precisa del problema
Identificar tres elementos importantes:
1. Qu informacin se conoce.
2. Qu informacin se busca.
De un anlisis del problema. Es fcil
determinar datos e incgnitas del
mismo.
3. Bajo qu condiciones. Suele ser
complejo. Supone conocer y
comprender el entorno del problema, la
ciencia involucrada 7
MET. 1- DETERMINAR EL PROBLEMA
No tiene sentido un programa para un
problema muy especfico.
Debemos considerar el esfuerzo de
disear el programa.
No se justifica para usarlo una sola vez
Enunciado Conceptual Generalizado
que debe incluir los tres elementos.

8
MET. 1- DETERMINAR EL PROBLEMA
Ej. Determinar la suma de 3 y de 4.
Un programa que sume 3 y 4 no tiene
sentido.
La primera vez ya conoceramos el
resultado (7)
No se vuelve a utilizar, siempre da el
mismo resultado.
Mucho esfuerzo para una sola vez.

9
MET. 1- DETERMINAR EL PROBLEMA
Sin embargo, si analizamos el problema,
podemos identificar lo siguiente:
1. Qu se conoce: 3 y 4. Los sumandos.
En general dos nmeros A y B.
2. Qu se busca: El valor de la suma. Otro
nmero C, igual a la suma de A y B.
3. Condiciones: Problema simple de
aritmtica suma de dos nmeros
reales. No podemos asegurar que A y B
sean siempre enteros positivos.
10
MET. 1- DETERMINAR EL PROBLEMA
Ej. Resolver el siguiente problema de fsica:
Una pelota se lanza verticalmente hacia
arriba desde el suelo y un estudiante que
mira desde una ventana a una altura de
8 m la ve pasar por delante con una
velocidad de 4 m/s. Qu altura max.
alcanza la pelota? Qu tiempo emple en
subir de la ventana al punto ms alto?
Cul es la veloc. y la aceleracin de la
pelota luego de 2 s de ser lanzada?
[Sears F. Fsica I, pg 74]. 11
MET. 1- DETERMINAR EL PROBLEMA
Ej. (Cont.).
Se conoce un punto (h, v).
Pelota lanzada vo (desconocida pero
se puede calcular).
Direccin vertical hacia arriba, esta en
MUA.
a = gravedad conocida, aunque no
citada.
Aceleracin opuesta al mov. Pto.
ms alto definido por v = 0. 12
MET. 1- DETERMINAR EL PROBLEMA
Ej. (Cont.).
Se desea conocer altura mx. y tiempo
entre Pto. conocido y punto ms alto.
Se desea conocer velocidad y
aceleracin luego de un tiempo
despus del lanzamiento.
conocer su vo (se puede calcular) y a
(conocida).

13
MET. 1- DETERMINAR EL PROBLEMA
v=0

t
H
v

v1, a1;
t1
h

vo

14
MET. 1- DETERMINAR EL PROBLEMA
Un enunciado ms conceptual y general:
Calcular la altura mxima que alcanza un
objeto lanzado verticalmente hacia arriba
desde el suelo, si al pasar por un punto
de altura (h) tiene una velocidad (v).
Calcular tambin el tiempo que tarda en
llegar desde dicho punto hasta el punto
ms alto de su trayectoria, adems su
velocidad y aceleracin cuando ha
transcurrido un tiempo (td) despus de
ser lanzado. 15
MET. 1- DETERMINAR EL PROBLEMA
Enunciado el problema se puede definir el
objetivo, que podra enunciarse como:
Hacer un algoritmo que lea la altura y
velocidad de un objeto en un punto de
observacin, adems lea un tiempo de
movimiento del mismo y calcule la altura
mxima que alcanza, el tiempo que le
toma llegar del punto de observacin al
punto ms alto de su trayectoria, y
adems calcule la velocidad y aceleracin
al cabo del tiempo de movimiento
especificado, si el objeto ha sido lanzado
verticalmente hacia arriba. 16
ESTRUCTURAR EL MODELO
MET. 2 -
MATEMTICO Y LGICO (MML)
Comprendido y Especificado el Problema
Expresarlo a travs de un Modelo
Matemtico y Lgico (MML)
Uso de la matemtica y de las ciencias
Investigar si es necesario.

17
ESTRUCTURAR EL MODELO
MET. 2 -
MATEMTICO Y LGICO (MML)
Permite resolver el problema e incluye:
Ecs. matemticas (algebraicas y
diferenciales)
Mtodos (Numricos) o tcnicas.
Lineamientos para la toma de
decisiones
Criterios de uso de Ecuaciones
Lineamientos p/toma de decisiones
18
ESTRUCTURAR EL MODELO
MET. 2 -
MATEMTICO Y LGICO (MML)
MUA. a contra mov. = gravedad
(1) (2) (3)
Para vo la Ec. (3) toma la forma:
(4)
Calculo de la raiz cuadrada por Newton
Rapson.
Conocida vo de Ec. (3) o de(1) y (2) Hmx es:
(5)
19
ESTRUCTURAR EL MODELO
MET. 2 -
MATEMTICO Y LGICO (MML)
tPto obs. Pto. Mx. de Ec. (1): (6)
N R solucin x para una funcin a
partir de Ec. recurrencia:
(7) para la raz cuadrada
(8) (9)
Iterar con Ec. (7). Suponer xn (una
solucin) para calcular xn+1 (ms proxima).
Para la siguiente Iteracin (n+1) xn xn+1
20
ESTRUCTURAR EL MODELO
MET. 2 -
MATEMTICO Y LGICO (MML)
La solucin final cuando xn xn+1, o el
error al asumir xn, en valor absoluto, sea
muy pequeo ()
(10)
El valor absoluto el uso de los
lineamientos I, si x 0 (11)
sino (x < 0) (12)

21
ESTRUCTURAR EL MODELO
MET. 2 -
MATEMTICO Y LGICO (MML)
Modelo Matemtico. Ecs. (1) (12)
Modelo Lgico. Nuestro Razonamiento y
plan de uso de Ecs.
Quizs lo ms importante, pues nos
permite proponer una solucin.
Ej. Se estructura de la sgte. manera:
1. vo con Ec. (4); conocido (v, h) Pto. de
observacin.
22
ESTRUCTURAR EL MODELO
MET. 2 -
MATEMTICO Y LGICO (MML)
Raz cuadrada por N R con Ecs. (7) -
(10); = 1 E 2 ; xo = S/2 valor
absoluto segn criterios dados en (I).
2. hmx con Ec. (5), conocida vo.

3. tPto obs. Pto. Mx. con Ec. (6), conocidas v


= 0 (Pto. Hmx.)y vo = vPto obs.
4. v(td) con Ec. (1) conocidas vo y td

23
ESTRUCTURAR EL MODELO
MET. 2 -
MATEMTICO Y LGICO (MML)
5. a(td) no es necesario calcular. Es ctte y
conocida.
a = - 9.8 gravedad y opuesta al mov.

24
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN
Definido, comprendido MML Plantear
Solucin en forma de Algoritmo Saber
resolver.
Tres tareas iterativas y complementarias
que permiten resolver el problema:
Disear el Algoritmo.
Representarlo en Diagrama de Flujo.
Efectuarle una Prueba de Escritorio.

25
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN
Algoritmo
Secuencia finita, ordenada, definida de
instrucciones sencillas, claramente
especificadas, a seguir para resolver un
problema (La implementacin del MML).
Debe ejecutarse con cantidad finita de
esfuerzo y tiempo.
Secuencia de instrucciones en
ciclo infinito no es Algoritmo.
26
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN
Algoritmo
Instrucciones Sencillas. Cada instruccin
debe tener un nico objetivo, aunque su
logro implique ejecutare varias tareas
Una instruccin pueda subdividirse en
otras instrucciones (Sub-algoritmo).
Instrucciones Claramente Especificadas.
No deben no deben ser ambiguas, dar
lugar a doble interpretacin y deben ser
fciles de entender. 27
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN - Diseo
Diseo de Algoritmos
Plantear secuencia de pasos para lograr
algo Resolver un problema.
1. Proponer un Algoritmo Bsico. Una
descripcin a grandes rasgos. 5 - 7
instrucciones. No es conveniente
excederse. Indica mucho detalle se
pueden olvidar algunos detalles.

28
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN - Diseo
2. Refinar el Algoritmo. Refinacin por
pasos:
a) El Algoritmo bsico = algoritmo de
nivel cero (0).
b) Cada paso refinar algoritmos o sub-
algoritmos del anterior. Como?
Responder pregunta del nio:
Cmo hago esto? o
Y esto, cmo hago?
29
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN - Diseo
2. Refinar el Algoritmo. Respuestas a la
pregunta del nio:
Instruccin redundante. No estaba
clara. Sustituir y volver a hacer la
pregunta del nio.
Respuesta compuesta. Un conjunto
de instrucciones . Da origen a un
sub-algoritmo. Un pequeo
problema plantear un algoritmo
bsico. Estas instrucciones se
llaman No atmicas. 30
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN - Diseo
2. Refinar el Algoritmo. Respuestas a la
pregunta del nio:
Respuesta simple. Instrucciones
atmicas, solo requieren
especificar:
Una variable en inst. de lectura.
Un valor en inst. de salida.
Una frmula de clculo, en inst.
de proceso.
31
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN - Diseo
2. Refinar el Algoritmo.
c) Repetir hasta que todas las inst.
sean atmicas.
d) El ltimo paso es identificar grupos
de instrucciones (ms de una)
repetidas. Cada grupo se asla en
un sub-algoritmo independiente, se
le da un nombre, que reemplaza a
las instrucciones como una
invocacin. 32
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN - Diseo
2. Refinar el Algoritmo.
Nivel 0 Nivel 1 Nivel 2 Nivel k
Alg. Bsico Alg. 1.1.1 Alg. 2.1.2 Alg. k.1.2
o Alg. 0.0.0 Paso 1 Paso 1 Paso 1
Paso 1 Paso 2 Alg. 2.2.1
Paso 2 Paso 2
Alg. 1.1.2 Paso 1 Alg. k.i.1
Paso 2 Paso 1 Paso 1
Paso 2 Alg. k.i.2
Alg. 1.1.i Alg. 2.i.1 Paso
Paso
Paso i 2 Paso
Pasoi 1 Paso i 21
Paso
Paso 1 Alg. 2.i.2
Paso i
Paso 2 Paso
Paso i 21 Alg.
Pasok.i.i
2
Paso Paso
Paso
Paso i
0.n PasoAlg.
0.n 2.i.i Paso
Paso i 1
0.n
Paso 2 Paso 2
Paso 0.n Paso 1
Paso i Paso
Paso 0.ni Paso i
Paso 0.n Paso 2 Paso 0.n
Paso i Paso i
Paso 0.n Paso 0.n Paso 0.n
Paso i
Paso 0.n Paso 0.n
Paso 0.n

Proceso de Diseo de Algoritmos 33


MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN - Diseo
Al plantear algoritmos, partir de:
La computadora no sabe hacer nada
En toda Ec. se debe despejar la
variable a calcular No sabe hacerlo.
Toda variable deben tener valor antes
de ser usada No es capaz de
reemplazar valores.
Sino hacer un algoritmo para despejar
variables o reemplazar valores. 34
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN - Diseo
2. Anlisis de Datos. p/c algoritmo
identificar:
a) Que datos requiere conocer.
b) Que datos es capaz de generar.
c) Grupos de datos que van juntos.
Estructuras de Datos (ED)
ED =datos pueden ser de
diferentes tipos con una
caracterstica comn. Pertenencia.
35
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN - Diseo
2. Anlisis de Datos.
Tipo de Dato = valores
Determina como almacena en memoria.
d) Asociaciones de Datos y Algoritmos,
constituyen los llamadas Tipos
Abstractos de Datos (TAD).
TAD = ED + Algoritmos Objeto.
ED = Propiedades o Atributos
Algoritmos = Mtodos 36
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.
Algoritmo Bsico o de Nivel 0
1. Leer el punto de observacin
2. Calcular velocidad inicial
3. Calcular altura mxima,
4. Calcular tiempo de recorrido entre punto de
observacin y punto de altura mxima,
5. Leer tiempo de desplazamiento desde el
lanzamiento,
6. Calcular velocidad al cabo del tiempo de
desplazamiento,
7. Mostrar movimiento
Las instrucciones 3, 4 y 5 son atmicas. 37
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.
Leer el pto de observacin Ref. de Nivel 1
1. Leer velocidad del punto de observacin,
2. Leer altura del punto de observacin,
Ambas instrucciones atmicas.
Calcular velocidad inicial Ref. de Nivel 1
3. Calcular cantidad sub-radical,

4. Calcular velocidad de lanzamiento (calc.


raz cuadrada de csr)
La instruccin 1 es atmica. 38
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diseo. Ej.
Mostrar movimiento Ref. de Nivel 1
1. Mostrar altura mxima,
2. Mostrar tiempo del pto. de observacin
al pto. de altura mxima,
3. Mostrar velocidad despus del tiempo
de desplazamiento,
4. Mostrar aceleracin despus del tiempo
de desplazamiento,
Las cuatro instrucciones son atmicas.
39
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.
Calcular raz cuadrada Ref.n de Nivel 2
1. Inicializar raz en s/2,
2. Copiar valor de la raz al valor sup. de x,
3. Calcular funcin p/ valor sup. de x,
4. Calcular derivada p/ valor sup. de x,
5. Calc. Nueva raz (Recalc raz),
6. Calcular error del valor sup.,
7. Calcular el valor absoluto del error
8. Si repetir desde el paso 2 sino
terminar. La raz est en r.
Todas las inst. excepto la 7 son atmicas. 40
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diseo. Ej.

Calcular valor absoluto Ref. de Nivel


1. Inicializar valor absoluto en valor
original,
2. Si entonces cambiar el valor
absoluto, sino terminar.
Ambas instrucciones son atmicas.

41
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.
Un anlisis de los datos da:
Leer el punto de observacin
Datos de entrada: Ninguno No requiere.
Datos de salida: v, h.
Calcular velocidad inicial
Datos de entrada: v, h, a.
Datos de Salida: vo.
Calcular raz cuadrada
Datos de entrada: s. Valor cuya raz cuadrada
se desea calcular.
Datos de Salida: raiz. La raz cuadrada de s. 42
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.
Un anlisis de los datos da:
Calcular valor absoluto
Datos de entrada: s. Valor original cuyo valor
absoluto deseamos conocer.
Datos de Salida: abso. El valor absoluto de s.
Mostrar movimiento
Datos de entrada: hm, t, vd, a.
Datos de Salida: Ninguno No devuelve
ningn resultado

43
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.
La aceleracin es constante no requiere
una instruccin para su lectura.
Los datos constantes se puede declarar
directamente en la codificacin del algoritmo,
se consideran conocidos y especificados.
Se puede incluir un paso inicial que muestre
la asignacin de valor a la constante.
Es conveniente dar nombre significativo a los
algoritmos.
No se han identificado secuencias de pasos
repetidas. 44
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.
A. MovVertical
1. Asignar valor constante a la aceleracin,
2. Leer el punto de observacin,
3. Calcular velocidad inicial,
4. Calcular altura mxima,
5. Calcular tiempo pto. observacin pto. altura
mxima,
6. Leer tiempo de desplazamiento desde el
lanzamiento,
7. Calcular velocidad al cabo del tiempo de
desplazamiento,
8. Mostrar movimiento,
45
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.

B. LeerPtoObs ( ; v, h)
1. Leer velocidad del punto de observacin,
2. Leer altura del punto de observacin,
C. CalcVIni (v, h, a ; vo)
3. Calcular cantidad sub-radical,
4. Calcular velocidad de lanzamiento,

46
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.
D. raiz (s ; raiz)
1. Inicializar raz en s/2,
2. Copiar valor de la raz al valor sup. de x,
3. Calc. funcin para valor sup. de x,
4. Calcular derivada para valor sup. de x,
5. Calcular el nueva raz (Recalc. raz),
6. Calcular error del valor supuesto,
7. Calcular valor absoluto de g,
8. Si repetir desde el paso 2 (Volver
al paso 2) sino copiar el valor de r,
47
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.
E. abso (s ; abso)
1. Inicializar valor absoluto en valor de original,

2. Si cambiar valor absoluto,


F. MMov (hm, t, vd, a ; )
3. Mostrar altura mxima,
4. Mostrar tiempo pto. observacin pto. altura
mxima,
5. Mostrar velocidad despus td,
6. Mostrar aceleracin despus td, 48
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diseo. Ej.

Cabe hacer notar que, convencionalmente:


Los datos de entrada y salida se listan
entre parntesis separados por comas (,).
Un punto y coma (;) separa la informacin
de entrada de la informacin de salida.
El algoritmo de nivel cero (0) no tiene
datos de entrada ni de salida, sino a
travs de sus sub-algoritmos.

49
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.
Se pueden identificar los siguientes grupos de
datos - ED:
PtoObs: v, h, a, vo
PtoHmax: vo, a, hm, t
PtoX: vo, a, td, vd
Mov: v, h, a, vo, hm, t, td, vd
Se ha dado nombre a todos los grupos de datos
identificados. Mov es una conjuncin de los otros
porque todos pertenecen al mismo movimiento.
No siempre es posible hacer esto.
50
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diseo. Ej.
Al buscar asociaciones ED - algoritmos es
necesario modificar MovVertical, tal que las
instrucciones 4, 5, 6 y 7 se encarguen a
pequeos mtodos Se forma el TAD:
Mov. ED: Mov
Mtodos: MovVertical, LeePtoObs,
CalcVini, CalcPHmax, LeeTDesp,
CalcVDesp, MMov.
Los mtodos raiz y abso son independientes
No tienen asociacin con ninguna ED. 51
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.
A. MovVertical
1. Asignar valor cte. a la aceleracin,
2. Leer Pto. observacin,
3. Calc. Veloc. inicial,
4. Calc. Pto. h mx.,
5. Leer tiempo Desplazamiento,
6. Calc. veloc. Desplazamiento,

7. Mostrar movimiento,
52
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.

B. Mov.LeerPtoObs ( ; v, h)
1. Leer velocidad Pto. observacin,
2. Leer altura Pto. observacin,
C. Mov.CalcVIni (v, h, a ; vo)
3. Calc. cant. sub-radical,

4. Calc. veloc. lanzamiento,

53
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.
D. raiz (s ; raiz)
1. Inicializar raz en s/2,
2. Copiar valor de la raz al valor sup. de x,
3. Calc. funcin para valor sup. de x,
4. Calcular derivada para valor sup. de x,
5. Calcular el nueva raz (Recalc. raz),
6. Calcular error del valor supuesto,
7. Calcular valor absoluto de g,
8. Si repetir desde el paso 2 (Volver
al paso 2) sino copiar el valor de r, 54
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.
E. abso (s ; abso)
1. Inicializar valor absoluto en valor de original,

2. Si cambiar valor absoluto,


F. Mov.CalcPHmax (vo, a, v; hm, t)
3. Calc Pt.o de altura mxima,
4. Calc. tiempo Pto observacin Pto. de altura
mxima,

55
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.
G.Mov.LeeTDesp (; td)
1. Leer tiempo de desplazamiento desde
el lanzamiento,
H. Mov.CalcVDesp (vo, a, td; vd)
2. Calcular velocidad al cabo del tiempo
de desplazamiento,

56
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diseo. Ej.
J. Mov.MMov (hm, t, vd, a; )
1. Mostrar altura mxima,
2. Mostrar tiempo Pto. observacin Pto.
altura mxima,
3. Mostrar velocidad despus del tiempo
de desplazamiento,
4. Mostrar aceleracin despus del
tiempo de desplazamiento,

57
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diagrama de Flujo
Representacin de Algoritmos en Diagrama de Flujo
Diagrama de Flujo = Representacin Grfica de
un Algoritmo.
Permite:
Visualizarlo en forma espacial.
Seguir fcilmente sus instrucciones.
Ver, conocer su estructura y secuencia lgica.
Fcil comprensin.

Da claridad y transparencia al diseo de


algoritmos. 58
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diagrama de Flujo
Simbologa de los Diagramas de Flujo
Nombre y Smbolo Descripcin y Uso

Terminador
Representa el inicio, el final, o una
interrupcin o parada en el algoritmo.
Rectngulo de extremos redondeados con
la etiqueta: INICIO o FIN. En lugar de INICIO
se recomienda usar el nombre del algoritmo
con sus datos de entrada y salida.
Ej. Inicio del programa MovVertical, el
inicio del sub-algoritmo LeerPtoObs o el
final algn algoritmo.

59
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diagrama de Flujo
Simbologa de los Diagramas de Flujo
Nombre y Smbolo Descripcin y Uso

Interface de
Entrada/Salida
Representa la entrada y/o salida de datos.
Paralelogramo con una etiqueta que indica la
operacin de flujo que se realiza (lectura -
entrada o escritura - salida) y las variables o
valores involucrados en la operacin.
Ej. Leer A y B, Imprimir C.
Existen smbolos o bloques alternativos.

60
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diagrama de Flujo
Simbologa de los Diagramas de Flujo
Nombre y Smbolo Descripcin y Uso

Proceso Representa una accin u operacin.


Rectngulo con una expresin matemtica o una
indicacin de la tarea que se realiza.
Ej. A toma el valor de 20B + 5 o guardar este valor en
A.
Decisin o Representa la seleccin entre alternativas, una
Seleccin condicin, preguntas y/o comparaciones.
Rombo con una condicin, una expresin lgica que
permite efectuar la seleccin de alternativas o una
pregunta para la toma de decisiones. Puede tener dos o
ms salidas
Ej. Preguntar si A es igual a B.
61
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diagrama de Flujo
Simbologa de los Diagramas de Flujo
Nombre y Smbolo Descripcin y Uso

Iteracin Representa una iteracin definida.


Rectngulo con sus extremos en punta. Dentro
se escribe la variable ndice de control del ciclo,
sus lmites inferior, superior y su incremento. Va
acompaado por un crculo con la variable ndice
de control del ciclo, que indica hasta donde abarca
el ciclo. Entre ambos smbolos pueden existir otros
bloques de diagrama.
Ej. Iterar desde I = 1 hasta 10 variando de dos
en dos (incremento = 2). I = variable de control
del ciclo.
Existen smbolos o bloques alternativos.

62
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diagrama de Flujo
Simbologa de los Diagramas de Flujo
Nombre y Smbolo Descripcin y Uso
Conector
Se utilizan para conectar dos partes del mismo
programa.
Un crculo (dentro de la misma hoja) o un pentgono
(en diferentes hojas) etiquetados.

Flujo

Indica el sentido del flujo.


Flecha dirigida que une dos bloques en el diagrama.

63
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diagrama de Flujo
Simbologa de los Diagramas de Flujo

Nombre y Smbolo Descripcin y Uso


Representa la declaracin de elementos de
Bloque de Declaracin programa, tales como constantes.
Un trapecio regular volcado con la declaracin
deseada.
Ej. Declarar que la constante g tiene un valor
de 9.8.

64
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diagrama de Flujo
Simbologa de los Diagramas de Flujo
Nombre y Smbolo Descripcin y Uso
Representa una llamada a sub-algoritmo. Cada
Proceso Predefinido
procedimiento predefinido tendr su propio
algoritmo. Se usan en lugar del terminador
como bloques de inicio y final en procedimientos
predefinidos.
Un. rectngulo con doble lnea en sus
extremos con el nombre del sub-algoritmo y sus
datos de entrada y salida.
Ej. Llamada al procedimiento LeerPtoObs.

65
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diagrama de Flujo
Simbologa de los Diagramas de Flujo - Alternativos

Nombre y Smbolo Descripcin y Uso

Entrada / Salida desde Representa la lectura y/o grabacin de datos en


Cinta un dispositivo de Acceso Secuencial.
Icono de una cinta magntica con una
etiqueta que indica la operacin de flujo de
informacin que se realiza: Lectura o
Grabacin y las variables o valores
involucrados en la operacin.
Ej. Leer C, Grabar A y B.

66
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diagrama de Flujo
Simbologa de los Diagramas de Flujo - Alternativos
Nombre y Smbolo Descripcin y Uso

Entrada / Salida desde Disco


Representa la lectura y/o grabacin de datos
en un dispositivo de Acceso Directo, como
un Disco o una Base de Datos.
Cilindro con una etiqueta que indica la
operacin de flujo de informacin que se
realiza: Lectura o Grabacin y las variables
o valores involucrados en la operacin
Ej. Leer A y B, Grabar C.

67
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diagrama de Flujo
Simbologa de los Diagramas de Flujo - Alternativos

Nombre y Smbolo Descripcin y Uso


Entrada de Datos por
Teclado Representa la entrada de datos desde el
Teclado.
Un trapecio irregular con la lista de variables a
leer.
Ej. Leer A y B.

68
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Diagrama de Flujo
Simbologa de los Diagramas de Flujo - Alternativos
Nombre y Smbolo Descripcin y Uso

Despliegue en Pantalla Representa la salida o despliegue de datos en


Pantalla.
Rectngulo con un extremo redondeado y otro en
punta. Dentro se escribe la lista de valores que
desea mostrar.
Ej. Mostrar C.

Impresin Representar la salida de datos en una impresora u


otro dispositivo de impresin.
Icono de parte de una hoja. En su interior se
escribe la lista de valores a imprimir.
Ej. Imprimir C y D.
69
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diagrama de Flujo
Simbologa de los Diagramas de Flujo - Alternativos
Nombre y Smbolo Descripcin y Uso

Iteracin Representa una Iteracin definida.


Rectngulo con un triangulo dentro que lo
divide en tres secciones. En cada seccin se
escribe la variable ndice de control de ciclo con
sus lmites inferior (arriba), superior (abajo) y la
operacin de incremento de la misma (centro).
Va acompaado o es complementado por un
crculo con la variable ndice de control de ciclo,
que indica hasta donde abarca el ciclo.
Entre ambos smbolos pueden existir otros
bloques de diagrama.
Ej. Iterar desde I = Ini hasta Fin variando I con
un incremento = Inc. I = variable de control
del ciclo.
70
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diagrama de Flujo. Ej.

71
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diagrama de Flujo. Ej.

72
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diagrama de Flujo. Ej.

73
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diagrama de Flujo. Ej.

74
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Diagrama de Flujo. Ej.

75
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Prueba de Escritorio
Prueba de Escritorio
Resolver el problema a mano
siguiendo el algoritmo.
Simular la ejecucin del algoritmo.
Construir una tabla. Una columna p/c
variable, constante o condicin.
Registrar los valores que toman
Determinar si son los esperados o no
Detectar errores de lgica.
Al terminar se devuelve la memoria.76
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Prueba de Escritorio
Permite determinar si el algoritmo
resuelve realmente el problema.
Se puede registrar el efecto de varias
instrucciones en una sola fila No
afectan a la misma columna. Sino
utilizar una nueva fila.
La misma instruccin puede tener
varios efectos, generalmente sobre las
mismas columnas registrar en varias
filas. Las llamadas a sub-algoritmos.77
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Prueba de Escritorio
Efectos de las llamadas a sub-algoritmos
Crea variables, constantes y
condiciones del sub-algoritmo.
Si existen datos de entrada, los copia.
Transfiere el control de ejecucin del
invocador al invocado empieza a
ejecutarse el sub-algoritmo.
La instruccin de invocacin no
termina, queda pendiente hasta que el
invocado termine. 78
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Prueba de Escritorio
Efectos al terminar un sub-algoritmo
Devuelve la memoria asignada a sus
variables, constantes y condiciones.
Si existen datos de salida, los copia.
Devuelve el control de ejecucin al
invocador.
La instruccin de invocacin termina.

79
MET. 3 PLANTEAR ALGORITMO DE
SOLUCIN Prueba de Escritorio. Ej.
Se tomar los datos originales citados
en [Sears F. Fsica I, pg 74]; es decir:
h = 8 m ; v = 4 m/s ; t = 2 s
Los resultados parciales y finales son:
vo = 13.14 m/s ; hm = 8.81 m ;
t = 0.41 s ; vd = -6.46 m/s ;
a = - 9.8 m/s2
La Prueba de escritorio se presenta en
la siguiente tabla: 80
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Prueba de Escritorio. Ej.

81
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Prueba de Escritorio. Ej.

82
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Prueba de Escritorio. Ej.

83
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Prueba de Escritorio. Ej.

84
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Prueba de Escritorio. Ej.

85
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Prueba de Escritorio. Ej.

86
PLANTEAR ALGORITMO DE
MET. 3
SOLUCIN Prueba de Escritorio. Ej.

87
MET. 4 CODIFICAR EL ALGORITMO
Es quizs la meta buscada, su resultado
es el PROGRAMA.
Escribir el algoritmo en un lenguaje
entendible para la computadora.
Codificar el Algoritmo en un lenguaje de
programacin.
El algoritmo planteado siguiendo la
metodologa descrita est listo para ser
fcilmente implementado en cualquier
lenguaje de programacin. 88
MET. 4 CODIFICAR EL ALGORITMO
Cada algoritmo (o sub-algoritmo) se convierte
en un Subprograma (Funcin).
Aparecen en otros algoritmos
(Subprogramas) como llamadas a estos.
El algoritmo bsico o de nivel cero se
constituye en el Programa Principal donde
cada instruccin es una llamada o invocacin
a una funcin.
Incluye la Transcripcin del programa en un
editor adecuado, Depuracin y Prueba del
algoritmo. 89
MET. 4 CODIFICAR EL ALGORITMO
En esta etapa se deber detectar y
corregir errores de transcripcin o por
uso de una sintaxis inadecuada.
Adems revisar, detectar y corregir
errores lgicos desapercibidos en la
prueba de escritorio.
El Programa resultante esta listo para
ser Explotado Usarlo para Resolver
el Problema, las ms de las veces en
forma intensiva (varias veces).
90
MET. 4 CODIFICAR EL ALGORITMO
Programa
Una secuencia precisa y ordenada de instrucciones
y grupos de instrucciones, que definen, describen,
o caracterizan la solucin de un problema.
Lenguaje de Programacin
Conjunto de palabras, smbolos y reglas sintcticas
para comunicar a la comp. los pasos a seguir para
resolver un problema (un algoritmo). Ej. Pascal,
Basic, C++, Delphi, Java, JAVASCRIPT entre otros.

91
LENGUAJE DE PROGRAMACIN
Utilizamos JAVASCRIPT, por dos
razones:
1. LP simple aprendizaje sencillo.
2. LP ampliamente utilizado para dar
funcionalidad a las pginas WEB.
Caractersticas de JAVASCRIPT
LP interpretado.
Basado en objetos, pero no LPOO
Java.
No emplea clases, ni herencia, tpicas
92
JAVASCRIPT - CARACTERSTICAS
LP orientado a eventos. Responde a
ciertas acciones realizadas en el entorno
(Hacer Click, abrir, cargar una pgina,
entre otras).
Su cdigo se integra en las pginas HTML,
incluido en las propias pginas.
No requiere declarar tipos de variables a
utilizar.
No es compilado las referencias a
objetos y el programa se prueban en
tiempo de ejecucin. 93
JAVASCRIPT - CARACTERSTICAS
LP interpretado se ejecuta en
cualquier plataforma, donde exista un
navegador WEB que lo soporte.
El navegador se encarga de interpretar
las sentencias JavaScript y ejecutarlas.
Es soportado por la mayora de los
navegadores modernos como: Internet
Explorer, Opera, Netscape, Mozilla,
Firefox, entre otros.

94
JAVASCRIPT - CARACTERSTICAS
Basado en objetos

Programa = ED, mtodos


asociados / combinados
imaginativamente permiten resolver un
problema.

95
ENTORNO DE DESARROLLO
Para programar se requiere un programa
de edicin adecuado que nos permita
escribir, editar (modificar), compilar,
depurar y ejecutar los programas
Entorno de Desarrollo.
Existen varios para programar en
JavaScript: Eclipse, Aptana, Netbeans,
Open API Platform, Notepad ++, entre los
mas conocidos.
96
ECLIPSE
Entorno de desarrollo integrado.
De cdigo abierto multiplataforma.
Para desarrollar Aplicaciones de Cliente
Enriquecido, opuesto a las aplicaciones
"Cliente-liviano" basadas en
navegadores.
Presenta una ventana sencilla con una
barra de mens y otra de herramientas
para un rpido acceso a las opciones
ms comunes.
97
ECLIPSE
Permite crear, grabar, abrir programas
existente, mediante un men estndar.
Para la edicin de programas dispone
de:
Una ventana de trabajo con resaltado
de sintaxis.
Herramientas para cortar, copiar,
pegar, buscar, remplazar porciones de
texto, a las cuales se acede a travs
de opciones de men estndar. 98
ECLIPSE
Permite:
Ejecutar programas
Definir puntos de parada en forma
incondicional o condicionada fcil
depuracin.
Depuracin
Proceso de detectar y corregir errores en
el programa. Se efecta con las
herramientas de depuracin del Entorno
de Desarrollo.
99