Sei sulla pagina 1di 12

Segundo trimestre.

Etapas para el desarrollo de problemas utilizando


el computador
Tema #1
Resolucin de problemas de programacin
La resolucin de un problema mediante un ordenador consiste en el proceso
que a partir de la descripcin de un problema, expresado habitualmente en
lenguaje natural y en trminos propios del dominio del problema, permite
desarrollar un programa que resuelva dicho problema.
Este proceso exige los siguientes pasos:
1-DEFINICIN DE 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 que se desea que
realice la computadora, mientras esto no se conozca del todo, no tiene caso
continuar con el siguiente paso.
Anlisis, Diseo y Desarrollo del Problema.
Anlisis de la solucin: 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 solucin del mismo.

Diseo de la solucin: Una vez definido y analizado el problema, se


produce a la creacin del algoritmo (Diagrama de flujo o pseudocodigo) en
el cual se da la serie de pasos ordenados que nos proporcione
un mtodo explicito para la solucin del problema.

PRUEBA DE ESCRITORIO
Para cerciorarnos de que el diagrama (y/o el pseudocdigo) esta bien, y,
para garantizar que el programa que codifiquemos luego tambin funcione
correctamente, es conveniente someterlo a una Prueba de Escritorio. Esta
prueba consiste en que damos diferentes datos de entrada al programa y
seguimos la secuencia indicada en el diagrama, hasta obtener los
resultados.

PROGRAMACIN

A. CODIFICACIN
Consiste en escribir la solucin del problema (de acuerdo al
pseudocodigo); en una serie de instrucciones detalladas en
un cdigo reconocible por la computadora; es decir un lenguaje de
programacin (ya sea de bajo o alto nivel), a esta serie de
instrucciones se le conoce como PROGRAMA.
B. COMPILACIN
Utilizamos ahora un programa de computador llamado Compilador o
Traductor, el cual analiza todo el programa fuente y detecta errores
de sintaxis ocasionados por fallas en la codificacin o en la
transcripcin. Las fallas de lgica que pueda tener nuestro programa
fuente no son detectadas por el compilador. Cuando no hay errores
graves en la compilacin, el compilador traduce cada instruccin del
programa fuente a instrucciones propias de la mquina (Lenguaje de
Maquina), creando el Programa Objeto.
Algunos computadores utilizan Interpretadores, (Generalmente para
el Lenguaje Basic), en reemplazo de programas compiladores. La
diferencia consiste en que el interpretador recibe, desde una
terminal, slo una instruccin a la vez, la analiza y, si est bien, la
convierte al formato propio de la mquina. Si la instruccin tiene
algn error, el interpretador llama la atencin de la persona para que
corrija dicha instruccin.
Como resultado de la corrida del compilador, podemos obtener
varios listados:
*Listado del programa fuente
*Listado de los errores detectados
*Listado de campos utilizados, etc.
Los errores los debemos corregir sobre el mismo programa fuente,
ya sea reemplazando las tarjetas mal perforadas o regrabando en el
disco flexible o en el disco duro. Este paso de la compilacin lo
repetimos hasta eliminar todos los errores y obtener el programa
ejecutable.

C. Prueba y depuracin: Prueba es el proceso de identificar los


errores que se presenten durante la ejecucin de programa, es
conveniente que cuando se pruebe un programa se tomen en cuenta
los siguientes puntos:

Trata de iniciar la prueba con una mentalidad saboteadora,


casi disfrutando la tarea de encontrar un error.
3Sospechar de todos los resultados que arroje la solucin,
con lo cual se debern verificar todos.
Considerar todas las situaciones posibles, normales y aun las
anormales.

La depuracin consiste en eliminar los errores que se hayan detectado durante la


prueba, para dar paso a una situacin adecuada y sin errores.

D. Documentacin: Es la gua o comunicacin escrita que sirve como


ayuda para usar el programa, o facilitar futuras modificaciones. A
menudo, un programa escrito por una persona es usado por muchas
otras, por ello la documentacin es muy importante; esta debe
presentarse en tres formas: EXTERNA, INTERNA y al USUARIO
FINAL.

-Interna: Consiste en los comentarios o mensajes que se agregan al cdigo de


programa, que aplican las funciones que realizan ciertos
procesos, clculos o formulas, para el entendimiento del mismo.

-Externa: Est integrada por los siguientes elementos: Descripcin del problema,
nombre del autor, diagrama de flujo y/o pseudocodigo, listas de variables y
constantes, y codificacin del programa, esto con la finalidad de permitir su
posterior adecuacin a los cambios.

- Usuario Final: es la documentacin que se le proporciona al usuario final, es una


gua que indica al usuario como navegar en el programa, presentando todas las
pantallas y mens que se va a encontrar y una explicacin de los mismos, no
contiene informacin de tipo tcnico.

Mantenimiento: Se lleva a cabo despus de terminado el programa, cuando se


