PDF de programación - Capitulo : 2 - La resolución de problemas con computadoras y las herramientas de programación

<<>>
Imágen de pdf Capitulo : 2 - La resolución de problemas con computadoras y las herramientas de programación

Capitulo : 2 - La resolución de problemas con computadoras y las herramientas de programacióngráfica de visualizaciones

Publicado el 9 de Octubre del 2018
2.216 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
  • Links de descarga
http://lwp-l.com/pdf13807

Comentarios de: Capitulo : 2 - La resolución de problemas con computadoras y las herramientas de programación (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad