Vous êtes sur la page 1sur 49

Estructura de datos y de los programas

CAPITULO 6
UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO
Facultad Ciencias Exactas y Tecnolo!a
Se"est#e I$%&'(
Ing. Mary Dunnia Lpez N.
OBJETIVOS ESPECFICOS

Itroduc!r alguos coceptos "#s!cos de la


geerac!$ de algor!tmos%

Prop!c!ar e los estud!ates la &a"!l!dad pesar

Iduc!r a 'ue los alumos aal!ce pro"lemas y


cree algor!tmos 'ue los soluc!oe%
CO(TE(I)O
6.1 Introduccin
6.2 Significado de Algoritmo
6.3 Diseo de Algoritmos
6.3.1 Dividir el Problema
6.3.2 Elementos de un Algoritmo
!ariable
"onstante
E#$resiones% Aritm&ticas' lgicas ( de com$aracin.
6.3.3 )engua*e Algor+tmico
Diagramas de ,lu*o.
6.- Programacin
6.-.1 .rgani/acin Detallada de un Programa
6.0 Pastillas de conocimiento
6.6 E*ercicios
6.1 2aller 2
PALAB*AS CLAVE

Algoritmo

Estructura de datos

!ariable

Estructura Algor+tmica

Programa
6.1 I324.D5""I63

El &ard+are es adm!!strado por el so,t+are de


computador

El so,t+are puede ser de - t!pos. S!stema Operat!/o0


de Apl!cac!$0 e desarrollo%

La computadora puede real!1ar tareas e ,orma


autom#t!ca co rap!de1 y ,!a"!l!dad%

Para 'ue el computador real!ce tareas se le de"e


describir en forma detallada en un
Lenguaje de Programacin los pasos 'ue
de"e segu!r para lle/ar aca"o la solucin%
6%2 SI3(IFICA)O )EL AL3O*IT4O
Un algoritmo es una serie de
pasos organizados que describe
el proceso a seguir para
solucionar un problema
especfico
Ca#acte#!sticas Buen Alo#it"o
ALGORITMO Ent#ada
Salida
Finito
)#eciso
E*ecti+o
Est#uctu#a de Datos
,Va#ia-les.
Est#uctu#as
Alo#!t"icas
6%- )ISE5O )E U( AL3O*IT4O
6.3.1 Dividir el Problema
Para geerar u algor!tmo se puede segu!r las s!gu!etes
!d!cac!oes
6% )!/!d!r el Pro"lema e su"7pro"lemas 8Procesos9
Estructuras de )atos : Estructuras Algor;tm!cas
2% U!r las su"7soluc!oes y /ol/erlo 6 soluc!$ <!ca
E7E8P).% 53 A)9.4I28. ".8:3
Algor!tmo para leer las p#g!as de u l!"ro
6% I!c!o%
2% A"r!r el l!"ro e la 6= p#g!a
-% Leer la p#g!a
>% ?Es la <lt!ma 'ue deseo leer@
S;. Ve al paso A
(o. Ve al paso B
B% Pasar a la s!gu!ete p#g!a
6% Ve al paso -
A% Cerrar el l!"ro
C% F!
Est#uctu#a
De
Datos
Est#uctu#a
Alo#it"icas
Lenua/e
Alo#!t"ico
Alo#it"o
0121% Ele"entos del Alo#it"o
VA*IABLES

So s;m"olos 'ue reser/a espac!o de memor!a0 su /alor puede cam"!ar


durate la eDecuc!$ de u programa%

Las /ar!a"les t!ee - caracter;st!cas.

(om"re. Ua pala"ra come1ado por letras y luego se lo


puede com"!ar co <meros%

Valor. Es el dato 'ue almacea s!empre de"e estar !!c!adas


e alg< /alor%

T!po. de acuerdo a la aturale1a del dato 'ue /a almacear la


/ar!a"le% Puede ser . Etero0 real0 car#cter0 cadea y "ooleao

Por E*em$lo. En el lengua*e !isual ;asic $ara declarar la variable


total del ti$o entero
Dim total As Integer
)uego $ara asignar un dato o valor "ero a la variable total%
)et total<=
CO(STA(TES

So s;m"olos 'ue reser/a espac!o e memor!a y 'ue


su /alor o cam"!a durate la eDecuc!$ de u
programa%
E*em$lo% )a constante se llama $i
$i < 3.1-
2otal < 1== > $i ? 1=
EEP*ESIO(ES 4ATE4ATICAS

.$erando. So /alores 'ue perm!te o"teer u


resultado% 8B y 6 so operados9
2otal < 0 @ 6

.$eradores. So de tres t!pos.

Ar!tmFt!cos. : 0 7 0 G 0 H 0I0 mod

*elac!oales. J 0 JK 0 L 0 LK 0 K K 0 LJ

L$g!cos. V 0 A 0 3.2 8or0 ad0 ot9

L$g!cos% B 0 C 0 D 8or0 ad0 ot9

E#$resiones. *esulta de la com"!ac!$ etre


operadores y operado%
E*em$lo%
1==E0= Es una com$aracion FverdaderoG
6.3.3 )E395A7E A)9.4H28I".

