Está en la página 1de 3

Metodología Para la Solución de Problemas Por Medio de Computadoras

*El HARDWARE está formado por componentes físicos de la computadora, y el SOFTWARE


está constituido por los diferentes Programas que la hacen funcionar

*”Programar” es crear ese software (Programa) que indica a la computadora qué,


cómo, dónde y cuándo tiene que hacer las cosas.

*ALGORITMO: Lenguaje Algorítmico, es por el cual se realiza un analisis previo al


problema y se elige el metodo para hacerlo
*PROGRAMAS: Lenguajes Informáticos, es donde se codifica el algoritmo entendido por
una computadora

*PROGRAMA: es una secuencia de instrucciones, escritas para realizar una tarea


específica en un computador.

¿por qué debemos transformar un algoritmo a un Programa para que una


computadora lo pueda comprender?
-ya que la maquina solo entiende código binario y para que haya una interacción y
sea comprendido entre persona y computador se necesita los lenguajes de
programación. por ejemp (VB, C++, JAVA, DELPHI, PASCAL)

*existe gran variedad de lenguajes debido a que cada lenguaje cubre un área
específica como lenguajes modulares, orientados a objetos, estructurados, etc.

*Un ejemplo para que se vaya entendiendo todo hasta ahora:


Una analogía bastante interesante sería la receta de un plato de comida
internacional, puede escribirse en español o en inglés (lenguaje de programación),
pero los pasos a seguir (algoritmo) siempre serán los mismos y se realizarán sin
importar el cocinero (computadora).

Metodología para la Solución de Problemas

a) Definición del problema


-En esta etapa se analiza el problema y que debe hacer exactamente nuestro programa
y su resultado final

b) Análisis de los datos.


-Especificación detallada de los datos de entrada y salida
-Una vez que tengamos el conocimiento requerido sobre el problema, debemos hacernos
la siguientes preguntas:
-¿De qué datos de entrada disponemos? (cantidad/tipo)
-¿Cuál es la información de salida/resultados esperados deseada (cantidad/tipo)?
-¿Cómo se obtiene la información de salida deseasa (proceso)?
A continuación dejo un ejemplo para orientarse mejor:
*Dada una lista de números enteros contar cuantos son positivos y cuántos son
negativos.
Razonando algorítmicamente seria así:
-Datos de entrada: números enteros
-Datos de salida: cantidad de número positivos y cantidad de números negativos
-Proceso:
1. Inicialmente las cantidades de números positivos y negativos son 0 (cero)
2. Tomo el primer número y si es mayor a 0 (cero) sumo 1(uno) a los positivos, si
no, sumo uno a los negativos (dejemos de lado el caso del cero).
3. Si hay más números repito el proceso con el próximo hasta terminar.
4. Si termino, informo la cantidad de positivos y negativos que hubo

c) Diseño de la solución (El algoritmo)


-La computadoras poseen una gran capacidad de resolver problemas pero para que esta
misma lo haga, nosotros, los humanos, debemos brindarle los pasos a seguir,
empezando por el algoritmo que resuelva el problema y luego codificarlo para
finalmente cargarlo en la maquina.
Unos de los metodos más eficaces para esto es dividir los problemas en subproblemas
y esos subproblemas en problemas de niveles más bajos hasta poder resolverlo sin
complejidad.

d) Codificación
-En pocas palabras es la escritura del algoritmo en un lenguaje de programación,
pero cada diseño del algoritmo es independiente a su lenguaje de programación, el
código se puede escribir con facilidad en un lenguaje u otro
El programa hecho debe ser entendido por la maquina por ende hay una etapa que se
conoce como COMPILACIÓN.
Si la codificación original se realizó en papel, previo a la compilación deberá
existir un paso conocido como trascripción.
Antes de compilar el programa se conoce con el nombre de Programa Fuente: Está
escrito en un lenguaje de programación.
Una vez compilado o interpretado el programa recibe el nombre de Programa
Ejecutable: Está en lenguaje máquina. Es Entendible por la máquina

e) Prueba y depuración
-Una vez que obtenemos el programa, el mismo se somete a pruebas y pruebas con el
fin de saber si soluciona nuestro problema de forma eficiente
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.

f) Documentación y mantenimiento
-La documentación de un programa puede ser interna o externa:
*Interna: está danda por los comentarios que se incluyen dentro del programa.
*Externa: incluye el análisis del problema, diagramas de flujos y pseudocódigo,
manuales.

El mantenimiento del programa es corregir con facilidad errores cometidos o


modificar el programa para nuevos requirimientos. Después de cada cambio la
documentación del programa debe ser actualizada para facilitar cambios futuros.

Conceptos Básicos de Algoritmia

*Es una fórmula para resolver un problema.


*Es un conjunto de acciones o secuencia de operaciones que ejecutadas en un
determinado
orden resuelven un problema.

En resumen, una series de pasos para resolver un determinado problema.

Todos los pasos comienzan con un verbo, y un verbo indica una acción. Pero ¿Qué es
una acción?

-Una acción es un acontecimiento producido por un ACTOR que tiene un TIEMPO FINITO
(periodo), produce un RESULTADO DEFINIDO Y PRECISO y produce cierta transformación.

Ejemplos:
Construir una casa ¿entraría dentro de la definición de acción?
Claro que sí!!. Posee un actor (bueno, varios en este caso), dura un periodo de
tiempo finito y produce un resultado definido.
Existen distintos tipos de acciones: acciones simples y complejas

*Acciones simples: son las que pueden ser realizadas directamente


*Acciones complejas: son las que no se pueden realizar directamente sino a través
de una descomposición en acciones simples (de menor complejidad).

*Para darme cuenta que se produjo una acción verifico si hubo transformación sobre
los elementos que participan en la misma.
Pero...para poder determinar que hubo tal trasformación, debo observar o conocer el
ESTADO de los elementos antes de realizar la acción y después de concluida la
misma.

¿Qué es un Estado?
El estado de un sistema está determinado por la observación de los elementos del
mismo en un instante de tiempo dado.

Existen 2 tipos de estados cuando se habla de acciones: Estado Inicial y Final

*Estado Inicial: es la observación de los elementos en el instante que comienza la


acción.
*Estado Final: es la observación de los elementos en el instante en el que termina
la acción

A todos los otros estados que no son ni el inicial ni el final pero que están
dentro de ambos los
llamaremos:
*Estados Intermedios: son los estados observados en el sistema en cualquier
instante entre el comienzo de la acción y su finalización. La identificación de
estados intermedios permite el reconocimiento de acciones simples que componen a
las acciones complejas.

Características de los Algoritmos


Todo algoritmo debe tener las siguientes características:
*Debe ser definido (confiable). ¿Qué significa esto? que si se ejecuta dos veces
con los mismos datos debe obtenerse el mismo resultado (Si fabrico una casa con las
mismas instrucciones y los mismos planos debo obtener el mismo resultado).

*Debe indicar un orden a seguir en cada uno de sus pasos (sería dificultoso colocar
el techo si no armé las columnas)

*Debe ser finito, es decir, terminar en un número finito de pasos (porque sino la
solución jamás llegaría)

También podría gustarte