Publicado el 26 de Junio del 2018
690 visualizaciones desde el 26 de Junio del 2018
523,4 KB
18 paginas
Creado hace 9a (01/01/2016)
Teoría Nº 3
ü Conceptos Básicos de Algoritmia
ü Estructuras de Control
ü Diagramas de Flujo
En la vida no hay
cosas que temer, sólo
hay cosas que
comprender
Marie Curie
Primer Cuatrimestre 2016
Fund. de la Informática -Int. a la Computación - Int.a la Programación
1
Conceptos Previos de Algoritmia
Una computadora es, esencialmente, una HERRAMIENTA.
Una herramienta sirve para operar la conversión de una materia prima
en un producto mediante un dispositivo que desarrolla un proceso; el
proceso a su vez, lo determina una persona.
• materia prima
• producto
• dispositivo
• proceso
Analogía
datos
información
componentes de la
computadora
PROBLEMA
PROBLEMA
RESUELTO
?
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
2
Analogía
Hacer
una
película
• Escribir un guión
• Elegir el director
• Buscar los actores
• Buscar los expertos
• Rodar la película
Conceptos Previos de Algoritmia
Hacer
un
programa
para
computadora
• Escribir un guión
Proceso
Entrada
Salida
Selección del
Lenguaje de
Programación
Algoritmo
Programa
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
3
Algortimo
Conceptos Previos de Algoritmia
Algoritmo (del árabe al-Khowârizmî sobrenombre del célebre matemático árabe Mohámed
ben Musa) según la Real Academia Española (http://www.rae.es/):
• Conjunto ordenado y finito de operaciones que permite hallar la solución a un
problema.
• Método y notación en las distintas formas del cálculo.
En
términos
llanos,
un
Algoritmo
es
una
sucesión
de
instrucciones
o
pasos
que
permiten
resolver
un
problema.
Un
Programa
es
la
especi=icación
de
un
algoritmo
en
un
lenguaje
de
programación
para
que
pueda
ser
ejecutado
por
un
procesador
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
4
Conceptos Previos de Algoritmia
Paradigmas
de
Programación
Los
lenguajes
de
programación
proporcionan
un
modelo
abstracto
de
la
computadora
que
le
permiten
al
programador
concentrarse
en
el
diseño
de
los
algoritmos
independientemente
de
las
características
de
la
arquitectura
de
la
computadora.
Se
han
desarrollado
siete
paradigmas
de
programación
que
ofrecen
diferentes
modelos
para
visualizar
qué
es
un
problema
y
cómo
representar
el
proceso
de
solución
a
través
de
un
programa.
De
acuerdo
al
paradigma
seleccionado,
el
programador
modi=ica
su
conceptualización
de
los
problemas
a
resolver,
de
los
resultados
esperados
y
de
los
posibles
algoritmos.
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
5
Paradigmas
de
Programación
• Programación Estructurada
• Programación Orientada a Objetos
• Programación Orientada a eventos
• Programación a aspectos
• Programación Concurrente
• Programación Funcional
• Programación Lógica
Conceptos Previos de Algoritmia
Estructuras de Control
Secuencia
Repetición
Selección
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
6
Estructuras
de
Control
Conceptos Previos de Algoritmia
• Secuencia
Instrucciones ordenadas en una
sucesión, es decir, después de ejecutar la
acción n se continua con la acción n+1
• Selección (Condicional)
Permite o impide la ejecución de
instrucciones según el valor que se
obtiene al evaluar una condición
• Repetición (Iteración)
Permite ejecutar instrucciones repetidamente dependiendo del valor de
una condición que se evalúa también repetidamente.
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
7
Diagrama de Flujo
Cuando se formula la resolución de un problema, no sólo se expresa el
conjunto de tareas a realizar sino que también se define implícitamente un
orden en ellas.
Dicho orden se puede bosquejar gráficamente y de esta manera abstraerse del
detalle de las tareas y concentrarse en el orden en que estas deberían
realizarse.
DIAGRAMA DE FLUJO DEL ALGORITMO
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
8
Diagrama de Flujo
El diagrama de flujo de un algoritmo muestra gráficamente la estructura de
la resolución del problema.
Estructura que adquieren el conjunto de tareas o acciones a realizar para la
resolución de un problema.
ESTRUCTURAS DE CONTROL
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
9
Diagrama de Flujo
C
A
KK
le
asigno
2
Ingreso
un
valor
en
I
A
PP[K]
le
asigno
I
A
I
le
asigno
15
V
Muestre
PP[I]
A
I
le
asigno
I
+
2
F
I
<=
20
F
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
10
Diagrama de Flujo
Tipos de estructuras de
Control
Gráfica asociada:
4 Secuencial: las tareas (acciones) se deben realizar en el
orden en que se escriben, es decir primero una, luego otra
desde la primera hasta la última (o de arriba hacia abajo).
tarea i
tarea i+1
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
11
Diagrama de Flujo
Tipos de estructuras de
Control
Gráfica asociada:
F
?
V
tarea i
tarea j
4 Condicional: las tareas (acciones) se realizaran
dependiendo de cierta situación, estado previo o
condición que se debe cumplir.
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
12
Diagrama de Flujo
Tipos de estructuras de
Control
4 Repetición (Iteración): una tarea o conjunto de tareas
(acciones) se deben realizar en forma repetitiva.
Gráfica asociada:
F
?
V
tarea i
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
13
Diagrama de Flujo
Ejemplo: Dibujar la figura.
Tipos de estructuras de
C
Control
Dibujar la base, que es un rectángulo.
Dibujar el poste, que es una línea.
Algoritmo:
t1 - Dibujar la base, que es un rectángulo.
t2 - Dibujar el poste, que es una línea.
t3 - Dibujar el farol, que es un rombo.
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
Dibujar el farol, que es un rombo.
F
14
Diagrama de Flujo
C
Algoritmo:
t1 - Repetir 2 veces, (t111 - t112 - t121 - t122).
t211 - Girar a la derecha 90 grados.
t212 - Avanzar 20 pasos.
t213 - Girar a la izquierda 90 grados.
t22 - Avanzar 30 pasos.
t31 - Dibujar el borde inf. derecho del rombo.
t32 - Dibujar el borde sup. derecho del rombo.
t33 - Dibujar el borde sup. izquierdo del rombo.
t34 - Dibujar el borde inf. izquierdo del rombo.
Repetir 2 veces, (t111 - t112 - t121 - t122).
Girar a la derecha 90 grados.
Avanzar 20 pasos.
Girar a la izquierda 90 grados.
Avanzar 30 pasos.
Dibujar el borde inf. derecho del rombo.
Dibujar el borde sup. derecho del rombo.
Dibujar el borde sup. izq. del rombo.
Dibujar el borde inf. izq. del rombo.
F
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
15
Diagrama de Flujo
Versión 4:
t1 - Repetir 2 veces, (t111 - t112 - t121 - t122).
t211 - Girar a la derecha 90 grados.
t212 - Avanzar 20 pasos.
t213 - Girar a la izquierda 90 grados.
t22 - Avanzar 30 pasos.
t31 - Dibujar el borde inf. derecho del rombo.
t32 - Dibujar el borde sup. derecho del rombo.
t33 - Dibujar el borde sup. izquierdo del rombo.
t34 - Dibujar el borde inf. izquierdo del rombo.
C
2
V
F
t111 - t112 - t121 - t122
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
16
Ejemplo: Dados cuatro números A,B,C y D determinar cual es el mayor de ellos e
informarlo.
Algoritmo
t1 - Si A es mayor que B, C y D, informar A.
t2 - Si B es mayor que A, C y D, informar B.
t3 - Si C es mayor que A,B y D, informar C.
t4 - Si D es mayor que A,B y C, informar D.
Si A es mayor que B, C y D, informar A.
Si B es mayor que A,C y D, informar B.
Si C es mayor que A,B y D, informar C.
Diagrama de Flujo
C
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
17
Si D es mayor que A,B y C, informar D.
F
Diagrama de Flujo
F
F
F
F
C
A > (B,C y D)
V
informar A
B > (A,C y D)
V
informar B
C > (A,B y D)
V
informar C
V
informar D
D > (A,B y C)
F
UNSL - Fund. de la Informática -Introd.a la Computación -Introd.a la Programación (1er Cuatrimestre 2016)
18
Comentarios de: Teoría 3 - Conceptos Básicos de Algoritmia - Estructuras de Control - Diagrama de Flujo (0)
No hay comentarios