Sei sulla pagina 1di 10

Programacin: La creacin de programas

Se mostrar a continuacin, que la programacin es


un proceso muy similar al que aplican las personas
en general, para resolver cualquier situacin o
problema. Se puede pensar en un curso en el que
los alumnos deben realizar un trabajo de
investigacin. En primer lugar, cualquiera de ellos
planteara una resolucin general del problema, es
decir, determinara las actividades que debe
realizar, como son, buscar la informacin en
bibliotecas e Internet, recopilar y extraer la
informacin necesaria, transcribir y organizar el
trabajo, y otros. Seguidamente se aboca a encarar
cada actividad, debiendo resolver problemas
especficos.
Los programadores y desarrolladores, son profesionales encargados de codificar y crear
programas. Sin embargo, existen algunas aplicaciones (incluso de las llamadas de escritorio) que
permiten a los usuarios finales, automatizar en cierto grado algunas de sus actividades usando la
programacin, ahorrndoles tiempo y esfuerzo. Nadie desperdiciara la oportunidad de contar con
algo ms de tiempo, o si? La programacin permite pensar en la resolucin de un problema una vez,
y luego el computador se encargar del mismo infinitas veces.
Creacin de programas a la medida:
Son los programas o software los que permiten a los componentes fsicos y redes, procesar y
distribuir los datos y generar informacin. Ningn sistema de informacin computarizado est
completo sin el software adecuado. Al desarrollar un sistema de informacin, se precisan las
necesidades y requerimientos que se deben resolver. Se emplean las seis fases del ciclo de
desarrollo de sistemas. La programacin forma parte de la fase 4, el desarrollo de sistemas, en el
cual se resuelven los requerimientos mediante la programacin del software. En ocasiones, los
desarrolladores resuelven estas situaciones sugiriendo adquirir software comercial, siempre que
las necesidades de los usuarios finales sean estndares o requieran de poca o ninguna adaptacin
de los programas. Pero esto no siempre es posible y entonces se deben crear los nuevos programas
que conformarn el sistema de informacin.
Programas:
Un programa de cmputo o programa informtico (software) es un conjunto o secuencia de
instrucciones (llamadas tambin cdigo) que pueden ser interpretadas y ejecutadas en el CPU de la
computadora. Esta secuencia de instrucciones se escribe en alguno de los diversos lenguajes de
programacin que existen, como BASIC, Pascal o C. Visto de manera ms general, el programa
contiene el esquema que especifica la secuencia de pasos que se siguen para completar un proceso
expresado en un lenguaje de programacin.
Los programas pueden caer en una de dos categoras: Programas del sistema o programas de
aplicacin. Regularmente todos estos programas estn compuestos de muchos archivos: algunos

contienen las instrucciones para la computadora y otros contienen datos. El nombre de un archivo
suele estar seguido de un punto y una extensin. La extensin por lo general da indicios del tipo de
archivo de que se trata. Es costumbre que los archivos, los cuales componen una aplicacin, se
almacenen en una misma carpeta o directorio que se denomina directorio de la aplicacin y que
contar con un nombre que haga alusin a la aplicacin.
La programacin o desarrollo de software, es
un el procedimiento que permite la creacin de
los programas. Como se muestra ms adelante
consiste de seis pasos. No se trata slo de
teclear las instrucciones en la computadora. La
creacin de programas involucra actividades de
anlisis y diseo, previas al paso en el cual se
traducir a un algoritmo, al lenguaje de
computacin, para entonces proseguir a
realizar pruebas de funcionamiento al cdigo
as obtenido.

Los programadores se encargan de la creacin de programas

Caractersticas de un buen programa:


