Prom = (a + b + c) /3
Algoritmos y - 5
Y=5^2
Diagramas de <-
3 *(
a
+
b)
If a <> 15
Flujo p
Nu
m
er
o
y=5^2
a=b+c 1>
nu
Semana 02 m
er
Ing. Leticia Dávalos Valle x > = 15 o
2
01
¿Qué es un
algoritmo?
• Constituye un listado de instrucciones que
indican el camino a seguir para dar solución a
un problema.
• Generalmente las personas efectuamos una
seria de pasos, procedimientos o acciones que
nos permiten alcanzar un resultado o resolver un
problema
2
¿Qué es un
algoritmo?
• Supone el paso previo a ponerse a escribir el
código.
• Primero debemos encontrar la forma de obtener la
solución al problema (definir el algoritmo
informático), para luego, a través del código, poder
indicarle a la máquina qué acciones queremos que
lleve a cabo.
3
¿Qué es un
algoritmo?
• Los algoritmos no son algo exclusivo de los
ámbitos de las matemáticas, la lógica y la
computación.
• Utilizamos numerosos algoritmos para resolver
problemas en nuestra vida cotidiana. Algunos de
los ejemplos más habituales son los manuales de
instrucciones o las recetas de cocina.
4
¿Qué es un
algoritmo?
• Entonces un algoritmo no es más que un método
de resolución de problemas y se basa en un
conjunto ordenado de instrucciones que permiten
realizar una tarea o resolver un problema
específico, dividiendo el problema en un número
finito de pasos elementales e indicando claramente
el orden de ejecución.
5
Partes de un algoritmo ENTRADA
Datos iniciales que serán manipulados
con el fin de resolver el problema.
Al momento de resolver un
algoritmo se debe tener en cuenta PROCESO
la información existente, los Instrucciones que permitan manipular
los datos y transformarlos para
procesos que se deben realizar y obtener la salida
los resultados esperados. SALIDA
Resultados, a partir de la
transformación de los valores de
entrada durante el proceso.
6
Características
Ordenados. Presentan una
secuencia clara y precisa para
poder llegar a la solución.
Precisos. Objetivos, sin
ambigüedad.
Finitos. Contienen un número
determinado de pasos.
Definidos. El mismo algoritmo debe
dar el mismo resultado al recibir la
misma entrada.
7
TIPOS DE ALGORITMOS
1 Según los procesos que requieran:
• Algoritmos computacionales. Son aquellos
cuya resolución puede llevarse a cabo
mediante una calculadora o computadora.
• Algoritmos no computacionales. Son
aquellos que no dependen del cálculo y no
requieren de los procesos de una
computadora para resolverse.
8
EJEMPLO - Algoritmos computacionales:
• Inicio:
• Entrada: Ingresar número entero positivo desde el usuario como entrada
• Proceso:
○ factorial = 1
○ para i desde 1 hasta número:
■ factorial *= i
• Salida: Factorial del número ingresado
• Fin
9
EJEMPLO - Algoritmo no computacional
• Inicio:
• Entrada: Reunir ingredientes y utensilios necesarios
• Proceso:
○ Lavar y cortar las verduras (lechuga, tomate, pepino, etc.).
○ Mezclar las verduras en un bol grande.
○ Agregar aderezo (aceite de oliva, vinagre, sal y pimienta al gusto).
○ Mezclar bien todos los ingredientes.
○ Servir en platos individuales.
• Salida: Ensalada preparada y lista para disfrutar
• Fin
10
TIPOS DE ALGORITMOS
2 Según las secuencias que intervengan:
• Algoritmos cualitativos. Son aquellos en
cuya resolución no intervienen cálculos
numéricos, sino secuencias lógicas y/o
formales.
• Algoritmos cuantitativos. Son aquellos que
dependen de cálculos matemáticos para dar
con su resolución.
11
EJEMPLO - Algoritmo cualitativo
• Inicio:
• Entrada: Reunir las piezas del rompecabezas
• Proceso:
○ Extender todas las piezas sobre una superficie plana.
○ Encontrar las piezas con bordes rectos y armar el borde del
rompecabezas.
○ Identificar y agrupar las piezas con colores y/o patrones similares.
○ Ensamblar las piezas siguiendo el patrón de la imagen objetivo.
○ Completar el rompecabezas y disfrutar del resultado final.
• Salida: Rompecabezas armado según la imagen objetivo
• Fin 12
EJEMPLO - Algoritmo cuantitativo
• Inicio:
• Entrada: Leer números a promediar desde el usuario como entrada
• Proceso:
○ total = 0
○ contar = 0
○ mientras haya más números:
■ leer siguiente número
■ total += número
■ contar += 1
○ promedio = total / conta
• Salida: Promedio de los números ingresados
• Fin 13
TIPOS DE ALGORITMOS
3 Según su propósito:
• Algoritmos de búsqueda.
• Algoritmos de ordenamiento.
Algoritmos predictivos. Algoritmos
probabilísticos.
• Algoritmos de optimización.
14
EJEMPLO – Algoritmos según su propósito
1. Algoritmos de búsqueda: Búsqueda lineal, búsqueda binaria, etc.
2. Algoritmos de ordenamiento: método de la burbuja, Por
selección, por insercción, Quick sort, etc.
3. Algoritmos predictivos: Sistema de recomendación de películas,
predicción del tiempo
4. Algoritmos probabilísticos: Algoritmo de Monte Carlo
15
Formas de representar
un algoritmo
• Podemos expresar un algoritmo de muchas
maneras, incluyendo lenguaje natural, diagramas
de flujo, pseudocódigo y, por supuesto, en
lenguajes de programación reales.
• Los diagramas de flujo y el pseudocódigo son formatos más estructurados que
pueden expresar un algoritmo de manera más precisa, y son populares con
científicos de computación y programadores.
16
¿Qué es un diagrama
Inicio
de flujo? Entrada de
datos
• Representa la esquematización gráfica de un Proceso
algoritmo.
• A partir del mismo se escribe un programa en Salida de
datos
algún lenguaje de programación
• Utiliza símbolos estándar normalizados por el
Fin
instituto de normalización (ANSI)
17
Recomendaciones o reglas a
seguir Inicio
1 Todo diagrama de flujo debe tener un
inicio y un fin
2 Las líneas utilizadas para indicar la
dirección del flujo del diagrama deben
ser rectas, verticales y horizontales Fin
18
Recomendaciones o reglas a
seguir
3
Todas las líneas utilizadas para indicar
dirección de flujo deben estar conectadas
4
El diagrama de flujo debe ser construido
de arriba hacia abajo y de izquierda a
derecha
19
Recomendaciones o reglas a
seguir
5 La notación utilizada en el diagrama de flujo debe ser
independiente del lenguaje a de programación
6 Es conveniente, en tareas complejas, poner comentarios
de expresión.
7 Si el diagrama de flujo requiere mas de una hoja para su
construcción, debemos utilizar los conectores adecuados
y enumerar las páginas.
Recomendaciones o reglas a seguir
8 No puede llegar mas de una
línea a un símbolo
SIMBOLOGÍA
Terminal / Inicio Salida de información
impresa
Entrada(Leer)/
Conector en mismo
Salida(Escribir) de datos.
documento
Se debe escribir la
operación a realizar (leer,
escribir)
Conector fuera de
página
Proceso
Flujo de datos
Decisión
22
SIMBOLOGÍA
Salida de resultados
en pantalla
Repetitiva
Lectura de datos por
teclado
23
Instrucciones
A. Instrucción de inicio/ fin: Representa el inicio y fin de un algoritmo.
24
Instrucciones
B. Instrucción de asignación: Representa la asignación de un valor a una
variable, se puede representar usando una flecha o el símbolo de igualdad, el
cual es usado por muchos de los lenguajes de programación.
25
Instrucciones
C. Instrucción de lectura: Representa el ingreso de datos mediante un
dispositivo de entrada, que muchas veces es representado por un símbolo de
teclado.
26
Instrucciones
D. Instrucción de escritura: Representa la salida de la información
mediante un dispositivo de salida, puede ser representado por el símbolo de
entrada/salida, por símbolo de pantalla o impresora.
27
Instrucciones
E. Instrucción de bifurcación: Cambian el flujo del programa según el
resultado de una expresión lógica (condición).
28
¿Qué son los operadores?
Elementos que relacionan de forma diferente, los valores con los que
trabajamos en los lenguajes de programación.
los operadores nos permiten manipular valores.
Aritméticos
TIPOS Relacionales
Lógicos
Operadores aritméticos
• Pueden ser utilizados con tipos de datos
enteros o reales. Si ambos son enteros, el
resultado es entero; si alguno de ellos es
real, el resultado es real
• Todas las expresiones entre paréntesis se
evalúan primero
Operadores relacionales
Operador Descripción
= Igualdad
• O de comparación
> Mayor que • Luego de comparar estos dos
valores se produce un resultado
>= Mayor o igual que
de certeza o falsedad
< Menor que (Verdadero o Falso)
<= Menor o igual que
<> Diferente a
• Expresión 1 Operador relacional Expresion 2
Operadores Lógicos:
• Estos operadores se utilizan para
establecer relaciones entre valores
lógicos. Estos valores pueden ser
resultado de una expresión
relacional.
35
•«Y» lógico: Si p y q son valores lógicos,
ambos deben ser verdaderos para que Y
devuelva verdadero.
«O» lógico: Si p y q son valores lógicos, uno
de ellos debe ser verdadero para que O
devuelva verdadero.
«No» lógico: Si p es un valor lógico, el
operador No invierte su valor.
EJERCICIOS
PARTE 1
37
EJERCICIO 01
Diseñe un algoritmo que permita
hallar la suma y el promedio de tres
números.
38
EJERCICIO 02
Diseñe un algoritmo que determine la
suma de “N” primeros números enteros.
Fórmula = N*(N+1)/2
Debe mostrar en pantalla el resultado
39
EJERCICIO 03
• Diseñe un algoritmo que permita
hallar la suma de dos números.
• Mostrar el resultado en un informe
impreso.
40
EJERCICIO 04
• Diseñe un algoritmo que permita
hallar el producto de dos números.
41