Un lenguaje algortmico es un conjunto de smbolos


y reglas que permiten describir de manera explcita
un proceso.

El algor!tmo es !deped!ete del leguaDe de


programac!$%

La traducc!$ del algor!tmo al programa de"e ser


clara%

)os t!pos .
7 3r#,!cos 8d!agramas de ,luDo9
7 (o gr#,!cos 8pseudo c$d!go9
DIA94A8AS DE ,)57.

Es ua ,orma de represetar gr#,!camete u


algor!tmo

Cada paso se escr!"e detro de u s;m"olo

Los pasos se coecta uos co otros


med!ate l;eas de ,luDo

So ,#c!les de d!seMar0 pero d!,;c!les de


actual!1ar
SI4BOLO3IA )E LOS )IA3*A4AS )E FLUJO
Inst rucci n
Flechas de conexin
E7E8P). DE 53 D, SE3"I)).
Algoritmo que lee 3
nmeros los suma e
imprime la
sumatoria de los
tres.
ES245"254AS A)9.4H28I"AS ;ISI"AS
A. Secuencial. E u orde l$g!co es cada parte del
pro"lema d!/!d!do%
Acci3n '
Acci3n %
Acci3n 2
Lee# a
- 4 a5%
Esc#i-i# -
Ent#ad
a
Salida
)#oces
o
E/e#cicio '1 C#ea# un Dia#a"a de 6u/o
7ue calcule el 8#ea del t#ianulo1
condicin
Falso Ve#dad
Condici3n )#eunta o Co"9a#aci3n
: 4 '&
a MOD % 4 &
a;- 4 '&
"ondicional% Sirve $ara re$resentar la o$cin de ir $or uno u
otro camino del $rograma.
ES245"254AS A)9.4H28I"AS ;ISI"AS
E/e#cicio %1 C#ea# un Dia#a"a de 6u/o 7ue
encuent#e el "ayo# de % N<"e#os
ES245"254AS A)9.4H28I"AS ;ISI"AS
A > B
Esc#i-i#
=Falso>
Esc#i-i#
=Ve#dad>
A 4 %&
B 4 '?
F V
A E<2=
A 4 A 5
%
F
V
RE)ETI
R
,or i<1 to 0
A 4
%&5B
)ARA
B < 10
F
B 4 B;'
B 4 '
MIENTRAS

