Vous êtes sur la page 1sur 16

Programacin en C

Prof. Luciano Beato

Programacin I

Programacin en C
Captulo 2
Fundamentos de programacin en C

Metodologa de programacin

Prof. Luciano Beato

Programacin I

Metodologa de programacin
FASES EN LA RESOLUCIN DE PROBLEMAS
El proceso de resolucin de un problema con una computadora conduce a la escritura de un
programa y su ejecucin en la misma.
Las fases de resolucin de un problema con computadora son:
Anlisis. El problema se analiza teniendo presente la especificacin de los requisitos dados por
cliente de la empresa o por la persona que encarga el programa.
Diseo. Una vez analizado el problema, se disea una solucin que conducir a un algoritmo que
resuelva el problema.
Codificacin (implementacin). La solucin se escribe en la sintaxis del lenguaje de alto nivel
ejemplo, C) y se obtiene un programa fuente que se compila a continuacin.
Ejecucin, verificacin y depuracin. El programa se ejecuta, se comprueba rigurosamente y se
eliminan todos los errores (denominados bugs, en ingls) que puedan aparecer.
Mantenimiento. El programa se actualiza y modifica, cada vez que sea necesario, de modo que se
cumplan todas las necesidades de cambio de sus usuarios.
Documentacin. Escritura de las diferentes fases del ciclo de vida del software, esencialmente
anlisis, diseo y codificacin, unidos a manuales de usuario y de referencia, as como normas
el mantenimiento.

Prof. Luciano Beato

Programacin I

Metodologa de programacin
ANALISIS DEL PROBLEMA Cual es el problema?
Esta fase requiere una clara definicin, donde se contemple exactamente lo que debe hacer el programa
y el resultado o solucin deseada. Dado que se busca una solucin por computadora, se precisan
especificaciones detalladas de entrada y salida.
Para poder identificar y definir bien un problema es conveniente responder a las siguientes preguntas:
Qu entradas se requieren? (tipo de datos con los cuales se trabaja y cantidad).
Qu mtodo produce la salida deseada?
Cul es la salida deseada? (tipo de datos de los resultados y cantidad).
Requisitos o requerimientos adicionales y restricciones a la solucin.

Datos de
entrada

Prof. Luciano Beato

Procesamiento
De
Datos

Programacin I

Datos de
Salida o
Resultados

Metodologa de programacin
ANALISIS DEL PROBLEMA - Ejemplo
Determina cual es la potencia (P) absorbida por un componente al cual se le aplica una tensin (V)
y por el cual pasa una corriente (I).
Procesamiento
De
Datos
?

Datos de
Entrada
?

Tensin (V)
Corriente (I)

Potencia = tensin x corriente

Datos de
Salida
?

Potencia (P)

Anlisis y definicin del problema


Datos de entrada: La tensin (v) aplicada al componente
La corriente (I) que pasa por el mismo.
Datos de salida: La potencia absorbida por el componente
Procesos:
La potencia absorbida por un componente es directamente proporcional a la
corriente que pasa por el mismo cuando se le aplica una tensin (V), por lo
que la formula es : Potencia = tensin x corriente

Prof. Luciano Beato

Programacin I

Metodologa de programacin
DISEO DEL ALGORITMO Como se soluciona el problema?
El diseo del algoritmo es el proceso que convierte los resultados del anlisis del problema
en un diseo modular con refinamientos sucesivos que permitan una posterior traduccin a un
lenguaje de programacin.
El diseo del algoritmo es independiente del lenguaje de programacin en el que se vaya a
codificar posteriormente.
Los mtodos ms eficaces para el proceso de diseo se basan en el conocido divide y
vencers. Por medio del cual un problema o programa complejo de divide en problemas mas
pequeos o subprogramas.
Cada subprograma es resuelto mediante un mdulo (subprograma) que tiene un slo punto
de entrada y un slo punto de salida.

Cualquier programa bien diseado consta de un programa principal (el mdulo de nivel ms
alto) que llama a subprogramas (mdulos de nivel ms bajo) que a su vez pueden llamar a otros
subprogramas. Los programas estructurados de esta forma se dice que tienen un diseo
modular y el mtodo de romper el programa en mdulos ms pequeos se llama
programacin modular.

Prof. Luciano Beato

Programacin I

Metodologa de programacin
DISEO DEL ALGORITMO Algoritmos
Algoritmo: es una serie de pasos organizados que describe el proceso que se debe seguir,
para dar solucin a un problema especifico.

Las caractersticas fundamentales que debe cumplir todo algoritmo son:


Ser preciso e indicar el orden de realizacin de cada paso.
Estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada
vez.
Ser finito. Si se sigue un algoritmo, se debe terminar en algn momento; o sea, debe tener
un nmero finito de pasos.

Las dos herramientas ms utilizadas comnmente para disear algoritmos son: diagramas de
flujo y pseudocdigos.

Prof. Luciano Beato

Programacin I

Metodologa de programacin
DISEO DEL ALGORITMO Diagrama de flujo
Un diagrama de flujo (flowchart) es una representacin grfica de un algoritmo.
Esta representacin grfica se da cuando varios smbolos (que indican diferentes procesos en la
computadora), se relacionan entre si mediante lneas que indican el orden en que se deben
ejecutar los procesos.
Los smbolos utilizados han sido normalizados por el instituto norteamericano de normalizacin
(ANSI).
Reglas para desarrollar diagramas de flujo

Se deben se usar solamente lneas de flujo horizontales y/o verticales.

Se debe evitar el cruce de lneas utilizando los conectores.

Se deben usar conectores solo cuando sea necesario.

