D Flujo)

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 45

Cognos Informática Educativa

 Es un conjunto finito de instrucciones que


especifican una secuencia de operaciones a
realizar en orden para resolver un problema
específico. En otras palabras, un algoritmo
es un método para la solución de problemas.

Cognos Informática Educativa


 Secuencialidad
 Ausencia de Ambigüedades
 Generalidad
 Limitaciones

Cognos Informática Educativa


 Se debe especificar sin lugar a dudas la secuencia
a utilizar.
 Un algoritmo debe tener una instrucción inicial
única y un sucesor único en cada secuencia.
 Las instrucciones son llevadas a cabo de arriba
hacia abajo a menos que las mismas especifiquen
lo contrario.
 Las entradas son las partidas de datos presentadas
al algoritmo.
 Las salidas son partidas de datos procesados que
son el resultado de la ejecución un programa
basado en el algoritmo. Cognos Informática Educativa
 En algoritmo debe ser defino, claro, preciso y no
ambiguo. La representación de cada paso de un
algoritmo debe dar lugar a una sola interpretación
posible.
 Esta condición significa que cada vez que se presente
para su ejecución u algoritmo con los mismos datos de
entrada, se obtendrán los mismos resultados.
 Las instrucciones de un algoritmo debe ordenar a la
computadora que solo lleve a cabo tareas que sea capaz
de hacer. Una computadora no puede efectuar una
instrucción si tiene información insuficiente o si el
comando no está definido.
Cognos Informática Educativa
 Un algoritmo se puede realizar para varios
problemas que se relacionan entre sí.
 Un algoritmo se aplica a un problema o clase de
problemas específicos; el rango de las entradas o
dominios se tiene que definir previamente, ya que
está determinado el alcance o la generalidad del
algoritmo.

Cognos Informática Educativa


 Un algoritmo es finito en tamaño y tiempo.
 La ejecución de un algoritmo programado debe
finalizar después de que se haya llevado a cabo
una cantidad finita de operaciones.

Cognos Informática Educativa


 La clase o el conjunto de datos y condiciones
para las cuales un algoritmo trabaja
concretamente se llama dominio.
 Cuando se trata de resolver cualquier problema es
necesario definir el dominio del algoritmo y
después verificar que trabaja para todos los casos
que se encuentran dentro del dominio.
 Es necesario incluir en el dominio todas las
situaciones similares, pero los casos remotos o
poco probables se permiten omitir.
Cognos Informática Educativa
 Errores del dominio:
Se presentan cuando se no han especificado todas las
situaciones que se pueden presentar en la práctica o se
han descuidado la apreciación de su importancia.
A medida que se presenta el problema, se tiene que
clasificar y hay tres opciones:
1. Ignorarlo porque es improbable y quizás nunca ocurra.
2. Restringir el dominio del algoritmo para excluirlo.
3. Corregir el algoritmo.

Cognos Informática Educativa


 Son aquellos errores que se detectan, después que se ha
definido en forma adecuada el dominio de un
algoritmo, en la etapa de prueba o verificación.
 se deben principalmente a las siguientes causas:
1. Etapas incorrectas.
2. Secuencia incorrecta de etapas
3. El criterio de elección de un algoritmo debe hacerse en
base a criterios tales como:
a) Que el algoritmo sea simple, es decir, fácil de entender
y de escribir.
b) Que el algoritmo sea eficiente.
Cognos Informática Educativa
 La heurística proporciona un esquema o plan para
abordar los problemas poco conocidos, mejora la
capacidad de crear soluciones y asegura que el
método que se va a usar sea eficiente.
 En la etapa de planificación es donde se tiene la
oportunidad de comparar métodos y seleccionar
el más adecuado.

Cognos Informática Educativa


 ¿ Cómo se pueden resolver los problemas para
los que no hay un método establecido o para los
cuales conocemos un algoritmo?.

Cognos Informática Educativa


 Un método heurística para diseñar algoritmo es el
