You are on page 1of 8

Fundamentos de programacin Tcnicas bsicas de programacin

De Wikilibros, la coleccin de libros de texto de contenido libre. Fundamentos de programacin/Tcnicas bsicas de programacin La programacin estructurada sigue tres reglas: la secuencia, la iteracin y la decisin. La primera de ellas indica que las instrucciones del cdigo se leern de principio a fin; la segunda indica que, segn cierta condicin, un nmero de instrucciones podran repetirse un numero determinado de veces, y la tercera indica que segn unas ciertas condiciones se ejecutarn o no un conjunto de instrucciones. En el siguiente algoritmo para limpiar platos se aprecian estas tres caractersticas. La indentacin de las instrucciones indican cules son englobadas y cules no por sus predecesoras.
m i e n t r a sh a y ap l a t o s c o g e rp l a t o m i e n t r a sh a y as u c i e d a d e c h a rj a b o n p a s a re le s t r o p a j op o re lp l a t o s ip l a t oe sa z u l p o n e r l oc o nl o sa z u l e s

En cdigo no estructurado, quedara algo ms complejo.


1c o g e rp l a t o 2e c h a rj a b o n 3p a s a re le s t r o p a j op o re lp l a t o 4s ih a ys u c i e d a di ral ai n s t r u c c i n2 5s ie lp l a t on oe sa z u li ral ai n s t r u c c i n7 6p o n e r l oc o nl o sa z u l e s 7s ih a ym sp l a t o si ral ai n s t r u c c i n1

En programas ms grandes, esto es muchsimo ms complicado. Ahora conocemos la ejecucin de los algoritmos. Sin embargo, un programa se compone tanto de algoritmos como de una estructura de datos sobre los que operar.

Contenido

1 Antes de empezar un programa 1.1 Estructura de un programa 1.2 Variables y constantes 1.3 Comentarios 2 Estructuras de datos y de control 2.1 Estructuras de control 2.2 Estructuras de datos 3 Enlaces externos 4 Enlaces externos

Antes de empezar un programa


Estructura de un programa
En la programacin estructurada hay un inicio y un fin perfectamente bien definido de acuerdo al diagrama de flujo que se plante al concebir la idea del programa. Un programa bien estructurado debera tener algn subprograma que capture cualquier error dentro del programa principal o de cualquier subprograma dentro de la aplicacin de tal modo que el subprograma que captura los errores genere un registro de datos que describa el error generado y/o en qu subprograma se gener el error para posteriormente corregirlo. Para facilitar la correccin de estos errores se hace uso de los comentarios agregados en el cdigo fuente.

Variables y constantes
Como hemos visto, el ordenador sigue una serie de instrucciones. Pero esas instrucciones tienen que operar sobre una serie de datos. El ordenador tpico slo procesa una instruccin a la vez, por lo que necesita 'espacios de memoria' donde guardar o depositar, a modo de cajones, por usar un smil conocido, los diversos datos con los que trabaja. Aqu es donde entran en juego las variables y constantes. En los inicios, con el ensamblador, se poda decir al ordenador, por ejemplo: 'Ejecuta la instruccin de esa posicin de memoria' o tambin 'En esa posicin de memoria est guardada mi edad, imprmela por pantalla'. Todo esto se deriva del hecho de que los programas tambin son datos. Esta ambigedad presenta numerosos inconvenientes cuando se producen errores, como el lector se imaginar fcilmente: de ah que, a medida que los

lenguajes promocionan hacia niveles superiores, se impida el tratamiento indistinto de los datos. A partir de entonces, un programa tiene que decirle al sistema operativo los cajones que necesita y ste se los proporciona independientemente de cules sean. Quizs suene ms complicado de lo que es. Un ejemplo: Queremos sumar dos nmeros. Nuestro programa tendr que tener tres cajones: Uno para cada nmero y otro para el resultado. Cada cajn tiene un nombre en vez de una posicin de memoria, de manera que slo hay que nombrarlo:
N e c e s i t oc a j o n e sA ,ByR e s u l t a d o

L e eu nn m e r oyg u r d a l oe nA L e eu nn m e r oyg u r d a l oe nB S u m aAyByg u r d a l oe nR e s u l t a d o I m p r i m ee lc o n t e n i d od eR e s u l t a d o