+
". 4e$etitiva% Sirve $ara re$resentar una secuencia de
$asos en forma re$etitiva
ES245"254AS A)9.4H28I"AS ;ISI"AS
E/e#cicio 21 C#ea# un Dia#a"a de 6u/o 7ue
"uest#e los n<"e#os del & al '@
ES245"254AS A)9.4H28I"AS ;ISI"AS
INICI
Cuenta!"
Cuenta #$"
Mostrar
%uenta
Cuenta!%uenta &'
V
F
FIN
ES245"254AS "H")I"AS . I2E4A2I!AS
Se llama pro"lemas repet!t!/os o c;cl!cos a a'uellos e cuya soluc!$
es ecesar!o ut!l!1ar u m!smo coDuto de acc!oes 'ue se pueda
eDecutar ua cat!dad espec!,!ca de /eces% Esta cat!dad puede ser ,!Da
8pre/!amete determ!ada por el programador9 o puede ser /ar!a"le
8estar e ,uc!$ de alg< dato detro del programa9% Los c!clos se
clas!,!ca e.
C!clos co u (umero F!Do de /eces.
a9 Para
C!clos co u (umero (o F!Do de /eces .
a9 4!etras
"9 *epet!r7Nasta
ES245"254AS "H")I"AS . I2E4A2I!AS
"iclos con un 3umero Determinado de Iteraciones FParaG
So a'uellos e 'ue el umero de !terac!oes se cooce ates de eDecutarse el c!clo% La
,orma de esta estructura es la s!gu!ete.
)ode.
! es ua /ar!a"le 'ue lle/a la cueta de las !terac!oes%
ValOI! correspode al pr!mer /alor 'ue tomar# VarOCotrol%
ValOF! correspode al ult!mo /alor perm!t!do para cot!uar !terado%
i@ Icremeto e uo
PA4A i<!alJini KAS2A !alJ,in
A 4 %&5B
i@
ES245"254AS "H")I"AS . I2E4A2I!AS
EDemplo. Calcular el promed!o de u
alumo 'ue t!ee A cal!,!cac!oes e la
mater!a de )!seMo Estructurado de
Algor!tmos%
Alterat!/a 6 8S! cos!derar !terac!$9
EST*UCTU*AS CCLICAS O ITE*ATIVAS
Alternativa 2 F"onsiderar iteracinG
"ual es me*or L
EST*UCTU*AS CCLICAS O ITE*ATIVAS
"iclos con un 3umero Indeterminado de Iteraciones
F8ientras' 4e$etir Masta Nue .. G
4!etras. Esta es ua estructura 'ue repet!r# u proceso durate P(Q /eces0 dode
P(Q puede ser ,!Do o /ar!a"le% Para esto0 la !strucc!$ se /ale de ua cod!c!$ 'ue es
la 'ue de"e cumpl!rse para 'ue se s!ga rep!t!edo% Cuado la cod!c!$ ya o se
cumple0 etoces ya o se eDecuta el proceso% .
*epet!r7Nasta. Esta es ua estructura s!m!lar e alguas caracter;st!cas0 a la ater!or%
*ep!te u proceso ua cat!dad de /eces0 pero a d!,erec!a del 4!etras0 el *epet!r7
Nasta lo &ace &asta 'ue la cod!c!$ se cumple y no mientras% Por otra parte0 esta
estructura perm!te real!1ar el proceso cuado meos ua /e10 ya 'ue la cod!c!$ se
e/al<a al ,!al del proceso0 m!etras 'ue e la estructura Mientras puede ser 'ue
uca llegue a etrar s! la cod!c!$ o se cumple desde u pr!c!p!o
4E".8E3DA"I.3ES PA4A ).S D,

Emplear solamete l;eas de ,luDo &or!1otales yH o


/ert!cales

E/!tar el cruce de l;eas 8usado los coectores9

Usar los coectores s$lo cuado sea ecesar!o

(o deDar l;eas de ,luDo s! coectar

Se de"er# poder leer de arr!"a a a"aDo y de !1'u!erda a


derec&a

Ser claros co lo 'ue se escr!"a detro de los s;m"olos


A n 8 l i s i s
D i a # a " a d e F l u / o ;
) s e u d o A C o d i o
) # u e - a d e E s c # i t o # i o
C o d i B c a d o y D e 9 u # a d o
E n u n L e n u a / e
) # u e - a
C V a l i d a c i 3 n
A 9 l i c a c i 3 n
01( )ROGRAMACION
Visual
(asi%
.)*)
01(1' O#aniDaci3n Detallada de un
)#o#a"a
PASO 6. E(TE()E* R A(ALISA*

)atos de etrada. uo o mas%

)atos de sal!da. U <mero resultado de


real!1ar ua operac!$ ar!tmFt!ca o l$g!ca%

Forma de operar. Tratam!eto espec!al de