denominado DIVIDE AND CONQUER(Divide y
Venceras), el cual es una técnica TOP-
DOWN(Arriba-Abajo).
 Este método permite implementar la segmentación,
descomposición de un problema largo y complejo
en problemas independientes más pequeños y
fáciles de resolver que el problema de partida.
 La técnica consiste en varias etapas.
Cognos Informática Educativa
P

P1 P2 P3

Cognos Informática Educativa


 Si un sub-problema es
grande, por P1

descomposición y
continuando hasta que
resulten de la
descomposición sub
-problemas fácilmente
resolubles.
P1.1 P1.2 P1.3

Cognos Informática Educativa


 El diseño del algoritmo que resuelve un problema,
realizado con esta técnica recibe el nombre de DISEÑO
DESCENDENTE y resulta en algoritmo muy legibles,
claros, fáciles de entender, seguir y corregir.
 El diseño de un algoritmo no se hace de una sola vez,
sino que se va resolviendo en una secuencia de pasos
( llamados PASOS DE REFINAMIENTO).
 En cada paso el problema es refinado agregando detalles
significativos, por lo que el método se conoce como:
MÉTODO DE LOS REFINAMIENTOS SUCESIVOS.

Cognos Informática Educativa


CONSTRUCCIÓN
DEL
EDIFICIO

CONFECCICÓN CONTRATACIÓN DIRECCIÓN


COMPRA DE
DE LOS DEL DE LA
MATERIALES
PLANOS PERSONAL OBRA

Cognos Informática Educativa


CONFECCIÓN
DE LOS
PLANOS

APROBACIÓN ELABORACIÓN APROBACIÓN


DISEÑO DEL
DEL DE LOS DE LOS
ANTEPROYECTO
ANTEPROYECTO PLANOS PLANOS

Cognos Informática Educativa


CONTRATACIÓN
DEL
PERSONAL

ANÁLISIS
PEDIDO DE REDACCIÓN
DE LOS ENTREVISTAS
CURRICULUM DE LOS
CURRÍCULUM PERSONALES
VITAE CONTRATOS
VITAE

Cognos Informática Educativa


COMPRA
DE
MATERIALES

CÁLCULO PEDIDO SELECCIÓN


DE DE DE
MATERIALES PRECIOS PROVEEDORES

Cognos Informática Educativa


 Al utilizar el refinamiento por pasos el diseñador
de un algoritmo debe saber donde detenerse, es
decir, debe saber cuando un paso específico del
algoritmo es lo suficientemente claro para no
necesitar más refinamiento.
 Se necesita CONOCER LAS CAPACIDADES
DE UN PROCESADOR no sólo para terminar
los refinamientos, sino para dirigir la forma en
que el refinamiento avanza.

Cognos Informática Educativa


 Una computadora puede interpretar cualquier
cosa expresadas de manera adecuada en un
lenguaje de programación. Así el diseñador de un
algoritmo de computadora puede orientar los
pasos y la terminación del refinamiento hacia el
tipo de lenguaje que se trate.

Cognos Informática Educativa


 Los principios metodológicos básicos de la
programación estructurada son los de subdividir
el problema inicial o de partida en partes
manejables para su análisis y hacer de esta
manera que se agilice el proceso de entender el
problema y la solución.

Cognos Informática Educativa


Básicamente, estas subdivisiones deseadas( llamadas
módulos) deben satisfacer los siguientes requisitos:
1. Los módulos deben estas jerarquizados.
2. Deben ser pequeños y sencillos.
3. Se deberán utilizar tantos módulos de menor jerarquía
como sea necesario para cumplir con la restricción de
ser pequeños y sencillos.
4. Se deberán usar las estructuras de control y datos
adecuadas para cumplir con el requisito de pequeños y
sencillos.
5. Los módulos deben ser legibles para cualquier persona
aunque tenga solamente conocimientos elementales de
programación.
Cognos Informática Educativa
Como la meta es escribir algoritmos que sean
procesados en una computadora, se va a producir
un lenguaje de diseño adecuado.
Se llamará LENGUAJE DE DESCRIPCIÓN DE
PROGRAMAS a la herramienta que permitirá
diseñar programas de codificación.

