Você está na página 1de 7

ALGORITMOS

INTRODUCCION
El desarrollo de algoritmos es un tema fundamental en el diseño de programas o soluciones. Por lo cual, el alumno debe
tener buenas bases que le sirvan para poder crear de manera fácil y rápida sus programas.
La siguiente documentación pueden servir de apoyo a tutores o profesores, en su labor cotidiana de enseñanza y al
estudiante, facilitarle el desarrollo de su capacidad analítica y creadora, para de esta manera mejorar su destreza en la
elaboración de algoritmos que sirven como base para la codificación de los diferentes programas que tendrá que desarrollar
a lo largo de su carrera.
En ciencias de la computación y disciplinas relacionadas, un algoritmo es un conjunto prescrito de instrucciones o reglas
bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a
quien deba realizar dicha actividad. Dados 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 pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de
flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El
usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas
más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación
específico.
Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la
secuencia de instrucciones y están regidos por ISO.
Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción
es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y
descripción de procesos a personas ajenas a la computación.
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales
de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su
patrón.

1. MARCO TEÓRICO

1.1. Concepto de Algoritmo


Un algoritmo es una secuencia de pasos lógicos necesarios para llevar a cabo una tarea específica, como la solución de un
problema. Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como de la
computadora que los ejecuta. En cada problema el algoritmo se puede expresar en un lenguaje diferente de programación
y ejecutarse en una computadora distinta; sin embargo el algoritmo será siempre el mismo.

1.1.1. Clasificación de Algoritmos

 Algoritmo Computacional: Es un algoritmo que puede ser ejecutado en una computadora. Ejemplo: Fórmula
aplicada para un cálculo de la raíz cuadrada de un valor x.
 Algoritmo no Computacional: Es un algoritmo que no requiere de una computadora para ser ejecutado.
Ejemplo: Instalación de un equipo de sonido.
 Algoritmo Cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados
cálculos numéricos. Ejemplos: Las instrucciones para desarrollar una actividad física, encontrar un tesoro.
 Algoritmo Cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o instrucciones involucran cálculos
numéricos. Ejemplo: Solución de una ecuación de segundo grado.

1.1.2. Características de los Algoritmos


 Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
 Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada
vez.

1
 Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea debe de tener
un número finito de pasos.

1.2. Ventajas y Desventajas

1.2.1. Ventajas de un Algoritmo


 Los algoritmos son la esencia de la informática, son uno de los centros de interés de muchas, si no todas, de las
áreas del campo de la informática.
 Puedes trabajar en orden.
 Te redacta en orden paso a paso lo que hay que hacer.
 Ayuda a resolver más fácil y rápido los problemas.
 Disminuye sensiblemente el riesgo de errores.
 Favorece el obtener el máximo de información.

1.2.2. Desventajas de un Algoritmo


 Hay textos que desarrollan los algoritmos, mediante diversos tipos de programas, por ejemplo: el lenguaje de
programación C++, pero para comprender las letras deben poseer al menos un año de experiencia en ese lenguaje
de programación de alto y bajo nivel.
 Muchos algoritmos interesantes llevan implícitos complicados métodos de organización de los datos utilizados
en el calendo.
 Con frecuencia sucede que muchos de los algoritmos que se van a utilizar son fáciles de implementan una vez
que se ha descompuesto el programa, sin embargo, en la mayor parte de los casos, existen unos pocos algoritmos
cuya elección es crítica porque su ejecución ocupara la mayoría de los recursos del sistema.
 La elección del mayor algoritmo para una tarea particular puede ser un proceso muy complicado y con frecuencia
conllevara un análisis matemático sofisticado.
 Actualmente se está estudiando en la informática, como seleccionar el algoritmo que conduzca a la mejor
implementación pues para la mayoría de los problemas existen varios algoritmos diferentes.

1.3. 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 tres secciones:

 Cabecera
 Declaraciones
 Cuerpo

1.3.1. Cabecera
En la cabecera de un algoritmo se debe de indicar el nombre (identificador) asignado al mismo. La sintaxis es: “Algoritmo
<nombre_del_algoritmo>”.
Ejemplo
Si se quiere diseñar el algoritmo de un programa que calcule el are de una circunferencia por lo tanto el algoritmo debe
llevar en la cabecera “algoritmo Area_de_una_circuferencia”