A continuacin se enumeran algunas de las caractersticas con que debera contar un buen
programa. Es recomendable tenerlas en cuenta. A medida que contine leyendo el tema podr
darse cuenta del por qu de las mismas.
Confiabilidad, es decir, el programa debe funcionar en prcticamente cualquier situacin.
Debe advertir los errores de entrada comunes y obvios.
Deben ser bien estructurados, es decir, programas que utilicen organizaciones de la
programacin estructurada.
Estar adecuadamente documentado y ser comprensible, no slo para quien lo crea, sino para
otros programadores. Esto es para facilitar las futuras y muy posibles modificaciones que
requiera.
Flujo de control de programa:
Aunque un programa puede estar constituido por muchos archivos, regularmente cuenta con un
archivo, que constituye su parte primordial, con frecuencia llamado archivo ejecutable, porque es
el que la computadora ejecuta cuando el usuario inicia el programa. Entonces, la computadora lee y
realiza la primera instruccin y luego contina o fluye a otra, de manera sucesiva, hasta completar
la accin de la ltima instruccin y as el programa termina. Sin embargo, es muy probable que no
todas las instrucciones se encuentren en un nico archivo. En este caso el flujo pasa
momentneamente a las lneas de cdigo almacenadas en este otro archivo y luego, devuelve el
control al programa principal. El flujo de control del programa es el orden en el cual se van
ejecutando las instrucciones del programa.
Variables:
Las variables son los contenedores de los datos que se van a procesar, son un elemento comn en
la mayor parte de los lenguajes de computacin. Fsicamente, las variables son reas designadas de
memoria en donde se guarda el valor del dato. Supongamos que se escribe un programa en el cual

se solicitan sueldos de empleados. Se debe contar con una variable que guarde ese dato. Puede
escogerse nombrarla, por ejemplo, v_sueldo.
Cuando, a solicitud del programa, el usuario introduce un nmero, ese dato se convierte en el valor
de la variable v_sueldo. Entonces de manera semejante como en lgebra o fsica, las variables
pueden ser usadas en programacin para realizar operaciones de informtica. Si el programa indica
la declaracin v_sueldo + 500 y el valor en v_sueldo = 1.000, el resultado para esta declaracin va a
ser 1.500.
Algoritmos:
Se denomina algoritmo a una serie finita de pasos o instrucciones mediante los cuales se resuelve
un problema o se ejecuta una tarea especfica. Ms formalmente los algoritmos se caracterizan
por:
Ser finitos, porque tienen un nmero determinado de pasos.
Ser definidos, lo que implica que cada vez que se siga se obtendr invariablemente el mismo
resultado.
Ser precisos, pues cada paso tiene un orden a seguir.
Los algoritmos especifican los pasos (instrucciones) que permiten llegar a la solucin de un
problema, sin importar si el proceso es manual o automatizado. De modo que no se encuentran
exclusivamente relacionados con la computacin. En la vida cotidiana son empleados en diversas
ocasiones. Por ejemplo, los pasos seguidos para retirar dinero de un cajero automtico de un banco
o cuando se sigue una receta de cocina. Se puede entenderlos entonces, como una especie de
receta que indica los pasos que permiten alcanzar la solucin de un problema.
Procedimientos y Funciones:
Los procedimientos y funciones son bloques de cdigo reusables, que pueden ser invocados en
cualquier parte de un programa, mediante expresiones que les representan. Son algoritmos
especficos en un lenguaje de programacin que resuelven un problema definido. Pueden ser usados
cada vez que es requerido, simplemente colocando la expresin que les invoca, sin necesidad de
reescribir todas las instrucciones que representan a tal procedimiento o funcin. Por ejemplo, si se
desea la raz cuadrada de un nmero, podra usarse la expresin Sqrt(x). La x dentro del
parntesis es llamada argumento, siendo el nmero del cual se desea la raz cuadrada. El argumento
permite especificar la entrada a la funcin cuando el programa se est ejecutando. Siendo x la
variable que almacena el nmero 12 para un programa, la funcin buscar la raz cuadrada de 12.
Cuando la funcin encuentra la raz cuadrada, devuelve el valor al programa que la invoc.
A los procedimientos y funciones en conjunto suele denominrseles tambin rutinas o subrutinas.
Dependiendo del lenguaje de programacin que se est utilizando y de acuerdo a cmo ste
implemente las rutinas, se pueden imponer algunas diferencias entre las funciones y los
procedimientos. Las funciones, en general, son rutinas que devuelven un valor como resultado a
partir de uno o ms argumentos. Es el caso de las funciones matemticas, que calculan el logaritmo
de un nmero, su raz cuadrada,... Los procedimientos por otro lado, son aquellas rutinas que no
devuelven un valor, sino que realizan una accin determinada, usando tal vez un grupo de
argumentos. Es el caso, por ejemplo, de un procedimiento para presentar por pantalla una

circunferencia, en la que tendra que suministrarse simplemente valores como la posicin en la


pantalla y el radio de la misma.

Enfoques de Programacin:
En los inicios de la programacin y hasta principios de los sesenta, no haban estructuras bien
definidas en la forma en que se escriba el cdigo. Se dispona una lnea tras otra de programacin
construyendo un nico e inmenso bloque, que constituira el programa. Pero el control del flujo a
travs de gran cantidad de lneas de instrucciones, resultaba difcil de seguir no slo por su
tamao, sino porque no siempre es posible programar siguiendo la secuencia de una lnea tras otra.
Por lo que se hizo frecuente el uso de la instruccin go to (vaya a) escrito como goto en el
programa.
Esta instruccin goto, identifica una lnea de programa, que puede estar varias lneas ms abajo e
incluso varias lneas ms arriba, a la cual salta para cambiar el control del flujo. Si se piensa en un
programa pequeo, tal vez no resulte tan engorroso el seguimiento de estos saltos. La cuestin
cambia, si se trata de un programa de miles de lneas donde se generaliza el uso del goto, de modo
que el programa va a presentar multitud de saltos. Entonces seguir el flujo del programa realmente
se torna muy complicado e incluso imposible, an para quien lo est desarrollando.
La programacin estructurada, surge como la prctica de construir programas usando un conjunto
de estructuras bien definidas. Esta programacin evoluciona en los aos sesenta y entre una de sus
metas se encuentra, la eliminacin de la instruccin goto dentro del cdigo. An cuando la
programacin estructurada brind mejoras, atribuyendo claridad y eficiencia en los programas,
continu existiendo la necesidad de hacer programas de manera ms rpida y eficiente. Se
reconoce en la reutilizacin del cdigo, como un camino a la solucin de acelerar la construccin de
los programas. Las subrutinas, bloques constructores en la programacin estructurada, son un paso
ms en la solucin de este problema.
En la programacin orientada a objetos, los bloques constructores son unos componentes
modulares y reusables, denominados objetos. Surge en los ochenta, afirmndose que llegar a ser
el enfoque dominante de la programacin. Este enfoque enriquece la programacin estructurada,
ms que sustituirla. Los objetos estn compuestos en s mismos, por piezas de programa
estructuradas, y la lgica de manipulacin de objetos tambin es estructurada.
Programacin estructurada:
La investigacin a travs del estudio de los cdigos logr demostrar que cualquier programa se
poda escribir, usando las tres estructuras siguientes de control:
1. La estructura secuencial: Est definida por el
flujo de control automtico de un programa. De
manera natural, a menos que otra cosa se indique,

la computadora ejecuta las lneas de cdigo en el


orden en que fueron escritas. El control del
programa fluye de la lnea anterior a la lnea
siguiente.

Estructura secuencial

2. Las estructuras de seleccin: Se basan en


una declaracin condicional. Si es verdadera,
ciertas lneas de cdigo son ejecutadas. Si tal
declaracin es falsa, esas lneas no sern
ejecutadas. Las dos estructuras de seleccin
ms comunes son: Si-Entonces (If-Then) y SiEntonces-de lo contrario (If-Then-Else).
Estructuras de seleccin

Dos estructuras de repeticin

3. Las estructuras de repeticin (o de ciclos):Su


construccin tambin hace uso de declaraciones
condicionales. Si la condicin evaluada es
verdadera, un bloque de una o ms instrucciones se
repetir, hasta que la condicin sea falsa. La
computadora prueba la condicin una primera vez,
si es verdadera, ejecuta el bloque de comandos.
Entonces, finalizada la primera repeticin,
comprueba de nuevo la condicin y si es verdadera
se repite el bloque nuevamente, y as
sucesivamente hasta que la condicin sea falsa. Ya
que este funcionamiento es cclico, cada una de
estas repeticiones es llamada tambin ciclo. Tres
estructuras de este tipo son: Repita para (ForNext), Repita Mientras (While) y Repita Hasta
(Do-While).

Programacin orientada a objetos (POO):


Los entusiastas de la POO aseguran que, a pesar de que sus conceptos bsicos puedan parecer un
tanto abstractos al principio, este tipo de programacin se asemeja ms a la manera natural de
pensar y concebir el mundo. Por esta razn, el proceso de modelado es ms intuitivo, y se hace
posible crear y mantener programas de manera ms sencilla y rpida.

Objetos:
En general cuando se observa o se piensa sobre un objeto, por ejemplo un carro, siempre se le
percibe como un todo. No es comn enfocarse en sus componentes de acero, vidrio o plstico, sino
ms bien, la mente lo percibe como unidad completa, como un objeto, como un todo. Si se desea
describir el carro, se puede pensar en su color, tamao y forma. Como todos los objetos, el carro
posee atributos que permiten describirle. Se puede pensar adems en las cosas que el carro puede
hacer, como acelerar, retroceder, girar a derecha o izquierda,...
El carro tiene un conjunto de funciones que
puede realizar. Adems, es fcil notar que el
carro contiene elementos que le constituyen:
Los cauchos, el chasis, el sistema de traccin, y
otros. Pero esos elementos a su vez estn
formados por otros elementos. Como es el caso
del motor y de las partes que le forman. De
manera muy similar, en la POO se emplean
mdulos llamados objetos, que poseen
atributos y funciones. Los objetos encapsulan o
contienen otros objetos, que a su vez pueden
ser tambin contenedores de objetos.

En la POO el objeto carro posee atributos,


funciones y contiene otros objetos

Clases y herencia de clases:


Cuando se mira alrededor, es posible ubicar los objetos en clases o categoras abstractas de
objetos afines. En un proceso similar, en POO por ejemplo, los autos de las diferentes marcas se
agruparan en una clase llamada carros. Una clase consiste en atributos y funciones que son
compartidas por ms de un objeto. En el caso de los carros, todos cuentan con un volante y cuatro
ruedas y pueden ir hacia delante, en reversa, detenerse o acelerar. Los atributos de clase se
denominan miembros de datos y las funciones de la clase, se conocen como funciones de miembro
o mtodos.
Las clases pueden ser divididas en subclases. Las
subclases normalmente poseen todos los atributos
de la clase predecesoras, a lo que se llama herencia
Ilustracin de los conceptos clases, subclases y herencia en POO
de clase.
En el ejemplo de los carros, estos pueden tener una clase sedan, una clase deportivo y una clase
camioneta pick up; todas las clases comparten como atributo un volante y como funcin acelerar.
Adems de las caractersticas heredadas, las subclases pueden tener caractersticas propias. Para
las pick up, por ejemplo, cuentan adems con direccin en las cuatro ruedas. De este modo todo
objeto pertenece a una clase.
En POO crear un objeto se denomina instanciacin. Al instanciar un objeto, ste adquiere de
manera automtica los atributos y mtodos asociados a la clase a la cual pertenece. Normalmente
no se espera que los carros operen por s solos. Para que el carro vaya hacia delante se enva una
seal, presionando el acelerador. En POO se utilizan los mensajes para indicar a los objetos que
realicen una determinada funcin.

Pasos de la Programacin: Los programas son


los bloques constitutivos del software del
sistema de informacin. Para la elaboracin de
programas, se usa una adaptacin del proceso
del ciclo de vida de desarrollo de sistemas. Los
pasos para la creacin de programas son los
siguientes (ver tambin la Tabla 1 Resumen de
los pasos de la programacin):
La programacin consta de 6 pasos. La programacin
forma parte de la fase de desarrollo de sistemas.

Especificacin del programa:


En este paso se identifica y se define la necesidad a resolver, que indicar los
objetivos, salidas, entradas y requerimientos de procesamiento del programa. Los
programadores, verifican si existe ya, una solucin provista por alguien que haya
encarado el problema con anterioridad y que lo ofrezca, bien en la propia organizacin o
de manera comercial fuera de ella. Solamente si la solucin no se encuentra disponible, o
existen limitaciones para conseguirla, es cuando se comienza con la programacin. En
primer lugar, debe establecerse cul es el problema que se intenta resolver,
delimitndolo claramente. Se procede entonces, a determinar cul es la salida de
informacin que se desea genere el programa. La salida, se puede tratar de una salida
impresa o una que se presente en el monitor, como por ejemplo, un reporte de
facturacin para cada mes. La determinacin de entradas requiere identificar qu datos
son necesarios para realizar el proceso y cul es su origen. Seguidamente, se definen las
tareas de procesamiento que deben realizarse para transformar los datos de entrada
en salida.
Diseo del programa:
Es la etapa en la cual los programadores delinean cada componente del programa y las
interfases entre cada componente. Se cuenta con muchas herramientas para este
proceso, entre las que se tiene, diagramas de flujos (para programacin estructurada),
crculos y canales de mensaje (programacin orientada a objetos) y seudocdigo. Estas
herramientas permiten presentar una documentacin que describe la solucin en
trminos grficos y descripcin de las instrucciones que conforman los procedimientos.
Codificacin del programa:
En esta fase se realiza la generacin del programa, usando un lenguaje de programacin.

Se obtendr de la fase el cdigo que ejecutar la computadora. Implica desde la