No deben quedar lneas de flujo sin conectar.

Se deben trazar los smbolos de manera que se puedan leer de arriba


hacia abajo y de izquierda a derecha.

Todo texto escrito dentro de un smbolo deber ser escrito claramente,


evitando el uso de muchas palabras.

Prof. Luciano Beato

Programacin I

Metodologa de programacin
DISEO DEL ALGORITMO Pseudocodigo
El pseudocdigo es la representacin narrativa de los pasos que debe seguir un algoritmo
para dar solucin a un problema determinado.
No existen reglas para la escritura del pseudocdigo en espaol, se ha recogido una notacin
estndar que puede ser empleada en el desarrollo de algoritmos. Los pasos deben ser
numerados. Las palabras reservadas bsicas se representan en letras negritas minsculas. Estas
palabras son traducciones libres de palabras reservadas de lenguajes como C, Pascal, etc..

Ventajas de utilizar un Pseudocodigo a un Diagrama de Flujo

Ocupa menos espacio en una hoja de papel


Permite representar en forma fcil operaciones repetitivas complejas
Es muy fcil pasar de pseudocodigo a un programa en algn lenguaje de programacin.
Si se siguen las reglas se puede observar claramente los niveles que tiene cada operacin.

Palabras utilizadas en pseudocodigo:


-Inicio, Inicializar, Leer, introducir, escribir, imprimir, visualizar, establecer,
calcular, mientras , si, sino, para, Fin

Prof. Luciano Beato

Programacin I

Metodologa de programacin
DISEO DEL ALGORITMO Ejemplos
Determina cual es la potencia (P) absorbida por un componente al cual se le aplica una tensin (V)
y por el cual pasa una corriente (I).

Diagrama de flujo

Pseudocodigo

Inicio

1- Inicio
2- Leer V , I
3- P = V x I
4-Visualizar P
5- Fin

V,I

P=VxI

P
Fin
Prof. Luciano Beato

Programacin I

10

Metodologa de programacin
DISEO DEL ALGORITMO Programacin modular
En programacin modular el programa se divide en mdulos (partes independientes), cada
uno de las cuales ejecuta una nica actividad o tarea y se codifican independientemente
de otros mdulos. Cada uno de estos mdulos se analiza, codifica y pone a punto por
separado.
El proceso sucesivo de subdivisin de mdulos contina hasta que cada mdulo tenga
solamente una tarea especfica que ejecutar.

Se disea cada mdulo con independencia de los dems, y siguiendo un mtodo ascendente o
descendente se llegar hasta la descomposicin final del problema en mdulos en forma
jerrquica.

Prof. Luciano Beato

Programacin I

11

Metodologa de programacin
DISEO DEL ALGORITMO 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 mdulo se codifica utilizando las tres estructuras de control bsicas: secuencia, seleccin
y repeticin .
La programacin estructurada significa programacin sin /GOTO/ (C no requiere el uso
de la sentencia GOTO).

La programacin estructurada es el conjunto de tcnicas que incorporan: recursos


abstractos, diseo descendente (top-down) y estructuras bsicas.

Prof. Luciano Beato

Programacin I

12

Metodologa de programacin
DISEO DEL ALGORITMO Programacin Estructurada
Una de las partes mas importantes es el diseo descendente (top-down) que es el proceso
mediante el cual un problema se descompone en una serie de niveles o pasos sucesivos de
refinamiento.
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?
Si se considera un nivel n de refinamiento, las estructuras se consideran de la siguiente manera:

Nivel n + 1

Nivel n
qu hace?

Vista desde el exterior

Prof. Luciano Beato

cmo lo hace?

Programacin I

Vista desde el interior

13

Metodologa de programacin
DISEO DEL ALGORITMO Programacin Estructurada - Ejemplo
Disea el algoritmo que calcule la energa calorfica (Q) disipada por una bombilla
incandescente en un tiempo (t) determinado.
Anlisis y definicin del problema
Datos de entrada: El tiempo (t) que se toma de referencia
Datos de salida: Energa calorfica (Q) disipada por la bombilla
Procesos:
El calor desarrollado por una corriente elctrica al circular por un
conductor es directamente proporcional al tiempo y la potencia
absorbida: Q=P x t x 0.24
*** Pero la potencia (P) necesita ser calculada lo que se convierte en un sub-problema que hay
que resolver primero.
Anlisis y definicin del sub-problema
Datos de entrada: La tensin (v) aplicada a la bombilla
La corriente (I) que pasa por la misma.
Datos de salida: La potencia (P) absorbida por la bombilla
Procesos:
La potencia absorbida por un componente es directamente proporcional a la
corriente que pasa por el mismo cuando se le aplica una tensin (V), por lo
que la formula es : Potencia = tensin x corriente

Prof. Luciano Beato

Programacin I

14

Metodologa de programacin
DISEO DEL ALGORITMO Programacin Estructurada - Ejemplo
Diagramas de flujos

Pseudocdigos

Modulo principal
Modulo calculo de potencia

Inicio
t

Calcular
Potencia

1- Inicio
2- Leer t
3- Calcular Potencia
4- Q=P x t x 0.24
5-Visualizar P
6- Fin

Inicio
V,I

P=VxI

Modulo calculo de potencia

1- Inicio
2- Leer V , I
3- P = V x I
4-Escribir P
5- Fin

Q=P x t x 0.24

P
Q
Fin
Fin
Prof. Luciano Beato

Modulo principal

Programacin I

15

Programacin en C
FINAL
Fundamentos de programacin en C

Metodologa de programacin

Prof. Luciano Beato

Programacin I

16

Vous aimerez peut-être aussi