REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA DEFENSA
UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA
FUERZA ARMADA NACIONAL BOLIVARIANA
UNEFA
NÚCLEO BOLÍVAR EXTENSIÓN UPATA – ADS 1er SEMESTRE
GENERALIDADES DE ALGORITMO
Profesora: Integrante:
JESSIKA FERNÁNDEZ BERNABÉ URBINA C.I. 24.701.125
UPATA: 02/05/2020
ÍNDICE
Introducción…………………………………….…………………………………………………3
Generalidades de algoritmo………………………………………………………….…………4
Algoritmo…………………...………………………………………………………………..4-5
Características de los algoritmos……………………………………………………………..5-6
Tipos de algoritmos…………………………………………………………………………….6
Estructura de un algoritmo……………………………………………………………………...7
Expresiones…………………………………………………………………………………….8
Instrucciones de entrada y salida………………………..……………………………………8-9
Estructura de datos………………………………………………….………………………9-10
Estructura de control……………………………………………………………………....11-12
Aplicaciones prácticas……………………………………………………………………..12-13
Ejemplo de algoritmo cualitativo…………………………………………………………...…14
Ejemplo de algoritmo cuantitativo…………………………………………………………….15
Conclusión……………………………………………………………………………………….16
Web-grafía………………………………………………...……………………………………..17
Anexos…………………………………………………………………………………..……18-22
INTRODUCCIÓN
El algoritmo es todo proceso finito, estructurado de pasos que nos ayudan a la resolución de un
problema de manera lógica. Este suele usar pasos eslabonados y fáciles de entender para los
operadores. Los usamos en la vida cotidiana a veces sin percatarnos de ello. Los algoritmos tienen
cero o más entradas, una o más salidas, son finitos, deben ser entendibles, el proceso puede
retrocederse sin afectarlo y debe tener un final. Están los algoritmos cualitativos, que siguen una
orden de pasos lógicos, y los cuantitativos, que usan cálculos numéricos para segur un proceso de
pasos. En cuanto a su estructura, tienen un inicio, un conjunto de datos, luego el cuerpo que le da
entrada a los datos, los procesa y genera una salida para finalizar el algoritmo. Cuando se habla de
algoritmos más complejos como los usados con lenguajes de programación tienen una estructura
de datos. Estos suelen tener aplicaciones prácticas tanto en el día a día nuestro, como en tecnologías
que soportan este tipo de mecanismos.
3
GENERALIDADES DE ALGORITMO
El algoritmo es una serie ordenada de procesos o pasos que deben llevarse a cabo para alcanzar
la solución a un problema específico. Los algoritmos pueden ser de distintos tipos, los de la vida
diaria como seguir las instrucciones para lavarse los dientes y los algoritmos utilizados para
resolver o llevar a cabo procesos más complicados como el funcionamiento de un programa de
computación. Las características de los algoritmos es que nos permiten definir una serie de pasos
a seguir que se deben realizar para alcanzar el resultado que deseamos, es decir un resultado
previsible. El uso de los algoritmos no se limita a las computadoras o a los sistemas automatizados,
ya que también en la naturaleza y en nuestra vida los algoritmos están bien presentes. Básicamente
podría considerarse como un algoritmo cualquier tarea que deba ser llevada a cabo mediante
instrucciones y reglas definidas para ellos.
Algoritmo
En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo es un
conjunto de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una
actividad mediante pasos sucesivos que no generen dudas a quien de realizar dicha actividad.
Dados un estado inicial y una entrada, siguiendo los pasos se llega a un estado final y se obtiene
una solución.
Otra definición sería que es un conjunto finito de pasos definidos, estructurados en el tiempo y
formulados con base a un conjunto de reglas no ambiguas, que proveen un procedimiento para dar
la solución o indicar la falta de esta a un problema en un tiempo determinado.
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos
ejemplos son los manuales de usuarios, que muestran algoritmos para usar un aparato o en
4
matemáticas son el algoritmo de la división para calcular el cociente de dos números, el algoritmo
de Euclides para obtener el máximo común divisor de dos enteros positivos.
Características de los algoritmos
Las características fundamentales que deben cumplir todo algoritmo son:
• Ser limitado o finito: todo algoritmo debe tener un numero de instrucciones que limitan el
proceso en algún momento, es decir, la ejecución debe detenerse. No puede existir un
algoritmo, por muy grande que sea o por muchos resultados que produzca, que se quede en
forma indefinida ejecutando sus instrucciones o repitiendo la ejecución de un conjunto de
ellas.
• Tener cero o más entradas: la entrada hace referencia a la información proporcionada al
algoritmo, la cual debe sufrir un proceso para obtener los resultados. Un algoritmo tiene
cero o más datos de entrada. Estos valores le son dados por medio de una instrucción o
mandato que se debe cumplir al ejecutarse el algoritmo.
5
• Tener una o más salidas: todo algoritmo debe proporcionar uno o más valores como
resultado, una vez se ha ejecutado la secuencia de pasos que lo conforman. La salida es la
respuesta dada por el algoritmo o el conjunto de valores que el programador espera se le
proporcionen. Estos resultados pueden ser de cualquier tipo: uno o más valores numéricos,
valores lógicos o caracteres. La facilidad o complejidad de un algoritmo no la determinan
la cantidad de datos que desean obtener. Un algoritmo puede tener un alto grado de
complejidad y, sin embargo, producir un solo valor como resultado.
• Tener un punto de finalización: un algoritmo debe indicar el orden de realización de cada
uno de los pasos. Debe mostrar la primera, la intermedia y la última instrucción que debe
realizarse. Esto permite mostrar que en algún momento debe culminar la acción o tarea que
hace el algoritmo.
• Tener claridad: todo el conjunto de pasos debe ser entendible y factible de realizar, de tal
manera, que al hacer un seguimiento del algoritmo éste produzca siempre los resultados
requeridas. No puede entonces existir incertidumbre en las acciones a tomar cuando se
sigue la lógica del algoritmo.
Tipos de algoritmos
Los tipos de algoritmos son:
• Cualitativos: son aquellos en los que se describen los pasos utilizando palabras.
• Cuantitativos: son aquellos que utilizan cálculos numéricos para definir los pasos de los
procesos.
6
Estructura de un algoritmo
La estructura de un algoritmo sirve para organizar a los elementos que aparecen en él. Todos
los algoritmos tienen la misma estructura, la cual viene definida por cuatro secciones:
• Sección de encabezado: en la cabecera de un algoritmo es donde se debe de indicar el
nombre (identificador) asignado al mismo.
• Declaraciones: en esta sección se declaran las constantes, los tipos de datos y las variables
que se usan en un algoritmo.
• Cuerpo: todo algoritmo consta de tres partes que son:
o Entrada. La información dada al algoritmo, o conjunto de instrucciones que generen
los valores con que ha de trabajar, en caso de que no tenga datos de entrada.
o Proceso. Cálculos necesarios para que a partir de un dato de entrada se llegue a los
resultados.
o Salida. Resultados finales o transformaciones que ha sufrido la información de entrada
a través del proceso.
ENTRADA PROCESO SALIDA
• Fin del algoritmo: todo algoritmo debe estar perfectamente definido, es decir, se lo debe
seguir cuantas veces sea necesario obteniendo cada vez siempre el mismo resultado. De lo
contrario, el algoritmo no será fiable y no servirá como guía en la toma de decisiones.
7
Expresiones
Una expresión es un grupo de operadores que actúan sobre operandos, para proporcionar un
único resultado. Una expresión consta de operadores y operandos. Según sea el tipo de datos que
manipulan, se clasifican las expresiones en:
• Aritméticas: en este caso los operandos son constantes o variables numéricas unidas a
través de operadores aritméticos, donde el resultado obtenido de la expresión es un número.
• Lógicas: en este tipo de expresiones existe por lo menos un operador lógico actuando sobre
variables numéricas, lógicas o caracteres. El resultado siempre será falso o verdadero. Los
operadores lógicos son de dos clases:
o Relacionales: en este tipo de expresiones existe por lo menos un operador relacional
actuando sobre variables. El resultado siempre será falso o verdadero.
o Booleanos: Los operadores booleanos son componentes de un sistema lógico algebraico
formulado por George Boole, matemático inglés del siglo XIX, que indican a los
motores de búsqueda qué conceptos se desean incluir o excluir en los resultados.
Instrucciones de entrada y salida
Algunas de las instrucciones algorítmicas básicas son:
• Entrada: consiste en obtener un dato de un dispositivo de entrada, como el teclado, y
almacenarlo en una variable. En general, la acción de ingresar un dato a una variable se
expresa en el pseudocódigo mediante la palabra LEER, de la siguiente forma:
8
LEER variable, Por ejemplo, la instrucción:
LEER estatura
Solicita el ingreso de un valor, desde algún dispositivo de entrada (como el teclado), para la
variable estatura.
• Salida: consiste en mostrar el valor de una variable en un dispositivo de salida, como la
pantalla. En general, la acción de mostrar el valor de una variable se expresa en el
pseudocódigo mediante la palabra IMPRIMIR o ESCRIBIR de la siguiente forma:
IMPRIMIR variable o ESCRIBIR variable
Por ejemplo, la instrucción:
IMPRIMIR (ESCRIBIR) importeCompra
Muestra, en algún dispositivo de salida (como la pantalla), el valor de la variable
importeCompra.
Estructura de datos
En la construcción de algoritmos eficientes, no solo basta la utilización de la lógica correcta
para la resolución del problema sino también las estructuras de datos involucradas en dicho
algoritmo. Las estructuras de datos están compuestas por un conjunto de variables que
almacenaran los valores necesarios para un algoritmo. Estos valores toman información de acuerdo
a un conjunto finito definido por un lenguaje de programación que los identifica. Asociado a estos
valores se encuentra una serie de operaciones particulares. A este conjunto de valores y
operaciones particulares se le conoce como tipo de dato de un lenguaje de programación.
9
Los distintos tipos de datos son:
• Variable: una variable es un nombre asociado a un elemento de datos que está situado en
posiciones contiguas de la memoria principal, y su valor puede cambiar durante la ejecución
de un programa. Toda variable pertenece a un tipo de dato concreto. En la declaración de
una variable se debe indicar el tipo al que pertenece.
• Constante: una constante es un dato cuyo valor no puede cambiar durante la ejecución del
programa. Recibe un valor en el momento de la compilación y este permanece inalterado
durante todo el programa.
• Arreglos matrices: son el inicio de una base de datos, ya que contienen filas y columnas
Es un conjunto de elementos, todos del mismo tipo. Una matriz tiene al menos dos
dimensiones y por cada una de ellas un subíndice. Para el caso de una matriz de dos
dimensiones el subíndice de la izquierda se refiere a las filas y el de la derecha a las
columnas (Filas, Columnas).
• Registros: los registros son un tipo de dato estructurado formado por la unión de varios
elementos bajo una misma estructura. Estos elementos pueden ser, o bien datos elementales
(entero, real, carácter…) o bien otra estructura de dato. A cada uno de esos elementos se le
llama campo.
• Archivos: Los archivos son una estructura de datos que reside en memoria secundaria o
almacenamiento permanente (cinta magnética, disco magnético, disco óptico, disco laser,
entre otros). La forma de clasificación más básica se realiza de acuerdo al formato en que
residen estos archivos, de esta forma hablamos de archivos ASCII (de texto) y archivos
Binarios.
10
Estructuras de control
Las estructuras de control indican el orden de ejecución de las acciones en un algoritmo e
instrucciones en un programa.
Todas las estructuras de control tienen un único punto de entrada. Las estructuras de control se
pueden clasificar en: secuenciales e iterativas.
• Secuenciales: se utilizan para tomar decisiones lógicas, se evalúa una condición y en
función al resultado se realiza una determinada secuencia de instrucciones. Estas estructuras
se clasifican en: simple, dobles, múltiples.
o Simple: se identifican porque están compuestos únicamente de una condición. La
estructura si-entonces evalúa la condición y en tal caso: si la condición es verdadera,
entonces ejecuta la acción Si (o acciones si son varias). Si la condición es falsa no se
hace nada.
o Dobles: son estructuras lógicas que permiten controlar la ejecución de varias acciones
y se utilizan cuando se tienen dos opciones de acción, por la naturaleza de estas se debe
ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes.
o Múltiples: aplicando la estructura de decisión múltiples se evaluará una expresión que
podrá tomar n valores distintos, 1, 2, 3, …, n y según que elija uno de estos valores en
la condición, se realizara una de las n acciones o lo que es igual, el flujo del algoritmo
seguirá solo un determinado camino ente los n posibles. Esta estructura se representa
por un selector el cual si toma el valor 1 ejecutará la acción 1, si toma el valor 2 ejecutará
la acción 2, si toma el valor n realizará la acción n.
11
• Iterativas: inician o repiten un bloque de instrucciones si se cumple una condición o
mientras se cumple una condición.
Aplicaciones practicas
En diversas ocasiones damos uso de los algoritmos para resolver un problema, incluso sin
darnos cuenta de ello. La ciencia y tecnología se ha encargado de llevar esto a operaciones más
prácticas en diversos campos.
Una tarea tan simple como buscar una dirección en internet, así como procesos asociados a las
tarjetas de crédito basan su funcionamiento en algoritmos. Procesos como encontrar pareja,
trabajo, reconocer rostros, tomar fotos, construir, manejar autos y enviar emails, entre otros
servicios entregados por aplicaciones móviles, se basan también en su uso.
Ejemplos:
1. Como por ejemplo del uso de algoritmos en lo cotidiano, se nos presenta a la hora de decidir
la manera en la que nos desplazaremos a un lugar. Esta decisión la tomamos en base al
tiempo o dinero del que disponemos.
12
2. Uso de los algoritmos con el método “Divide y Vencerás” divide las partes del problema a
resolver en partes cada vez más pequeñas, usualmente en forma recursiva, hasta llegar a un
punto en que el problema es resoluble de forma trivial o con unas pocas instrucciones.
13
Ejemplo de algoritmo cualitativo
Daré un ejemplo de pasos a seguir para realizar una acción
Algoritmo para insertar tarjeta SIM en un celular. ENCABEZADO
Datos: conjunto de piezas iniciales (celular, tarjeta y SIM) DECLARACIONES
INICIO
Paso 1. Abra la tapa de la ranura de la tarjeta SIM.
Paso 2. Inserte la tarjeta SIM en la ranura.
Paso 3. Asegúrese que el área de contacto de la tarjeta CUERPO:
esté orientada hacia arriba y que la esquina biselada
esté orientada hacia el dispositivo. Entrada; Proceso; Salida
Paso 4. Presione la tarjeta.
Paso 5. Cierre la tapa de la ranura de la tarjeta.
FIN
La entrada de datos se procesó y se logra la
salida que en este caso sería la correcta FIN DEL
introducción de la tarjeta SIM. ALGORITMO
Nota: Las expresiones usadas en este algoritmo fueron expresiones lógicas.
14
Ejemplo de algoritmo cuantitativo
Ejemplo de cómo resolver con un algoritmo un problema matemático.
Algoritmo para calcular el área de un triángulo. ENCABEZADO
Datos:
• Área del triángulo “x”.
• Base del triángulo “b”.
DECLARACIONES
• Altura del triángulo “h”.
• A ← b×h/2.
INICIO.
1. Suministrar cifra de altura “h”.
2. Suministrar cifra de base “b”.
CUERPO:
3. Multiplicar las cifras de base y altura.
Entrada; Proceso; Salida
4. Dividir el resultado de la multiplicación entre 2.
5. Generar resultado.
FIN DEL
ALGORITMO
FIN
Nota: este algoritmo usa las expresiones aritméticas.
15
CONCLUSIÓN
Los algoritmos están inmersos en nuestra vida, a los cuales les damos usos con frecuencia al
igual que los contienen un innumerable número aparatos tecnológicos. Estos sirven para la
resolución de problemas siguiendo una serie finita de pasos que produce un final. Para los
programadores es importante diseñar algoritmos entendibles y que cumplan las características
básicas de el, estos se diseñan con distintos lenguajes, ya sean gráficos o no gráficos, siguiendo
una estructura de datos que pueden tener distintas variables y constantes ya definidas. El resultado
de estos procesos ha sido de mucha utilidad y ha ayudado a llevar a cabo procesos más complicados
como el funcionamiento de un programa de computación.
16
WEB-GRAFÍA
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
Cuantitativos/[Link]
17
ANEXOS
LENGUAJE DE LOS ALGORITMOS
Ejemplo de algoritmo grafico
(Diagrama de Flujo)
Ejemplo de algoritmos no gráfico
(Pseudocódigo)
18
CARACTERÍSTICAS DE
LOS ALGORITMOS
ESTRUCTURA DE UN ALGORITMO
19
TIPOS DE ALGORITMOS
Algoritmo cualitativo
Algoritmo cuantitativo
20
EXPRESIONES DE UN ALGORITMO
ESTRUCTURA DE DATOS
21
ESTRUCTURA DE CONTROL
22