Você está na página 1de 7

Unidad I: Algoritmos y Programas

Definición de un Algoritmo
Conjunto ordenado y finito de operaciones que permite hallar la solución de un
problema.
Los algoritmos, como indica su definición oficial, son una serie de pasos que
permiten obtener la solución a un problema. La palabra algoritmo procede del matemático
Árabe Mohamed Ibn Al Kow Rizmi, el cual escribió sobre los años 800 y 825 su obra
Quitad Al Mugabala, donde se recogía el sistema de numeración hindú y el concepto del
cero. Fibonacci, tradujo la obra al latín y la llamó: Algoritmi Dicit.
El lenguaje algorítmico es aquel que implementa una solución teórica a un
problema indicando las operaciones a realizar y el orden en el que se deben efectuarse.
Por ejemplo, en el caso de que nos encontremos en casa con una bombilla fundida en una
lámpara, un posible algoritmo sería:
[1] Comprobar si hay bombillas de repuesto.
[2] En el caso de que las haya, sustituir la bombilla anterior por la nueva.
[3] Si no hay bombillas de repuesto, bajar a comprar una nueva a la tienda y
sustituir la vieja por la nueva.
Los algoritmos son la base de la programación de ordenadores, ya que los
programas de ordenador se pueden entender que son algoritmos escritos en un código
especial entendible por un ordenador. Lo malo del diseño de algoritmos está en que no
podemos escribir lo que deseemos, el lenguaje a utilizar no debe dejar posibilidad de
duda, debe recoger todas las posibilidades. Por lo que los tres pasos anteriores pueden ser
mucho más largos:
[1]Comprobar si hay bombillas de repuesto
[1.1] Abrir el cajón de las bombillas
[1.2] Observar si hay bombillas
[2]Si hay bombillas:
[2.1] Coger la bombilla
[2.2] Coger una silla
[2.3] Subirse a la silla
[2.4] Poner la bombilla en la lámpara
[3]Si no hay bombillas
[3.1] Abrir la puerta
[3.2] Bajar las escaleras....
Cómo se observa en un algoritmo las instrucciones pueden ser más largas de lo
que parecen, por lo que hay que determinar qué instrucciones se pueden utilizar y qué
instrucciones no se pueden utilizar. En el caso de los algoritmos preparados para el
ordenador, se pueden utilizar sólo instrucciones muy concretas.
Características de un Algoritmo
Características que deben de cumplir los algoritmos obligatoriamente:
 Un algoritmo debe resolver el problema para el que fue formulado. Lógicamente
no sirve un algoritmo que no resuelve ese problema. En el caso de los programadores,
a veces crean algoritmos que resuelven problemas diferentes al planteado.

 Los algoritmos son independientes del ordenador. Los algoritmos se escriben para
poder ser utilizados en cualquier máquina.

 Los algoritmos deben de ser precisos. Los resultados de los cálculos deben de ser
exactos, de manera rigurosa. No es válido un algoritmo que sólo aproxime la solución.

 Los algoritmos deben de ser finitos. Deben de finalizar en algún momento. No es


un algoritmo válido aquel que produce situaciones en las que el algoritmo no termina.

 Los algoritmos deben de poder repetirse. Deben de permitir su ejecución las veces
que haga falta. No son válidos los que tras ejecutarse una vez ya no pueden volver a
hacerlo por la razón que sea.

Características aconsejables para los algoritmos:


 Validez. Un algoritmo es válido si carece de errores. Un algoritmo puede resolver el
problema para el que se planteó y sin embargo no ser válido debido a que posee
errores.

 Eficiencia. Un algoritmo es eficiente si obtiene la solución al problema en poco


tiempo. No lo es si es lento en obtener el resultado.

 Óptimo. Un algoritmo es óptimo si es el más eficiente posible y no contiene errores.


La búsqueda de este algoritmo es el objetivo prioritario del programador. No siempre
podemos garantizar que el algoritmo hallado es el óptimo, a veces sí.
Partes que conforman un Algoritmo
 Entrada. Los datos iniciales que posee el algoritmo antes de ejecutarse.

 Proceso. Acciones que lleva a cabo el algoritmo.

 Salida. Datos que obtiene finalmente el algoritmo.