operac!oes l$g!cas o matem#t!cas
8,ormulas9
PASO 6. E(TE()E* R A(ALISA*
)ROCESO
Co"oE
Con 7ue E
Ent#ada
Salida
2
%
'

5na ve/ Nue se Ma com$rendido lo Nue se desea de


el com$utador' es necesario definir%

)os datos de entrada.

"ual es la informacin Nue se desea $roducir


FsalidaG

)os m&todos ( frmulas Nue se necesitan $ara


$rocesar los datos.

5na recomendacin mu( $ractica es el Nue usted se


$onga en el lugar del com$utador ( analice Nue es
lo Nue necesita $ara resolver el $roblema ( en Nue
secuencia $ara $roducir los resultados es$erados
PASO 2. )ISE5O )EL AL3O*IT4O

)!/!d!r el pro"lema de partes


y cada ua de"er# teer su
represetac!$ e ), o
Pseudo C$d!go%

)esarrollo del algor!tmo e


co d!agramas de ,luDo o
pseudoc$d!go
PASO -. P*UEBA )E ESC*ITO*IO

Como ,uc!oa el
algor!tmo como los
s!gu!etes datos de
etrada @

La respuesta
mostrara s! el
algor!tmo t!ee
errores
PAS. -%".DI,I"A"I63 O DEP54A"I63

Cod!,!car todo lo 'ue


esta e u leguaDe
algor;tm!co0 a u
leguaDe de
programac!$%

Al )epurar el o"Det!/o
es Tca1arT el error0
deduc!r0 !dagar0
"uscar%%% 8s!
desesperarse9
PASO B.P*UEBA R VALI)ACIU(

Pue el $rograma arro*e resultados no es


suficiente.

Ka( Nue asegurarse de Nue los resultados


sean correctos' en todos los $osibles casos.
)aso 'F Entende# el 9#o-le"a
Gue )IDE E
Co"o lo #esol+e#H E
)ntrada anio! A+o de na%imiento
anio tipo entero
,ro%eso edad ! $"'" - anio
.alida edad! )dad de la persona
edad tipo entero
C#ea# un 9#o#a"a 7ue calcule la
edad de una 9e#sona1
UN EIEM)LO COM)LETO
)aso % F DiseJo del Dia#a"a de
Flu/o
y )#ue-a de Esc#ito#io
)eerAnio
.btieneEdad
"alcularEdad
8ostrarEdad
Fin
)EE4
anio
)eerAnio
Fin
Edad = 2010 - anio
"alcularEdad
Fin
8.S24A4
EDAD
8ostrarEdad
Fin
)aso 2F )#ue-a de Esc#ito#io
Anio Edad
6VVW 2W
6VCW -W
6VAW >W

Este paso consisten en crear una tabla donde:


1. En cada columna va una variable del aloritmo.
!. "e siue el aloritmo instruccin por instruccin # se va
escribiendo los cambios de valor de cada variable encontrada.

$ecordar %ue m&nimamente deber'n reistrarse las variables de


