Você está na página 1de 30

Programacion Digital

Algoritmos

Ing. Carlos Moreno Paredes


Algoritmos

Es un conjunto de pasos
lógicos ordenados,
secuencialmente y finita,
escritos de tal forma que
permiten visualizar la
solución de un problema
determinado en un momento
específico.
ALGORITMO: Nombre

El nombre en latín de
algoritmo proviene de la
traducción que realizó
Fibonacci, de la obra
del matemático árabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
1. PROBLEMA: Un estudiante se encuentra en su casa (durmiendo) y
2. debe ir a la universidad (a tomar la clase de programación!!),
3. ¿qué debe haga el estudiante?

ALGORITMO: Despedirse de la mamá y el papá.


¿Hay tiempo suficiente?
1. PROBLEMA: Un estudiante se
Si, Caminar al paradero.
encuentra en su casa (durmiendo) y
debe ir a la universidad (a tomar la Sino, Correr al paradero.
clase de programación!!), ¿qué debe Hasta que pase un bus para la universidad
haga el estudiante? haga :
Esperar el bus
ALGORITMO: Ver a las demás personas que esperan
Inicio un bus.
Dormir Tomar el bus.
haga 1 hasta que suene el despertador (o
Mientras no llegue a la universidad haga :
lo llame la mamá).
Mirar la hora. Seguir en el bus.
¿Hay tiempo suficiente? Pelear mentalmente con el conductor.
Si hay, entonces Timbrar.
Bañarse. Bajarse.
Vestirse. Entrar a la universidad.
Desayunar. Fin
Sino,
Vestirse.
Cepillarse los dientes.
ALGORITMO: Caracteríticas

LEGIBLE
CONCRETO

Debe realizar las EFICIENTE


FINITO Debe
Debe generar
estar
indicarbien
un
el
Debe
operaciones
Debe
funciones
estar
tener
libre
u
con
Debe
mismo ser...
estructurado
orden
resultado
de
terminar
operaciones
un
demínimo
errores.
en algún
de
para
siempre
realización
para su que
fácil
de
se
utilización
las
(Validado)
momento
que fuede
entendimiento.
cada
siga.
paso.
recursos.
creado.
NO
DEFINIDO
AMBIGUO
PRECISO
ALGORITMO: Estructura
Corresponden a los datos
requeridos para realizar el
algoritmo (datos de entrada) Datos
y los datos que son
generados (datos de salida)
Conforma el grupo de
instrucciones que realizan Procesos
las operaciones con los
datos.

Determinan la
organización de las Estructuras
instrucciones que de Control
deben ser realizadas.
ALGORITMO: Elementos
Definición
de variables y
Las instrucciones constantes
Es necesario
que se van a
identificar que estar
realizar deben
datos se necesitan y
bien estructuradas Proceso
Entrada Estructuras
Salida
ingresar,
tener cuales
un orden
sirven de control
lógico, de
conforma
el fin de
auxiliar y cuales se
evitar
van a generar. en
inconsistencias
el resultado.
Cuerpo del algoritmo
ALGORITMO: Quienes pueden hacer
un algoritmo?

Toda persona, implícitamente


y diariamente diseña y realiza
algoritmos, para dar solución
a situaciones cotidianas de
forma natural.
Sin embargo el programador,
diseña el algoritmo conciente
de que al realizar cada paso
obtendrá la solución de un
problema específico.
ALGORITMO: Cómo se hace?
El no programador haría lo siguiente:

Buscar la página de cines


en elSupongamos que si
diario local y mirar
ve deseamos ir al cine laSi
la película anunciada.
película ROBOCOP,
la ve anunciada mira ¿cómo
en qué
cine la procedemos?
hacen y se va a
verla. Si no la ve anunciada,
espera a los estrenos de
lasemana que viene.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de este
otro modo:

Buscar la página de cines en el diario


1
local, con fecha de hoy

2 Revisar la cartelera de arriba abajo y de izquierda


a derecha, buscando entre los títulos existentes.

3 Si se encuentra el título ROBOCOP, no seguir


buscando. Apuntar el nombre del cine, su
dirección y los horarios

Si no se encuentra el título en la cartelera,


4
esperar una semana y volver a empezar el
proceso a partir del punto 1 de esta lista.
ALGORITMO: Otro ejemplo
Encender un automóvil
1. Poner la llave.
2. Asegurarse que el cambio esté en
neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición
“arranque”.
5. Si el motor arranca antes de 6 seg,
dejar la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg,
volver al paso 3 (como máximo 5
veces).
7. Si el auto no arranca, llamar a la grúa.
ALGORITMO: Requisitos

Seguir los pasos del Debe Definirse del


Por ejemplo:
algoritmo debe sellevarnos problema
SiLos
No sealgoritmos
requiere
debemos crean el
hallar
omitir la
aparalaresolver
resolución del
velocidad de un
contexto de nuestrosautomóvil, Debe estar dentro
problema.
problemas.
es necesario, definir si la
algoritmos. de contexto
Siempre que sea posible
Es importante
distancia
Es debeque
necesario juntoen
ser
establecer
seguiremos
al
lo algoritmo,
metros, que kilómetros,
personalmente se necesita
los
etc y
pasosy Debe resolver el
eldescribamos
tiempo
dónde se debeclaramente
estará dado en
comenzar.
de nuestro que éste
el problema
segundos
algoritmo
u horas, ya nos que problema
para comprobar
resolver.que puede
son
lapermitevelocidad
efectivamente correctos y Debe evitar la
representarse en Km/h ó
conducen efectivamente a ambigüedad
mts/seg.
la solución esperada.
ALGORITMO: Técnicas de Diseño

Top Down
Está
Es una técnica
técnica de permite
diseño
dividir el problema Divide y vencerás
descendente donde se en
pequeñas partes, a las
realiza un refinamiento
cuales se que
sucesivo, les da solución
permite
por
darleseparado, luego se
una organización a
integran las soluciones
las instrucciones, en
para
formaresolver el problema
de módulos o
principal.
bloques.
ALGORITMO: Técnicas de Representación

Diagrama de Flujo
Es una técnica
Está técnica quepermite
permite representar
representar el algoritmo
Pseudocódigo
gráficamenteunlas lenguaje
mediante
operaciones estructurado,
más y
estructuras que
facilitando su se van a
posterior Inicio
realizar, mediante una
codificación. Instrucción 1
simbología estándar, con Instrucción 2
un único punto de inicio y Si condición entonces
Instrucción 3
uno de finalización. ..
.
Instrucción n
Fin
PSEUDOCÓDIGO:Cómo se Hace?
Cada instrucción que se va a realizar
1
debe comenzar por un verbo, ejemplo:
Muestre, Haga, Lea, etc.

2 Se debe mantener una identación o sangría


sobre el margen izquierdo para identificar
fácilmente el comienzo y final de las estructuras

3 La representación de las estructuras son


similares u homónimas de los lenguajes de
programación, ejemplo: inicio, fin, mientras
que, repita_hasta, si_entonces_sino, etc.
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.

Leer : Denota la acción de introducir datos o variables


desde un dispositivo estándar de entrada.

Imprimir : Representa la acción de enviar datos desde


variables a un dispositivo estándar de salida.

Calcular : Denota la realización de cualquier operación


aritmética que genere valores para ser
almacenados en una variable.

Fin: Denota el punto de finalización del algoritmo.


DIAGRAMA DE FLUJO: Simbología
Lectura
Inicio
Proceso
Captura
Fin
Permite indicar la
Permite indicar la
realización
Se utiliza para
Entrada de datos
de el
indicar unpunto
proceso
de
desde
ymatemático,
inicioun finalización
dispositivo
o una operación
del diagrama de
estándar
asignación
DIAGRAMA DE FLUJO: Simbología

Conectores
Impresión
Decisión
Flujo Permiten enlazar los
Permiten
Permitedarestablecer
continuidaduna
símbolos
Indica de un sentido
la realización de
al condición
diagrama relacional
si la página ó
único
operaciones pueden ser
de salida
lógica
o área
quedepuede
trabajo tomar
esta
horizontales o verticales. a un
unllena,
valor de verdadero
el círculo se
o
Estas no pueden
falso,
utilizade
como
esteun
dispositivo símbolo
conector
estándar se
entrecruzarse y cada una
dentro
deducen
demonitor
(el la 2misma
flujos
o
de ellas debe tener un
página, elalternativos
otro símbolo de
único símbolo impresor.)
de partida
se defineejecución.
como un
y un único símbolo de
conector a otra página.
destino.
DIAGRAMA DE FLUJO: Simbología
Estructuras de Decisión (Condición)

Decisión
Decisión
Decisión
DecisiónMúltiple
Simple
Compuesta
Anidada
Caso
Si condición
condición entonces
Val1:
Si condición entonces
Instrucciones
Si condición entonces
Instrucciones
Si No Val2:
Instrucciones
Condición Si
si condición
no entonces
Instrucciones
No No
No
Si
Condición
Condición
No siVal3:
no
Instrucciones
Si condición entonces
Condición
Si No
Condición
Val1 Val2 Condición
Val3 Otro Instrucciones
Instrucciones
Instrucciones
Si Si si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbología
Estructuras de Ciclo

Ciclo
Ciclo
Ciclo Para
Mientras
Hasta ..
.
.
Para v=valini, v=valfinal, inc
.
. Instrucciones
Repita
Mientras
Fin Para que condición
v=valini,v=valfinal, incremento .Instrucciones
Instrucciones .. Instrucciones
No Hasta que condición
Condición Fin Mientras
.. variable
v:..
Instrucciones
Si No valini:
.. valor inicial
Condición valfinal: valor final
Instrucciones inc: incremento
Si
ALGORITMO: Fases de Diseño
Definición del problema

Análisis del problema

Selección de la mejor alternativa

Diagramación

Prueba de escritorio
ALGORITMO: Definición del Problema
Está dada por el enunciado
del problema, el cuál debe
ser claro y completo

Es importante que
conozcamos exactamente
que se desea.

Mientras qué esto no se


comprenda, no tiene caso
pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema
Los datos de
entrada que nos Recursos
suministran Fórmulas

Área
Proceso de
Trabajo

Los datos de
salida o
resultados que
Entendido el problema para se esperan
resolverlo es preciso analizar
ALGORITMO: Selección de Alternativa
Solución ..1
Solución ..3
Se debe tener en cuenta
el principio de que las
cosas siempre se podrán
hacer de una mejor
forma.
Solución ..2

La que produce los Solución ..5


Lo importante
Analizado el problema es
resultados Esperados en el
Posiblemente tengamos
determinar cuál
menor tiempo y al menor
varias formas
es la mejorde resolverlo
alternativa
costo
ALGORITMO: Diagramación
Dibujar
gráficamente
la lógica de la
alternativa
seleccionada
Una vez que
sabemos
cómo resolver el
Plasmar la
problema solucion
mediante el
Pseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:
Es Recomendable
Al
Serealizar
Dar lo datos
utiliza
diferentes anterior
parase
de
Dar diferentes datos
puede ycomprobar
corroborar
entrada que
considerar si el
el
todos
de entrada al programa
algoritmo
los posibleses
algoritmo correcto
casos, aún loso
plasmado
de si hay necesidad
enexcepción o cualquier
no
esperados,
seguir para asegurar
la secuencia
de hacer ajustes
herramienta presenta
que el programa
indicadano
(volver
la al paso anterior)
solución al
produzca errores en
problema
ejecución inicialse
cuando
hasta
presenten estos casos.
obtener los resultados
ALGORITMO: Conceptos

Tipo
Constante
Variable
Dato
de Dato Minima parte de la
Corresponde al tipo de
Corresponde a un
información.
Corresponde
valor que puedea un
espacio
Se de
refiere a memoria
los que
espacioalmacenarse
de memoria enque
un
almacena un dato que
elementos
almacena
espacio que
un se
de memoria
dato que
dentro del programa en
dentro
definido
utilizan del
en ylos
a
programa
la cantidad
en
ejecución mantiene
ejecución
de espacio
algoritmos cambia
que requiere
o varía
siempreparasu contenido
parasualmacenar
realizar contenido
alguna un (valor)..
valor.
(valor).
operación sobre estos.
ALGORITMO: Tipos de Datos
Boleano

Real cadena
Lógicos
Entero Caracter

Numéricos Carácter
Tipos
de
Datos
ALGORITMO: Operadores
+ Aritméticos
> -
>= <
=
/ %
<=
Relacionales ^
!=
<> No
Lógicos
Y &&
O ||
BIBLIOGRAFIA
 Fundamentos de Programación. Algoritmos y
Estructuras. Luis Joyanes Aguilar. Editorial Mc
Graw Hill.
 http://fuxion.tripod.cl/fundamentos.htm#QUE
%20HERRAMIENTAS

Você também pode gostar