Cognos Informática Educativa


Este pseudo- lenguaje tiene las siguientes características:
1. Permite expresar de manera informal las estructuras de
2. Permite expresar las ideas en frases del lenguaje propio o
natural.
3. Es similar al lenguaje de programación pero no está ligado a
ninguna regla formal de sintaxis como aquellos.
4. No es un lenguaje compilable
5. Por convención se hace un sangrado en el texto que ayuda a la
percepción visual de la lógica del diseño.
6. Permite expresar diseños de fácil comprensión que podrá
convertirse sin dificultad a código en el lenguaje de
implementación.
7. El pseudo- código generado es más fácil de cambiar y corregir
que el código del programa.
Cognos Informática Educativa
 Un diagrama de flujo es otra técnica de diseño de
algoritmos. Consiste en una serie de símbolos que
denotan acciones, decisiones o procedimientos que se
unen mediante flechas y conectores.
 Esta representación nos ayudará a conocer la
información que tenemos, donde la tenemos, que
debemos hacer con ella y como presentarla.
 Debe tener las cualidades de sencillez, claridad y
normalización en su diseño.

Cognos Informática Educativa


• Un diagrama de flujo representa la esquematización gráfica
de un algoritmo.
• En realidad muestra gráficamente los pasos o procesos a
seguir para alcanzar la solución de un problema.
• Su correcta construcción es sumamente importante porque,
a partir del mismo se escribe un programa en algún lenguaje
de programación.
• Si el diagrama de flujo está completo y correcto, el paso del
mismo a un lenguaje de programación es relativamente
simple y directo.
• A continuación, presentamos los símbolos que utilizaremos
y una explicación de los mismos. Estos satisfacen las
recomendaciones de la ISO y la ANSI.
Cognos Informática Educativa
Símbolo utilizado para marcar el inicio y el fin del diagrama flujo.

Símbolo utilizado para introducir los datos de entrada. Expresa


lectura.
Símbolo utilizado para representar un proceso. En su interior se
expresan asignaciones, operaciones aritméticas, cambios de valor de
celdas en memoria, etc.

Símbolo utilizado para representar una decisión. En su interior se


almacena una condición y dependiendo del resultado de la evaluación
de la misma se sigue por una de las ramas o caminos alternativos:
verdadero o falso.

Cognos Informática Educativa


Símbolo utilizado para representar la impresión de un resultado.
Expresa escritura.

Símbolo utilizado para expresar conexión dentro de una misma


página.
Símbolos utilizados para expresar la dirección del flujo del
diagrama

Símbolo utilizado para expresar conexión entre páginas diferentes.

Cognos Informática Educativa


• Debemos recordar que un diagrama de flujo debe
ilustrar gráficamente los pasos o procesos a seguir para
alcanzar la solución de un problema.
• Los símbolos colocados adecuadamente, permiten
crear una estructura gráfica flexible que ilustra los
pasos a seguir para alcanzar un resultado específico.
• El diagrama de flujo facilitará más tarde la escritura
del programa en algún lenguaje de programación.

Cognos Informática Educativa


1. Todo diagrama de flujo debe tener un inicio y un
fin.
2. Las líneas utilizadas para indicar la dirección del
flujo del diagrama deben ser rectas, verticales y
horizontales.
3. Todas las líneas utilizadas para indicar la
dirección del flujo del diagrama deben estar
conectadas. La conexión puede ser a un símbolo
que exprese lectura, proceso, decisión, impresión,
conexión o fin de diagrama.

Cognos Informática Educativa


2. El diagrama de flujo debe ser construido de arriba hacia
abajo (top-down) y de izquierda a derecha (right to left).
3. La notación utilizada en el diagrama de flujo debe ser
independiente del lenguaje de programación.
4. Es conveniente cuando realizamos una tarea compleja
poner comentarios que expresen o ayuden a entender lo
que hicimos.
7. Si el diagrama de flujo requiere más de una hoja para su
construcción, debemos utilizar los conectores adecuados
y enumerar las páginas convenientemente.
8. No puede llegar más de una línea a un símbolo.

