8 Metodología para La Solución de Problemas Por Medio de Computador Boletin

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 11

Metodología para la solución de problemas por medio de Computador

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

* 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 que 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

Definición del Problema

Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa.
Es importante que se conozca lo que se desea que realice la computador; mientras esto no se
conozca del todo no tiene mucho caso continuar con la siguiente etapa.

Análisis del Problema

Una vez que se ha comprendido lo que se desea del computador, es necesario definir: Los datos
de entrada. Cual es la información que se desea producir (salida) Los métodos y fórmulas que se
necesitan para procesar los datos. Una recomendación muy practica es el que nos pongamos en el
lugar de el computador y analicemos que es lo que necesitamos que nos ordenen y en que
secuencia para producir los resultados esperados.

Diseño del Algoritmo

Las características de un buen algoritmo son:

* Debe tener un punto particular de Inicio ...

* Debe ser definido, no debe permitir dobles interpretaciones.

* Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la
definición del problema.

Debe ser finito en tamaño y tiempo de ejecución.

Codificación

La codificación es la operación de escribir la solución del problema (de acuerdo a la

Lógica del diagrama de flujo o pseudocódigo), en una serie de instrucciones detalladas, en un


código reconocible por la computador, la serie de instrucciones detalladas se le conoce como
código fuente, el cual se escribe en un lenguaje de programación o lenguaje de alto nivel.

Prueba y Depuración

Los errores humanos dentro de la programación de computadores son muchos y aumentan


considerablemente con la complejidad del problema. El proceso de identificar y eliminar errores,
para dar paso a una solución sin errores se le llama depuración.

La depuración o prueba resulta una tarea tan creativa como el mismo desarrollo de la solución,
por ello se debe considerar con el mismo interés y entusiasmo. Resulta conveniente observar los
siguientes principios al realizar una depuración, ya que de este trabajo depende el éxito de nuestra
solución.

Documentación

Es la guía o comunicación escrita es sus variadas formas, ya sea en enunciados, procedimientos,


dibujos o diagramas. A menudo un programa escrito por una persona, es usado por otra. Por ello
la documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras
modificaciones (mantenimiento).

La documentación se divide en tres partes:

* Documentación Interna

* Documentación Externa

* Manual del Usuario

Ø Documentación Interna: Son los comentarios o mensaje que se añaden al código

Fuente para hacer mas claro el entendimiento de un proceso.

Ø Documentación Externa: Se define en un documento escrito los siguientes puntos:

Descripción del Problema

* Nombre del Autor

* Algoritmo (diagrama de flujo o pseudocódigo)

* Diccionario de Datos

* Código Fuente (programa)

Ø Manual del Usuario: Describe paso a paso la manera como funciona el programa,

Con el fin. De que el usuario obtenga el resultado deseado.

Mantenimiento

Se lleva acabo después de terminado el programa, cuando se detecta que es necesario hacer algún
cambio, ajuste o complementación al programa para que siga trabajando de manera correcta.
Para poder realizar este trabajo se requiere que el programa este correctamente documentado.

Conceptos Básicos Y Metodología Para La Solución De Problemas Por Medio De Computadoras

Definición del problema


La primera fase en la resolución de un problema por computadora es la definición o análisis del
problema. En donde lo más importante es que conozcamos exactamente lo que debe hacer el
programa y "que se desea obtener al final del proceso”

Para poder definir con precisión el problema se requiere que las especificaciones de entrada y
salida sean descritas con detalle ya que esto es un requisito para lograr una solución eficaz; por lo
que es conveniente hacerse las siguientes preguntas:

1.- ¿Qué entradas se requieren? (Tipo Y Cantidad)

2.- ¿Cuál es la salida deseada? (Tipo Y Cantidad)

3.- ¿Qué método produce la salida deseada?}

1.7 Análisis De Los Datos

Una vez que el problema ha sido definido y comprendido, deben analizarse los siguientes
aspectos:

1.- Los resultados esperados.

2.- Los datos disponibles.

3.- Herramientas a nuestro alcance para manipular los datos y alcanzar un resultado.

Esta sería un diagrama de la resolución de un problema en su más mínima expresión.

Y mientras esto no se comprenda no puede pasarse a la siguiente etapa.

* Diseño De La Solución

Para realizar el diseño de la solución:

Como todos sabemos, una computadora no tiene capacidad para solucionar problemas más que
cuando se le proporcionan los sucesivos pasos a realizar, esto se refiere a la obtención de un
algoritmo que resuelva adecuadamente el problema.

En caso de que obtengamos varios algoritmos, seleccionaremos uno de ellos utilizando criterios ya
conocidos.

Esta etapa incluye:

La descripción del algoritmo resultante en un lenguaje natural, en un diagrama de flujo o natural


de programación.
De esta manera, solo se establece la metodología para alcanzar la solución en forma conceptual,
es decir; sin alcanzar la implementación en el sistema de cómputo.

Así tenemos que la información proporcionada constituye su entrada y la información producida


por el algoritmo constituye su salida.

Los problemas complejos se pueden resolver más eficazmente por la computadora cuando se
dividen en su problemas que sean más fáciles de solucionar.

* Codificación

Codificación es la escritura en un lenguaje de programación de la representación del algoritmo


desarrollada en etapas precedentes. Esto se refiere a la obtención de un programa definitivo que
pueda ser comprensible para la máquina.

Cabe destacar que si la codificación original se realizó en papel, previo a la compilación deberá
existir un paso conocido como trascripción.

Y posteriormente, una vez que el algoritmo se ha convertido en un programa fuente. Este


programa fuente debe ser traducido a lenguaje máquina, este proceso se realiza con el
compilador, y se obtiene el programa objeto, (siempre y cuando el programa fuente sea correcto)
que posteriormente se vuelve un programa ejecutable.

Estos pasos a continuación se describen de una forma esquematizada:

* Prueba y Depuración

La Prueba se realiza tras la compilación.

Si tras la compilación se presentan errores (errores de compilación) en el programa fuente, es


preciso volver a editar el programa, corregir los errores y compilar de nuevo, este proceso se
repite hasta que no se producen errores.

De esta manera se obtiene el programa objeto, que todavía no es ejecutable directamente, pero si
no contiene errores se debe instruir al sistema para que realice la fase de montaje o enlace del
programa objeto con las librerías del programa del compilador; este proceso de montaje produce
un programa ejecutable.

La Depuración es el proceso de encontrar los errores del programa y corregir o eliminar dichos
errores.

Cuando se ejecuta un programa, se pueden producir tres tipos de errores:

1.- Errores de compilación. Se producen normalmente por un uso incorrecto de las reglas del
lenguaje de programación y suelen ser errores de sintaxis, por lo tanto la computadora no puede
comprender la instrucción, y obviamente no se obtendrá el programa objeto, y el compilador
imprimirá una lista de todos los errores encontrados durante la compilación.
2.- Errores de ejecución. Estos errores se producen por instrucciones que las computadoras
pueden comprender, pero no ejecutar. Ejemplos de éstos son: una división por cero, y raíces
cuadradas de números negativos; por lo que en este caso se detiene la ejecución del programa y
se imprime un mensaje de error.

3.- Errores lógicos. Se producen en la lógica del programa y la fuente del error suele ser el diseño
del algoritmo. Estos errores son los más difíciles de detectar, ya que el programa puede funcionar
y no producir errores de compilación ni ejecución, y solo puede detectarse cuando se advierte un
error por la obtención de resultados incorrectos.

En este caso se debe volver a la fase del diseño del algoritmo, modificarlo, cambiar el programa
fuente, compilar y ejecutar una vez más.

* Documentación

La documentación de un problema consta de las descripciones de los pasos a dar en el proceso de


resolución de un problema. La importancia de la documentación es por su decisiva influencia en el
producto final.

Programas pobremente documentados son difíciles de leer, más difíciles de depurar y casi
imposibles de mantener y modificar. Por ello la importancia de la documentación, sin la
documentación es imposible corregir errores futuros o bien cambiar el programa

* Mantenimiento

El mantenimiento se define como la modificación del programa por medio de actualizaciones, que
mejoran al programa, corrigiendo errores o bien actualizándolos para un mejor funcionamiento.

Por ello la documentación es sin duda muy importante para poder llevar a cabo el mantenimiento.

Lenguaje

