Actualizado el 23 de Octubre del 2020 (Publicado el 25 de Junio del 2018)
1.647 visualizaciones desde el 25 de Junio del 2018
644,1 KB
18 paginas
Creado hace 8a (01/01/2017)
Teoría Nº 4
ü 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 2017
UNSL – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
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 – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
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 – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
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 – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
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 – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
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 – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
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 – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
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 – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
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 – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
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 – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
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 – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
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 – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
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 – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
13
Diagrama de Flujo
Ejemplo: Dibujar la figura.
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.
Tipos de estructuras de
Control
C
Dibujar la base, que es un rectángulo.
Dibujar el poste, que es una línea.
Dibujar el farol, que es un rombo.
F
UNSL – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
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 – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
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 – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
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
Si D es mayor que A,B y C, informar D.
F
UNSL – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
17
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 – FCFMyN – Dpto. de Informática - Resolución de Problemas y Algoritmos - 2017
18
Comentarios de: Teoría 4 - Conceptos Básicos de Algoritmia - Estructuras de Control - Diagramas de Flujo (0)
No hay comentarios