Você está na página 1de 16

Lgica de programao

CONCEITOS BSICOS

O QUE LGICA
A lgica (do grego c !""ico #$%&'( ogo") *+e "ig,i-ica pa a.ra) pe,"ame,/o) ideia) arg+me,/o) re a/o) ra0o gica o+ pri,c1pio gico2) 3 +ma ci4,cia de 1,do e ma/em!/ica e -or/eme,/e igada 5 6i o"o-ia7 8! *+e o pe,"ame,/o 3 a ma,i-e"/ao do co,9ecime,/o) e *+e o co,9ecime,/o :+"ca a .erdade) 3 preci"o e"/a:e ecer a g+ma" regra" para *+e e""a me/a po""a "er a/i,gida7 A""im) a gica 3 o ramo da -i o"o-ia *+e c+ida da" regra" do :em pe,"ar) o+ do pe,"ar corre/o) "e,do) por/a,/o) +m instrumento do pensar7 A apre,di0agem da gica ,o co,"/i/+i +m -im em "i7 E a " /em "e,/ido e,*+a,/o meio de gara,/ir *+e ,o""o pe,"ame,/o proceda corre/ame,/e a -im de c9egar a co,9ecime,/o" .erdadeiro"7 ;odemo") e,/o) di0er *+e a gica /ra/a do" arg+me,/o") i"/o 3) da" co,c +"<e" a *+e c9egamo" a/ra.3" da apre"e,/ao de e.id4,cia" *+e a "+"/e,/am7

O *+e 3 Lgica=
>A lgica pode ser vista como a arte de pensar corretamente. A lgica visa colocar ordem no pensamento?

U/i i0ao da gica ,o dia a dia


U/i i0amo" a gica de -orma ,a/+ra em ,o""o dia@a@dia7 ;or eAemp oB a2 Sei *+e o i.ro e"/! ,o arm!rio7 Sei *+e o arm!rio e"/! -ec9ado7 Logo) co,c +o *+e /e,9o de a:rir o arm!rio para pegar o i.ro7 :2 Sei *+e "o+ mai" .e 9o *+e 8oo7 Sei *+e 8oo 3 mai" .e 9o *+e 8o"37 E,/o) co,c +o *+e e+ "o+ mai" .e 9o *+e 8o"3

O:"er.eB

O:"er.e o" "eg+i,/e" -a/o"B Todo" o" -i 9o" de 8oo "o mai" a /o" do *+e Caria A,/D,io 3 -i 9o de 8oo7

O *+e podemo" co,c +ir=

Co,"idere o" -a/o" a "eg+irB 8o"3 3 a +,o do I6ES7 ;ara "er apro.ado) +m a +,o do I6ES preci"a o:/er ,o/a maior o+ ig+a a EF e comparecer a mai" de GHI da" a+ a"7 8o"3 comparece+ a /oda" a" a+ a" e o:/e.e ,o/a ig+a a JF7 O *+e podemo" co,c +ir=

Lgica de programao
Construo de Algoritmos A gica de programao 3 e""e,cia para pe""oa" *+e de"eKam /ra:a 9ar com de"e,.o .ime,/o de "i"/ema" (programa" para comp+/adore"27 Lgica de programao pode "er de-i,ida como +m co,K+,/o de /3c,ica" para e,cadear pe,"ame,/o" a -im de a/i,gir de/ermi,ado o:Ke/i.o7 O o:Ke/i.o -+,dame,/a de /oda programao 3 co,"/r+ir a gori/mo"7 Um algoritmo , formalmente, uma sequncia finita de passos que levam execuo de uma tarefa. Podemos pensar em algoritmo como uma receita, uma sequncia de instru es que do ca!o de uma meta espec"fica. #uando criamos um algoritmo, apenas apontamos uma sequncia de atividades que levam soluo de um pro!lema. At mesmo as solu es para os pro!lemas cotidianos mais simples podem ser descritas por sequncias lgicas de atividades.

;ro: ema"
Problema: Trocar uma lmpada. Sequncia de passos para a soluo: ;eg+e +ma e"cadaL ;o"icio,e a e"cada em:aiAo da MmpadaL ;eg+e +ma Mmpada ,o.aL S+:a ,a e"cadaL Ne/ire a Mmpada .e 9aL Co o*+e a Mmpada ,o.a7

;ro: ema"
Chupar uma bala:

;egar a :a aL Ne/irar o pape L C9+par a :a aL 8ogar o pape ,o iAo7

;ro: ema
Somar dois n meros quaisquer
E"cre.a o primeiro ,Omero ,o re/M,g+ o AL E"cre.a o "eg+,do ,Omero ,o re/M,g+ o BL Some o ,Omero do re/M,g+ o A com o ,Omero do re/M,g+ o B e co o*+e o re"+ /ado ,o re/M,g+ o C7

A B C

A/i.idade"
!E"cre.a +m a gori/mo ("e*+4,cia de pa""o"2 para /rocar +m p,e+ de +m carro7 !Pe"cre.a +m a gori/mo *+e de-i,a como -a0er +m :o o7

;ro: ema" com deci"o


O" a gori/mo" *+e co,"/r+1mo" a/3 agora apre"e,/am +ma "e*+4,cia de pa""o" *+e de.em "er "eg+ido" para a/i,gir +m o:Ke/i.o :em de-i,ido7 No/e *+e /odo" o" pa""o" de"/e" a gori/mo" de.em "er eAec+/ado" a -im de *+e o o:Ke/i.o "eKa a ca,ado7 ;or3m) 9! a gori/mo" ,o" *+ai" a eAec+o de a g+," pa""o" podem depe,der de deci"<e" a "erem /omada"7 Pe"/a -orma) a g+m -a/o i,dicar! "e +m o+ mai" pa""o" do a gori/mo de.em "er eAec+/ado"7

A gori/mo" com deci"o (eAemp o2


;or eAemp o) o ,o""o primeiro a gori/mo de-i,e +ma "e*+4,cia de pa""o" para /rocar +ma Mmpada7 Ca") em mome,/o a g+m ,o""o a gori/mo /e"/a "e a Mmpada e"/! *+eimada7 Simp e"me,/e /rocamo" a Mmpada i,depe,de,/eme,/e de *+a *+er /e"/e7 ;ara re"o .er e"/e pro: ema) podemo" acre"ce,/ar ao ,o""o a gori/mo +m /e"/e *+e .eri-i*+e "e a Mmpada de.e "er /rocadaB Q7 Lig+e o i,/err+p/or R7 Se a Mmpada ,o ace,der R7Q ;eg+e +ma e"cadaL R7R ;o"icio,e a e"cada em:aiAo da MmpadaL R7S ;eg+e +ma Mmpada ,o.aL R7T S+:a ,a e"cadaL R7H Ne/ire a Mmpada .e 9aL R7E Co o*+e a Mmpada ,o.a7

;odemo" me 9orar=
No/e *+e) ape"ar de ,o""o ,o.o a gori/mo e"/ar .eri-ica,do a ,ece""idade de /rocar a Mmpada a,/e" de -a04@ o) em mome,/o a g+m .eri-icamo" "e a Mmpada ,o.a *+e -oi i,"/a ada -+,cio,a7 A""im) .amo" /e,/ar a /erar o ,o""o a gori/mo a -im de gara,/ir *+e ao -im de "+a eAec+o /eremo" +ma Mmpada -+,cio,a,do7 ;ara i""o) .amo" i,c +ir +m ,o.o /e"/e em "e+ -i,a 7

Te"/a,do777
Q7 Lig+e o i,/err+p/or R7 Se a Mmpada ,o ace,der R7Q ;eg+e +ma e"cadaL R7R ;o"icio,e a e"cada em:aiAo da MmpadaL R7S ;eg+e +ma Mmpada ,o.aL R7T S+:a ,a e"cadaL R7H Ne/ire a Mmpada .e 9aL R7E Co o*+e a Mmpada ,o.a7 R7G Se a Mmpada ,o ace,der R7G7Q Ne/ire a Mmpada R7G7R Co o*+e +ma o+/ra Mmpada R7G7S Se a Mmpada ai,da ,o ace,der R7G7S7Q Ne/ire a Mmpada R7G7S7R Co o*+e +ma o+/ra Mmpada 777 777 777 777 R7G7S7, Ne/ire a Mmpada R7G7S7, Co o*+e +ma o+/ra Mmpada $At quando ficaremos testando%&

Uma ,o.a co,dio


;e o ,o""o ,o.o a gori/mo) ca"o a ,o.a Mmpada ,o ace,da de.emo" /roc!@ a ,o.ame,/e e repe/ir e"/e procedime,/o i,de-i,idame,/e a/3 *+e +ma Mmpada -+,cio,e7 No/e *+e ,o "a:emo" *+a,/a" .e0e" /eremo" de repe/ir o /e"/e a/3 ac9armo" +ma Mmpada *+e -+,cio,e7 Em ca"o" como e"/e" de.emo" +/i i0ar e"/r+/+ra" de repe/io7 E"/a" e"/r+/+ra" de-i,em +m - +Ao de a<e") *+e "e repe/e e,*+a,/o +ma de/ermi,ada "i/+ao aco,/ece7 Pe"/a -orma) "+:"/i/+1mo" ,o""a "e*+4,cia i,de-i,ida de e"/r+/+ra" de deci"o por +ma e"/r+/+ra de repe/io7 UeKa a "eg+irB

So +o com e"/r+/+ra de repe/io


Q7 Lig+e o i,/err+p/or R7 Se a Mmpada ,o ace,der R7Q ;eg+e +ma e"cadaL R7R ;o"icio,e a e"cada em:aiAo da MmpadaL R7S ;eg+e +ma Mmpada ,o.aL R7T S+:a ,a e"cadaL R7H Ne/ire a Mmpada .e 9aL R7E Co o*+e a Mmpada ,o.a7 R7G E,*+a,/o a Mmpada ,o ace,der R7G7Q Ne/ire a Mmpada R7G7R Co o*+e +ma o+/ra Mmpada

Assim" neste no#o algoritmo" enquanto a condio de$inida na linha %.& $or #erdadeira 'ou se(a" enquanto a lmpada no acender)" as a*es de$inidas em %.&.+ e %.&.% sero repetidas.