Está en la página 1de 9

UNIDAD II.

- DESARROLLO DE LA LÓGICA ALGORITMICA

2.1.- Metodología Para Solución De Problemas.- La solución de un problema por computadora, requiere de siete
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
5. Prueba y Depuración
6. Documentación
7. Mantenimiento

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 que se desea realice la computadora, mientras esto no se
conozca del todo, no tiene caso continuar con el siguiente paso.

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? 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.

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. Es recomendable la realización de pruebas de escritorio al algoritmo diseñado, para
determinar su confiabilidad y detectar los errores que se pueden presentar en ciertas situaciones. Estas pruebas
consisten en dar valores a la variable e ir probando el algoritmo paso a paso para obtener una solución y si ésta es
satisfactoria continuar con el siguiente paso de la metodología; de no ser así y de existir errores deben corregirse y
volver a hacer las pruebas de escritorio al algoritmo.

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.

Prueba y Depuración.- Prueba es el proceso de identificar los errores que se presenten durante la ejecución del
programa; es conveniente que cuando se pruebe un programa se tomen en cuenta los siguientes puntos:

1. - Tratar de iniciar la prueba con una mentalidad saboteadora, casi disfrutando la tarea de encontrar un error. 2. -
Sospechar de todos los resultados que arroje la solución, con lo cual se deberán verificar todos. 3. - Considerar todas
las situaciones posibles, normales y aún las anormales.
La Depuración consiste en eliminar los errores que se hayan detectado durante la prueba, para dar paso a una
solución adecuada y sin errores.

Documentación.- Es la guía o comunicación escrita que sirve como ayuda para usar un programa, o facilitar futuras
modificaciones. A menudo un programa escrito por una persona es usado por muchas otras, por ello la
documentación es muy importante; ésta debe presentarse en tres formas: EXTERNA, INTERNA y AL USUARIO
FINAL.

Documentación Interna Consiste en los comentarios o mensajes que se agregan al código del programa, que explican
las funciones que realizan ciertos procesos, cálculos o fórmulas para el entendimiento del mismo.

Documentación Externa También conocida como Manual Técnico, está integrada por los siguientes elementos:
Descripción del Problema, Nombre del Autor, Diagrama del Flujo y/o Pseudocódigo, Lista de variables y constantes, y
Codificación del Programa, esto con la finalidad de permitir su posterior adecuación a los cambios.

Manual del Usuario Es la documentación que se le proporciona al usuario final, es una guía que indica el usuario
como navegar en el programa, presentando todas las pantallas y menús que se va a encontrar y una explicación de
los mismos, no contiene información de tipo técnico.

Mantenimiento.- Se lleva a cabo después de haber terminado el programa, cuando se ha estado trabajando un
tiempo, y se detecta que es necesario hacer un cambio, ajuste y/o complementación al programa para que siga
trabajando de manera correcta. Para realizar esta función, el programa debe estar debidamente documentado, lo cual
facilitará la tarea.

2.2.- Metodología para el diseño de software

Top-down y Bottom-up

Top-down y Bottom-up son estrategias de procesamiento de información más que todo en las ciencias de la
información. Involucrando software. Y por extensión otras ciencias humanas y científicas.

En el modelo Top-down se formula un resumen del sistema, sin especificar detalles. Cada parte del sistema se refina
diseñando con mayor detalle. Cada parte nueva es entonces redefinida, cada vez con mayor detalle hasta que la
especificación completa es lo suficientemente detallada para validar el modelo. El modelo “Top-down” se diseña con
frecuencia con la ayuda de “cajas negras” que hacen más fácil llenar requerimientos aunque estas cajas negras no
expliquen en detalle los componentes individuales.

En contraste, en el diseño Bottom-up las partes individuales se diseñan con detalle y luego se enlazan para formar
componentes más grandes, que a su vez se enlazan hasta que se forma el sistema completo. Las estrategias
basadas en el flujo de información “bottom-up” parecen potencialmente necesarias y suficientes porque se basan en el
conocimiento de todas las variables que pueden afectar los elementos del sistema.

Top-down y Bottom-up en las ciencias de la computación.-

En el proceso de desarrollo de software, los enfoques Top-down y Bottom-up juegan un papel crucial.

