2. Contenido
Origen, definición, uso y características de los algoritmos
Representación de algoritmos: diagrama de flujo y pseudocódigo
Asignación de datos
Tipos de operadores
Tipos de datos
3. 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”.
4. 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.
5. 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.
6. 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.
7. Componentes de un algoritmo
Datos de
entrada
Proceso
Salida
Ingresar o leer datos
Operaciones o
instrucciones
Mostrar datos o resultados
8. 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).
En este curso, se usará pseudocódigo y diagrama de
flujo para representar un algoritmo.
9. Representación de Algoritmos
• Descripción de altonivel
Problema
Establecer Modelo
Matemático Seleccionar
Explicación
Verbal
oEsquema
General
• Descripciónformal
• X Ej. D.F.“QUIEROCAFÉ”
INICIO
¿Haycafé
hecho?
FIN
Hacer
café
Calentar y
servir café
¿Estabien
dedulce?
Agregar
azúcar
Sí
No
Sí
No
Problem
a
Obtener
la suma
de dos
numeros
Modelo
Matemático
Aplicar
operación
aritmética
SUMA
Explicación
Obtener
el
resultado
10. Diagrama 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.
12. Pseudocódigo
Es la descripción de un algoritmo diseñado para la lectura
humana (en lenguaje común), no para el computador
(lenguaje de programación o código de máquina).
Omite detalles particulares del lenguaje de programación
tales como: sintaxis rígida, declaración de variables y
constantes, operadores específicos, etc.
Inicio
Pi=3.141592
Ingresar Radio
Si Radio > 0 Entonces
Área = Pi * (Radio^2 )
Mostrar Área
Fin-Si
Fin
Problema:
Calcular el área de una
circunferencia.
13. Asignación de datos
Tome en cuenta que los datos de un algoritmo cambian denombre
en el código de programación y se denominan “variables” o
“constantes”
• Datos Variables: aquellos elementos dentro de un algoritmo que podrán tomar
diferentes valores a lo largo de la ejecución delmismo.
• Datos Constantes: mantendrá el mismo valor a lo largo del algoritmo y para
ello es necesario hacer unaasignación.
Ejemplos de constantes:
valor de pi, un % de descuento, una tasa financiera,etc.
Ejemplo de variable:
el número de encuestados, edad, la fecha de ingreso,etc..
N
N
T
Pi
10
A + 5
"MARIA"
3,1416
Ejemplosde
asignación
EL símbolo indica proceso de asignación de un
valor. De igual forma, podría utilizar el símbolo = solo
que el diseñador deberá diferenciar si está realizando
un proceso de comparación o de asignación!
14. Nombres de datos 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)
15. Tipo de Operadores
Operador Operación Operador Operación
+ Suma / División
- Resta Cociente de la división entera
* Multiplicación Mod-Residuo Residuo de la división entera
^ Exponenciación ¡Recuerde que los operadores tiene una prioridad!
Operador Operación
= Igual
<> Distinto
< Menor
> Mayor
<= Menor o igual
>= Mayor o igual
Operador Símbolo En VBA
Negación NO NOT
Conjunción Y And
Disyunción O Or
• Operadores de
comparación
• Operadores Aritméticos
• Operadores Lógicos
El operadores de texto & para concatenar datos.
Una vez concatenado toda la cadena será texto.
Ejemplo: “María tiene “ & Edad & “ Años”
Tenga en cuenta que la priorización de operaciones
obedecena la prioridad de los operadores y el uso de
los paréntesis son útiles en el orden de cálculo.
16. 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.
17. Ejemplos de Diagrama de Flujo y Pseudocódigo
Pseudocódigo
Inicio
Diagrama de FlujoNICIO
FIN
Resultado = Nro1 + Nro2
Resultado
INICIO
Ingresar Nro1
Ingresar Nro2
Resultado = Nro1 + Nro2
Mostrar Resultado
FIN
El verbo más utilizado
para obtener el dato es
“INGRESAR”, pero
también puede utilizar el
verbo “LEER” u
“OBTENER”.
Nro1 + Nro2
18. Ejemplos
Datos de Entrada Proceso Data de Salida: Información
base, altura Área
Área = (base*altura)/2
Elabore un algoritmo y un diagrama de flujo que permitan calcular el área de
un triángulo.
Donde: base es el dato que almacena el valor de la base y
altura almacena el valor de la altura del tríangulo
19. Fin
base, altura
área
área = (base * altura) / 2
Dato Descripción Tipo de
dato
Validación o
restricción
base Base del
triángulo
Real >0
altura Altura Real >0
área Área Real
Tabla de variables
Solución
Inicio
Diagrama de flujo
Pseudocódigo
Inicio
Leer base, altura
área = (base*altura)/2
Mostrar área
Fin
20. 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 ejecute.
La expresión formal se podrá implementar en cualquier
lenguaje de programación.
21. 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ú.