Este documento presenta una introducción a los algoritmos y su representación. Define un algoritmo como un método para resolver un problema a través de pasos precisos y finitos. Explica que los algoritmos tienen entradas, procesos y salidas. También describe las características, componentes y elementos de los algoritmos como constantes, variables, expresiones y la metodología para solucionar problemas. Finalmente, introduce dos formas de representar algoritmos: pseudocódigo y diagramas de flujo.
2. Unidad II. Representación de Algoritmo
1. DEFINICIÓN DE UN ALGORITMO
Un algoritmo es un método para resolver un problema. Debe presentarse como una secuencia
ordenada de instrucciones que siempre se ejecutan en tiempo finito y con una cantidad de esfuerzo
también finito. Los algoritmos tienen un inicio y un final, son únicos y deben ser fácilmente
identificables.
Es un Método para resolver un problema mediante una serie de pasos precisos, definidos y finitos.
Un algoritmo es una serie de operaciones detalladas, en otras palabras un algoritmo es un conjunto
de reglas para resolver una cierta clase de problemas y se puede formular de muchas formas con el
cuidado de que no exista ambigüedad.
También lo podemos definir como:
2. CARACTERÍSTICAS DE LOS ALGORITMOS
Todo algoritmo debe cumplir:
* Preciso (debe indicar el orden de realización en cada paso y no puede tener ambigüedad).
* Definido (si se sigue dos veces, obtiene el mismo resultado cada vez)
* Finito (tiene fin; un número determinado de pasos).
* Debe ser Sencillo.
* Eficiente y Efectivo.
* Todo Algoritmo debe tener cero ó mas entradas.
* Debe tener al menos una salida
3. COMPONENTES DE UN ALGORITMO:
Un algoritmo está compuesto por tres componentes:
Licda Leidy Mendoza
3. Unidad II. Representación de Algoritmo
Un ejemplo de un algoritmo es la preparación de una receta de comida (no computacional).
computacional)
- Entrada : ingredientes y utensilios empleados.
- Proceso : elaboración de la receta en la cocina.
- Salida : terminación del plato.
Ejemplo de un algoritmo computacional
computacional:
Determinar la suma de acuerdo a la siguiente fórmula:
Suma = N*(N+1) / 2
Entrada: Número entero (N)
Proceso: cálculo matemático Suma = N*(N+1) / 2
Salidas: resultado de la Suma
Licda Leidy Mendoza
4. Unidad II. Representación de Algoritmo
4. ELEMENTOS DE UN ALGORITMO
4.1 CONSTANTES Y VARIABLES
Las constantes son datos cuyos valores no cambian, pero existen datos cuyos valores sí
varían durante la ejecución del programa, a éstos los llamamos variables. En la mayoría de
los lenguajes de programación se permiten diferentes tipos de constantes: enteras, reales,
caracteres y boolean o lógicas, quienes representan datos de estos tipos.
Sueldominimo= 1586 su valor no cambia durante la ejecución del programa
Sueldototal= Sueldominimo + (ventas*0.3) el sueldo total va cambiar de acuerdo a las
ventas realizdas
A las variables o constante se les identifica por los atributos siguientes:
Nombre que se le asigna y tipo que describe el uso de la variable.
Sueldominimo: entero
Nombre que se le asigna Tipo de datos de las
a la variable o constante Variables o constante
TIPOS DE DATOS
Las variables o constante pueden ser de varios tipos.
Datos Numéricos: Se llama así al conjunto de valores numéricos y son representados de
distintas formas:
- Tipo de dato numérico entero (integer):
El tipo entero es un subconjunto finito de los números enteros.
Ej: 5, 6, -15, 4, 2.480
- Tipo de dato numérico real (real):
El tipo real consiste en un subconjunto de los números reales. Los números reales siempre
tienen un punto decimal y pueden ser positivos o negativos. Los números reales constan de
una parte entera y una decimal.
Ej: 0.006, 9.3632, 6471.71, 3.0, -8.17, -63.3387
Datos Lógicos (booleanos):
Conocidos también como datos, este tipo de dato es aquel que sólo admite dos tipos de
valores, los que son verdadero (true) o falso (false). Los dos son usados para la
representación de alternativas (si/no) que se dan según la condición que se plantee, es decir,
Licda Leidy Mendoza
5. Unidad II. Representación de Algoritmo
si se quiere que el programa evalúe una condición determinada, ésta puede ser verdadera o
falsa, dependiendo de las reglas que se hayan planteado anteriormente.
Conocidos también como datos booleanos, este tipo de dato es aquel que sólo admite dos
tipos de valores, los que son verdadero (true) o falso (false).
Los dos son usados para la representación de alternativas (si/no) que se dan según la
condición que se plantee, es decir, si se quiere que el programa evalúe una condición
determinada, ésta puede ser verdadera o falsa, dependiendo de las reglas que se hayan
planteado anteriormente.
Datos Tipo Carácter: Los datos de este tipo forman un conjunto finito y ordenado que la
computadora puede reconocer. Un dato tipo carácter contendrá solamente un carácter. No
existe un estándar en lo que respecta al reconocimiento de caracteres, pero
las computadoras pueden reconocer los siguientes caracteres:
Caracteres alfabéticos (A,B,C,D,.....)
Caracteres numéricos (1,2,3,4, ......)
Caracteres especiales (+, -, *, /,., ;,<, >, ..., etc.)
Datos tipo Cadena: son el tipo Cadena (string).
Estos se forman por una sucesión de caracteres, encontrándose delimitados por una comilla,
con esto se entiende entonces que el tamaño que tendrá una cadena o su longitud
´hola Rebeca´
´28 de Julio de 1821´
´Sr. Alvarado´
2. EXPRESIONES
Son la combinación de constantes, variables, símbolos de operación, paréntesis y nombres
de funciones especiales, idea que puede ser utilizada en notaciones de matemática
tradicional.
- aritméticas resultado tipo numérico.
- relacionales resultado tipo lógico.
- lógicas resultado tipo lógico.
- carácter resultado tipo carácter.
Expresiones Aritméticas
Estas expresiones son análogas a las fórmulas matemáticas. Las variables y constantes
son numéricas (real o entera) y las operaciones son las aritméticas.
+ suma
- resta
* Multiplicación
/ división
**, ^ exponenciación
Div división entera
mod módulo o resto
Licda Leidy Mendoza
6. Unidad II. Representación de Algoritmo
6.2. Reglas de Prioridad
Cuando existen expresiones que tienen más de dos operandos, se requiere de reglas
matemáticas que permitan determinar el orden de las operaciones y éstas, son reglas de
prioridad o precedencia y son:
- Operaciones que están encerradas entre paréntesis se evalúan primero. Si existen
diferentes paréntesis anidados (interiores unos a otros), las expresiones más internas se
evalúan primero.
- Las operaciones aritméticas dentro de una expresión generalmente suelen seguir el
siguiente orden de prioridad:
1. Operador exponencial (^, bien **)
2. Operadores *, /
3. Operadores +, -.
4. Operadores div y mod
7. REPRESENTACION DE ALGORITMO:
Existen muchas Técnicas para representar un algoritmo, las más conocidas para el desarrollo de un
algoritmo son el Pseudocódigo y el Diagrama de flujo o flujograma.
7.1 PSEUDOCODIGO:
Pseudocódigo: Es la representación de un algoritmo en una secuencia lógica de actividades, que
llevarán en conjunto a la solución de un problema. Serie de normas léxicas y gramaticales parecidas
a la mayoría de los lenguajes de programación, conocido como lenguaje falso.
7.2 DIAGRAMAS DE FLUJO:
Diagrama de Flujo: Son símbolos gráficos que representan a un algoritmo. Estos símbolos están
estandarizados, teniendo cada uno un significado universal.
Símbolo Se usa para representar
Inicio y final del diagrama de flujo
Se emplea para representar entrada de
datos, generalmente, desde el teclado,
Algunos autores también la usan para
representar salida de datos.
Representa un proceso. Dentro del
símbolo se indica la fórmula que se va
a utilizar:
Representa una selección simple. La
condición se establece dentro de la
figura, si ésta se cumple, ejecuta las
Licda Leidy Mendoza
7. Unidad II. Representación de Algoritmo
tareas laterales marcadas con “Sí”, de
no ser así, ejecuta la del “No”. Al
terminar la rutina, se encuentran los
caminos para continuar el proceso.
Representa la salida de datos. Imprime
los resultados o los muestra en la
pantalla.
Conecta dos secciones del diagrama de
flujo en la misma página.
Indican la dirección del flujo del
diagrama.
Resolver el ejemplo anterior en Pseudocódigo y en diagrama de flujo
Inicio
Suma, N: entero
Ingresar N
Suma = N(N+1)/2
“La suma es: “ suma
Fin
Programa Suma
Declaración de Variables
N: entero:;
Cuerpo del Programa
Imprimir (“Ingresar un número entero:”, N)
Leer (N)
Calcular suma por fórmula:
Suma = N*(N+1)/2
Licda Leidy Mendoza
8. Unidad II. Representación de Algoritmo
“La suma es: “ suma
Fin
Programa Suma
Declaración de Variables
Num, Num2, total;
Cuerpo
Imprimir (“Ingresar un numero 1:”, N1)
Leer (N1)
Imprimir (“Ingresar un numero: ”, N2”)
Leer (N2)
Total=N1+N2;
Imprimir (“La suma es, ” , total)
Fin
8. Metodología Para Solución De Problemas:
La solución de un problema requiere ciertos pasos, dispuestos de tal forma que cada uno es
dependiente de los anteriores, lo cual indica que se trata de un proceso complementario y
por lo tanto cada paso exige el mismo cuidado en su elaboración. Los siete pasos de la
metodología son los siguientes:
1. Definición del problema
2. Análisis de la solución
3. Diseño de la solución
4. Codificación
1.2.1 Definición del problema
Es el enunciado del problema, el cual debe ser claro y completo. Es fundamental conocer y
delimitar por completo el problema, saber qué es lo se desea realice la computadora,
mientras esto no se conozca del todo, no tiene caso continuar con el siguiente paso.
.2.2 Análisis de la solución
Consiste en establecer una serie de preguntas acerca de lo que establece el problema, para
poder determinar si se cuenta con los elementos suficientes para llevar a cabo la solución
del mismo, algunas preguntas son:
¿Con qué cuento?
Cuáles son los datos con los que se va a iniciar el proceso, qué tenemos que proporcionarle
a la computadora y si los datos con los que cuento son suficientes para dar solución al
problema.
¿Qué hago con esos datos?
Licda Leidy Mendoza
9. Unidad II. Representación de Algoritmo
Una vez que tenemos todos los datos que necesitamos, debemos determinar qué hacer con
ellos, es decir que fórmula, cálculos, que proceso o transformación deben seguir los datos
para convertirse en resultados.
¿Qué se espera obtener?
Que información deseamos obtener con el proceso de datos y de qué forma presentarla; en
caso de la información obtenida no sea la deseada replantear nuevamente un análisis en los
puntos anteriores.
Es recomendable que nos pongamos en el lugar de la computadora y analicemos que es lo
que necesitamos que nos ordenen y en que secuencia para producir los resultados
esperados.
1.2.3 Diseño de la solución
Una vez definido y analizado el problema, se procede a la creación del algoritmo
(Diagrama de flujo ó pseudocódigo), en el cual se da la serie de pasos ordenados que nos
proporcione un método explícito para la solución del problema.
1.2.4 Codificación
Consiste en escribir la solución del problema (de acuerdo al pseudocódigo); en una serie de
instrucciones detalladas en un código reconocible por la computadora; es decir en un
lenguaje de programación (ya sea de bajo o alto nivel), a esta serie de instrucciones se le
conoce como PROGRAMA.
Licda Leidy Mendoza