Está en la página 1de 8

Universidad Privada TELESUP

TEMA

Algorítmo

Algorítmica y Estructura de Datos Página 6


Tema 1: Algorítmo

¿QUÉ ES UN ALGORITMO?

Un algoritmo es una serie de pasos (métodos) organizados que permite dar solución a
un problema específico.

La palabra algoritmo se deriva de la traducción al latín de la palabra árabe


alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado
sobre manipulación de números y ecuaciones en el siglo IX.

TIPOS DE ALGORITMOS

Cualitativos: Son aquellos que


describen los pasos utilizando
palabras.

Cuantitativos: Son aquellos que


utilizan cálculos numéricos para
definir los pasos del proceso.

LENGUAJES ALGORÍTMICOS

Indican una serie de símbolos y reglas que se utilizan para describir de manera explícita
un proceso. Pueden ser:

Gráficos o Diagrama de Flujo: Es la representación gráfica de las operaciones


que realiza un algoritmo.

No Gráficos o Pseudocódigo: Es la representación en forma descriptiva de las


operaciones que debe realizar un algoritmo.
CARACTERÍSTICAS DE UN ALGORITMO

 Finito: Si se sigue un algoritmo, se debe terminar en un número finito de pasos.


 Definible: Un algoritmo debe ser preciso e indicar el orden de realización de
cada paso. Si se sigue un algoritmo dos veces, se debe obtener el mismo
resultado cada vez.
 Entradas: El algoritmo debe tener cero o más entradas, es decir cantidades
dadas antes de empezar.
 Salidas: el algoritmo tiene una o más salidas en relación con las entradas.

¿QUÉ SON LAS ESTRUCTURAS DE DATOS?

Es una colección datos que pueden ser caracterizados por su organización y


las operaciones que se definen en ella.
Ejemplo de Estructura de datos: Arreglos, Archivos, Cadenas y Listas.

CLASIFICACIÓN DE LAS ESTRUCTURAS DE DATOS

ESTÁTICAS: Su tamaño en memoria es


fijo. Ejemplo, arreglos, conjuntos,
cadenas.
DINÁMICAS: Su tamaño en memoria es
variable. Ejemplo, pilas, colas, listas,
árboles, grafos, etc. Estas a su vez se
dividen en:
LINEALES: Son aquellas estructuras
donde los datos se almacenan en zonas
continuas (sucesivas o adyacentes), una
detrás de otra. Ejemplo: pilas, colas,
listas.
NO LINEALES: Son aquellas estructuras
donde los datos no se encuentra en
forma continua, es decir hay “bifurcación”.
Ejemplo árboles, grafos.
METODOLOGÍA PARA CONSTRUIR UN ALGORITMO

Para que la labor de programación sea una tarea fácil debemos seguir una
metodología la cual comprende los siguientes pasos:

a) Definición del problema (Enunciado)


b) Definición de la solución (Análisis del problema)
c) Diseño del algoritmo
d) Desarrollo del problema (Codificación)
e) Depuración y pruebas (Ejecución – Evaluación de Resultados)
f) Documentación

DESARROLLO DE UN CASO PRÁCTICO

I) DEFINICION DEL PROBLEMA: Se debe establecer claramente el


enunciado del problema que se está planteando.
Ejemplo: calcular el área de un rectángulo. En función a la siguiente
fórmula:
a=(b*h)

II) DEFINICION DE LA SOLUCIÓN: Se debe identificar claramente lo


siguiente:

a. Los datos que deben ser ingresados para dar solución al problema
b. Establecer exactamente los procesos a llevarse a cabo a fin de dar
con la solución del problema.
c. Determinar con exactitud qué valores son los que se debe visualizar
como resultado o solución del problema, se debe satisfacer los
objetivos del problema.

Ejemplo:

OBJETIVO DEL PROBLEMA: CALCULAR EL ÁREA DE UN RECTÁNGULO

Entrada de Datos Proceso Resultado o Salida

Altura (h) área (a)


a=b*h
Base (b)
I) DISEÑO DEL ALGORITMO

Definidos exactamente los procesos tendremos que programar y conocidos los datos
que estarán siendo entregados y la información que debemos generar como
resultado del proceso, estamos en condiciones de diseñar nuestra solución.

Para construir algoritmos se utilizan metodologías como: El Diagrama de Flujo y


Pseudocódigos.

Diagrama De Flujo: Metodología gráfica que permite construir


visualmente el recorrido del flujo de un programa y estructurar el algoritmo
para una solución determinada.

Simbología usada en un Diagrama de Flujo:

Símbolo Lo que significa

Inicio o fin de un Diagrama de Flujo.

Entrada o Salida: Representa una operación de


entrada de datos o salida de información.

Proceso: Representa una operación de


procesamiento de datos.

Decisión: Bifurca el flujo del algoritmo, dependiendo


del resultado de la expresión lógica.

Conector: Este símbolo se usa para conectar entre sí


dos o más puntos relacionados al diagrama de flujo.

Dirección: Las flechas indican la dirección del flujo de


control en la secuencia del algoritmo.
Ejemplo de un Diagrama de flujo:
El siguiente diagrama de flujo constituye el algoritmo que da solución al caso propuesto.

INICIO

Leer:
b,h

a=b*h

Escribir
a

FIN

PSEUDOCÓDIGO:

Es un lenguaje de especificación (descripción) de algoritmos.


Generalmente se escribe en el idioma natural del usuario,
es muy semejante al código fuente de un programa.
Se considera un primer borrador, dado que el pseudocódigo
tiene que traducirse posteriormente a un lenguaje de
programación. El pseudocódigo no puede ser ejecutado por el
computador.

Ejemplo de un Pseudocódigo: (Para el desarrollo del caso propuesto)

INICIO
Leer b, h
a=b*h
Escribir
a
FIN
II) DESARROLLO DEL PROBLEMA (Codificación):
Consiste en la codificación del programa. Partiendo del algoritmo desarrollado en
el paso anterior, para este fin se deberá utilizar un lenguaje de programación, para
nuestro caso Java.

Codificación en Java del algoritmo anterior

importjavax.swing.*;

public class Calculadora {

public static void main(String args[])

//DECLARACION DE VARIABLES

intb,h,a;

//INGRESO DE DATOS-Estos datos son capturados como String

String bb=JOptionPane.showInputDialog("Ingresa base : ");

Stringhh=JOptionPane.showInputDialog("Ingresa altura : ");

//LOS DATOS RECEPCIONADOS DEBERAN SER CONVERTIDOS Al TIPO QUE


CORRESPONDEN

b=Integer.parseInt(bb);

h=Integer.parseInt(hh);

//PROCESO DE DATOS

a=b*h;

//SALIDA DE INFORMACION

System.out.println("El área es: " + a);

}
Nota: String no es un tipo de dato primitivo, sino corresponde a una clase de Java
desde la cual instancia (es decir se crea) todos los tipos de cadenas de texto. Por
otra parte, Java sí hace diferencia entre las mayúsculas y minúsculas, por lo que
debemos ser cuidadosos al escribir el código fuente, por lo general los nombres de
las clases siempre empiezan con mayúsculas.

III) DEPURACION Y PRUEBA: Consiste en la ejecución, depuración y solución de


errores. Los errores que podrían presentarse pueden ser:

Errores de Sintaxis: Son errores de escritura de código, el compilador no los puede


interpretar y por lo tanto cuando ejecutamos el programa los señala como un error
indicándose la línea y elemento desconocidos, mientras no arreglemos todos estos
errores el programa no podrá ejecutarse.

Error de Ejecución: El programa puede ejecutarse, pero por un mal manejo del
programa o un ingreso indebido, el programa colapsa o cierra repentinamente, estos
tipos de errores deben evitarse y debe ser el programa quien pueda controlarlos.

Error de Lógica o procedimiento: Este tipo de error es percibido cuando nos


damos cuenta que los resultados de los procesos no son los correctos.

Todos estos tipos de errores deben examinarse antes de dar por concluido el
proceso de desarrollo del programa. De presentarse un error de lógica se debe
realizar un feedback (Retroalimentación) y debemos volver al PASO Nro. 1

IV) DOCUMENTACION:

En esta etapa debe recopilarse toda la documentación generada en las etapas


anteriores, la cual va a servir como base para la elaboración del manual técnico.

También podría gustarte