He aqu nuestro programa. Como cabe pensar, un procesador no tiene la instruccin "Imprime por pantalla"; esto es una llamada a otra porcin de cdigo que, gracias a la abstraccin, nosotros no hemos escrito, o hemos escrito una sla vez; a partir de lo cual podemos imprimir todo el texto que queramos en la pantalla. Las posiciones de memoria A y B son Variables. Si queremos leerlas o escribirlas, podemos hacerlo. Tpicamente, existirn datos que no pensamos modificar; no querremos que el usuario tenga que introducirlos cada vez, pues son de naturaleza ms constante que otros (como puede ser el valor Pi para calcular el permetro o rea de un crculo). Para evitar modificarlos por error, podemos pedir al sistema variables especiales, que no puedan ser reescritas. Son las Constantes. Un ejemplo:
C o m e n t a r i o :E s t ep r o g r a m ac a l c u l ae l r e ad eu nc r c u l o

C o n s t a n t eP I=3 ' 1 4 1 5 9 2 6 5 V a r i a b l eR V a r i a b l eR e s u l t a d o

L e e rn m e r oyg u a r d a re nR C a l c u l a rP I*( R*R )yg u a r d a re nR e s u l t a d o I m p r i m i rR e s u l t a d o

El uso de variables y constantes se asemeja al uso que se les da en el lgebra o en otras ramas matemticas.

Ntese tambin la clara separacin entre estructuras de datos y algoritmos. Segn los lenguajes, esto puede ser o no obligatorio, pero es recomendable en aras de una mayor claridad del trabajo.

Comentarios
El til concepto del comentario: son lneas de texto que el compilador o el intrprete no consideran como parte del cdigo, con lo cual no estn sujetas a restricciones de sintaxis y sirven para aclarar partes de cdigo en posteriores lecturas y, en general, para anotar cualquier cosa que el programador considere oportuno. Uno como programador debe tener como prioridad documentar nuestro cdigo fuente ya que al momento de depurar nos ahorrar mucho tiempo de analisis para su correccin o estudio. Los programadores profesionales tienen la buena costumbre de documentar sus programas con encabezados de texto(encabezados de comentarios) en donde describen la funcin que va a realizar dicho programa, la fecha de creacin, el nombre del autor y en algunos casos las fechas de revisin y el nombre del revisor. Por lo general algunos programas requieren hacer uso de llamadas a subprogramas dentro de una misma aplicacin por lo que cada subprograma debera estar documentado, describiendo la funcin que realizan cada uno de estos subprogramas dentro de la aplicacin.

Estructuras de datos y de control


Estructuras de control
Las estructuras de control pueden dividirse en dos: Estructuras de control Condicional y Estructuras de control Repetitivo. Las estructuras de control condicional son las que incluyen alternativas de seleccion con base al resultado de una operacin booleana, como por ejemplo, una comparacin (A=B). Segn la expresin sea cierta o falsa, se ejecutar un trozo de cdigo u otro. Es el caso de la sentencia IF THEN ELSE de Pascal o Basic:
I FA = 0T H E N P R I N T" Av a l e0 " E L S E P R I N T" An ov a l e0 "

Otra sentencia de control son las de tipo SWITCH CASE. En este tipo de sentencias se especifica la variable a comparar y una lista de valores con lo que comparar. Aquel que sea el verdadero, se ejecutar:
S W I T C HA C A S E0 : P R I N T" Av a l e0 " C A S E1 : P R I N T" Av a l e1 "

Otras herramientas imprescindibles del control de la ejecucin de nuestro cdigo son los BUCLES o CICLOS. Consisten en un mtodo que permite repetir un trozo de cdigo varias veces. Hay bsicamente dos tipos: - Bucle FOR: El bucle FOR consiste en una sentencia que engloba un grupo de instrucciones y tiene una variable cuyo valor se va modificando en cada vuelta. En general se utiliza cuando sabemos cuntas veces tenemos que repetir el cdigo.