Formas de representar un Algoritmo
Existen varias formas de representar un algoritmo: lenguaje natural, pseudocódigo
y diagrama de flujo.
El lenguaje natural: es el medio que utilizamos de manera cotidiana para comunicarnos
con las demás personas. Los algoritmos se pueden representaren lenguaje natural
descomponiéndolo en una serie de pasos secuenciales descriptivos, tal como se realizó en
los ejercicios anteriores, sin embargo, esta forma suele ser ambigua y extensa, por lo
tanto, se recomienda usar seudocódigo y diagramas de flujo para reducir esta ambigüedad
y se facilite su conversión a programas de computadora.
Pseudocódigo: Es una herramienta de programación en la que las instrucciones se
escriben en palabras en inglés o español, que facilitan tanto la escritura como la lectura
de programas. En otras palabras, es un lenguaje de especificación (descripción) de
algoritmos, formado por una serie de palabras que representan los pasos del algoritmo.
Estas palabras son traducción libre de palabras reservadas de lenguajes de programación
como Basic, Pascal o C. El pseudocódigo no puede ser ejecutado por una computadora,
pero es muy útil para el programador ya que podrá centrar su atención en la lógica y en
las estructuras de control sin preocuparse de las reglas de un lenguaje específico.
Dado que no existe un único pseudocódigo para representar algoritmos, para efectos del
presente material educativo computarizado se utilizará las siguientes palabras para el
pseudocódigo en las próximas unidades temáticas: Inicio, fin, leer, escribir, si- entonces
-de lo contrario, haga mientras-fin del haga mientras, haga desde-fin del haga desde, haga-
hasta.
La escritura del pseudocódigo debe tener indentación (sangría) para su mejor
entendimiento. Se comienza con el nombre del algoritmo y la palabra Inicio, culmina con
la palabra Fin.
Los datos de entrada deben ir precedidos por la palabra Leer.
La salida o solución debe ir precedida por la palabra Escribir
El proceso se representa por cálculos, fórmulas, soluciones.
Ejemplo:
Algoritmo SUMAR
Inicio
Leer num1, num2
Suma=num1+num2
Escribir Suma
Fin
Diagrama de flujo: Es una representación gráfica de un algoritmo a través de diagramas
que utiliza símbolos y que tiene los pasos del algoritmo escritos en dichos símbolos
unidos por flechas, denominadas líneas de flujo que indican la secuencia en que se deben
ejecutar.
Definición de Variables
Una variable es la expresión simbólica representativa de un elemento no
especificado comprendido en un conjunto. Este conjunto constituido por todos los
elementos o variables, que pueden sustituirse unas a otras es el universo de variables. Se
llama así porque varían y esa variación es observable y medible.
Definición de Constantes
En programación, una constante es un valor que no puede ser alterado/modificado
durante la ejecución de un programa, únicamente puede ser leído. Una constante
corresponde a una longitud de un área reservada en la memoria principal del ordenador,
donde el programa almacena valores fijos.
Definición de Identificadores
Los identificadores son un conjunto de caracteres alfanuméricos de cualquier
longitud que sirve para identificar las entidades del programa (clases, funciones,
variables, tipos de compuestos) los identificadores pueden ser combinaciones de letras y
números.
Tipos de Datos
Números Enteros:
El tipo int (del inglés integer que significa entero) permite representar números
enteros.
Los valores que puede tomar un int son todos los números enteros: …-3,-2,-
1,0,1,2,3…

Números Reales:
El tipo float permite representar números reales.
El nombre float viene del termino punto flotante, que es la manera en que el
computador representa internamente los números reales.

Números Complejos:
El tipo complex permite representar números complejos.
Los números complejos tienen una parte real y una imaginaria. La parte
imaginaria es denotada agregando una j inmediatamente después de su valor.

Los Valores Lógicos:


Los valores lógicos True y False (Verdadero y Falso) son del tipo bool, que
representa valores lógicos.
El nombre bool viene del matemático George Boole, quien creo un sistema
algebraico para la lógica binaria. Por lo mismo, a True y False también se les llama
valores booleanos. El nombre no es muy intuitivo, pero es el que se usa en informática,
así que hay que conocerlo.
Texto:
A los valores que representan texto se les llama strings, y tiene el tipo str.
Los strings literales pueden ser representados con texto entre comillas simples o
comillas dobles.

Nulo:
Existe un valor llamado None (en inglés ninguno) que es utilizado para representar
casos en que ningún valor es válido, o para indicar que una variable todavía no tiene un
valor que tenga sentido.
El valor None tiene su propio tipo, llamado NoneType, que es diferente al de
todos los demás valores.

Trazabilidad y Corrida en Frio de un Algoritmo


La traza de un algoritmo o también llamada corrida, o corrida en frío del algoritmo
indica la secuencia de pasos o instrucciones tal como se ejecutarían en un computador,
asignando valores a las variables y registrando el comportamiento de las mismas después
de cada acción. Es una técnica muy útil para comprobar si el algoritmo genera una
solución satisfactoria al problema planteado.

-Jesus Figuera

Você também pode gostar