Publicado el 9 de Octubre del 2018
2.432 visualizaciones desde el 9 de Octubre del 2018
348,5 KB
27 paginas
CAPITULO : 2
LA RESOLUCION DE PROBLEMAS CON COMPUTADORAS
Y LAS HERRAMIENTAS DE PROGRAMACIÓN
Contenido:
2.1.-La resolución de problemas
2.2.-Análisis del problema.
2.3.-Diseño del algoritmo
2.4.-Resolución del problema mediante computadora
2.5.-Representación gráfica de los algoritmos
2.6.-Diagramas Nassi Schneiderman. (N-S)
2.7.-Pseudocódigo.
ACTIVIDADES DE PROGRAMACIÓN RESUELTAS
EJERCICIOS :
La resolución de problemas con computadora se puede resolver en tres fases:
« análisis del problema
« diseño del algoritmo
« resolución del algoritmo en la computadora.
En este capítulo se analizan las tres fases anteriores. 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 -diagramas de
flujo, diagrama NS o pseudocódigo- ; los conceptos fundamentales del análisis,
diseño y herramientas de programación (diagramas de flujo, diagramas NS y
pseudocodigos) se describen como conocimientos indispensables para el
aprendizaje de la programación de computadoras.
2.1.- LA RESOLUCIÓN DE PROBLEMAS.
La principal razón para que las personas aprendan a programar en general y los lenguajes de
programación en particular es utilizar la computadora como una herramienta para la resolución de
problemas. Ayudado por una computadora, la resolución de un problema se puede dividir en tres
fases importantes:
3.-Resolución del algoritmo en la computadora.
1.-Análisis del problema.
2.-Diseño o desarrollo del algoritmo.
El primer paso –Análisis del problema- requiere que el problema sea definido y comprendido
claramente para que pueda ser analizado con todo detalle. Una vez analizado el problema, se
debe desarrollar el algoritmo –procedimiento paso a paso para solucionar el problema dado-. Por
último, para resolver el algoritmo mediante una computadora, se necesita codificar el algoritmo en
un lenguaje de programación Pascal, C/++, Cobol, Fortran, etc. , es decir, convertir el algoritmo en
programa, ejecutarlo y comprobar que el programa soluciona verdaderamente el problema. Las
fases del proceso de resolución de un problema mediante computadora se indican en la figura 2.1.
2.1.-ANÁLISIS DEL PROBLEMA.
El propósito del análisis de un problema, es ayudar al programador para llegar a una cierta
comprensión de la naturaleza del problema. El problema debe estar bien definido si ase desea
llegar a una solución satisfactoria.
Para poder definir con precisión el problema se requiere que las especificaciones de
entrada y salida sean descritas con detalle. Una buena definición del problema, junto con una
descripción detallada de las especificaciones de entrada y salida, son los requisitos más
importantes para llegar a una solución eficaz.
El análisis del problema exige una lectura previa del problema a fin de obtener una idea
general de lo que se solicita. La segunda lectura deberá servir para resolver a las preguntas:
« ¿Qué información debe proporcionar la resolución del problema?
« ¿Qué datos se necesitan para resolver el problema?
La respuesta a la primera pregunta indicará los resultados deseados a las salidas del
problema.
La respuesta a la segunda pregunta indicará que datos se proporcionan a las entradas del
problema.
Resolución del
problema con la
Análisis de
un problema
Diseño del
algoritmo
Resolución de un
problema
computadora
Figura 2.1 la resolución de un problema
Análisis
del
problema
Definición
del
problema
Especificaciones
Especificaciones
de
entradas
de
salidas
Figura 2.2 Análisis del problema
Ejemplo 2.1.
Leer el radio de un circulo y calcular e imprimir su superficie y la longitud de la circunferencia.
Análisis.
Las entradas de datos en este problema se concentran en el radio del circulo. Dado que el
radio puede tomar cualquier valor dentro del rango de los números reales, el tipo de datos
radio debe ser real.
Las salidas serán dos variables: superficie y circunferencia, que también serán de tipo real.
Entradas:
Salidas:
radio del circulo(variable RADIO).
superficie del circulo(variable Area).
Circunferencia del circulo(variable
Circunferencia).
Radio, Área y circunferencia (tipo real).
Variables:
La información proporcionada al algoritmo, constituye su entrada y la información
2.3.-DISEÑO DEL ALGORITMO.
Una computadora no tiene capacidad para solucionar problemas mas que cuando se le
proporcionan los sucesivos pasos a realizar. Estos pasos sucesivos que indican las instrucciones a
ejecutar por la maquina, constituyen, como ya conocemos, el algoritmo.
producida por el algoritmo constituye su salida.
Los problemas complejos se pueden resolver mas eficazmente con la computadora,
cuando se rompen en sub problemas que sean más fáciles de solucionar que el original. Este
método se suele denominar divide y vencerás (divide and conquer) que consiste en dividir un
problema complejo en otros más simples. Así el problema de encontrar la superficie y longitud de
un circulo se puede dividir en tres problemas más simples o subproblemas (figura 2.3.)
La descomposición del problema original en subproblemas más simples y a continuación
dividir estos subproblemas en otros más simples que pueden ser implementados para su solución
en la computadora se denomina diseño descendente (top-down design). Normalmente los pasos
diseñados en el primer esbozo del algoritmo son incompletos e indicaran solo unos pocos pasos (
un máximo de doce aproximadamente). Tras esta primera descripción, estos se amplían en una
descripción mas detallada con más pasos específicos. Este proceso se denomina financiamiento
del algoritmo (stepwise refinement). Para problemas complejos se necesitan con frecuencia
diferentes niveles de refinamiento antes de que se pueda obtener un algoritmo claro, preciso y
completo.
Superficie y
longitud de
circunferencia
de
datos
Entrada
Entrada
radio(R)
Calculo
de
calculo
de
superficie
longitud
(S)
(C)
Salida
resultado
S= PI*R^2
L=2*PI*R
Salida
R
Salida
S
Salida
L
Figura 2.3. refinamiento de un algoritmo
El problema de calculo de la circunferencia y superficie de un circulo se puede
descomponer en subproblemas más simples: (1) leer datos de entrada, (2) calcular superficie y
longitud de circunferencia y (3) escribir resultados (datos de salida).
Subproblema
leer radio
calcular superficie
calcular circunferencia
escribir resultados
leer radio
superficie=3.141592 * radio^2
circunferencia 2 * 3.141592 * radio
escribir radio, circunferencia, superficie
Las ventajas más importantes del diseño descendente son:
Refinamiento
« El problema se comprende más fácilmente al dividirse en partes más simples denominadas
módulos.
« Las modificaciones en los módulos son más fáciles.
« La comprobación del problema se puede verificar fácilmente.
Tras los pasos anteriores (diseño descendente y refinamiento por pasos) es preciso
representar el algoritmo mediante una determinada herramienta de programación: diagrama
de flujo, pseudocódigo o diagrama N.S
Así pues, el diseño de algoritmo se descompone en las fases recogidas en la Figura 2.4.
Diseño
de un
algoritmo
Diseño
descendente
(1)
Refinamientos
por pasos
(2)
Herramientas de
programación (3)
- diagrama de flujo
- pseudocodigo
- diagrama N-S
FIGURA 2.4 FASES DEL DISEÑO DE UN ALGORITMO
2.3.1 Escritura inicial del algoritmo.
Como ya se ha comentado anteriormente, el sistema para describir (“escribir”) un algoritmo
consiste en realizar una descripción paso a paso con un lenguaje natural del citado algoritmo.
Recordemos que un algoritmo es un método o un conjunto de reglas para solucionar un problema.
En cálculos elementales estas reglas tienen las siguientes propiedades:
l deben de estar seguidas de algunas secuencias definidas de pasos hasta que se
obtenga un resultado coherente,
l Sólo puede ejecutarse una operación a la vez.
El flujo de control usual de un algoritmo es secuencial; consideremos el algoritmo que
responde a la pregunta:
¿Qué hacer para ver la película Tiburón?
La respuesta es muy sencilla y puede ser descrita en forma de algoritmo, general de modo
similar a:
ir al cine
comprar una entrada (billete o ticket)
ver la película
regresar a casa
El algoritmo consta de cuatro acciones básicas, cada una de las cuales debe ser ejecutada
antes de realizar la siguiente. En términos de computadora, cada acción se codificará en una o
varias sentencias que ejecutan una tarea particular.
El algoritmo descrito es muy sencillo; sin embargo, como ya se ha indicado en párrafos
anteriores, el algoritmo general se descompondrá en pasos más simples en un procedimiento
denominado refinamiento sucesivo, ya que cada acción puede descomponerse a su vez en otras
acciones simples.
Así, un primer refinamiento del algoritmo ir al cine se puede describir de la forma siguiente:
3.1 decidir otra actividad
3.2 bifurcar al paso 7
si_no
3.3 ir al cine.
4.1 ponerse en ella
4.2 mientras h
Comentarios de: Capitulo : 2 - La resolución de problemas con computadoras y las herramientas de programación (0)
No hay comentarios