Medio de comunicación entre los seres humanos a través de signos orales y escritos que poseen
un significado. También podría decirse que es cualquier procedimiento que sirve para
comunicarse, representado mediante símbolos y caracteres específicos

Desde El Punto De Vista Informático El Lenguaje Es:

La representación por medio de signos, símbolos y caracteres que existe entre la comunicación de
la PC.

Lenguajes De Programación

Son los lenguajes utilizados para escribir programas de computadoras que puedan ser entendidos
por ellas.
Los lenguajes de programación se clasifican en tres grandes categorías:

- Máquina

- Bajo nivel (ensamblador) y

- Alto nivel

Lenguaje Máquina

Es el lenguaje propio de la computadora, basado en la lógica binaria, de ceros y unos (00010111).


Este lenguaje resulta difícil de utilizar para las personas; ya que el programador debe introducir
todos y cada uno de los comandos y datos en forma binaria, y una operación sencilla como
comparar el contenido de un registro con los datos situados en una ubicación del chip de memoria
puede tener el siguiente formato: 11001010 00010111 11110101 00101011.

La programación en lenguaje máquina es una tarea tan tediosa y consume tanto tiempo que muy
raras veces lo que se ahorra en la ejecución del programa justifica los días o semanas que se han
necesitado para escribir el mismo.

Lenguaje De Bajo Nivel

(Ensamblador)

Como vimos anteriormente la programación en lenguaje máquina es difícil por ello se necesitan
lenguajes que faciliten este proceso. Por este motivo han sido diseñados los lenguajes de bajo
nivel.

Estos lenguajes dan a cada instrucción un mnemónico, como por ejemplo STORE, ADD o JUMP. Los
lenguajes de bajo nivel permiten crear programas muy rápidos, pero que son a menudo difíciles de
aprender. Esta abstracción da como resultado un lenguaje de muy bajo nivel que es específico de
cada microprocesador:

El Lenguaje Ensamblador

Al asignar un código mnemotécnico (por lo general de tres letras) a cada comando en lenguaje
máquina, es posible escribir y depurar o eliminar los errores lógicos y de datos en los programas
escritos en lenguaje ensamblador, empleando para ello sólo una fracción del tiempo necesario
para programar en lenguaje máquina.

En el lenguaje ensamblador, cada comando mnemotécnico y sus operadores simbólicos equivalen


a una instrucción de máquina. Un programa ensamblador traduce el código fuente, (una lista de
códigos de operación mnemotécnicos y de operadores simbólicos), a código objeto (es decir, a
lenguaje máquina) y, a continuación ejecuta el programa, todo esto gracias a un intérprete o a un
compilador, los cuáles veremos más adelante
Sin embargo, el lenguaje ensamblador puede utilizarse con un solo tipo de chip de CPU o
microprocesador, por lo que los programas escritos en un bajo nivel son prácticamente específicos
para cada procesador.

Si se quiere ejecutar el programa en otra máquina con otra tecnología, será necesario rescribir el
programa desde el principio.

Así que los programadores necesitaban un método abreviado en el que un enunciado simbólico
pudiera representar una secuencia de numerosas instrucciones en lenguaje máquina, y un método
que permitiera que el mismo programa pudiera ejecutarse en varios tipos de máquinas. Estas
necesidades llevaron al desarrollo de lenguajes de alto nivel.

Lenguaje De Alto Nivel

Los llamados lenguajes de alto nivel son los que se emplean con mayor frecuencia como lenguajes
de programación, porque permiten expresar los algoritmos de una manera y con un estilo
fácilmente reconocible por parte de diversos programadores y usuarios; debido a que están
formados por elementos de lenguajes naturales, como el inglés utilizando términos del tipo LIST,
PRINT u OPEN como comandos.

En Basic, el lenguaje de alto nivel más conocido, los comandos se introducen desde el teclado,
desde un programa residente en la memoria o desde un dispositivo de almacenamiento, y son
interceptados por un programa que los traduce a instrucciones en lenguaje máquina.

Asimismo, presentan una ventaja fundamental: la facilidad de poder ser transportados de una
máquina a otra sin necesidad de realizar grandes cambios en ellos, por lo que se dice que son
independientes de la máquina empleada.

A este grupo pertenecen los lenguajes más conocidos, tales como el APL, FORTRAN, PASCAL,
COBOL, LISP, PROLOG, C, ADA, PL/I.

Sin embargo, tanto los lenguajes de alto nivel como los de bajo nivel, no son entendibles
directamente por la máquina, sino que necesitan ser traducidos a instrucciones en lenguaje
máquina que entiendan las computadoras por lo que es necesario disponer de una interfase con el
lenguaje máquina para que el programa sea ejecutable. Al respecto existen dos tipos
fundamentales de interfase, que son:

a) Compiladores

b) Intérpretes

Un compilador es:

Un traductor que facilita la comunicación entre el programador y la máquina, por medio de un


proceso de transformación llamado compilación.
De esta manera traduce un programa íntegro a lenguaje máquina antes de su ejecución, por lo
cual se ejecutan con tanta rapidez como si hubiesen sido escritos directamente en lenguaje
máquina.

El compilador es el más eficaz para la mayor parte de las máquinas, puesto que presenta la ventaja
de de que cada una de las sentencias del programa es interpretada y traducida al lenguaje
máquina solo una vez.

Un compilador crea una lista de instrucciones de código máquina, el código objeto, basándose en
un código fuente.

El código objeto resultante es un programa rápido y listo para funcionar, pero que puede hacer
que falle el ordenador si no está bien diseñado.

Un intérprete es:

Es un programa que se traduce línea por línea bajo la misma plataforma.

Es Un traductor pero más lento que los compiladores ya que no producen un código objeto, sino
que recorren el código fuente una línea cada vez. Cada línea se traduce a código máquina y se
ejecuta. Cuando la línea se lee por segunda vez, como en el caso de los programas en que se
reutilizan partes del código, debe compilarse de nuevo. Aunque este proceso es más lento, es
menos susceptible de provocar fallos en la computadora

* Definición De Algoritmo

ALGORITMO

Un algoritmo es una serie de pasos lógicos para realizar una acción, programa o tarea ya que es el
primer paso para realizar un programa.

Y tiene ciertas características que son:

* Preciso

Esto quiere decir que debe indicar el orden en cada paso.

* Definido

Es decir, si se sigue dos veces, obtiene el mismo resultado cada vez.

* Finito

Que tiene fin, o sea un número definido de pasos.

Ejemplos de algoritmos son:

* Instrucciones para montar una bicicleta


* Hacer una receta de cocina

* Obtener el máximo común divisor de dos números, etc.

Los algoritmos se pueden expresar por fórmulas, diagramas de flujo, y pseudocódigos. Ésta última
representación es la más utilizada en lenguajes estructurados como Turbo Pascal.

* Algoritmo Cotidiano

Un algoritmo cotidiano es:

La serie de pasos que realizamos en nuestra vida diaria para realizar las diferentes tareas y
actividades comunes, desde los pasos al levantarnos, así como ir de compras, etc.

* Definición De Lenguaje Algorítmico

Para definir el lenguaje algorítmico:

Cabe recordar que el conjunto de todas las operaciones a realizar, y el orden en el que deben
efectuarse, se le denomina algoritmo.

Así que el lenguaje algorítmico es aquel por medio del cual se realiza un análisis previo del
problema a resolver y encontrar un método que permita resolverlo.

* 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 como mencionamos anteriormente en el apartado 1.1 se define


un código especial llamado mnemotécnico 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 C.

CONCLUSION

Como conclusión tenemos que lo principal para la solución de un problema de programación es


que tenemos que plantear la definición de este para que por consiguiente lo analicemos, le demos
una solución con una mejor alternativa a su desempeño, apoyándonos en las creación de un
diagrama de flujo o un pseudocódigo para ver el funcionamiento de este, lo codificaremos y así
mismo haremos las pruebas necesarias para que el desempeño de este sea del todo perfecto,
correcto y fácil de manejar.

En las metodologías estudiadas y plantadas aquí mismo vemos que los autores comparten algunas
ideas y procesos para la solución del problema y esto a su vez nos ayuda a que sea mucho mas
sencillo de entender el proceso da solución de un problema y lo podamos llevar a la practica de
una mejor manera todos los estudiantes y programadores de esta rama.

También podría gustarte