Actualizado el 26 de Junio del 2018 (Publicado el 23 de Mayo del 2018)
1.358 visualizaciones desde el 23 de Mayo del 2018
401,6 KB
19 paginas
Creado hace 8a (01/05/2016)
Teoría Nº 4
ü Conceptos Básicos de Algoritmia
ü Estructuras de Control
ü Diagrama de Flujo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
1
Segundo Cuatrimestre 2016
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
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
varios
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
7
Estructuras
de
Control
-‐
Ejemplo
• Hacer un algoritmo que calcule el
promedio de 3 notas de un
alumno
• Modificar el algoritmo de manera
tal que informe si aprueba
• Modificar el algoritmo de manera
tal que, para cada uno de los
alumnos del curso, calcule el
promedio e informe si aprueba.
Conceptos Previos de Algoritmia
Mientras haya alumno del curso a quien considerar
Escriba la primer nota (A)
Escriba la segunda nota (B)
Escriba la tercer nota (C)
Sumar A, B y C (SUMAR)
Dividir al resultado SUMAR por 3 (PROMEDIO)
Si PROMEDIO es mayor o igual que 7 entonces
Informar “APRUEBA”
Repita desde “Mientras”
¿Estructuras de Control?
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
8
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
9
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
10
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
11
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
12
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
13
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
14
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
Dibujar el farol, que es un rombo.
F
15
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
16
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
17
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 -Int. a la Computación - Int.a la Programación – Res. de Prob. y Algoritmos
18
Si D es mayor que A,B y C, informar D.
F
Diagram
Comentarios de: Teoría 4 - Conceptos Básicos de Algoritmia - Estructuras de Control - Diagrama de Flujo (0)
No hay comentarios