F O RA = 0T O9 E s p e c i f i c a m o se ne s t ec a s oq u eAv a r i a r d e s d e0h a s t a9 ,c o nl oq u er e p e t i r e m o se lb u c l e P R I N T" E s t a m o se ne lb u c l e " N E X TA C o ne s t oc e r r a m o se lb u c l eei n d i c a m o se lf i n a ld e lb l o q u ed ei n s t r u c c i o n e sq u es er e p i t e

- Bucle WHILE: El bucle WHILE consiste en un bucle en el que el cdigo se repite mientras se cumpla alguna condicin booleana (es decir, una expresin que d como resultado verdadero o falso). Hay variaciones, como el REPEAT...UNTIL, que se diferencia en el momento de comprobar si se hace verdadera o no la condicin.
W H I L EA < > ( B * 2 )D O A = A + 1 D O N E A q u e s p e c i f i c a m o sl ae x p r e s i nq u ee v a l u a m o sya q u s ec o m p r u e b a I n c r e m e n t a m o se lv a l o rd eAm i e n t r a ss e ad i s t i n t oaB * 2 C o m oe ne lF O R ,n e c e s i t a m o se s p e c i f i c a rd o n d ea c a b ae lb u c l eye lc d i g o .

Estructuras de datos
creo a como entero

creo b como entero creo suma como entero a=2 b=1 suma = a + b imprimir suma Estructura de una aplicacin. Cualquier programa que se realice debe llevar una estructura para disminuir la tarea de depuracin ya que esta labor lleva ms tiempo del estimado. Si eres principiante en el rea de programacin debes definir el programa a realizar, documentar cada uno de los pasos que realizas en tu programa, debes de considerar algn metodo de captura de errores, etc. En este subcaptulo abarcaremos el cmo estructurar una aplicacin para mejorar o disminuir el tiempo en depuracin, as como localizar ms rpidamente los errores. Puedes buscar en Internet el concepto "pseudocdigo", que no es ms que la escritura de un algoritmo en un lenguaje ms cercano al natural. Es decir, la orden en lenguaje Javascript que repetira el proceso de quitar suciedad aadiendo agua y jabn mientras se frota sera la siguiente:
f u n c t i o nf r o t a r ( c u a n t o ) { v a rv e c e s=0 ; f o r( v e c e s=0 ;s u c i e d a d<0| |v e c e s<c u a n t o;v e c e s + + ) { s u c i e d a d=s u c i e d a d-( a g u a+j a b n ) ; } }

Mientras que el algoritmo o pseudocdigo quedara as:

f u n c i nf r o t a r( c u a n t a sv e c e sl oh a g o ) v a r i a b l ev e c e sq u el l e v o=0 r e p e t i r( d e s d eq u ev e c e s q u e l l e v o=0m i e n t r a sl as u c i e d a d<0v e c e s q u e l l e v o<c u a n t a s v e c e s l o h a g o ;a u m e n t a s u c i e d a d=s u c i e d a d-( a g u a+j a b n ) f i nr e p e t i r f i nf u n c i n

En primer lugar, es muy recomendable hacer un esquema sobre el papel con toda clase de datos que se vayan a utilizar. Por ejemplo, si queremos hacer un programa para controlar una empresa dedicada al alquiler de coches, podramos necesitar: Matrcula del coche Marca del coche Modelo del coche Color del coche Estado del coche (si est alquilado, en reparacin o disponible) Situacin del coche (en qu lugar del garaje o en qu localidad est) Kilometraje del coche Precio por hora del coche por un lado, y: Nombre del cliente Apellidos del cliente Direccin del cliente DNI del cliente Permiso de conducir del cliente Nmero de cuenta del cliente ... etc. por otro.

Enlaces externos
Pseudocdigo De Programacin (http://www.juarbo.com/pseudocodigo-deprogramacion/)

Enlaces externos
Pseudocdigo De Programacin (http://www.juarbo.com/pseudocodigo-deprogramacion/) Obtenido de http://es.wikibooks.org/w/index.php? title=Fundamentos_de_programacin/Tcnicas_bsicas_de_programacin&oldid=199573 Esta pgina fue modificada por ltima vez el 18 mar 2013, a las 18:03. El texto est disponible bajo la Licencia Creative Commons Atribucin/Compartir-

Igual 3.0; pueden aplicarse trminos adicionales. Vase Trminos de uso para ms detalles.