El diseño Top-down fue promovido en los 1970s por los investigadores de IBM Harlan Mills y NiklausWirth. Mills
desarrolló los conceptos de programación estructurada para usos prácticos y los probó en un proyecto en 1969 para
automatizar el índice de la morgue del New York Times. El éxito administrativo e ingenieril del proyecto hicieron que el
enfoque top-down se esparciera por IBM y por el resto de la industria de los computadores. NiklausWirth, que entre
sus logros está el desarrollo del lenguaje de programación Pascal, escribió el paper Program Development by
Stepwise Refinement, que tuvo mucha influencia. Los métodos Top-down fueron favorecidos en la ingeniería de
software hasta que llegó la programación orientada a objetos a finales de los 1980s.
El enfoque top-down enfatiza la planificación y conocimiento completo del sistema. Se entiende que la codificación no
puede comenzar hasta que no se haya alcanzado un nivel de detalle suficiente, al menos en alguna parte del sistema.
Esto retrasa las pruebas de las unidades funcionales del sistema hasta que gran parte del diseño se ha completado,
las diferentes partes del problema pueden ser programables de modo independiente e incluso por diferentes
personas, el programa final queda estructurado en forma de bloque ó módulos lo que hace más sencilla su lectura y
mantenimiento.

Top-Down también conocida como de arriba-abajo y consiste en establecer una serie de niveles de mayor a menor
complejidad que den solución al problema. Consiste en efectuar una relación entre las etapas de la estructuración de
forma que una etapa jerárquica y su inmediato inferior se relacionen mediante entradas y salidas de información.

Bottom-up hace énfasis en la programación y pruebas tempranas, que pueden comenzar tan pronto se ha
especificado el primer módulo. Este enfoque tiene el riesgo de programar cosas sin saber cómo se van a conectar al
resto del sistema, y esta conexión puede no ser tan fácil como se creyó al comienzo. El reuso del código es uno de los
mayores beneficios del enfoque buttom-up.

Bottom Up diseño ascendente se refiere a la identificación de aquellos procesos que necesitan computarizarse
conforme vayan apareciendo, su análisis como sistema y su codificación, o bien, la adquisición de paquetes de
software para satisfacer el problema inmediato.

El desarrollo de software moderno usualmente combina tanto Top-down como Bottom-up. Aunque un conocimiento
completo del sistema se considera usualmente necesario para un buen diseño, haciendo que teóricamente sea un
enfoque top-down, la mayoría de proyectos de desarrollo de software tratan de usar código existente en algún grado.
El uso de módulos existentes le dan al diseño un sabor “bottom-up”. Algunos enfoques usan un enfoque en el que un
sistema parcialmente funcional es diseñado y programado completamente, y este sistema se va expandiendo para
llenar los requisitos del proyecto.

Técnicas de Programación: Las nuevas teorías de la programación se centran en las técnicas de programación
modular y programación estructurada. El diseño de un programa entraña la descomposición del problema en módulos
(partes independientes) – programación modular –, la programación de cada módulo mediante métodos estructurados
– programación estructurada – y su unión posterior.

Programación Modular: El programa se divide en módulos, cada uno de los cuales ejecuta una única actividad o
tarea y se codifican independientemente de otros módulos. Cada uno de estos módulos se analiza, codifican y ponen
a punto por separado. Cada programa contiene un módulo llamado programa principal que controla todo lo que
sucede; se transfiere el control a submódulos de modo que ellos puedan ejecutar sus funciones. Los módulos son
independientes en el sentido en el que ningún módulo puede tener acceso directo a cualquier otro módulo excepto el
módulo al que llama y sus propios submódulos.

Tamaño de los módulos: No existe una regla fija que permita definir el tamaño estándar del módulo, una buena
aproximación es considerar el tamaño físico de una página (30 ó 40 líneas de instrucciones).

Implementación: Se implementan utilizando módulos que toman diferentes nombres según el lenguaje de
programación: subrutinas en BASIC y FORTRAN, procedimientos en Pascal, secciones en COBOL, etc.

