República Bolivariana de Venezuela
Ministerio del Poder Popular. para la Educación Superior
Universidad Nacional Experimental “Simón Rodríguez”
Núcleo Valles del Tuy Catedra: Introducción al procesamiento de datos
Sección “D”
Facilitadora: Nolbis San Juan
Participantes: Milanyel Mendez
Yudelis Gonzalez
Informe exposición nº 4
La resolución de problemas con computadoras
Aunque el proceso de diseñar programas es un proceso
creativo, se pueden considerar una serie de fases o pasos comunes, que deben
seguir todas aquellas personas que pretendan realizar un programa. Ya que el
Computador es una máquina que no puede trabajar por si sola, únicamente realiza
aquellas ordenes que el hombre le indique. Esas órdenes tienen que ser
realizadas de tal forma que el computador las entienda, siendo esta la causa
por la cual se hace necesario darle instrucciones agrupadas. Esto constituye el
software, el cual es pensado y realizado por el hombre. El software esta
conformado por el “conjunto de programas que se diseñan para el funcionamiento
del computador”. Deben estar escritos en un lenguaje de programación. El
Software se divide en dos grandes tipos: software del sistema y software de
aplicación. El software del Sistema es el conjunto de programas necesarios para
que la máquina funcione, estos programas son básicamente, el Sistema Operativo,
los Editores de texto, los Compiladores, Intérpretes y los Programas de
utilidad. El software de aplicación son los que realizan tareas concretas,
nóminas, contabilidad, análisis estadísticos, etc., es decir todos aquellos
programas que pueden ser escritos en un Lenguaje de Programación.
La
resolución de problemas con computadoras se puede dividir en tres fases:
1) Análisis
del problema
2) Diseño
del Algoritmo
3) Resolución
del Algoritmo en la computadora
El análisis y el diseño del algoritmo requieren la
descripción del problema en subproblemas a base de refinamientos sucesivos y
una herramienta de programación:
1) Diagrama de Flujo
2) Diagrama N-S
3) Pseudocódigo
Los diagramas de flujo son importantes porque nos
facilita la manera de representar visualmente el flujo de datos por medio de un
sistema de tratamiento de información, en este realizamos un análisis de los procesos o procedimientos que requerimos para
realizar un programa o un objetivo.
Existe un error común que trata por sinónimos los
términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes
informáticos engloban a los lenguajes de programación y a otros más, como por
ejemplo HTML
(lenguaje para el marcado de páginas web
que no es propiamente un lenguaje de programación, sino un conjunto de
instrucciones que permiten diseñar el contenido de los documentos).
Permite especificar de manera precisa sobre qué datos
debe operar una computadora, cómo deben ser almacenados o transmitidos y qué
acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a
través de un lenguaje
que intenta estar relativamente próximo al lenguaje humano o natural.
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.
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 que 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 que 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.
1.2.4
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 determinado 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 debida mente documentado, lo cual
facilitará la tarea.
Algoritmo.
Es un método para resolver un problema mediante una
serie de pasos precisos, definidos y finitos. Se deriva de la traducción al
latín de la palabra árabe Alkhowarismi, nombre de un matemático y astrónomo
árabe que escribió un tratado sobre manipulación de números y ecuaciones en el
siglo IX.
Características del Algoritmo
Preciso: Tiene que indicar el orden de realización en
cada paso.
Definido: Si el algoritmo se prueba dos veces, en
estas dos pruebas, se debe obtener el mismo resultado (con excepción de los
programas que contienen comandos de generación de datos aleatorios).
Finito: Tiene un número determinado de pasos y debe
producir un resultado en un tiempo finito.
Algunos Ejemplos.
Ver una película. 1. Buscar el videocasette de la película. 2. Si el
televisor y la video-casetera se encuentran apagados, encenderlos. 3. Sacar el
video del estuche. 4. Introducirlo en la video-casetera. 5. Tomar el control
del televisor y la video. 6. Dirigirme al sofá. 7. Ponerme cómodo 8. Ajustar el
volumen. 9. Disfrutar la película
Cocinar arroz. 1. Lavar bien el arroz. 2. Buscar un recipiente
(caldero) de tamaño adecuado.3. Agregar el agua necesaria de acuerdo a la
cantidad de arroz. 4. Agregar aceite, sal, cebolla, ajoporro. 5. Colocar el
recipiente en la cocina. 6. Encender la hornilla. 7. Esperar a que hierva el
agua. 8. Agregar el arroz al agua hirviendo. 9. Dejar el recipiente en el fuego
hasta que el arroz este blando. 10. Apagar la hornilla. 11. Servir. 12. Comer.
¡¡Buen provecho!!.
Estos pequeños algoritmos cumplen con los requisitos
descritos arriba, ya que cada paso precisa un orden y tiene un orden de pasos
finitos. Los algoritmos se pueden expresar por fórmulas, diagramas de flujo, y
pseudo códigos conocidos como herramientas de programación. Está última representación
es la más utilizada por su sencillez y parecido a el lenguaje humano. El hecho
de que un algoritmo sea una representación paso a paso, implica que está
compuesto por instrucciones elementales que no involucran ambigüedades, es
decir que no pueden interpretarse de diferentes maneras.
Fases para la Resolución de Problema
1. Análisis del Problema.
En la fase de análisis en el proceso de programación
se determina que hace el programa. Esta fase requiere una clara definición
donde se contemple exactamente lo que debe hacer el programa y el resultado o
solución deseada. Dado que se busca una solución se precisan especificaciones
de entrada y salida. Para poder definir bien un problema es conveniente
responder a las siguientes preguntas: ¿Qué entradas se requieren? (cantidad y
tipo) ¿Cuál es la salida deseada? (cantidad y tipo) ¿Qué método produce la
salida deseada?
Diseño del
Algoritmo.
En la fase de diseño se determina como hace el
programa la tarea solicitada. Los métodos utilizados para el proceso del diseño
se basan en el conocido divide y vencerías: la resolución de un problema
complejo se realiza dividiendo el problema en subproblemas y a continuación
dividir estos en otros de nivel mas bajo, hasta que sea implementada una solución
en la computadora. Este método se conoce técnicamente como diseño descendente
(top-down) o modular. El programa principal (el módulo de nivel más alto) llama
a subprogramas (módulos) de nivel mas bajo, que a su vez pueden llamar a otros
subprogramas. Estos módulos pueden ser planeados, codificados, comprobados y
depurados Independientemente y luego combinarlos entre sí. Este proceso implica
la ejecución de estos pasos hasta que el programa se ha terminado. El diseño
del algoritmo es independiente del lenguaje de programación en el que se vaya a
codificar posteriormente.
Implementación
del Algoritmo.
Para implementar un algoritmo en la computadora, se
debe ejecutar los siguientes pasos: Codificación y documentación, Compilación y
ejecución, Verificación y finalmente la Depuración.
(a) Codificación y documentación. Es la escritura en
un lenguaje de programación la representación de un algoritmo, La codificación
se conoce como programa fuente. La documentación puede ser interna y externa.
La documentación interna es la contenida en líneas de
comentarios. La documentación externa incluye análisis, diagramas de flujo y/o
pseudo códigos, manuales de usuarios con instrucciones para ejecutar el
programa y para interpretar los resultados. La documentación es vital cuando se
desea corregir posibles errores futuros o bien cambiar el programa. Estos
cambios se denominan Mantenimiento del programa. Además es de buena costumbre
para todo buen programador, dejar Comentado su código, para que el futuro
programador pueda darle mantenimiento fácilmente a el Programa, o incluso, si
es el mismo creador quien debe darle mantenimiento. La importancia de la documentación
debe ser destacada por su influencia en la etapa final, ya que programas
pobremente documentados son difíciles de leer, mas difíciles de depurar y casi
imposibles de mantener y modificar.
(b) Compilación y ejecución. Una vez que el algoritmo
se ha convertido en un programa fuente, debe ser traducido a lenguaje máquina.
Este proceso se realiza con el compilador y el sistema operativo que se encarga
prácticamente de la compilación. Si al compilar el programa fuente se presentan
errores (errores de compilación), es necesario volver a editar el programa,
corregir los errores y compilar de nuevo. Esto se repite hasta que ya no se
presenten más errores, obteniéndose el programa objeto. Cuando no existen
errores en el programa fuente se debe instruir al sistema operativo para que efectúe
la fase de montaje o enlace, del programa fuente con las librerías del programa
del compilador. Este proceso de montaje produce un programa ejecutable. Cuando
se ha creado un programa ejecutable este se puede ya ejecutar desde el sistema
operativo con solo teclear su nombre. Suponiendo que no existen errores durante
la ejecución (errores en tiempo de ejecución), se obtendría la salida de
resultados correctos del programa.
(c) Verificación y depuración. Es el proceso de ejecución
del programa con una amplia variedad de datos de entrada, llamados datos de
test o prueba como son: valores normales de entrada, valores extremos de
entrada que comprueben los límites del programa y valores de entrada que
Comprueben aspectos especiales del programa. Estos determinarían si el programa
contiene errores o no.
DIAGRAMA
DE FLUJO.
Un diagrama de flujo (flowchart) es una de las
técnicas de representación de algoritmo más antigua y a la vez más utilizada,
aunque se empleo ha disminuido considerablemente, sobre todo desde la aparición
de lenguajes de programación estructurados. Un diagrama de flujo es un diagrama
que utiliza los símbolos (cajas) estándar y que tiene los pasos del algoritmo
escritos en esas cajas unidas por flechas, denominadas líneas de flujo, que
indican la secuencia en que se deben ejecutar. Los símbolos estándar
normalizados por ANSI (abreviatura de America National Standard Institute) son
muy variados.
Se puede escribir más de un paso del
algoritmo en una sola caja rectangular. El uso de flechas significa que la caja
no necesita ser escrita debajo de su predecesora. Sin embargo, abusar demasiado
de esta flexibilidad conduce a diagramas de flujo complicados e ininteligible
Los diagramas de flujo de datos fueron inventados por Larry Constantine, el
desarrollador original del diseño estructurado, basado en el modelo de
computación de Martin y Estrin:
"flujo gráfico de datos" . Los diagramas de flujo de datos (DFD) son
una de las tres perspectivas esenciales de Análisis de Sistemas Estructurados y
Diseño por Método SSADM. El patrocinador de un proyecto y los usuarios finales
tendrán que ser informados y consultados en todas las etapas de una evolución
del sistema. Con un diagrama de flujo de datos, los usuarios van a
poder visualizar la forma en que el sistema funcione, lo que el sistema va a
lograr, y cómo el sistemase
pondrá en práctica.
No hay comentarios:
Publicar un comentario