You are on page 1of 9

Introd.

a la Programacin
Algoritmos, Codificacin, Sentencias, Seudo cdigos, Diagramas de Flujo
www.monografias.com
Algoritmos
1. Pasos
2. Tipos
3. Anlisis del problema
4. Diseo del algoritmo.
5. Mandatos e instrucciones
6. ariables !ectores " matrices
#. Documentaci$n
El programador disea un programa, para resoler un pro!lema particular.
Disear es un proceso creatio.
El proceso de diseo de un programa consta de los siguientes pasos o etapas"
Pasos%
Pasos Etapa Descripcin
# An$lisis del pro!lema Conducen al diseo detallado por medio un cdigo
escrito en forma de un algoritmo % Diseo de algoritmo
& Codificacin Se implementa el algoritmo en un cdigo escrito en
un lenguaje de programacin. 'efleja las ideas
desarrolladas en las etapas de an$lisis ( diseo
) Compilacin ( ejecucin *raduce el programa fuente a programa en cdigo
de ma+uina ( lo ejecuta.
, -erificacin .usca errores en las etapas anteriores ( los elimina.
/ Depuracin
0 Documentacin Son comentarios, eti+uetas de te1to, +ue facilitan la
comprensin del programa
Concepto
Algoritmo" es un m2todo para resoler un
pro!lema mediante una serie de pasos
definidos, precisos ( finitos.
Preciso" implica el orden de reali3acin de
cada uno de los pasos
Definido" si se sigue dos eces, se o!tiene el
mismo resultado.
Finito" *iene un numero determinado de
pasos, implica +ue tiene un fin,
Tipos %
42todo Descripcin Ejemplos
Algor5tmico 6tili3a un algoritmo ( puede ser
implementado en una computadora
Instrucciones para
manejar un e75culo
Instrucciones para secar
grano a granel
Instrucciones para resoler
ecuacin de segundo
grado
8eur5stica" Se apo(a en el resultado o!tenido en un
an$lisis de alternatias de e1periencias
anteriores similares. De las mismas, a se
deducen una serie de reglas emp5ricas o
7eur5sticas +ue de ser seguidas,
conducen a la seleccin de la mejor
alternatia en todas o la ma(or5a de las
Introd. a la Programacin
Algoritmos, Codificacin, Sentencias, Seudo cdigos, Diagramas de Flujo
eces.
Ejemplos
9os algoritmos se
pueden
e1presar por"
Formulas
a
ac b b
x
2
4
2
2 , 1

=
Diagramas de flujo
:orte;Sur,*op;Down
Pseudo cdigo inicio
leer a,!,c
calcular
c b a perimetro + + =
escri!ir per5metro
fin
<uic= .asic es un lenguaje de programacin estructurado ( el algoritmo se representara
en seudo cdigo (>o diagrama de flujo.
1. Anlisis del problema%
'e+uiere la clara definicin del pro!lema donde se indi+ue +ue a 7acer el programa ( cual e a
ser el resultado.
De!e detallarse las especificaciones de entrada ( salida,
9os re+uisitos +ue definen el an$lisis son "
9a ecuacin de segundo grado se define alge!raicamente como "

0
2
= + + c bx ax
9a solucin general iene dada por la e1presin alge!raica " ?Algoritmo@

a
ac b b
x
2
4
2
2 , 1

=
Pro!lema "8allar las dos ra5ces 1
#
( 1
%
de una
ecuacin de segundo grado, conociendo el alor
de sus tres coeficientes a, !, c.
An$lisis
del
Pro!lema
Definicin
Del
Pro!lema
Especificaciones
de
entrada
Especificaciones
de
salida
Introd. a la Programacin
Algoritmos, Codificacin, Sentencias, Seudo cdigos, Diagramas de Flujo
Entrada" por teclado
a
ac b b
x
2
4
2
1
+
=
Proceso"
a
ac b b
x
2
4
2
2

=

Salida" -isuali3acin de "Datos de entrada" A,.,C
Datos procesados" 'aices" A#, A%
-aria!le Significado Codificacin en <.asic
A,.,C Coef P'I:*BACBDAD E.CBDBCCBDC
A# primera ra53 P'I:*BA#CBD1#
A% primera ra53 P'I:*BA%CBDA%
2.Diseo del algoritmo.
An$lisis de proceso implica +ue 7ace el programa.
Diseo implica como se 7ace o reali3a la tarea ?pro!lema@ solicitado
En el diseo"
El todo es la sumatoria de las partes.
Diide el todo en arias partes.
En la resolucin de un pro!lema complejo, se diide en arios su! pro!lemas ( seguidamente se
uelen a diidir los su! pro!lemas en otros mas sencillos, 7asta +ue puedan implementarse en el
computador.
Esta caracter5stica define lo +ue se entiende como diseo descendente( *op;Down > :orte;Sur @ o
diseo modular.
El proceso de ruptura del pro!lema en cada etapa se llama refinamiento sucesivo.
Cada pro!lema se resuele mediante un modulo (subprograma@ ( tiene un solo punto de
entrada ( un solo punto de salida.
6n programa !ien diseado consta de un programa principal ?modulo de niel mas alto@
+ue llama a subprogramas ?mdulos de niel mas !ajo@, +ue a su e3 pueden llamar otros
su! programas.
9os programas +ue se estructuran de esta forma, se dicen +ue tienen diseo modular ( el m2todo
de romper el programa en modos pe+ueos se llama programacin modular.
perif2rico
# An$lisis del pro!lema
% Def. del pro!lema 8allar ra5ces ecua. %do grdo
& Especif. de entrada coeficientes a, !, c *eclado
) Especif. de salida A#, A% Pantalla
Impresora
coef Descripcin Codificacin en <.asic
a team. cuadr$tico I:P6* ECoef a CBDA
! term. lineal I:P6* ECoef ! CBD.
c term. independiente I:P6* ECoef c CBDC
Calculo E1presin alge!raica Codificacin en <.asic
A#C??;.FS<'?.G%;)HAHC@@
A%C??;.;S<'?.G%;)HAHC@@
Introd. a la Programacin
Algoritmos, Codificacin, Sentencias, Seudo cdigos, Diagramas de Flujo
9os mdulos pueden ser planificados, codificados, compilados ( depurados independientemente
pueden ser intercam!iados entre si.
Este proceso implica la ejecucin de los siguientes pasos"
# programar un modulo
% compro!ar un modulo
& depurar el modulo
) com!inar el modulo con mdulos anteriores
este proceso conierte el resultado del an$lisis del pro!lema en un diseo modular con
refinamientos sucesios +ue permiten una traduccin a un lenguaje +ue se denomina diseo del
algoritmo.
El algoritmo se puede representar por medio de dos formas "
Pseudo cdigo
Diagrama de flujo"
Pseudo cdigo" es el lenguaje de especificacin de algoritmos ( tiene una estructura" 9as
instrucciones se escri!en en ingles o en pala!ras similares al ingles o espaol +ue facilitan la
escritura de programacin
Para la resolucin de una ecuacin de segundo grado se escri!ir5a
inicio
Introducir coeficientes a, ! ( c
Imprimir t5tulos primera ra53, segunda ra53, no tiene solucin,
Calcular ra53 # ( ra53 %
Imprimir ra53 # ( ra53 %
Fin
Diagramas de &lu'o (&lo)s c*arts+% Es la representacin grafica del algoritmoD segIn la A:SI
consta de una sim!ologia , +ue tiene los siguientes significados"
Introd. a la Programacin
Algoritmos, Codificacin, Sentencias, Seudo cdigos, Diagramas de Flujo
S5m!olos del Diagrama de flujo
Codificacin "
Programacin"
Jindows>Dos>
,-mbolo .unci$n
Proceso Cual+uier tipo de operacin +ue origine
cam!io de alor, formato, posicion de la
informacion almacenada en memoria,
operaciones aritmeticas, de transferencia, etc.
Entrada>Salida Cual+uier tipo de de introduccion de datosen la
memoria desde los perifericosBentradaBo
registros de informacion procesadaen un
periferico de salida
Impresora Se utili3a en ocaciones en lugar del sim!olo de
entradaa>salida
9lamada a su!rutina, funcion o procedimientoD
este es un modulo independiente del
programa principal, +ue reci!e una entrada
procedente de dic7o programa , reali3a una
tarea determinada ( regresa al terminar al
propgrama principal
4onitor Pantalla D en ocaciones se utili3a en lugar de
sim!olo de entrada > salida
Proceso" Decisin Indica operaciones logicas o de
comparacionentre datos; normalmente entre
dos ( en funcion del resultado, determina cual
de los dos caminos alternatios se de!e
seguirD normalmente tiene dos salidas;
respuestas si o no.
Conector Sire para enla3ardos partes cuales+uiera de
un organigrama a traes de un conector de
salida ( otro en la entrada. En la misma pagina
del diagrama
Conector Cone1in entre dos puntos del organigrama
situados en paginas diferentes
*eclado En ocaciones se utilisa en lugar del sim!olo de
entrada>salida
Introd. a la Programacin
Algoritmos, Codificacin, Sentencias, Seudo cdigos, Diagramas de Flujo
<uic= .asic C Editor de te1to.
Programa" definicin"
conjunto de datos ( sentencias"
6n programa tiene la forma
En el editor de <uic= .asic se escri!ir5a
codificado el seudo cdigo
+ue tendr5a la forma"
'E4 Programa para calcular las soluciones
'E4 de una ecuacion de segundo grado
P'I:* KEscri!a los alores de A, . ( CK
CLCBCalculosB
I:P6* K A,.,CK, A, ., C
' C ?. G % ; ) H A H C@ G .,
9E* A# C ?;. F '@ > ?% H A@
9E* A% C ?;. F '@ > ?% H A@
P'I:*
P'I:* K ACKD A, K .CKD ., KCCKD C
P'I:* KA#CKD A#, KA%CKD A%
P'I:*
E:D
En el 4enI
Ejecutar
En la pantalla er5amos"
Inicio
Datos (entrada)
Sentencia 1
Sentencia 2
..........
..........
Sentencia n
Datos procesados (salida)
Final
Mandatos e instrucciones%
4andato ?command@" es una orden aislada de efecto inmediato.
Ejemplo"
4andato Descripcin
'6: Mrdena la ejecucin de un programa.
9IS* Escri!e En la pantalla el listado del programa
SA-E. Nuarda, gra!a el programa como un arc7io de e1tensin .AS en el disco
Instruccin" es una orden contenida en un programa.
Ejemplo"
Instruccin Descripcin
P'I:* Escri!e en pantalla.
I:P6* Introduce ?entra datos@
Edicin de un programa" un programa esta formado por l5neas secuenciales +ue se ejecutan en
forma descendente ?6p Down@
Para dar por terminada una l5nea se pulsa la tecla Enter ?'eturn@ en cual+uier parte de la misma.
Para cam!iar una l5nea !asta oler a teclearla.
Se puede corregir una l5nea ?!orrar, rescri!ir @ en pantalla o !ien con el mandato EDI*.
Se pueden incluir arias instrucciones en una misma l5nea, separ$ndolos por dos puntos.
6na l5nea de pantalla ?cuarenta u oc7enta posiciones@ es diferente de una l5nea de
programa ?doscientos cincuenta ( seis posiciones@.
4odo Directo"
4odo Programa
'un
-entana actia
-entana inmediata
mandato Descripcin
C9S !orra la pantalla
'ecomendaciones"
*odo programa de!e estar documentado con comentariosD la primera l5nea de!e contener
el titulo del programa. 9os comentarios de!en de ir precedidos de la pala!ra clae 'E4 o
de un apostrofo ? O @
Si una l5nea (a tiene otras instrucciones, el comentario de!e ir al final de la l5nea.
9os comentarios solo aparecen en el listado del programa ( no aparecen escritos en la
pantalla durante la ejecucin.
Constantes"
<.asic, tra!aja con dos tipos de datos"
Datos *ipos
num2ricos" Enteros ?I:*@
Enteros largos ?9:N@
de simple precisin ?SN9@
de do!le precisin ?D.9@
alfanum2ricos 7ileras o cadenas ?S*'@
fila de caracteres en ASCII ? en parte del teclado @
9as constantes alfanum2ricas pueden ser enteras o fraccionarias, se representan en forma
decimalD se puede emitir el cero a la i3+uierda del punto decimal. Ejemplo
&),% ;#%./0 .%& F#%&),
Estos son ejemplos de alores num2ricos de punto fijoD se puede emplear una notacin de punto
flotante.
4antisa letra e1ponente
#,%&),/EF#,
#%&),/.PPPPPPPPPP
#.%&),/0QRP0QR),/DS#P P.PPPPPPPPP#%&),/0QRP#%),/
El numero m$1imo de cifras significatias con +ue se tra!aja es"
/ para la precisin simple ?S:N@
#/ para la precisin do!le ?D9.@
En las constantes de punto fijo 7a( +ue aadir el car$cter T
9as constantes alfanum2ricas son 7ileras de caracteresD se escri!en entre comillas, Ej.
E8ola E D E A)0EC
ariables !ectores " matrices%
6na aria!le es una 3ona de memoria +ue almacena un dato
A '
A
4
DIA L
Peso
;%&.,
lunes
QP
6na aria!le se identifica mediante un nom!re. El nom!re de una aria!le num2rica de!e
empe3ar por una letra ( puede ir sucedido de otras letras ( > o otros d5gitos ?A, A, .#,
peso, *&)#@
6na aria!le alfanum2rica de!e terminar con el car$cter L ?1L, a%&L, diasL,@
Est$n terminantemente pro7i!idas los nom!res de aria!les +ue contengan pala!ras
claes de .asic ?P/01, 23,T, :3.L,@
9as aria!les de precisin do!le ( enteros se identifican aadiendo el car$cter T o el
car$cter U , tam!i2n se pueden declarar como
DEFD.9 A
#. Documentaci$n%
9os comentarios +ue se inclu(an de!en ser significatios
Documentacin interna"
-a incluida dentro del cdigo del programa fuente, por medio de comentarios +ue a(udan a
la comprensin del cdigo.
*odas las sentencias comien3an con la sentencia /4M o su e+uialente el car$cter
apostrofe ? 5@.
El programa en si no los necesita ( los ignora. 8ace +ue los programas sean comprensi!les.
Documento cedido por"
67/84 203, 9A,T3227 T464DA
Ci!erCra3(,PPPV(a7oo.com.m1

You might also like