Cognos Informática Educativa


inicio

Lectura de
Datos

Procesamiento de
Datos

Impresión de
Resultados

fin

Cognos Informática Educativa


Cognos Informática Educativa
Cognos Informática Educativa
Cognos Informática Educativa
Diseñar un algoritmo correspondiente que dado como dato la
calificación de un alumno en un examen escriba “Aprobado” si
su calificación es mayor que 8 y “Reprobado” en caso contrario.
inicio inicio

CAL X

SI SI X>18 NO
CAL >8 NO

VOTA
Aprobado Reprobado NO VOTA

fin
Cognos Informática Educativa
Las estructuras lógicas básicas necesarias para
confeccionar un programa se reduce en tres:
SECUENCIALES, SELECTIVAS Y REPETITIVAS.
1. Estructuras secuenciales
Estructura DO - END ( INICIO - FIN)

DO
acción A
acción B
acción C
END

Cognos Informática Educativa


2. Estructuras selectivas
Las estructuras algorítmicas selectivas que se utilizan para la toma de
decisiones lógicas las podemos clasificar de la siguiente manera:
SI ENTONCES que es una estructura selectiva simple.
SI ENTONCES / SINO que es una estructura selectiva doble
SI MÚLTIPLE que es una estructura selectiva múltiple.

Aquí podemos observar una


estructura
SI ENTONCES/SINO la cual permite
que el flujo del diagrama se bifurque
por dos ramas diferentes en el punto
de la toma de decisiones.Cognos Informática Educativa
A continuación se muestran las otras estructuras selectivas

Cognos Informática Educativa


Estructuras repetitivas
Estructura repetitiva DOWHILE (mientras - hacer)

DOWHILE condición
acción1
acción2
.........
END DO

Cognos Informática Educativa


 Estructura REPETIR
La estructura REPETIR es la estructura algorítmica
adecuada para utilizar en un ciclo que se ejecutará
un número definido de veces.
Por ejemplo cuando calculamos las nóminas de
una empresa, tenemos que sumar los sueldos de
N empleados de la misma. Podemos calcular
el promedio de calificaciones de un grupo de
alumnos sumando todas las calificaciones y
dividir entre el número de alumnos o también
sacar el promedio de cada alumno según sus
calificaciones mensuales. En todos los caso
sabemos de antemano cuántas veces tenemos
que repetir una determinada operación.
Cognos Informática Educativa
Calcular los promedios de un numero X de alumnos, cada uno con 3 notas,
se debe mostrar por pantalla si esta aprobado o reprobado (usaremos la
escala que se usa en Chile, del 1 al 7,  de un 4 para arriba esta
aprobado):
1.- Vemos que procesos se deben realizar:
a) Declarar (“nombrar”) variables a utilizar:
Nota1,Nota2,Nota3,Suma,Promedio
b) Ingresar notas
c) Sumar las notas
d) El resultado de la suma, dividirlo por 3
e) Ver si este nuevo resultado es mayor o igual a 4
f) Si es mayor, mostrar aprobado, de lo contrario mostrar reprobado
e) Pregunta si se quieren ingresar las notas de otro alumno
g) Si la respuesta es si, volver al paso “b” (no es necesario volver al a, ya
que las variables están declaradas). Cognos Informática Educativa
Proceso Promedio
NOTA1<-0;
NOTA2<-0;
NOTA3<-0;
PROMEDIO<-0;
SUMA<-0;
Leer NOTA1;
Leer NOTA2;
Leer NOTA3;
SUMA<-
NOTA1+NOTA2+NOTA3;
PROMEDIO<-SUMA/3;
Si PROMEDIO>=4 Entonces
Escribir 'APROBADO';
Sino
Escribir 'REPROBADO';
FinSi
FinProceso Cognos Informática Educativa

También podría gustarte