Algoritmos
Conceptos Básicos
Algoritmos, Unidad 1
FACULTAD DE INGENIERÍA INDUSTRIAL
UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS
Coordinación de Curso:
Ing. Marcela Escobar, [email protected]
Contenido
1. Origen, definición, uso y características de los algoritmos
2. Representación de algoritmos: diagrama de flujo y pseudocódigo
3. Asignación de datos
4. Tipos de operadores
5. Tipos de datos
1. Origen y Definición de Algoritmo
• Algoritmo (del latín, dixit algorithmus y este del griego arithmos, que significa
«número», quizás también con influencia del nombre del matemático persa
Al-Juarismi) es un conjunto de instrucciones que se preescriben o predefinen
y que permiten llevar a cabo una actividad mediante pasos sucesivos sin
presentar ambigüedad en la ejecución o elaboración de dicha actividad.
• Dado un estado inicial y una entrada siguiendo los pasos sucesivos se llega a
un estado final y se obtiene una solución.
• Los algoritmos son el objeto de estudio de la algoritmia.
• Los algoritmos materia de este curso son específicamente “algoritmos
computacionales”.
Los algoritmos en la vida cotidiana
• Los algoritmos se encuentran en nuestra vida cotidiana, los puede encontrar en la forma
como realizamos algunas actividades. Por ejemplo, en matemáticas, lógica, ciencias de la
computación, medicina, ingeniería y otras disciplinas relacionadas.
• Asimismo, se emplean algoritmos frecuentemente para resolver problemas. Algunos
ejemplos son los manuales de usuario que muestran algoritmos para usar un aparato
electrónico, o las instrucciones que recibe un trabajador de su jefe. También, se tienen
ejemplos en matemática como el algoritmo de multiplicación para calcular el producto, el
algoritmo de Euclides para calcular el máximo común divisor entre dos enteros positivos,
o el método de Gauss para resolver un sistema de ecuaciones lineales.
Características de un algoritmo
• Finito (tiene un inicio y fin)
• Preciso (posee una secuencia clara)
• Definido (al seguir un algoritmo se debe obtener el mismo resultado)
• Formal (tiene una estructura específica a fin de que pueda entenderlo
cualquier persona)
• Eficiente (utiliza de modo eficiente los recursos computacionales)
Un algoritmo computacional tiene un diseño que es independiente del
lenguaje de programación con el que se implemente.
Algoritmo computacional
• En términos computacionales, un algoritmo es una secuencia de pasos
lógicos que permite solucionar un problema específico y que mediante algún
lenguaje de programación o código computacional se automatizará su
ejecución.
• Los derechos de autor del código de programa se otorgan al propietario el
derecho exclusivo sobre el uso de la obra salvo algunas excepciones. Cuando
alguien crea una obra original fija en un medio tangible, automáticamente, se
convierte en el propietario de los derechos de autor de dicha obra.
Componentes de un algoritmo
Datos de Ingresar o leer datos
entrada
Operaciones o
Proceso
instrucciones
Salida Mostrar datos
2. Representación de Algoritmos
• Los algoritmos se pueden expresar de muchas
maneras incluyendo al lenguaje natural, pseudocódigo
y diagramas de flujo entre otros.
• Las descripciones en lenguaje natural pueden
presentarse ambiguas y extensas.
• Los pseudocódigos y diagramas de flujos evitan
ambigüedad y son representaciones más estructuradas
para representar algoritmos (tenga en cuenta que se
mantienen independientes de todo lenguaje de
programación específico).
VBA
• En este curso, se usará pseudocódigo y diagrama de
flujo para representar un algoritmo.
2. Representación de Algoritmos
• Descripción de alto nivel • Descripción formal
Modelo Matemático
• X Ej. D.F. “QUIERO CAFÉ”
Problema
Explicación
INICIO
Establecer Seleccionar Verbal
o Esquema NO SI
¿HAY CAFÉ
General HECHO?
HACER CALENTAR Y
CAFÉ SERVIR CAFÉ
Modelo Matemático
Problema
Explicación
Obtener Aplicar Obtener NO ¿ESTA BIEN SI
DE DULCE?
la suma operación el
de dos aritmética resultado AGREGAR
numeros SUMA AZUCAR
FIN
2.1Diagrama de Flujo y Pseudocódigo
▪ El diagrama de flujo
representación gráfica
Emplea símbolos por tipo de instrucción.
Los símbolos pueden representan operaciones de
lectura o ingreso de datos, evaluación de
condiciones, repetición de instrucciones, mostrar
respuestas, subprogramas, etc.
2.1 Elementos gráficos para su representación
2.2 Pseudocódigo
▪ Es la descripción de un algoritmo diseñado para la Problema: Calcular el área de una
lectura humana (en lenguaje común), no para el circunferencia.
computador (lenguaje de programación o código de
máquina).
Inicio
▪ Omite detalles particulares del lenguaje de Ingresar Radio
programación tales como: sintaxis rígida, Pi=3.141592
declaración de variables y constantes, operadores A = Pi * (Radio^2 )
específicos, etc. Mostrar A
Fin
3. Asignación de datos a Variables
Ejemplos de Tome en cuenta que los datos de un algoritmo cambian de nombre
asignación en el código de programación y se denominan “variables” o
“constantes”
• Variables: aquellos elementos dentro de un algoritmo que podrán
N 10 tomar diferentes valores a lo largo de la ejecución del mismo.
N A+5 • Constantes: mantendrá el mismo valor a lo largo del algoritmo y
T "MARIA"
para ello es necesario hacer una asignación.
Pi 3,1416
Ejemplos de constantes:
EL símbolo , indica proceso de asignación de un
valor de pi, un % de descuento, una tasa financiera, etc.
valor. De igual forma podría utilizar el símbolo =
solo que el diseñador deberá diferenciar si está Ejemplo de variable:
realizando un proceso de comparación o de el número de encuestados, edad, la fecha de ingreso, etc..
asignación!
Nombres de Variables en Algoritmos
• Deben empezar con letras del abecedario
• No se utilizan caracteres especiales como * + / :
etc.
• El espacio en blanco no está permitido, pero
puede usar el guión bajo _
• No es sensible a las mayúsculas, es decir el dato
en mayúsculas o minúsculas es el mismo para
algunos lenguajes de programación.
• El nombre debe ser nemotécnico (fácil
recordación)
4. Tipo de Operadores
• Operadores Aritméticos • Operadores de
Operador Operación Operador Operación
comparación
+ Suma / División
Operador Operación
- Resta \ Cociente de la división entera
= Igual
* Multiplicación Mod-Residuo Residuo de la división entera
<> Distinto
^ Exponenciación ¡Recuerde que los operadores tiene una prioridad!
< Menor
• Operadores Lógicos Operador Símbolo En VBA > Mayor
Negación NO NOT <= Menor o igual
El operadores de texto & : para Conjunción Y And >= Mayor o igual
concatenar datos una vez concatenados Disyunción O Or
toda la cadena será texto Ejemplo:
“María tiene “ & E & “ Años” Tenga en cuenta que la priorización de operaciones obedecen a
la prioridad de los operadores y el uso de los paréntesis son
útiles en el orden de cálculo.
5. Tipos de Datos
• El tipo de dato es un atributo que
indica la característica o restricción
del dato.
• En algoritmos, se tienen los tipos de
datos Entero, Real, Texto o
alfanumérico, Lógico, entre otros.
Ejemplos de Diagrama de Flujo y Pseudocódigo
Diagrama de Flujo Pseudocódigo
INICIO
INICIO
El verbo más utilizado
Ingresar a para obtener el dato es
a,b
Ingresar b “INGRESAR”, pero
Resultado = a + b también puede utilizar el
Resultado =a + b verbo “LEER” u
Mostrar Resultado
“OBTENER”.
Resultado FIN
FIN
Ejemplos
Elabore un algoritmo y un diagrama de flujo que permitan calcular el área de
un triángulo.
Datos de Entrada Proceso Data de Salida:
Información
b, h A = (b*h)/2 A
Donde :b es la variable que
almacena el valor de la base y h
es la variable que almacena el
valor de la altura
Solución
Diagrama de flujo
Inicio
Pseudocódigo
Tabla de variables b, h
Variable Descripción Tipo de Validación
Inicio
dato
b Base Real >0
Leer b, h
A = (b * h) / 2
h Altura Real >0 A = (b*h)/2
A Área Real
Mostrar A
A
“ Datos
errados” Fin
Fin
Resumen
• A diferencia de la descripción en lenguaje
natural, la descripción formal evita ambigüedad
de ejecución.
• La expresión formal ayuda a establecer una
comunicación clara tanto para quien elabora el
algoritmo como para quien lo ejecuta.
• La expresión formal se podrá implementar en
cualquier lenguaje de programación.
Referencias
• Elaboración y aportes a la presentación:
• Docentes del Curso
• Imágenes y ejemplos:
• https://es.slideshare.net/avilasz/diagramas-de-flujo-8929746
• https://www.universoformulas.com/matematicas/geometria/triangulo/
• https://www.monografias.com/trabajos93/tecnologia-
computacion/tecnologia-computacion.shtml
Referencia Bibliográfica:
https://es.wikipedia.org/wiki/Algoritmo
Joyanes Aguilar, L. ,Fundamentos de Programación: Algoritmos, estructura de datos y objetos, McGrawHill, 4ta edición, Madrid
Senmache Sarmiento, J.M., Informática Para los Negocios- Visual Basic para Aplicaciones de MS Excel, e-informatics book, Perú.