Escolar Documentos
Profissional Documentos
Cultura Documentos
Diagramas de Flujo
Fundamentos de Informtica
Curso 2009/2010
ndice
1. Objetivo
2. Definiciones: Algoritmo y programa
3. Tipos de programacin: Programacin
estructurada
4. Herramientas para la realizacin de un
algoritmo:
4.1. Elementos bsicos de un programa
4.2. Pseudocdigo
4.3. Diagrama de Flujo
1. Objetivo
El objetivo principal del tema consiste en
la realizacin de algoritmos mediante
pseudocdigo y diagrama de flujo.
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
2. Definiciones: Algoritmo y
Programa
Fases de la programacin
Fase I
Anlisis:
Problema
Fase II
Diseo:
Algoritmo
Solucin:
Programa
Fase III
Explotacin
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
Ejecucin
Validacin
2. Definiciones: Algoritmo y
Programa
Un algoritmo es un conjunto ordenado y finito de
instrucciones que permite hallar la solucin de un
problema.
Un programa es la codificacin del algoritmo en algn
lenguaje de programacin o en lenguaje mquina..
Problema
Algoritmo
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
Programa
Partes de un algoritmo
Un algoritmo utiliza un conjunto de datos de
entrada y proporciona unos datos de salida.
ENTRADA: Corresponde a los datos que
requiere el proceso para ofrecer los resultados
esperados.
PROCESO: Pasos necesarios para obtener la
solucin del problema o la situacin planteada.
SALIDA: Datos presentados por el proceso
como solucin, resultado.
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
3. Tipos de programacin
Programacin imperativa o estructurada:
C, PASCAL, FORTRAN
Programacin Orientada a Objetos: Visual
C++, Java
Programacin funcional: LISP
Programacin lgica: PROLOG
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
3. Programacin Estructurada
Programacin estructurada: consiste en
un conjunto de reglas para escribir
programas de tal manera que sean
legibles y fciles de modificar.
Reglas a seguir para la programacin
estructurada:
Caractersticas de algoritmos estructurados
Cmo construir un algoritmo estructurado?
Estructuras algortmicas estructuradas
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
Caractersticas de un algoritmo
estructurado
Finito: El algoritmo debe tener un nmero finito de
pasos.
Eficientes: Deben ocupar la mnima memoria y
minimizar el tiempo de ejecucin.
Legibles: El texto que lo describe debe ser claro,
de forma que permita entenderlo y leerlo
fcilmente.
Modificables: Estarn diseados de modo que sus
posteriores modificaciones sean fciles de realizar,
incluso por programadores diferentes a sus propios
autores.
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
Caractersticas de un algoritmo
estructurado
Modulares: La filosofa utilizada para su
diseo debe favorecer la divisin del
problema en mdulos pequeos.
nico punto de entrada, nico punto de
salida: A los algoritmos y a los mdulos que
lo integran, se entra por un solo punto (inicio)
y se sale por un solo punto (fin)
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
Estructuras algortmicas o de
control
Secuenciales: cada accin se realiza una
sola vez y en un determinado orden
Condicionales (selectivas): permiten
seleccionar una accin a realizar entre
varias alternativas
Iterativas (repetitivas): una determinada
accin se realiza ms de una vez
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
Pseudocdigo
Problema
Diagrama de Flujo
Algoritmo
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
Lenguaje de Programacin
C,Java, Visual C++,
Programa
4.1. Pseudocdigo
Un pseudocdigo es una forma de
representar un algoritmo basndose
en el lenguaje natural.
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
Ejemplo de pseudocdigo I:
Estructura secuencial
Problema: leer dos nmeros enteros y
escribir la suma.
Pseudocdigo
Problema
Algoritmo
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
Ejemplo de pseudocdigo I:
Estructura secuencial
Problema: leer dos nmeros enteros y
escribir la suma.
Pseudocdigo:
1.
2.
3.
4.
5.
a+b.
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
Ejemplo de pseudocdigo I:
Estructura secuencial
Problema: leer dos nmeros enteros y
escribir la suma.
Datos de entrada
(nmeros enteros)
Pseudocdigo:
1.
2.
3.
4.
5.
3.1. sp sp+vi
3.2. Incrementar i en uno, i
i+1
3.3. Si i>10 ir al punto 4, si no ir al 3
4. Escribir sp
5. Fin
Datos de entrada: v (vector de nmeros real)
Datos de salida: sp (nmero real)
Instrucciones: asignacin, comparacin lgica y suma aritmtica
Fin de bloque:
Proceso: asignaciones,
operaciones
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
SI
NO
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
SI
NO
i>10?
SI
NO
i>10?
Fundamentos de Informtica.
Tema 2. Curso 2009/2010
Proceso 1
Proceso 2
SI
NO
Condicin?
Opcin 1
Opcin 2
SI
NO
Condicin?
NO
Condicin?
SI
Diagrama de Flujo:
Inicio
leer a
Leer a y b
leer b
Calcular
r
a+b
escribir r
Fin
Diagrama de Flujo:
SI
NO
x>0?
r x
r x
Fin
3.1. sp sp+vi
3.2. Incrementar i en uno, i
i+1
3.3. Si i>10 ir al punto 4, si no ir al 3
4. Escribir sp
5. Fin
Datos de entrada: v (vector de nmeros real)
Datos de salida: sp (nmero real)
Instrucciones: asignacin, comparacin lgica y suma aritmtica
Inicio
Ejemplo: Estructura
Iterativa
sp 0
i 1
Problema: hallar la
suma de las
componentes de un
vector de dimensin 10
y escribir el resultado.
sp sp + vi
i i +1
SI
NO
i>10
Escribir sp
Fin