ha estado trabajando un tiempo, y se detecta que es necesario hacer un cambio,
ajuste y/o complementacin al programa para que siga trabajando de manera
correcta. Para realizar esta funcin el programa debe estar debidamente
documentado, lo cual facilitar la tarea.
TEMA#2-TECNICAS PARA EL DESARROLLO LGICO
DESARROLLO LGICO DEL PENSAMIENTO
ALGORITMOS
Que es un algoritmo
Es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y
finitas que permite realizar una actividad mediante pasos sucesivos que no
generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una
entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una
solucin. Los algoritmos son el objeto de estudio de la algoritmia.

El proceso o pasos que representa el diagrama de flujo puede ser de cualquier


tipo, desde los pasos para freir un huevo, como luego veremos, hasta los pasos
para realizar un enorme programa informtico.

Un ejemplo para cocinar un huevo para otra persona sera:

- Pregunto si quiere el huevo frito.


- Si me dice que si, lo frio, si me dice que no, lo hago hervido.
- Una vez cocinado le pregunto si quiere sal en el huevo.
- Si me dice que no, lo sirvo en el Plato, si me dice que si, le hecho sal y despus
lo sirvo en el plato.
Este esquema ser el Diagrama de Flujo.

Qu son Los Diagramas de Flujo y Para qu se Usan?

Un algoritmo describe una secuencia de pasos escritos para realizar un tarea.


El Diagrama de Flujo es su representacin esquemtica. Los diagramas de flujo
representan la secuencia lgica o los pasos que tenemos que dar para realizar
una tarea mediante unos smbolos y dentro de ellos se describen los pasos ha
realizar.

En la realizacin de un programa informtico es imprescindible primero realizar el


diagrama de flujo, independientemente del programacin que usemos despus.
Una vez que tenemos nuestro diagrama de flujo solo tendremos que conocer las
rdenes del lenguaje que realizan esas tareas que se especifican en el diagrama.

Reglas Bsicas Para la Construccin de un Diagrama de Flujo

1. Todos los smbolos han de estar conectados

2. A un smbolo de proceso pueden llegarle varias lneas

3. A un smbolo de decisin pueden llegarle varias lneas, pero slo saldrn dos
(Si o No, Verdadero o Falso).

4. A un smbolo de inicio nunca le llegan lneas.

5. De un smbolo de fin no parte ninguna lnea.


Los smbolos que se usan para realizar los diagramas de flujo son lo siguientes:

- En el Smbolo de decisin puede tomar los valores de salida SI o NO o tambin


VERDADERO o FALSO.

- El smbolo de Inicio o Final del Diagrama puedes ser un cuadrado con los
bordes redondeados o una elipse.

- Se pueden utilizar colores para lo smbolos.


Ejemplos de Diagramas de Flujo
Veamos un primer ejemplo muy sencillo.

Queremos hacer un programa informtico que nos sume dos nmero y nos de el
resultado en pantalla.

Solucin del ejemplo:


El smbolo de resultado es un smbolo usado en los diagramas para soluciones
con el ordenador. Es el smbolo de salida del resultado por la pantalla del
ordenador.

Ves que es muy sencillo, hay que ir poniendo los pasos lgicos que se deben
seguir para realizar la tarea o el programa.

En el ejercicio tenemos el inicio y el fin, una entrada de datos, para meter los 2
nmeros, una operacin a realizar, la suma, y un resultado a mostrar. Cada uno
de esos pasos con su smbolo correspondiente en el diagrama.

Otro ejemplo de un diagrama de flujo para una operacin sencilla. Imaginemos


que tenemos una lmpara o bombilla y queremos hacer el diagrama de flujo para
saber que hacer cuando la lmpara no funciona.
Hacemos otro?

Bueno vamos hacer uno que nos muestre el resultado del rea de un tringulo en
pantalla.

Como ves, en este ni siquiera hemos puesto las operaciones dentro de los
smbolos, ya que, con la forma del smbolo ya se entiende.

No hemos usado mucho el smbolo de tomar un decisin, por eso vamos


hacer uno en el que nos diga si el nmero es par o impar:
La palabra mod significa dividir, por lo tanto mod 2 es dividir entre 2. Como ya
debes saber si divido un nmero entre 2 y el resto es 0 el nmero es par, en caso
contrario sera impar. Bien pues hay esta la decisin.

Al dividirlo entre 2 el resto es 0? Hay 2 posibilidades. Si lo es, se ve en pantalla


"Si es par", si no lo es, se ve en pantalla "No es par". Eso es la toma de
decisiones. Toma una salida en funcin del resultado de la entrada.

Adems los diagramas de flujo no solo valen parainformtica, incluso podemos


hacer uno para cocinar un huevo, como vimos al principio.

Bueno ahora hagamos uno un poco ms complicado. Tenemos que hacer un


diagrama de flujo para mostrar la suma de los 50 primeros nmeros.

Lo primero es poner a cero la suma y dar el primer nmero a sumar que ser el 0.

Fjate que el diagrama acaba cuando N, que es el nmero en cada momento, es