1.3.2. Declaraciones
En esta sección se declaran las constantes, los tipos de datos y las variables que se usan en un algoritmo. La sintaxis es la
siguiente:
Constantes
<declaración_de_constantes>
Tipos de datos

2
<declaracion_de_tipos_de_datos>
Variables
<declaración_de_de_variables>
Ejemplo
Para resolver el problema planteado en el tema anterior, es necesario declarar una constante y dos variables
Constantes
PI=3.1416
Variables
Real área, radio

1.3.3. Cuerpo
En el cuerpo se escriben todas las instrucciones del algoritmo la sintaxis es:
Inicio
<Instrucción 1>

<Instrucción n>
Fin
Inicio y Fin Son palabras reservadas que marcan el principio y el final de la sección del cuerpo, que es donde está el
bloque de instrucciones principal del algoritmo.
Ejemplo
Inicio
Escribir (“introduzca radio: “)
Leer (radio)
Área =PI*radio**2
Escribir (“El área de la circunferencia es:”, área)
Fin

1.4. Entrada y Salida de Datos


En un algoritmo, los datos de entrada son los que la computadora va a procesar. Los datos de salida son datos derivados,
es decir, obtenidos a partir de los datos de entrada. Por esta razón, a los datos de salida se les considera más significativos
que a los datos de entrada. Sin embargo, en un sentido más filosófico, a los datos de entrada se les considera la materia
prima de los datos de salida, considerados estos como la verdadera información.

1.4.1. Entrada

Una instrucción de entrada (o simplemente entrada) consiste en asignar a una o más variables, uno o más valores recibidos
desde el exterior. Normalmente, los datos son recogidos desde la entrada estándar (el teclado), pero, también existen otros
dispositivos de entrada (el ratón, el escáner,...).
En algoritmos la instrucción de entrada es:
leer (<nombre_de_la_variable_1>,

3
<nombre_de_la_variable_2>,
...,
<nombre_de_la_variable_n>)

También se puede escribir como:


leer (<lista_de_variables>)

1.4.2. Salida
Una instrucción de salida (o simplemente salida) consiste en llevar hacia el exterior los valores obtenidos de la evaluación
de una lista de expresiones. Normalmente, los datos son enviados a la salida estándar (la pantalla), pero, también existen
otros dispositivos de salida (la impresora).
En pseudocodigo, la sintaxis de una instrucción de salida es:
escribir (<expresión_1>, ..., <expresión>)
También se puede escribir como:
escribir (<lista_de_expresiones>)

1.5. Variables
Las variables son una de las características fundamentales de los lenguajes de programación, permiten acceder a la
memoria para almacenar y recuperar los datos con los que nuestros programas van a trabajar. Son por tanto el mecanismo
que los lenguajes de programación ponen a nuestra disposición para acceder a la memoria.
Se trata de un mecanismo de lo más sencillo, sólo tenemos que dar un nombre a nuestras variables, a partir de ese momento
el compilador traducirá de forma automática ese nombre en un acceso a memoria.
Por ejemplo:
//Almacenamos un dato en memoria referenciado por el nombre edad
edad = 5;
//Recuperamos el dato almacenado y lo modificamos
edad = edad + 1;

1.6. Tipos de Variables

 Las Variables de Tipos Primitivos

Almacenan directamente un valor que siempre pertenece al rango de ese tipo. Por ejemplo una variable int almacena un
valor entero como 1, 2, 0, -1, etc.
Esto significa que al asignar una variable entera a otra variable entera, se copia el valor de la primera en el espacio que
ocupa la segunda variable.

 Las Variables de Tipo Referencia a Objetos

En cambio almacenan direcciones y no valores directamente. Una referencia a un objeto es la dirección de un área en
memoria destinada a representar ese objeto. El área de memoria se solicita con el operador new.
Al asignar una variable de tipo referencia a objeto a otra variable se asigna la dirección y no el objeto referenciado por esa
dirección. Esto significa que ambas variables quedan referenciando el mismo objeto.

4
Tipos Primitivos Referencias a Objetos

int, short, byte, long Strings

char, boolean Arreglos

float, double otros objetos

1.7. Expresiones Java


