Vous êtes sur la page 1sur 12

PRINCIPIOS BASICOS DE LA PROGRAMACIN

A. Problema y anlisis de datos


Un problema en la computacin es una tarea propuesta para solucin que puede ser
solucionado por medio de la computadora utilizando un programa. Programar es
automatizar y definir una serie de procesos para resolver un problema y obtener un
resultado final.
Anlisis de datos es una metodologa cuyo objetivo es la coleccin, comprensin,
tratamiento y modificacin de los datos de diferente tipo.
Tipos de datos. Cada problema procesa datos de distintos tipos:

Numricos: por ejemplo, para cuentas bancarias, temperaturas;


Alfanumricos: por ejemplo, para nombres y direcciones;
Lgicos: utilizados en el diseo de un circuito; etc.

B. Metodologa para la solucin de problemas utilizando computadora


Cuando tiene un problema y necesita solucionarlo utilizando la computadora debe seguir
los siguientes pasos:
1. Definir el problema

- Definir que desea que realice la computadora

2.- Analizar el problema

- Definir:

Los datos de entrada


Cul es la informacin que se desea producir (salida).
Los mtodos y formulas necesarios para procesar los datos.

3. Disear el algoritmo o el diagrama de flujo


Las caractersticas de un buen algoritmo son:

Tener un punto particular de inicio.


Ser definido, no permitir dobles interpretaciones.
Ser general, es decir, soportar la mayora de las variantes que se puedan
representar en la en la definicin del problema.
Ser finito en tamao y tiempo de ejecucin.

4. Escribir el programa
De acuerdo a la lgica del diagrama de flujo o pseudocdigo debe escribir una serie de
instrucciones detalladas, en un cdigo reconocible por la computadora. A esta serie de
instrucciones detalladas se le conoce como cdigo fuente, el cual se escribe en un
lenguaje de programacin o lenguaje de alto nivel
5. Compilar y depurar el programa
Compilar el programa significa traducir el programa de un lenguaje de alto nivel al
lenguaje de la mquina, para que la maquina pueda entender las instrucciones y
ejecutarlos. Existen muchos compiladores. Por ejemplo en el lenguaje C se utiliza el
estndar de Sun. El tcc es el compilador.

El compilador GNU de C es gcc, el cual es bastante popular y est disponible en varias


plataformas.
Existen tambin compiladores equivalentes de C++ los cuales usualmente son nombrados
como cc. Por ejemplo, Sun provee CC y GNU gcc. El compilador de GNU es tambin
denotado como g++.
Los errores humanos dentro de la programacin de computadoras son muchos y
aumentan considerablemente con la complejidad del programa. El proceso de identificar y
eliminar errores de un programa para que funcione correctamente sin errores se le llama
depuracin (debugging).
Si existen obvios errores en el programa (tales como palabras mal escritas, caracteres no
tecleados u omisiones de punto y coma), el compilador se detendr y los reportara. Desde
luego podra haber errores lgicos que el compilador no podr detectar. Cuando el
compilador ha terminado con xito, la versin del programa ya est compilada y
ejecutable.
6. Ejecutar el programa
El siguiente paso es correr el programa ejecutable. En algunos lenguajes se utiliza la
opcin run (ejecutar). Por ejemplo para correr un ejecutable escrito en el lenguaje C o C+
+ en DOS, simplemente se escribe el nombre el archivo. Al ejecutar el programa
normalmente se mostrara algn resultado en la pantalla. En este paso, podra haber
errores en tiempo de ejecucin (run-time errors), tales como divisin por cero, o bien,
podran hacerse evidentes al ver que el programa no produce la salida correcta.
Si lo anterior sucede, entonces se debe regresar a editar el archivo del programa,
recompilarlo, y ejecutarlo nuevamente.
7. Elaborar la documentacin
La documentacin es la gua o comunicacin escrita que nos ayuda a comprender como
usar un programa para facilitar sus futuras modificaciones. Puede presentarse en
diferentes formas como procedimientos, dibujos o diagramas.
La documentacin se divide en tres partes:

Documentacin Interna - Comentarios o mensajes que se aaden al cdigo


fuente para hacer ms claro el entendimiento de un proceso.
Documentacin Extena - Contiene la descripcin del problema, el nombre del
autor, el algoritmo (diagrama de flujo o pseudocdigo), diccionario de datos, cdigo
fuente (programa), etc.
Manual del Usuario Describe paso a paso la forma en que funciona el
programa, con el fin de que el usuario obtenga el resultado deseado.