Programación Estructurada: Se refiere a un conjunto de técnicas que han ido evolucionando. Estas técnicas
aumentan considerablemente la productividad del programa reduciendo el tiempo requerido para escribir, verificar,
depurar y mantener los programas. La programación estructurada utiliza un número limitado de estructuras de control
que minimizan la complejidad de los problemas y que reducen los errores. Esta incorpora: diseño descendente,
recursos abstractos y estructuras básicas.

Teorema de la programación estructurada: Se ha demostrado que un programa propio puede ser escrito utilizando
solamente tres tipos de estructuras de control: —secuenciales, selectivas y repetitivas. Un programa es propio si
posee un solo punto de entrada y uno de salida, existen caminos desde el inicio hasta el fin que se pueden seguir y
que pasan por todas las partes del programa y, todas las instrucciones son ejecutables sin que hayan bucles infinitos.
Recursos abstractos: Consiste en descomponer una determinada acción compleja en términos de un número de
acciones más simples capaz de ejecutarlas.

Diseño descendente: Consiste en efectuar una relación entre las sucesivas etapas de estructuración. Es decir, se
descompone el problema en etapas o estructuras jerárquicas, de modo que se puede considerar cada estructura
desde dos puntos de vista: ¿lo que hace? y ¿cómo lo hace?

Definición Lenguajes Algorítmicos: Es una serie de símbolos y reglas que se utilizan para describir de manera
explícita un proceso.

Tipos de lenguajes algorítmicos:


Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
No Gráficos: Representa una forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo).

INICIO
Edad: Entero
ESCRIBA “¿Cuál es tu edad?”
LEA Edad
Si Edad>=18 entonces
ESCRIBA “Eres mayor de edad”
FIN_SI
ESCRIBA “Fin del algoritmo”
FIN

Definición de Algoritmo: Es una serie de pasos organizados que describe el proceso que se debe de seguir, para
dar solución a un problema específico.

“Un algoritmo se define como un método que se realiza paso a paso para solucionar un problema que termina en un
número finito de pasos”.

Las características fundamentales que debe cumplir todo algoritmo son:


Debe ser preciso indicar el orden de realización de cada paso.
Debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
Debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea debe tener un número finito de
pasos.
La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.

Diseñar un algoritmo para cambiar una llanta a un coche.


Inicio.
Traer gato.
Levantar el coche con el gato.
Aflojar tornillos de las llantas.
Sacar los tornillos de las llantas.
Quitar la llanta.
Poner la llanta de repuesto.
Poner los tornillos.
Apretar los tornillos.
Bajar el gato.
Fin.
Algoritmos Cotidianos.

Son aquéllos que nos ayudan a resolver problemas diarios, y que los hacemos casi sin darnos cuenta de que estamos
siguiendo una metodología para resolverlos.
Algunos ejemplos son:

Un cliente ejecuta un pedido a una fábrica. La fábrica examina en su banco de datos la ficha del cliente, si el cliente es
solvente entonces la empresa acepta el pedido, en caso contrario rechazar el pedido.

Pasos del algoritmo:


Inicio.
Leer el pedido.
Examinar ficha del cliente.
Si el cliente es solvente aceptar pedido, en caso contrario rechazar pedido.
Fin.

Determinar el mayor de tres números enteros.


Pasos del algoritmo:
1.- Comparar el primero y el segundo entero, deduciendo cuál es el mayor.
2.- Comparar el mayor anterior con el tercero y deducir cuál es el mayor. Este será el resultado.
Los pasos anteriores se pueden descomponer en otros pasos más simples en los que se denomina refinamiento del
algoritmo.
1.- Obtener el primer número (entrada), denominado NUM1.
2.- Obtener el segundo número (entrada), denominado NUM2.
3.- Compara NUM1 con NUM2 y seleccionar el mayor; si los dos enteros son iguales, seleccionar NUM1. Llamar a
este número MAYOR.
4.- Obtener el tercer número (entrada), y se denomina NUM3.
5.- Compara MAYOR con NUM3 y seleccionar el mayor; si los dos enteros son iguales, seleccionar el MAYOR.
Denominar a este número MAYOR.
6.- Presentar el valor MAYOR (salida).
7.- Fin.

Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de estos lenguajes permiten describir los
pasos con mayor o menor detalle.

La clasificación de los lenguajes para algoritmos puede enunciarse de la siguiente manera:


Lenguaje Natural.
Lenguaje de Diagrama de Flujo.
Lenguaje Natural de Programación.
Lenguaje de Programación de Algoritmos.

Lenguaje Natural.- Es aquél que describe en español, para nuestro caso, los pasos a seguir utilizando un vocabulario
cotidiano. Se le conoce como lenguaje jerga cuando se utilizan términos especializados de una determinada ciencia,
profesión o grupo.

Lenguaje de Diagrama de Flujo.- Es aquél que se vale de diversos símbolos para representar las ideas o acciones a
desarrollar. Es útil para organizar las acciones o pasos de un algoritmo pero requiere de etapas posteriores para
implementarse en un sistema de cómputo.

Lenguaje Natural de Programación.- Son aquéllos que están orientados a la solución de problemas que se definen
de una manera precisa. Generalmente son aplicados para la elaboración de fórmulas o métodos científicos. El
lenguaje natural tiene las siguientes características:
Evita la ambigüedad (algo confuso que se puede interpretar de varias maneras).
Son precisos y bien definidos.
Utilizan términos familiares al sentido común.
Elimina instrucciones innecesarias.
Lenguaje de Programación de Algoritmos. - Es aquél que se utiliza para introducir en la computadora un algoritmo
específico. Se les conoce también como Lenguaje de Programación.

Lenguaje de Programación.- Es un conjunto de palabras, símbolos y reglas sintácticas mediante los cuales puede
indicarse a la computadora los pasos a seguir para resolver un problema.

Los lenguajes de programación pueden clasificarse por diversos criterios, siendo el más común su nivel de semejanza
con el lenguaje natural, y su capacidad de manejo de niveles internos de la máquina.

Los principales tipos de lenguajes utilizados son tres:


Lenguaje Máquina.
Lenguaje de bajo Nivel (ensamblador).
Lenguajes de Alto Nivel.

Lenguaje Máquina.- Son aquéllos que están escritos en lenguajes directamente inteligibles por la máquina
(computadora), ya que sus instrucciones son cadenas binarias (cadenas o series de caracteres de dígitos 0 y 1) que
especifican una operación y las posiciones (dirección) de memoria implicadas en la operación se denominan
instrucciones de máquina o código máquina. El código máquina es el conocido código binario.

Ventajas del Lenguaje Máquina.- Posibilidad de cargar (transferir un programa a la memoria) sin necesidad de
traducción posterior, lo que supone una velocidad de ejecución superior a cualquier otro lenguaje de programación.

Desventajas del Lenguaje Máquina


Dificultad y lentitud en la codificación.
Poca fiabilidad.
Gran dificultad para verificar y poner a punto los programas.
Los programas solo son ejecutables en el mismo procesador (CPU).
En la actualidad, las desventajas superan a las ventajas, lo que hace prácticamente no recomendables a los lenguajes
máquinas.

Lenguajes de Bajo Nivel.- Son más fáciles de utilizar que los lenguajes máquina, pero al igual que ellos, dependen
de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. Las instrucciones en lenguaje
ensamblador son instrucciones conocidas como nemotécnicos. Por ejemplo, nemotécnicos típicos de operaciones
aritméticas son: en inglés: ADD, SUB, DIV, etc.; en español: SUM, RES, DIV, etc.

Una instrucción típica de suma sería: ADD M, N, P

Esta instrucción significa “sumar el contenido en la posición de memoria M al número almacenado en la posición de
memoria N y situar el resultado en la posición de memoria P”. Evidentemente es más sencillo recordar la instrucción
anterior con un nemotécnico que su equivalente en código máquina.

0110 1001 1010 1011

Un programa escrito en lenguaje ensamblador, requiere de una fase de traducción al lenguaje máquina para poder ser
ejecutado directamente por la computadora.

El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en
lenguaje máquina se conoce como programa objeto, el cual ya es directamente entendible por la computadora.

Ventajas del lenguaje ensamblador frente al lenguaje máquina.

Mayor facilidad de codificación y, en general, su velocidad de cálculo.