50. Mientras no sea 50 el programa vuelve a la tercera secuencia que ser
sumarle un nmero al anterior N = N + 1. Intenta comprenderlo y ver lo que hace.
Puedes realizar mentalmente el diagrama para el nmero 0 y vers como lo
acabas entendiendo.
Ponemos un diagrama de flujo en ingles?

Elementos de un algoritmo
Sentencias
Una sentencia es cada uno de los pasos que componen un algoritmo. Hay que
distinguir entre:
1. sentencias simples: son una nica instruccin;
2. sentencias de control: estn conformadas por varias otras sentencias, que a
su vez pueden ser simples o compuestas.
Las sentencias simples son realizadas secuencialmente, una despus de la otra.
Ms abajo veremos los dos tipos de sentencias de control: los condicionales y los
ciclos.
Expresiones y variables
Una expresin es una combinacin de valores y operaciones que son evaluados
durante la ejecucin del algoritmo para obtener un resultado.
Por ejemplo, 2 + 3 es una expresin aritmtica que, al ser evaluada, siempre
entrega el valor 5 como resultado. En esta expresin, 2 y 3 son valores
literales y + es el operador de adicin.
En el algoritmo para resolver la ecuacin cuadrtica aparece la
expresin b 4ac, cuyo resultado depende de cules son los valores
de a, b y c al momento de la evaluacin. A diferencia de los valores
literales, a, b y cson variables. Una variable es un nombre que es asociado a un
valor, para poder usarlo de manera independiente al valor especfico que
representa.
Las diferentes partes de una expresin tambin son expresiones por s solas. En
el ejemplo, b, b, 4ac y 4 son expresiones.
Asignaciones
Cuando una expresin es evaluada, generalmente es necesario asociar el
resultado a una variable para poder referirse a l en sentencias posteriores. Es lo
que hacemos en la sentencia 2 del algoritmo de la ecuacin cuadrtica, cuando
calculamos el discriminante y lo asociamos al nombre .
La accin de guardar un valor y ponerle un nombre se representa como una
sentencia simple llamada asignacin,
Una asignacin se representa as:
variable = expresin
La asignacin del ejemplo sera:
= b 4ac
La asignacin debe interpretarse as:
1. primero la expresin a la derecha del signo = es evaluada, utilizando los
valores que tienen las variables a, b y c en ese momento;
2. una vez obtenido el resultado, el valor de la variable a la izquierda del
signo = es reemplazado por ese resultado.
Bajo esta interpretacin, es perfectamente posible una asignacin como sta:
i=i+1
Primero la expresin i + 1 es evaluada, entregando como resultado el sucesor del
valor actual de i. A continuacin, la variable i toma el nuevo valor. Por ejemplo,
si i tiene el valor 15, despus de la asignacin tendr el valor 16.
Esto no significa que 15 = 16. Una asignacin no es una igualdad matemtica o
una ecuacin.
Condicionales
A veces un algoritmo debe ejecutar sentencias diferentes dependiendo de si una
condicin se cumple o no. Es lo que hacemos en el paso 3 del ejemplo: decidimos
que la ecuacin no tiene soluciones solamente cuando se cumple que < 0. Esto
se llama un condicional.
Un condicional es una sentencia compuesta.
La condicin que determina qu ejecutar es una expresin, cuyo valor debe ser
verdadero o falso.
Ciclos
Un ciclo ocurre cuando un algoritmo ejecuta una serie de instrucciones varias
veces.
Como un algoritmo no puede quedarse pegado, un ciclo debe tener adems
una condicin de trmino.
Cada ejecucin de un ciclo se llama iteracin.
El ejemplo de la ecuacin cuadrtica no tiene ciclos.
Entrada
Cuando un algoritmo necesita recibir un dato, lo hace mediante una sentencia de
entrada, que se encarga de poner el valor en la variable correspondiente.
Por ahora, para referirnos a la sentencia de entrada lo haremos simplemente
como:
Leer variable
Durante la ejecucin, esto significa que el dato es entregado por alguien y queda
guardado en la variable.
En el ejemplo, la entrada ocurre en el paso 1, y puede ser representada as:
Leer a
Leer b
Leer c
Salida
Una vez que el algoritmo ha resuelto el problema para el que fue diseado, debe
entregar sus resultados como un mensaje. Por ahora, lo representaremos as:
Escribir mensaje
Si el mensaje es un texto literal, va entre comillas. Si es una variable, va slo el
nombre de la variable.
En el ejemplo, cuando no existen soluciones, la salida puede ser representada as:
Escribir 'No hay soluciones'
Cuando existe una nica solucin, se puede incluirla en el mensaje:
Escribir 'La solucin nica es ', x

Las notaciones que hemos introducido son tiles para describir un algoritmo de
manera estructurada.
Cuando usamos esta notacin de manera informal, se denomina pseudocdigo.
En este caso, es posible tomarse ciertas libertades que hacen que el algoritmo
ms fcil de entender.
Cuando escribamos programas de verdad, cada uno de estos elementos deber
ser representado de manera rigurosa usando cdigo en el lenguaje Fortran.

Potrebbero piacerti anche