Anda di halaman 1dari 6

RESOLUCIÓN DE PROBLEMAS POR COMPUTADOR

FASE DE RESOLUCIÓN FASE DE IMPLEMENTACIÓN

Codificación del algoritmo

Análisis del problema


Compilación y ejecución

Diseño del algoritmo


Verificación del programa

Verificación del algoritmo


Programa trabajando

ANÁLISIS DEL PROBLEMA

Una vez que se ha comprendido lo que se desea del computador, es necesario


definir:

Modelamiento. Está compuesto por los diferentes datos que se pueden


presentar y sus respectivos identificadores. Ejemplo:

Datos de entrada. Corresponde a los datos que se requieren para la solución


del problema. Son aquellos que no se conocen y que no existe forma de
deducirlos en el transcurso de la solución.

Datos Auxiliares. Son los datos que son conocidos desde el enunciado del
problema, o que pueden obtenerse a partir de los datos de entrada y una
información adicional. Sirven para el logro de la solución.

Datos de Salida. Corresponde a la información que se desea producir, es decir


son la solución al problema planteado.

Una recomendación muy practica es el 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.

Ejemplo:
Dado un número positivo obtener el resultado de elevar al cuadrado el producto
de dicho número multiplicado por 3.

Dato de entrada

DESCRIPCIÓN IDENTIFICADOR

Numero dado Num


Datos auxiliar

Producto del número por 3 Producto

Dato de Salida

Cuadrado del producto Cu_del_P

Especificaciones. Es un análisis que se hace al comportamiento de los datos


(solo a aquellos que se les ha asignado un identificador).

Precondiciones. Corresponde a las especificaciones de los identificadores de


entrada y auxiliares, Es decir, se indica el tipo de dato de cada una de las
variables y el valor de las constantes. Además en el caso de las variables, si es
posible se limitan los datos.

Postcondiciones. Corresponde las especificaciones de las variables de salida.


Además de la definición de los métodos y fórmulas que se necesitan para
procesar los datos. Estos se definen a las variables auxiliares y de salida.

Fórmulas o procesos. Se definen cada una de las fórmulas o procesos que se


deben realizar para llegar a la solución deseada. Estas deben definirse en
orden de solución y se puede expresar en forma hablada, algebraica e incluso
algorítmicamente.

Ejemplo: (basado en el anterior)

Precondiciones

Num Є Reales > 0

Producto Є Reales > 0

Postcondiciones

Cu_del_P Є Reales > 0


Fórmulas o procesos

Producto = Num * 3

Cu_del_P = Producto ^ 2

Realizar los ejercicios propuestos por el profesor

SEMINARIO DE ENCUENTRO NUMERO 2.

Preseminario

DISEÑO DEL ALGORITMO

Concepto de Algoritmo.
El programador de computadores es antes que nada una persona que resuelve
problemas, por lo que para llegar a ser un programador eficaz se necesita
aprender a resolver problemas de un modo riguroso y sistemático. A lo largo de
todo este libro se hablará de la metodología necesaria para resolver problemas
mediante programas, concepto que se denomina metodología de la
programación. El eje central de esta metodología es el concepto de algoritmo.

Un algoritmo es un método para resolver un problema. Aunque la


popularización del termino ha llegado con el advenimiento de la era informática,
algoritmo proviene de Mohammed al-KhoWârizmi, matemático persa que vivió
durante el siglo IX y alcanzó gran reputación por el enunciado de las reglas
paso a paso para sumar, restar, multiplicar y dividir números decimales; la
traducción al latín del apellido en la palabra algorismus derivó posteriormente
en algoritmo. Euclides, el gran matemático griego (del siglo IV a.C.) que inventó
un método para encontrar el máximo común divisor de dos números, se
considera con Al-Khowarizmi el otro gran padre de la algoritmia (ciencia que
trata de los algoritmos).

El profesor Niklaus Wirth —inventor de Pascal, Modula-2 y Oberon— tituló uno


de sus mas famosos libros, Algoritmos + Estructuras de datos = Programas,
indicando que solo se puede llegar a realizar un buen programa con el diseño
de un algoritmo y una correcta estructura de datos. Esta ecuación será una de
las hipótesis fundamentales consideradas en este curso.