7. Mantenimiento
Se lleva acabo despus de terminar el programa, cuando se detecta que es necesario
hacer algn cambio, ajuste o complementacin al programa para que siga trabajando de
manera correcta. Para poder realizar este trabajo se requiere que el programa este
correctamente documentado.

C. Lenguaje de programacin
Un lenguaje de programacin es un conjunto de smbolos, caracteres y reglas
(programas) que permiten a las personas comunicarse con la computadora. Los lenguajes
de programacin tienen un conjunto de instrucciones que dan la posibilidad de realizar
operaciones de entrada/salida, calculo, manipulacin de textos, lgica (comparacin y
almacenamiento) recuperacin, etc.
Los lenguajes de programacin se clasifica en:
Lenguajes de la mquina: Son aquellos cuyas instrucciones son directamente
entendibles por la computadora y no necesitan traduccin posterior para que la
CPU pueda comprender y ejecutar el programa. Las instrucciones en lenguaje
maquina se expresan en trminos de la unidad de memoria ms pequea, el bit
(digito binario 0 o 1). Ocho bits forman un byte. Los lenguajes de la maquina
dependen de ella y pueden utilizarse slo en el tipo de computadora para cual
estn escritos. Ejemplo: 01100011, 01011110, 10100100.
Lenguaje de bajo nivel (Ensamblador): En este lenguaje las instrucciones se
escriben en cdigos alfabticos conocidos como mnemotcnicos para las
operaciones y direcciones simblicas.
El cdigo representa normalmente datos e instrucciones para manipularlos. Un
modo ms fcil de comprender el cdigo maquina es dando a cada instruccin un
mnemnico. Los lenguajes de bajo nivel permiten crear programas muy rapidos y
compactos, pero que a menudo son difciles de aprender. Cabe destacar que los
programas escritos en un lenguaje de bajo nivel son especficos para cada
procesador. Si se lleva el programa a otra mquina con diferente arquitectura de
procesador se debe reescribir el programa desde el principio.
Lenguaje de alto nivel: Los lenguajes de programacin de alto nivel (VISUAL
BASIC, C, C++, PASCAL, BASIC, FORTRAN, COBOL y otros) son aquellos en los
que las instrucciones o sentencias para la computadora son escritas con palabras
similares al lenguaje humano (en general en ingls), lo que facilitan la escritura y
comprensin del programa. Existe tambin una relacin compleja entre los
lenguajes de alto nivel y el cdigo mquina.
Cada programa debe traducirse del lenguaje de programacin (de alto nivel) al
lenguaje de la computadora (mquina). Esto se hace a travs de compiladores
(traductores) que transforman el programa de un lenguaje de ms alto nivel a
lenguaje mquina para que la computadora pueda comprenderlo y ejecutarlo.
Intrpretes y compiladores: la traduccin de una serie de instrucciones en
lenguaje ensamblador (el cdigo fuente) a un cdigo maquina (o cdigo
objeto) se realiza normalmente por un programa especial llamado compilador. La
traduccin de un cdigo fuente de alto nivel a un cdigo maquina tambin se
realiza utilizando compilador ms complejo llamado interprete o traductor. Un
compilador crea una lista de instrucciones de cdigo maquina llamado cdigo
objeto, basndose en un cdigo fuente.
El cdigo fuente resultante es un programa rpido y listo para funcionar, pero que
puede hacer que falle la computadora si no est bien diseado. Los intrpretes
son ms lentos que los compiladores ya que no producen un cdigo objeto, sino el
cdigo fuente por lnea.

Cada lnea se traduce a cdigo mquina y se ejecuta. Cuando la lnea se lee por
segunda vez, como en el caso de los programas en que se reutilizan partes del
cdigo, debe compilarse de nuevo. Aunque este proceso es ms lento, es menos
susceptible de provocar fallas en la computadora.
Debajo se muestra la transformacin del lenguaje fuente (de alto nivel) al lenguaje
objeto (mquina).
1

1. Lenguaje fuente
2. Lenguaje objeto
3. Librera y lenguaje
ensamblador
4. Vnculos
5. Programa ejecutable