Desventajas del lenguaje ensamblador.- Dependencia total de la máquina lo que impide la transportabilidad de los
programas (posibilidad de ejecutar un programa en diferentes máquinas. El lenguaje ensamblador del PC es distinto
del lenguaje ensamblador del Apple Macintosh.

La formación de los programadores es más compleja que la correspondiente a los programadores de alto nivel, ya que
exige no solo las técnicas de programación, sino también el conocimiento del interior de la máquina.

Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centran básicamente en aplicaciones de tiempo
real, control de procesos y de dispositivos electrónicos.

Lenguajes de Alto Nivel.- Estos lenguajes son los más utilizados por los programadores. Están diseñados para que
las personas escriban y entiendan los programas de un modo mucho más fácil que los lenguajes máquina y
ensambladores. Un programa escrito en lenguaje de alto nivel es independiente de la máquina (las instrucciones no
dependen del diseño del hardware o de una computadora en particular), por lo que estos programas son portables o
transportables. Los programas escritos en lenguaje de alto nivel pueden ser ejecutados con poca o ninguna
modificación en diferentes tipos de computadoras.

Ventajas de los lenguajes de alto nivel.- El tiempo de formación de los programadores es relativamente corto
comparado con otros lenguajes. La escritura de programas se basa en reglas sintácticas similares a los lenguajes
humanos. Nombres de las instrucciones tales como READ, WRITE, PRINT, OPEN, etc.
Las modificaciones y puestas a punto de los programas son más fáciles.
Reducción del costo de los programas.
Transportabilidad.

Desventajas de los lenguajes de alto nivel.


Incremento del tiempo de puesta a punto al necesitarse diferentes traducciones del programa fuente para conseguir el
programa definitivo.
No se aprovechan los recursos internos de la máquina que se explotan.
Aumento de la ocupación de memoria.
El tiempo de ejecución de los programas es mucho mayor.

Programa.- Es un conjunto de instrucciones escritas en un lenguaje de programación que indican a la computadora


la secuencia de pasos para resolver un problema.

Historia y aplicación de los lenguajes algorítmicos.

Al igual que los idiomas sirven de vehículo de comunicación entre los seres humanos, existen lenguajes que realizan
la comunicación entre los seres humanos y las computadoras. Estos lenguajes permiten expresar los programas o el
conjunto de instrucciones que el operador humano desea que la computadora ejecute.

Los lenguajes de computadoras toman diferentes formas; los de las primeras computadoras, como la ENIAC y la
EDSAC, se componían en el lenguaje real de las máquinas mismas. La dificultad de programar las máquinas de esta
manera limitaba drásticamente su utilidad y proporcionaba un fuerte incentivo para que se desarrollaran lenguajes de
programación más orientados hacia la expresión de soluciones con la notación de los problemas mismos.

Los primeros lenguajes de programación se conocieron como Lenguajes Ensambladores, un ejemplo es:
TRANSCODE, desarrollado para la computadora FERUT. En los lenguajes ensambladores se define un código
especial llamado mnemónico para cada una de las operaciones de la máquina y se introduce una notación especial
para especificar el dato con el cual debe realizarse la operación.

A mediados de los años 60′s aparecieron los primeros lenguajes de propósito general como FORTRAN, FORTRAN
IV, ALGOL, COBOL, BASIC, PL/I, ADA, C, C++, PASCAL, etc. pero el desarrollo de nuevas tecnologías, tanto en
arquitectura de computadoras como en lenguajes de programación, continúa a paso acelerado, cada vez con mayor
velocidad, el panorama está cambiando de una etapa de sistemas y lenguajes especialmente desarrollados para
aplicaciones individuales. Los lenguajes de programación actuales son los conocidos como Lenguajes visuales, como
por ejemplo Visual Fox, Visual Basic, Visual.
Pseudocódigo: Es una técnica para expresar en lenguaje natural la lógica de un programa. Es un modo de plantear
un proceso de forma que su traducción a un lenguaje de alto nivel sea sencilla para un programador.

Es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés ó español
que facilitan tanto la lectura como la escritura de programas. En esencia el pseudocódigo se puede definir como un
lenguaje de especificaciones de algoritmos.

Diagrama de flujo (flowchart): Es una representación gráfica de un algoritmo los símbolos utilizados han sido
normalizados por el Instituto Estadounidense de Normalización (ANSI) (American National Standards Institute), y los
más frecuentemente empleados son:

Terminal Subprograma E/S Decisión


Proceso
NO

SI Conectores

Diagrama N-S (NASSI/SHNEIDERMAN): Es como un diagrama de flujo con las flechas omitidas en cajas ó bloques
sucesivas.

Elementos y reglas de la representación gráfica y manuscrita de los algoritmos (diagrama de flujo, diagrama
N-S, diagrama estructurado y pseudocódigo).

Reglas para la construcción de Diagramas de flujo:

1.- Todo diagrama debe tener un principio (Inicio) y un fin, al objeto de que pueda ser utilizado como submódulo de
otro módulo de nivel superior.

2.- Las líneas de conexión ó de flujo deben ser siempre rectas, que sean sólo verticales y horizontales (no cruzarse ni
inclinadas). Se puede recurrir a conectores numerados.

3.- Las líneas que enlazan los símbolos entre sí deben de estar todos conectados, cada línea ó flecha debe de estar
en un bloque.

4.- Se deben dibujar todos los símbolos de modo que se pueda seguir el proceso visualmente de arriba abajo (diseño
top-down) y de izquierda a derecha.

5.- Realizar un gráfico claro y equilibrado, procurando que el flujo central del diagrama sea la parte central de la hoja
de papel.

6.- En las operaciones lógicas recurrir preferentemente a la lógica positiva que a la lógica negativa. (Es siempre más
claro <<Si A=B>> que <<Si No es A<>B>>).

7.- A cada bloque ó símbolo se accede por arriba y/o por la izquierda y se sale por abajo y/o por la derecha.

8.- Siempre que sea posible, es conveniente que el diagrama no sobrepase una página; si no es posible, numerar
adecuadamente las hojas del diagrama y utilizar los correspondientes conectores de páginas que indiquen sin dudas
la dirección correcta del flujo (de donde viene y a donde se dirige).
2.3.- Implementación de Algoritmos Secuenciales

(Utilizando notación algebraica)

Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea o resolver un problema.
De un modo más formal, un algoritmo es una secuencia finita de operaciones realizables, no ambiguas, cuya
ejecución da una solución de un problema.

Los algoritmos no se implementan sólo como programas, algunas veces en una red neuronal biológica (por ejemplo,
el cerebro humano implementa la aritmética básica o, incluso, una rata sigue un algoritmo para conseguir comida),
también en circuitos eléctricos, en instalaciones industriales o maquinaria pesada. Se puede decir en pocas palabras
que nuestra vida es un ejemplo de algoritmo, pues al desarrollar nuestros quehacer diarios desarrollamos una serie de
pasos ordenados, así podremos quedar satisfechos con los resultados.

El ingreso de la notación algebraica en el desarrollo de algoritmos logró un gran avance para los programadores ya
que fue una forma más tangible de desarrollar sus programas, por medio de la lógica. Pues este se basa en un
método que simplifica las relaciones entre los casos, la logaritmia se usa ciertos tipos de cuadros para identificar su
comportamiento.

2.4.- Pruebas Y Depuración

Una vez que se ha obtenido el programa ejecutable, este es sometido a prueba a fin de determinar si resuelve o no el
problema planteado en forma satisfactoria.

Las pruebas que se le aplican son de diversa índole y generalmente dependen del tipo de problema que se está
resolviendo. Comúnmente se inicia la prueba de un programa introduciendo datos válidos, inválidos e incongruentes y
observando cómo reacciona en cada ocasión.

El proceso de depuración consiste en localizar los errores y corregirlos en caso de que estos existan. Si no existen
errores, puede entenderse la depuración como una etapa de refinamiento en la que se ajustan detalles para optimizar
el desempeño del programa.

Es una de las tareas muy importantes ya que estas mismas se hacen ciertas pruebas o corridas a mano de nuestro
programa mismas que nos llevan a la depuración que no es más que las correcciones de ciertos errores que pueden
ser:
Errores de compilación: se escribe incorrectamente la sintaxis.
Errores de ejecución: no se comprenden las instrucciones.
Errores de lógica: son los que no arrojan el resultado que deseamos son los más difíciles de detectar.

También podría gustarte