Una expresión es una serie de variables, operadores y llamadas a métodos (construida de acuerdo a la sintaxis del lenguaje)
que evalúa a un valor sencillo.
El tipo del dato devuelto por una expresión depende de los elementos utilizados en la expresión. La expresión count++
devuelve un entero porque ++ devuelve un valor del mismo tipo que su operando y count es un entero. Otras expresiones
devuelven valores booleanos, cadenas, etc...
Una expresión de llamada a un método devuelve el valor del método; así el tipo de dato de una expresión de llamada a un
método es el mismo tipo de dato que el valor de retorno del método. El método System.in.read () se ha declarado como
un entero, por lo tanto, la expresión System.in.read () devuelve un entero.
La segunda expresión contenida en la sentencia System.in.read ()!= -1 utiliza el operador!=.
Recuerda que este operador comprueba si los dos operandos son distintos. En esta sentencia los operandos son
System.in.read () y -1.
System.in.read () es un operando válido para != porque devuelve un entero. Así System.in.read () != -1 compara dos
enteros, el valor devuelto por System.in.read() y -1.
El valor devuelto por != es true o false dependiendo de la salida de la comparación.
Java te permite construir expresiones compuestas y sentencias a partir de varias expresiones pequeñas siempre que los
tipos de datos requeridos por una parte de la expresión correspondan con los tipos de datos de la otra.
Ejemplo
x*y*z
En este ejemplo particular, no importa el orden en que se evalúe la expresión porque el resultado de la multiplicación es
independiente del orden. La salida es siempre la misma sin importar el orden en que se apliquen las multiplicaciones. Sin
embargo, esto no es cierto para todas las expresiones. Por ejemplo, esta expresión obtiene un resultado diferente
dependiendo de si se realiza primero la suma o la división.
x + y / 100
Puedes decirle directamente al compilador de Java cómo quieres que se evalúe una expresión utilizando los paréntesis (y).

1.8. Comentarios Java


Un comentario es un texto que se escribe dentro de un programa con el fin de facilitar la comprensión del mismo.
Los comentarios se utilizan para explicar y documentar el código fuente.
En Java se pueden utilizar tres tipos de comentarios:

 Comentario tradicional estilo C/C++

Empieza con los caracteres /* y acaba con */.


Pueden ocupar más de una línea y pueden aparecer en cualquier lugar donde pueda aparear un espacio en blanco.

5
No pueden anidarse.
Ejemplo
/* Programa Ecuación segundo grado
Calcula las soluciones de una ecuación de segundo grado */
/* Lectura de datos por teclado */

 Comentarios de una sola línea


Comienzan con una doble barra (//) y se pueden extender hasta el final de la línea.
No tienen carácter de terminación.
Ejemplo
// Programa Ecuación segundo grado
// Calcula las soluciones de una ecuación de segundo grado
int p; // precio del producto

 Comentarios de documentación Javadoc


Son comentarios especiales para generar documentación del programa.
Comienza con /** y termina con */
Ejemplo
/**
*
* @author Enrique
* @version 1.0
*
*/

2. CONCLUSIONES
Los Algoritmos son una manera de expresar cualquier situación por medio de una secuencia de pasos
ordenados y lógicos que buscan el aclaramiento de cualquier problema para así identificar lo que se necesita,
como se hace y el resultado final, el cual debe ser igual siempre por lo que se busca que hayan alternativas
para cualquier solución posible.
Los diagramas de flujo son la representación gráfica de un algoritmo y tiene como finalidad lograr una mayor
comprensión de este. Está compuesto por diversos símbolos que especifican las diversas partes del algoritmo,
como los componentes iniciales, los procedimientos, las diversas posibilidades y los resultados.
Una variable es un contenedor de bits que representan a un valor. Se emplean para almacenar datos que
pueden cambiar durante la ejecución de un programa

6
BIBLIOGRAFIA
http://informaticafrida.blogspot.com/2009/03/algoritmo.html
http://abcalgoritmos.com/
https://es.wikibooks.org/wiki/Fundamentos_de_programaci%C3%B3n/Algoritmos_y_programas
http://teoriasdelosalgoritmo.blogspot.com/2013/02/ventajas-y-desventajas.html
http://informaticaintermedia.blogspot.com/2011/07/estructura-de-un-algoritmo.html
http://tic-tac.teleco.uvigo.es/profiles/blogs/entrada-y-salida-de-datos
http://www.adrformacion.com/curso/java/leccion2/tipos_variables.htm
http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/introduccion/primero.htm
http://programacion.net/articulo/tutorjava_nivel_basico_97/4
http://puntocomnoesunlenguaje.blogspot.com/2012/04/comentarios.html
http://programacion.net/articulo/tutorjava_nivel_basico_97/4

Você também pode gostar