Publicado el 26 de Junio del 2018
1.358 visualizaciones desde el 26 de Junio del 2018
547,7 KB
20 paginas
Creado hace 7a (01/05/2017)
Teoría Nº 3
ü Conceptos Básicos de Algoritmia
ü Estructuras de Control
ü Diagrama de Flujo
Segundo Cuatrimestre 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 - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas 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 Problemas 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 Problemas 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 Problemas 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 Problemas 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 Problemas 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 Problemas 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 Problemas 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 Problemas 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 Problemas 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 Problemas 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 Problemas 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 Problemas y Algoritmos
14
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 - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algoritmos
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 Problemas 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 Problemas 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 Problemas y Algoritmos
18
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 -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algoritmos
19
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algoritmos
20
Comentarios de: Teoría 3 - Conceptos Básicos de Algoritmia - Estructuras de Control - Diagrama de Flujo (0)
No hay comentarios