Vous êtes sur la page 1sur 21

Programacin

Metodologa para la solucin


de problemas
MC. Claudia M. Rangel Lpez

Introduccin
Los seres humanos nos movemos por un motivo o una
necesidad

Y para satisfacer la necesidad, realizamos una serie de acciones


que en su conjunto nos llevarn a un fin.
Herramientas

La computadora como herramienta

Ahora bien, cmo hacemos un programa?

Fases para la solucin de problemas


1.
2.
3.

Anlisis. Se analiza el problema considerndose las especificaciones.


Diseo. Se disea la solucin: Algoritmo
Codificacin. Se implementa en un lenguaje de programacin: Programa
fuente.

4.

Compilacin y ejecucin. Se compila el programa fuente en un


compilador: programa objeto. Si hay errores se arreglan. Una vez hecho
esto, se ejecuta ( enlazando libreras necesarias) :programa ejecutable.

5.

Verificacin y depuracin. Cuando se ejecuta un programa se


pueden producir:
Errores de compilacin. No entiende la instruccin. Ej: Errores de sintaxis.
Errores de ejecucin. La computadora entiende la instruccin pero no puede
ejecutarla. Ej: Divisin entre cero, races cuadradas negativas,
Errores lgicos. Si se ejecutan, pero por lo regular son problemas del algoritmo. Son
ms difciles de encontrar.

6.

Documentacin y mantenimiento
Interna. En el programa como comentarios.
Externa. Diagramas de flujo, pseudocdigos, etc.

Problema

Fases para la solucin

Programa
Solucin

Algoritmo
El programador es antes que nada, una persona que resuelve
problemas.
Un algoritmo es un mtodo o conjunto de reglas para resolver
un problema.

Los pasos para la resolucin de un problema son:


1.

2.
3.

Diseo del algoritmo, que describe la secuencia ordenada de


pasos ( sin ambigedades) que conducen a la solucin de un
problema dado.
Expresar el algoritmo como un programa de lenguaje de
programacin adecuado.
Ejecucin y validacin del programa por la computadora.

Caractersticas de los algoritmos


Un algoritmo debe ser preciso e indicar el orden de
realizacin de cada paso.
Un algoritmo debe estar definido. Si se sigue el algoritmo
dos veces, se debe obtener el mismo resultado cada vez.
Un algoritmo debe ser finito. Debe tener un nm. Finito
de pasos

Partes de un algoritmo
Entrada
Proceso
Salida
Ejemplo: Cocinar pozole
Entrada: ingredientes y utensilios empleados.
Proceso: Elaboracin de la receta en la cocina.
Salida: Terminacin del platillo.

Actividad en clase
Disear un algoritmo para saber si un nmero es primo o no.
Un nmero es primo si slo puede dividirse por s mismo y por la
unidad.

Diseo de un algoritmo
Una computadora no tiene capacidad de solucionar
problemas. Slo lo hace cuando se le proporcionan los pasos
sucesivos a realizar: el algoritmo.
Los problemas complejos se pueden resolver ms eficazmente
cuando se subdividen en subproblemas que sean ms fciles
de resolver.
ste mtodo se conoce como divide y vencers.
Ej: Obtener la circunferencia y el rea de un crculo.
MDULOS

Obtener circunferencia y
rea de un circulo

Entrada de
datos

Clculo de la
circunferencia
(c )

Clculo del
rea (a)

Entrada radio
(r)

c= 2* pi * r

a= pi * r ^2

RAIZ

Salida de
resultados

Salida c

Salida a

Herramientas de programacin
Las dos herramientas ms comunes para disear algoritmos son:
diagramas de flujo y pseudocdigos.
Un diagrama de flujo (flowchart) es una representacin grfica
de un algoritmo o de una parte del mismo.
La ventaja de utilizar un diagrama de flujo es que se le puede
construir independientemente del lenguaje de programacin,
pues al momento de llevarlo a cdigo se puede hacer en
cualquier lenguaje.
Se construyen utilizando ciertos smbolos de uso especial como
son rectngulos, valos, pequeos crculos, etc.; estos smbolos
estn conectados entre s por flechas conocidas como lneas de
flujo.

Smbolos de los diagramas de flujo

Pseudocdigo
Es una herramienta de
programacin en la que las
instrucciones se escriben en
palabras similares al ingles o
espaol, facilitando la
escritura como lectura de
programas.
En esencia, el pseudocdigo
es como un lenguaje de
especificaciones de
algoritmos.

Ejemplo: de palabras reservadas:

Programacin estructurada
La programacin estructurada significa escribir un programa de
acuerdo a las siguientes reglas:
El programa tiene un diseo modular.
Los mdulos son diseados de modo descendente.
Cada modulo se codifica utilizando las tres estructuras de control
bsicas:
Secuencial,
alternativa y,
repetitiva.

La programacin estructurada utiliza un nmero limitado de


estructuras de control que minimizan la complejidad de los
programas y por consiguiente reducen los errores.

La programacin estructurada es el conjunto de


tcnicas que incorporan:
Recursos abstractos.
Diseo descendente (top Down).
Estructuras bsicas de control.

Recursos abstractos
Descomponer un programa en trminos de recursos
abstractos segn Dijkstra consiste en descomponer una
determinada accin compleja en trminos de un nmero de
acciones ms simples.

Diseo descendente
El diseo descendente es el proceso mediante el cual un
problema se descompone en una serie de niveles o pasos
sucesivos de refinamiento.
La metodologa descendente consiste en efectuar una relacin
entre las sucesivas etapas de estructuracin, de modo que se
relacionen unas con otras mediante entradas y salidas de
informacin. Es decir, se descompone el problema en etapas o
estructuras jerrquicas de forma que se puede considerar
cada estructura desde dos puntos de vista: Qu hace? Y
Cmo lo hace?.

Diseo descendente
Si se considera un nivel n de refinamiento, las estructuras se
consideran de la siguiente manera:

Diseo descendente

Estructuras bsicas
Cualquier programa con un solo punto de
entrada y un solo punto de salida puede
resolverse con tres tipos de estructuras bsicas
de control: Secuencial, alternativa y repetitiva.

Actividad en clase
Ir al cine a ver LEGO.
Puedes utilizar:
si
si_no
mientras hacer

repetir hasta

Actividad en clase
Hacer el diagrama de flujo del algoritmo que suma los pares
del 2 al 1000.

Vous aimerez peut-être aussi