Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... ·...
Transcript of Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... ·...
![Page 1: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/1.jpg)
1
Teoría Nº 4
Segundo Cuatrimestre 2019
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
ü Datos
ü Conceptos Básicos de Algoritmia
ü Estructuras de Control
ü Diagrama de Flujo
![Page 2: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/2.jpg)
Definiciones asociadas: Enunciado: descripción del trabajo a realizar. Procesador: Computadora Ambiente: los objetos del universo del problema.
2
Algoritmos Computacionales
Cómo son esos objetos? Cuáles son esos objetos?
Objetos capaces de almacenar datos propios de la computadora
los objetos
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 3: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/3.jpg)
3
Suponemos que los objetos son contenedores de datos, por ejemplo CAJAS Como puedo pretender trabajar con varios de estos objetos (cajas)
Es necesario, distinguirlos unos de otros, identificarlos unívocamente, o lo que es lo mismo asignarles un Nombre o Identificador.
pepe juan casa estrella Todos ellos van a contener datos propios de una computadora, en principio números o letras.
estrella 123
estrella oso
Datos
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 4: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/4.jpg)
4
Restricción: Solamente podrán contener información de un solo tipo. estrella estrella 123 oso
estrella estrella 123 oso
CATEGORIZAR LOS OBJETOS
pepe juan
Objetos que almacenan números
casa
estrella
Objetos que almacenan letras o caracteres
Datos
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 5: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/5.jpg)
5
reales
Datos
numéricos
caracteres
lógica
enteros
Objetos que almacenan valores lógicos
pepe juan
Objetos que almacenan enteros casa estrella
Objetos que almacenan caracteres
Objetos que almacenan reales jose luis tomas lucas
Datos
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 6: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/6.jpg)
6
Debido a que una computadora procesa datos, (datos categorizados como entero, real, carácter o lógico) es altamente probable que ese procesamiento implica que los datos, que se le entregue a la entrada, deban ser modificados para poder entregar un resultado.
La datos almacenados en los objetos (contenedores) puede variar, es decir, los objetos van a variar su contenido durante el proceso de resolución de un problema.
VARIABLES DE INFORMACIÓN A los objetos se los denomina:
Datos
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 7: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/7.jpg)
7
Variables Ensíntesis
Variable
Atributos Nombre
Tipo de Datos
Funcionalidad
Almacena un dato temporalmente
Es posible cambiar su contenido durante el ciclo de vida de un proceso
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 8: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/8.jpg)
8
Ejemplo Nº 1: Enunciado: Realice un algoritmo que calcule la suma de los 15 primeros números naturales. Procesador: computadora.
Variables
Ambiente: ¿Variables?
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 9: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/9.jpg)
9
Ejemplo Nº 2: Enunciado: dados dos números enteros positivos, digamos m y n, encontrar el algoritmo que determine la potencia n-ésima de m. Con n > 1. Procesador: computadora. Acciones primitivas:
4 Dar un valor a un objeto. 4 Calcular la suma de dos números. 4 Calcular el producto de dos números. 4 conjunto repetitivo de acciones expresado:
Mientras <condición> Hacer <acciones-primitivas> Repetir.
Variables
Ambiente: ¿Variables?
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 10: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/10.jpg)
10
Análisis del problema:
• Si se tiene que m representa el valor 4 y n representa el valor 3, entonces se calcula: 43 = 4 x 4 x 4 = 64. • Si se tiene que m representa el valor 2 y n representa el valor 6, entonces se calcula: 26 = 2 x 2 x 2 x 2 x 2 x 2 = 64.
Generalizando
mn = m x m x … x m
Variables
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 11: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/11.jpg)
(mn-1 x m)
(mn-2 x m)
(mn-3 x m)
(m2 x m) (m x m)
n veces se repite m
• Cuantas veces se realizó la operación? • Cada operación es igual a la anterior?
Si mn = m x m x … x m
mn =
Variables
11 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 12: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/12.jpg)
12
8 x 82
8 8 x 81
83 = 8 x 8 x 8
Número a multiplicar (base de la potencia)
Cálculo previo a ser reutilizado
Número de veces que se realizó la multiplicación
Realizar: 83
2
83
3 índice de la potencia
Variables
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 13: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/13.jpg)
13
Determinación de las variables que contienen información necesaria: 1- objeto conteniendo el entero positivo al cual se le
calcula la potencia (base de la potencia).
2- objeto conteniendo el entero positivo que indica la potencia (exponente de la potencia).
3- objeto que determine cuantas multiplicaciones se deben realizar. 4- objeto que mantenga los cálculos previos para poder
realizar los nuevos cálculos.
Ambiente: 4 variables
Variables
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 14: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/14.jpg)
Versión 2: t1 - Determinar nombres y tipos de las variables. t2 - Dar valores iniciales a las variables. t31 - Comenzar con el entero 1. t32 - Para todo entero positivo menor que el valor indicado como índice, multiplicar el número dado por el resultado anterior.
14
Algoritmo: (Solución en Lenguaje de Problemas) Versión 1:
t1 - Determinar nombres y tipos de las variables. t2 - Dar valores iniciales a las variables. t3 - Contando desde 1, multiplico el entero por la potencia anterior, tantas veces como lo indica el índice de la potencia.
Variables
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 15: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/15.jpg)
15
Determinar nombres y tipos a las variables.
Dar valores iniciales a las variables.
C
tomar el número y multiplicarlo por el resultado anterior. .
F
entero < índice pot.
Comenzar con el entero 1.
Tomar un nuevo entero.
V F
Diagrama de Flujo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 16: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/16.jpg)
16
1 - Variable con el valor de la base (NUMERO) 2 - Variable con el valor del índice (POTENCIA) 3 - Variable conteniendo el entero que indica las veces que se debe multiplicar (VECES). 4- Variable que que guarda cálculos previos (PREVIO)
Variables
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 17: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/17.jpg)
Bosquejo del algoritmo: t1 - NUMERO, POTENCIA, PREVIO, VECES del tipo entero t21 - dar a NUMERO el valor m (el que se desee) t22 - dar a POTENCIA el valor n (mayor que 1) t23 - dar a PREVIO el valor m t31 - dar a VECES el valor 1 MIENTRAS el valor de VECES sea menor que el valor de POTENCIA HACER
t321- multiplicar el valor de NUMERO por el valor de PREVIO t322 -dar este nuevo resultado al objeto PREVIO t323 -sumar 1 al valor de VECES t324 -dar este nuevo resultado al objeto VECES
REPETIR 17
Variables
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 18: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/18.jpg)
18
Ejemplo Nº 3: Enunciado: dado un número entero positivo, encontrar el algoritmo que determine el factorial de dicho número. Procesador: computadora. Acciones primitivas:
4 Dar un valor a una variable. 4 Calcular la suma de dos números. 4 Calcular el producto de dos números. 4 conjunto repetitvo de acciones expresado:
Mientras <condición> Hacer <acciones-primitivas> Repetir. Ambiente: ¿Variables?
Variables
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 19: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/19.jpg)
19
Análisis del problema:
Si se tiene el nro. 4, se calculará: 1x2x3x4 = 24 = 4! Si se tiene el Nº 5, se calculará: 1x2x3x4x5 =120 = 5! y así siguiendo.
1! = 1 2! = 2 x 1 = 2 x 1! 3! = 3 x 2 x 1 = 3 x 2! .....
n! = n x (n -1) x (n-2) x ... x 1 = n x (n-1)!
Variables
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 20: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/20.jpg)
20
n! = n x (n -1) x (n-2) x ... x 1 = n x (n-1)! n = 4
3 x 2!
1
2 x 1!
4! = 4 x 3!
Número a multiplicar
Calculo previo a ser reutilizado
Número a calcular el factorial,
Veces que debo multiplicar
Variables
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 21: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/21.jpg)
21
Determinación de las variables: 1- variables conteniendo el entero positivo al cual se le calcula el factorial y que determina las veces que debo multiplicar. 2- variables que determine que valores se irán multiplicando. 3- variables que mantenga los cálculos previos para poder realizar los nuevos cálculos.
Ambiente: 3 variables
Variables
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 22: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/22.jpg)
22
Algoritmo: Solución 1: Versión 1: (nivel 1 de descomposición)
t1 - Asignar nombres y tipos a las variables. t2 - Dar valores iniciales a las variables. t3 - Realizar repetidamente el producto de un numero por el factorial de su anterior.
Versión 2: t1 - Asignar nombres y tipos a las variables. t2 - Dar valores iniciales a las variables. t31 - Comenzar con el entero 1. t32 - Para todo entero positivo menor o igual que el valor dado, tomar el entero y multiplicarlo por el resultado anterior.
Ejemplo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 23: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/23.jpg)
23
Solución 2: Versión 1:
t1 - Asignar nombres y tipos a las variables. t2 - Dar valores iniciales a las variables. t3 - Comenzando por 1, multiplico desde 1
todos los enteros positivos menores que el número dado como valor inicial.
Ejemplo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 24: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/24.jpg)
24
Asignar nombres y tipos a las variables.
Dar valores iniciales a las variables.
C
tomar el entero y multiplicarlo por el resultado anterior. .
F
entero <= valor dado
Comenzar con el entero 1.
Tomar un nuevo entero.
V F
Ejemplo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 25: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/25.jpg)
25
Variables: 1 - Variable con el valor dado (NUMERO)
2- Variable que guarda resultados anteriores (FACTORIAL),
3 - Variable que tiene el entero a multiplicar (AGREGO).
Ejemplo - Variables
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 26: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/26.jpg)
26
Bosquejo del algoritmo: t1 -NUMERO, FACTORIAL, AGREGO: entero t21 - dar a NUMERO el valor n (el que se desee) t22 -dar a FACTORIAL el valor 1 t31 - dar a AGREGO el valor 1 MIENTRAS el valor de AGREGO sea menor o igual que el valor de NUMERO HACER
t321- multiplicar el valor de AGREGO por el valor de FACTORIAL t322 -dar este nuevo resultado al objeto FACTORIAL t323 -sumar 1 al valor de AGREGO t324 -dar este nuevo resultado al objeto AGREGO
REPETIR
Ejemplo - Variables
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 27: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/27.jpg)
27
Acción ejecutada Estado del ambiente después de ejecutada la acciónNUMERO AGREGO FACTORIAL
t1 indeterminado indeterminado indeterminadot2.1 3 indeterminado indeterminadot2.2 3 indeterminado 1t3.1 3 1 1(1º repetición) 1 ≤ 3 verd.t321 3 1 1 1t322 3 1 1t323 3 1 1 2t324 3 2 1(2º repetición) 2 ≤ 3 verd.t321 3 2 1 2t322 3 2 2t323 3 2 2 3t324 3 3 2(3º repetición) 3 ≤ 3 verd.t321 3 3 2 6t322 3 3 6t323 3 3 6 4t324 3 4 6(4º repetición) 4 ≤ 3 falso
fin de repetición y fin del algoritmo
Ejemplo - Ejecución
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 28: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/28.jpg)
28
Conceptos Previos de Algoritmia ParadigmasdeProgramación
Los lenguajes de programación proporcionan un modelo abstracto de lacomputadoraque lepermitenal programador concentrarse en el diseñode losalgoritmos independientemente de las características de la arquitectura de lacomputadora.
Sehandesarrolladovariosparadigmasdeprogramaciónqueofrecendiferentesmodelospara visualizar qué es unproblemay cómo representar el procesodesoluciónatravésdeunprograma.
De acuerdo al paradigma seleccionado, el programador modifica suconceptualizacióndelosproblemasaresolver,delosresultadosesperadosydelosposiblesalgoritmos.
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 29: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/29.jpg)
29
Conceptos Previos de Algoritmia ParadigmasdeProgramació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
Estructuras de Control
Secuencia
Repetición
Selección
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 30: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/30.jpg)
30
Conceptos Previos de Algoritmia EstructurasdeControl
• 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
![Page 31: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/31.jpg)
31
Conceptos Previos de Algoritmia EstructurasdeControl-Ejemplo
Escriba la primer nota (A) Escriba la segunda nota (B)
Escriba la tercer nota (C)
• Hacer un algoritmo que calcule el promedio de 3 notas de un alumno
Sumar A, B y C (SUMAR) Dividir al resultado SUMAR por 3 (PROMEDIO) • Modificar el algoritmo de manera
tal que informe si aprueba o no Si PROMEDIO es mayor o igual que 7 entonces
Informar “APRUEBA” • Modificar el algoritmo de manera
tal que, para cada uno de los alumnos del curso, calcule el promedio e informe si aprueba.
Mientras haya alumno del curso a quien considerar
Repita desde “Mientras”
¿Estructuras de Control?
Sino Informar “NO APRUEBA”
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 32: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/32.jpg)
32
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
Diagrama de Flujo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 33: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/33.jpg)
33
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
Diagrama de Flujo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 34: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/34.jpg)
34
AKKleasigno2
IngresounvalorenI
APP[K]leasignoI
AIleasigno15
I<=20
MuestrePP[I]
AIleasignoI+2
V
F
C
F
Diagrama de Flujo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 35: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/35.jpg)
35
Tipos de estructuras de Control
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).
Gráfica asociada:
tarea i
tarea i+1
Diagrama de Flujo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 36: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/36.jpg)
36
4 Condicional: las tareas (acciones) se realizaran dependiendo de cierta situación, estado previo o condición que se debe cumplir.
Gráfica asociada:
tarea i tarea j
? F V
Tipos de estructuras de Control
Diagrama de Flujo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 37: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/37.jpg)
37
4 Repetición (Iteración): una tarea o conjunto de tareas (acciones) se deben realizar en forma repetitiva.
tarea i
? V
F
Gráfica asociada:
Tipos de estructuras de Control
Diagrama de Flujo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 38: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/38.jpg)
38
Ejemplo: Dibujar la figura.
Dibujar la base, que es un rectángulo.
Dibujar el poste, que es una línea.
Dibujar el farol, que es un rombo.
C
F
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
Diagrama de Flujo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 39: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/39.jpg)
39
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.
Algoritmo:
Repetir 2 veces, (t111 - t112 - t121 - t122).
Girar a la derecha 90 grados.
C
F
Avanzar 20 pasos.
Girar a la izquierda 90 grados.
Avanzar 30 pasos.
Dibujar el borde inf. derecho del rombo.
Dibujar el borde inf. izq. del rombo.
Dibujar el borde sup. izq. del rombo.
Dibujar el borde sup. derecho del rombo.
Diagrama de Flujo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 40: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/40.jpg)
40
C
t111 - t112 - t121 - t122
2
V
F 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.
Versión 4:
Diagrama de Flujo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 41: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/41.jpg)
41
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.
C
F
Si C es mayor que A,B y D, informar C.
Si D es mayor que A,B y C, informar D.
Diagrama de Flujo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 42: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/42.jpg)
42
informar A A > (B,C y D)
C
B > (A,C y D) informar B
F
V F
V F
C > (A,B y D) informar C
V F
D > (A,B y C) informar D
V F
Diagrama de Flujo
UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación
![Page 43: Teoría Nº 4 - Departamento de Informáticadirinfo.unsl.edu.ar/servicios/abm/assets/uploads/... · Diagrama de Flujo UNSL - Fund. de la Informática -Int. a la Computación - Int.a](https://reader034.fdocuments.ec/reader034/viewer/2022042204/5ea5b78c41c9f6356b014b8d/html5/thumbnails/43.jpg)
43 UNSL - Fund. de la Informática -Int. a la Computación - Int.a la Programación – Res. De Problemas y Algortimos