escritura de las instrucciones en el llamado cdigo fuente, hasta la realizacin de
prueba del mismo. Para esta fase se hace uso de la lgica que se determin en el paso
anterior para realizar la generacin del programa. Puede hacerse uso del cdigo que ya
fue escrito y probado anteriormente (probablemente en otros proyectos), en especial si
se est usando la POO. La integracin y adaptacin de cdigo existente a una nueva
aplicacin, puede ahorrar gran cantidad de tiempo.
Prueba del programa:
La aparicin de errores en los programas es prcticamente inevitable. Existen dos tipos
de errores principalmente: de sintaxis y lgica. Los errores de sintaxis violan las reglas
del lenguaje de programacin. Para afrontarlos se hace uso de un compilador que los
detectar de forma automtica. Los errores de lgica causan que el programa se
ejecute de manera inesperada o incorrecta. El proceso para eliminar los errores de
lgica se denomina depuracin.
Documentacin del programa:
Este paso resalta la necesidad de completar y revisar toda la documentacin acumulada
en el proceso y adaptarla, para quienes estarn relacionados con el programa en el
futuro: Los usuarios finales y los programadores. La documentacin contiene de manera
escrita todas las descripciones y procedimientos, que surgen a lo largo del proceso,
acerca de un programa y su modo de uso. La documentacin para los usuarios les indica
cmo utilizar el programa y cmo resolver los mensajes de error. Suele ir incluida
dentro del programa, en una opcin de ayuda, o separada en manuales impresos. Para los
programadores, la documentacin es valiosa por dos situaciones: al pasar el tiempo, un
programador puede olvidar detalles de su producto, o tambin, cuando un programador
debe actualizar, modificar o dar mantenimiento a un programa desarrollado por otro.
Mantenimiento del programa:
Esta fase se inicia inmediatamente despus de instalado el producto. Est motivada,
porque algunos defectos menores podran haber sido pasados por alto y debern ser
solventados o porque los programadores podran querer aadir mayor funcionalidad al
mismo, como respuesta a las inquietudes de los usuarios finales. Debido a que todas las
organizaciones experimentan cambios con el tiempo, los programas inevitablemente
deben cambiar con ellas. De modo que debern ser ajustados, para mejorar,
estandarizarse o adecuarse a los cambios.

Tabla 1.- Resumen de los pasos de la programacin


Pasos de la Programacin
Pasos

Descripcin

1.

Especificacin

Determinar objetivos, salida, entrada y


requerimientos del programa

2.

Diseo

Delinear los componentes y sus


interfaces

3.

Codificacin

Generar el programa en un lenguaje de


programacin

4.

Prueba

Verificar desempeo del programa,


determinar errores de sintaxis y lgica

5.

Documentacin

Redactar documentacin para usuarios y


programadores

6.

Mantenimiento

Correccin de errores, ajustes por


nuevos cambios

Pensar una vez, resolver un milln


Lo verdaderamente mgico de la programacin, es
que una vez que se ha determinado de manera
precisa la forma de resolver un problema,
estableciendo los pasos necesarios para el proceso,
ste puede ser codificado en un lenguaje de
programacin. Entonces, el proceso puede
delegarse a la computadora que lo realizar de
manera confiable, exacta, en menor tiempo y
tantas veces como sea requerido. Como se pudo
ver, el proceso de la programacin es muy similar a
La programacin permite automatizar
procesos facilitando el trabajo
la manera en que se enfrenta los problemas o
situaciones de la vida diaria.
Regularmente se toman estos problemas generales y se van dividiendo en problemas especficos
ms pequeos. Al ir resolviendo estos problemas especficos gradualmente se resuelve tambin el
problema general.
Es importante destacar, que el proceso de programacin del software, se encuentra dentro de la
fase de desarrollo del ciclo de vida del sistema. Es parte de un proceso ms grande y complejo.
Aqu se sealan especficamente los pasos que conforman el proceso de programacin, explicando
brevemente cada uno y mencionando algunas herramientas que son usadas en el proceso. Sin
embargo, todo esto es slo una introduccin que aspira inspirar la curiosidad de investigar con ms
profundidad y detalle sobre el tema y seguramente que no se defraudar de lo que encuentre. En
el tema sobre Lenguajes de Programacin encontrar material complementario al presente tema,
acerca de las herramientas que permiten traducir en cdigo los razonamientos y pasos para
resolver un problema.

Referencias

Potrebbero piacerti anche