D. Qu es un programa?
El procesamiento de datos tiene tres pasos:
1. Entrada Los datos entran a travs del teclado, ratn, escner, otras computadoras,
etc. En el caso de los microcontroladores sern los push button, dip switch, sensores e
interruptores en general.
2. Procesamiento Los datos se utilizan para hacer los clculos y/o cambios
correspondientes, se transforman y se almacenan despus. Esto lo realiza el
microcontrolador internamente manipulando sus bancos de memoria.
3. Salida El resultado en forma de datos poder verse a travs de la pantalla, impresora,
enviarse a otra computadora, etc.en el caso de los microcontroladores sern leds,
lmparas indicadoras, bocinas, motores, lcds, matrices de leds, etc.
Un programa es un conjunto de instrucciones escritas en un determinado lenguaje ( po
ejemplo: COBOL, C++, VISUAL BASIC,etc) que dirigen a la computadora para la
ejecucin de una serie de operaciones, con el objeto de resolver un problema que se ha
definido previamente.
Elementos de un programa:
Datos(variables)
Instrucciones o sentencias (cdigo o funciones)
Las variables son los bloques bsicos para la construccin de un programa y las
instrucciones (sentencias) le indican a la computadora que hacer con el programa.
Tambin puede usar comentarios, estas notas permitirn tener un programa claro y fcil
de entender.
Al igual que en una construccin se pide el material antes para poder comenzar. En un
programa debe declarar las funciones antes de usarlas.

E. Algoritmos
La palabra algoritmo se deriva de la traduccin al latn de la palabra rabe alkhowarizmi,
nombre de un matemtico y astrnomo rabe que escribi un tratado sobre la
manipulacin de nmeros y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe
seguir para dar solucin a un problema especfico. Es un procedimiento matemtico o
lgico para lograr un fin determinado. Antes de escribir el programa debe tener muy claro
el algoritmo que mostrara los pasos a seguir para resolver el problema. Los algoritmos
tienen una entrada de datos, un procedimiento a seguir y una salida de datos.
Un algoritmo debe contener instrucciones de control que nos permitan decirles al
procesador paso a paso que hacer y cuando terminar la tarea.
Por qu necesitamos algoritmos?
Los problemas complejos deben ser divididos en partes ms simples.
Cada problema simple puede ser solucionado aparte.
Utilizando algoritmos se puede ver ms claro la ruta para solucionar el problema
que nos ahorra tiempo.
Caractersticas de los algoritmos
Los algoritmos deben ser:
Claros en su definicin. Si se sigue un algoritmo dos veces, se debe obtener el
mismo resultado cada vez.
Precisos e indicar el orden de realizacin de cada paso.
Finitos y terminar despus un cierto nmero de pasos.

Representacin de algoritmos

Existen diversas formas de representan algoritmos. Dentro de las comunes se encuentran


los diagramas de flujo y el pseudocdigo. Cada uno tiene sus ventajas y desventajas, todo
depende del gusto de la persona que aplica el algoritmo.
F. Qu es un diagrama de flujo?
El diagrama de flujo (flow chart) es la representacin grfica de un algoritmo y muestra los
algoritmos de una manera clara y comprensible.
Esta representacin grfica se da cuando varios smbolos (que indican diferentes
procesos en la computadora) se relacionan entre s 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. Los elementos que se emplean para los
diagramas son los siguientes:
Smbolo

Funcin

Inicio

Inicio de una secuencia (programa o subrutina).

Salida

Encendido o controlar las salidas, por ejemplo LED,


motores, sirenas, etc.

Proceso

Comandos de proceso, por ejemplo, subrutinas, retrasos,


etc.

Decisin

Comprobacin de las entradas, por ejemplo, interruptores


(digitales) o sensores (analgico / digital).

Lneas de flujo o direccin. Indican la secuencia en que se


realizan las operaciones

Fin

Conector dentro de la pgina. Representa la continuidad


del diagrama dentro de la misma pagina
Fin de una secuencia (programa o subrutina).

Ejemplo. El diagrama de flujo siguiente ilustra un sencillo programa para controlar una
barrera automtica de vehculos en un aparcamiento. Las especificaciones del sistema de
control son los siguientes:
1.
2.
3.
4.
5.
6.

Un sensor detecta un vehculo que se aproxima.


Pin 1 comprueba si hay entrada del sensor. En caso afirmativo...
Salida 0 levanta la barrera.
Un segundo sensor detecta que el vehculo se aleja de la barrera.
Pin 2 comprueba si hay entrada del sensor. En caso afirmativo...
Salida 2 reduce la barrera.

G. Qu es un pseudocdigo?
El pseudocdigo se encuentra a un solo paso de transformarse en un lenguaje de
programacin. A diferencia de un diagrama de flujo no es grafico sin embargo puede
leerse y es igual de comprensible. Es la representacin narrativa de los pasos que debe
seguir un algoritmo para dar solucin a un problema determinado. El pseudocdigo utiliza
palabras que indican el proceso a realizar.
El pseudocdigo es la parte de programa que puede ser utilizada en un programa real. No
puede ser compilado ni ejecutado, es simplemente un paso para elaborar el cdigo final.
La ventaja del pseudocdigo es que permite al programador utilizarlo en varios cdigos
sin la necesidad de escribirlo nuevamente.
Ventajas de utilizar un pseudocdigo 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 pseudocdigo a un programa en algn lenguaje de
programacin