Entrada # "alida.
01? )astillas de Conoci"iento
01? )astillas de Conoci"iento
SERIE ARITMETICA
"umando o restando un valor constante
A
n
(A
1
) *n+1,-d
.onde:
A
n
( /ermino En0simo de la serie
A
1
( 1rimer /ermino de la serie
2 ( 2umero %ue indica el luar del elemento en la serie
. ( .i3erencia del seundo menos el primero
1or E4emplo:
5 6 7 8 11
.onde:
A
n
( .esconocido
A
1
( 5
2 ( 9
. ( 7 : 6 (!
A
9
( 5 ) *9+1,-! ( 8
SERIE GEOMETRICA
;ultiplicando por una ra<n constante
A
n
(A
1
- $
*n+1,

.onde:
A
n
( /ermino En0simo de la serie
A
1
( 1rimer /ermino de la serie
2 ( 2umero %ue indica el luar del elemento en la serie
$ ( $a<on constante por la %ue se multiplica A
1
1or E4emplo:
1 ! 9 = 1>
.onde:
A
n
( .esconocido
A
1
( 1
2 ( 9
$ ( !
A
9
( 1 - !
*9+1,
( =
SERIE GUE FACTORIKA
?os t0rminos son potencia al@n numero natural
A
n
( 2
p
+ $
.onde:
A
n
( /ermino En0simo de la serie
2 ( 2umero %ue indica el luar del elemento en la serie
1

( 2umero natural constante a la %ue se eleva potencia
$ ( 2umero constante %ue resta o suma
1or E4emplo:
1 9 8 1> !6
.onde:
A
n
( .esconocido
2 ( 9
1 ( !
$

( 0
A
9
( 9
*!,
+ 0 ( 1>
SERIE CUADRATICA
an
%
;-n ;c
)a#a n4' a;-;c
)a#a n4% (a;%-;c
)a#a n42 @a;2-;c
a;-;c (a;%-;c @a;2-;c
2a;- ?a;-
%a
)o# e/e"9lo F
( '% %0 (0
L '( %&
0 0
Lueo #ee"9lanDando an
%
;-n ;c la *o#"ula del te#"ino Enesi"oF
2n
%
A n ;%
Lueo la *o#"ula del Su"ato#io de los M te#"inosF
S .

c4%
-4A'
a42

a;-;c 4(

2a;- 4L
%a 40
SERIE CUBICA
an
2
;-n
%
;cn ; d
)a#a n4' a;-;c ;d
)a#a n4% La;(-;%c ;d
)a#a n42 %Oa;@-;2c ; d
)a#a n4( 0(a;'0-;(c ; d
a;-;c;d La;(-;%c;d %Oa;@-;2c;d
0(a;'0-;(c;d
Oa;2-;c '@a;?-;c 2Oa;O-;c
'%a ; %- 'La;%-
0a
Resol+e# el Su"ato#io de la siuiente se#ieF
S 4 % ; '0 ; ?( ; '%L ; 111111%&&&

010 EIERCICIOS
I1 SECUENCIALES
'1 Esc#i-i# el alo#it"o 9a#a llea# a clases a tie"9o1
%1 C#ea# un alo#it"o 9a#a calcula# el 8#ea del cuad#ado1
21 Lee# un nu"e#o e indica# si es 9a# o i"9a#1
(1 C#ea# un Alo#it"o 7ue lea dos n<"e#os 9o# teclado y "uest#e
un "ensa/e 9o# 9antalla indicando si el cuad#ado el 9#i"e#o es
"ayo# 7ue el cu-o del seundo1
/. Algoritmo que lean un nmero entero entre ' y '". Muestre por pantalla
su literal %orrespondiente. .i el nmero no esta entre ' y '" mostrar
di%0a in%iden%ia
1. )n un determinado %omer%io se realiza un des%uento dependiendo del
pre%io de %ada produ%to. .i el pre%io es in2erior a 1" (s3 no se 0a%e
des%uento4 si es mayor o igual a 1" (s y menor que '$" (s se 0a%e un
/5 de des%uento3 y si es mayor o igual a '$" (s se 0a%e un '"5 de
des%uento. 6ealizar el algoritmo que lee el pre%io de un produ%to y
%al%ule y es%ri7a su pre%io 8nal.
010 EIERCICIOS
II1 CICLOS RE)ETITIVOS
'1 O-tene# el 9#o"edio de los N n<"e#os ente#os le!dos 9o#
teclado
%1 Un Alo#it"o 7ue lee dos n<"e#os ente#osP 9ositi+os y
distintos1 Lueo indi7ue si el "ayo# es "<lti9lo del "eno#
oP lo 7ue es lo "is"oP si el "eno# es di+iso# del "ayo#1
21 Gene#a# la siuiente se#ie F 2P OP ''P '?
(1 Su"a#iDa# la se#ie del e/e#cicio ante#io# S 4 %' 9a#a
N42
?1 Gene#a# la siuiente se#ieF & P 2$?P L$'& P '?$'OP %($%0
01 Gene#a# la siuiente se#ieF (L P (%P 2L P 20P 20P 2L
9. 7tener el sumatorio la siguiente serie: )! $ & '1 & /; & '$< &
=& $"""
SERIES

Vous aimerez peut-être aussi