Para llegar a la realización de un programa es necesario el diseño previo de un


algoritmo, de modo que sin algoritmo no puede existir un programa.
Los algoritmos son independientes tanto del lenguaje de programación en que
se expresan como del computador que los ejecuta. En cada problema el
algoritmo se puede expresar en un lenguaje diferente de programación y
ejecutarse en una computador distinto; sin embargo, el algoritmo será siempre
el mismo. Así, por ejemplo, en una analogía con la vida diaria, una receta de un
plato de cocina se puede expresar en español, ingles o francés, pero
cualquiera que sea el lenguaje, los pasos para la elaboración del plato se
realizaran sin importar el idioma del cocinero.

En la ciencia de la computación y en la programación, los algoritmos son más


importantes que los lenguajes de programación o los computadores. Un
lenguaje de programación es tan solo un medio para expresar un algoritmo y
un computador es solo un procesador para ejecutarlo. Tanto el lenguaje de
programación como el computador son los medios para obtener un fin:
conseguir que el algoritmo se ejecute y se efectué el proceso correspondiente.

Dada la importancia del algoritmo en la ciencia de la computación, un aspecto


muy importante será el diseño de algoritmos.

El diseño de la mayoría de los algoritmos requiere creatividad y conocimientos


de las técnicas de programación. En esencia, la solución de un problema se
puede expresar mediante un algoritmo.

Algoritmo: Formalmente se define un algoritmo como un conjunto de pasos,


procedimientos o acciones que nos permiten alcanzar un resultado o resolver
un problema.

Muchas veces se aplican algoritmos de manera inadvertida, inconsciente o


automáticamente. Esto generalmente se produce cuando el problema al que
nos enfrentamos se ha resuelto con anterioridad varias veces.

Características de los algoritmos.

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

• Debe tener un punto particular de inicio.


• 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. No debe permitir dobles
interpretaciones.
• Un algoritmo 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. Debe
ser finito en tamaño y tiempo de ejecución.
• Debe ser general, es decir, soportar la mayoría de las variantes que se
puedan presentar en la definición del problema.

La definición de un algoritmo debe incluir tres partes: Entrada, Proceso y


Salida. En el ejemplo de una receta de cocina:
Entrada : Ingredientes y utensilios empleados.
Proceso: elaboración de la receta en la cocina.
Salida : Terminación del plato (por ejemplo, "Pato a la Naranja")

La resolución de un problema exige el diseño de un algoritmo que resuelva el


problema propuesto.

Dado lo anterior se estable los lenguajes algorítmicos como una serie de


símbolos y reglas que se utilizan para describir de manera explícita un proceso
y que son utilizados como la herramienta principal de diseño.

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 en forma descriptiva las operaciones que debe


realizar un algoritmo (Pseudocódigo)

Pseudocódigo

Es la herramienta de programación para la representación no gráfica de


algoritmos donde las instrucciones se escriben en palabras similares al
lenguaje natural, facilitando así la escritura como la lectura de programas.
Aunque no existen reglas para la escritura de un pseudocódigo en español hay
una serie de notación estándar que utilizaremos durante el curso y que ya está
muy empleada por algunos libros. Las palabras reservadas básicas se
representarán en letra negrita.

Sintaxis General

algoritmo_<nombre>
Var.
Entero : <lista de variables enteras>
Real : <lista de variables enteras>
Cadena : <lista de variables enteras>
Carácter: <lista de variables enteras>
Lógica : <lista de variables enteras>
Const.
<Lista de identificadores y su correspondiente valor>

Inicio

Diferentes estructuras

Fin

• Donde <nombre> corresponde al nombre que se le asigna a la solución


(lo escoge el usuario).
• En var solo se enumeran los tipos de variables que hayan resultado en
el análisis.

• Entre inicio y fin Irán las diferentes estructuras que se van trabajando,
las cuales pueden ser:
o Secuenciales
o Selectivas
o Cíclicas

Anda mungkin juga menyukai