Si se siguen las reglas se puede observar claramente los niveles que tiene cada
operacin
H. Qu es un cdigo?
El cdigo puede ser:
1) Un conjunto de instrucciones para la computadora
2) Un conjunto de smbolos, por ejemplo el cdigo ASCII. El cdigo contiene la
informacin en una forma apropiada para la comunicacin y el procesamiento.
Tipos de cdigos
1. Binario

- Cdigo utilizado en la computadora donde toda la informacin es


Representada con dos dgitos = 0 o = 1. Un Bit = 1 o 0. Un Byte = 8 bits.
2. Decimal
- Cdigo donde la informacin se representa con 10 dgitos del 0 al 9.
3. Octal
- En l la informacin se representa con 8 dgitos del 0 al 7.
4. Hexadecimal Cdigo en el cual la informacin se representa con 16 dgitos del 0 al
9 y con las letras de la A a la F.
I. Tipos de estructuras algortmicas
La estructura es el modo en que se pueden agrupar y organizar las acciones de un
programa.
Las estructuras algortmicas son:
A. Simples o secuenciales
B. Condicionales
C. Cclicas
A. Las estructuras secuenciales contienen:
Asignacin
Procesamiento
Salida
La estructura secuencial es aquella en la que una accin (instruccin) sigue a otra en
secuencia. Las tareas suceden de tal modo que la salida de una es la entrada de la
siguiente y as sucesivamente hasta el fin del proceso.
La secuencia es la ms simple y la ms comn de todas las estructuras y constituye la
esencia de toda tarea programada. Las estructuras secuenciales se componen de: la
secuencia independiente y la secuencia dependiente.
Pasos de una secuencia:
1. Un conjunto de acciones que se ejecutan por una vez al comienzo del proceso, llamado
proceso inicial. Generalmente consiste en la apertura de archivos, ubicacin en un lugar
determinado del conjunto, inicializacin de variables, impresin de encabezados de
pgina, etc.
2. Un conjunto de acciones que se ejecutan a continuacin, llamado proceso central.
Entre las acciones de este grupo siempre se incluye una estructura de iteracin que se

ocupa de la lectura de un dato y su procesamiento cuenta, acumulacin, operacin


matemtica, etc.
3. Un conjunto de acciones que se ejecutan por nica vez al final del proceso, al que
llamaremos proceso final. Generalmente consiste en cierre de archivo, informe de
resultados, impresin de la pgina, etc.
Inicio

Inicio

Accion1
Accion2
.
.

Proceso

Fin
Inicio

B. Las estructuras condicionales contienen:

Asignacin
Procesamiento
La operacin del programa cambia dependiendo de una condicin
Salida

Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en
base al resultado de esta comparacin, se siga un curso de accin dentro del programa.
Cabe mencionar que la comparacin se puede hacer contra otra variable o contra una
constante, segn que se requiera. Existen dos tipos bsicos de estructuras condicionales:
las simples y las mltiples.
Simples: la estructura condicional simple se les conoce como tomas de decisin.
Estas tomas de decisin tienen la siguiente forma:
Falso

Si <condicin=cierta> entonces
Accion(es)

Decisin

Verdadero

Fin-si

Proceso

Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o
Decisinen funcin del cumplimiento o no de una determinada
alternativas posibles
Si <condicin= cierta> entonces
condicin.
Accion(es)

Se presenta de la siguiente forma:


Proceso1

Proceso2

Sino
Accion(es)
Fin-si

No

si

Condicionales Mltiples: Las estructuras de comparacin multiples, son tomas


de decisin especializada que permiten comparar una variable contra distinta
posibles resultados, ejecutando para cada caso una serie de instrucciones
especficas. Hay dos formas comunes:
Si <condicion1> entonces
No

Accion(es)

si
Decisin1

Si no
Si <condicion2> entonces
Proceso1

Decisin2

Accion(es)
Si no
Accion(es)

Proceso2

Proceso3

Fin-si
Fin-si

Casos variable
Op1: Accion(es)
Op2:Accion(es)
caso
Opcion1

.
Opcion4

Opcion3

.
OpN:Accion(es)
Fin-casos

Opcion2

C. Estructuras cclicas
Para - Siempre
Hacer Mientras <condicin = cierta>.Repetir
Hacer Hasta <hasta condicin se cumple>Repetir

(For Next)
(Do whileLoop)
(Do Until.Loop)

Vous aimerez peut-être aussi