0 оценок0% нашли этот документ полезным (0 голосов)
41 просмотров46 страниц
O documento discute a importância de se entender algoritmos para aprender programação de computadores. Explica que um algoritmo é um conjunto de passos lógicos para resolver um problema e pode ser implementado em diferentes linguagens, como fluxogramas ou linguagem natural. Também ressalta que desenvolver algoritmos antes de escrever programas ajuda a evitar erros, já que organiza a lógica do problema. Por fim, apresenta exemplos de algoritmos em português e fluxograma para ilustrar o conceito.
O documento discute a importância de se entender algoritmos para aprender programação de computadores. Explica que um algoritmo é um conjunto de passos lógicos para resolver um problema e pode ser implementado em diferentes linguagens, como fluxogramas ou linguagem natural. Também ressalta que desenvolver algoritmos antes de escrever programas ajuda a evitar erros, já que organiza a lógica do problema. Por fim, apresenta exemplos de algoritmos em português e fluxograma para ilustrar o conceito.
O documento discute a importância de se entender algoritmos para aprender programação de computadores. Explica que um algoritmo é um conjunto de passos lógicos para resolver um problema e pode ser implementado em diferentes linguagens, como fluxogramas ou linguagem natural. Também ressalta que desenvolver algoritmos antes de escrever programas ajuda a evitar erros, já que organiza a lógica do problema. Por fim, apresenta exemplos de algoritmos em português e fluxograma para ilustrar o conceito.
abril 2, 2010lucianopascal Deixe um comentrio Go to comments
Ol pessoal, Venho falar neste Post sobre um problema em que muitos alunos iniciantes em programao enfrentam urante o apreni!ao sobre algoritmos, que " o e #$%&'P'&%(' exercic)os e algoritmos* &xistem n+meros fatores que contribuem para tal ificulae* ,om, o ob-eti.o esse Post " ensinar a #$%&'P'&%(' exerc)cios e algoritmos atra."s e icas que .ou mostrar aqui para frente* /e lembrarmos a efinio o significao a pala.ra (0G1'#%21, consiste em um con-uto e passos finitios cu-o ob-eti.o " solucionar um eterminao problema* &sse P'1,0&2( " ientificao atra."s o enunciao o exerc)cio que n3s " fornecio para esen.ol.ermos o algoritmo* Vamos .er um exemplo aqui4 15 6a!er um programa em 7a.a para LER um n+mero e no final, MOSTRAR esse n+mero na tela*8 9ma as coisas que precisamos analisar no enunciao so os V&',1/* 1bser.e que eu estaquei os .erbos o exerc)cio EM NEGRITO, para facilitar a explicao* :uano queremos fa!er um programa para LER um n+mero, significa que esse n+mero ser obtio por meio a leitura e aos V#( %&;0(D1, logo , precisamos fa!er uso e um comano que obt"m os aos .ia teclao* $o algoritmo, o comano e leitura e aos .ia teclao " conhecio como 0&#(* Outro detale! 1bser.e que foi peio para se ler um n+mero, mas no foi especificao qual tipo o n+mero a ler lio, se " n+mero inteiro ou fracionrio, logo, qualquer tipo e n+mero lio " .alio para este exerc)cio* /e lermos o exerc)cio acima , obser.e que ap3s a leitura o n+mero que pee para MOSTRARo n+mero lio na tela* :uano usamos o .erbo 21/%'(', significa que e.emos exibir esse n+mero lio na tela, por meio a instruo &/;'&V(* /e fi!ermos o programa, ele ficaria assim4 programa <numero8 "ar num4inteiro inicio escre.a=<Digite um n+mero85 leia=num5 escre.a=<1 numero igitao foi48, num5 #im 1bser.e que eu preferi utili!ar o tipo #$%&#'1 para a minha .ari.el <num8 mas, se quisesse, poeria utili!ar o tipo '&(0, para tipos fracionrios, que o programa %(2,&2 estaria correto* &sse exerc)cio poeria estar escrito e .rias formas iferentes, conforme " mostrao abaixo4 > Desen.ol.er um programa para O$TER %O TE&LA%O um n+mero e no final, IM'RIMIResse n+mero na tela*8 > ;riar uma aplicao para LER %O TE&LA%O um n+mero e epois A'RESENTAR esse n+mero na tela*8 1bser.em que foram ois enunciaos escritos iferentes, por"m, com a mesma finaliae* (gora, obser.e esse enunciao4 15 6a!er um programa para LER um n+mero #$%&#'1 e no final, MOSTRAR esse n+mero na tela*8 &sse programa ser o mesmo que o anterior mas, qual " o etalhe ? 1bser.e eu o n+mero a ler lio o teclao e.er ser um n+mero #$%&#'1, conforme foi explicao acima* &nto, s3 poemos nesse trabalhar nesse programa com tipos inteiros* ,om, .amos analisar o pr3ximo enunciao4 25 6a!er um programa para LER ois n+mero 6'(;#1$@'#1/ e no final, MOSTRAR a soma os ois n+meros*8 (t" aqui nenhum mist"rio* 1s .erbos o enunciao acima - foram explicaos e .ocA com certe!a - consegue interpretar o exerc)cio acima* Vamos l, o programa acima pee a leitura e ois n+meros fracionrios, e no final, e.e ser exibia na tela a soma os ois n+meros* $esse programa ha.er a existAncia e trAs .ari.eis o tipo '&(0 =para n+meros fracionrios54 uas .ari.eis para arma!enar os ois n+meros lios pelo teclao e uma .ari.el para arma!enar a soma os ois n+meros* 1 programa ento ficar assim4 programa <soma numeros8 "ar num1,num2,soma4real inicio escre.a=<Digite ois numeros85 leia=num15 leia=num25 soma B> num1 C num2 escre.a=<( soma os ois numeros " 48, soma5 #im (gora .amos a um exerc)cio mais interessante4 D5 6a!er um programa que LEIA os n+meros inteiros e epois MOSTRAR ao usurio quatro opEes e operaEes aritm"ticas 4 aio, subtrao, multiplicao e i.iso* /e o usurio escolheu aio, mostrar a soma os ois n+meros F se escolheu subtrao, mostrar a subtrao os ois n+meros e assim sucessi.amente* Vamos l, nesse programa est seno peio que se-am lios ois n+meros o teclao, poe ser tanto n+meros inteiros quanto fracionrios, pois no enunciao, no foi especificao qual tipo e n+mero a ser lio* (t" ai tuo bem* Depois, o programa precisa mostrar na tela quatro opEes e operaEes aritm"ticas 4 aio, subtrao, multiplicao e i.iso* De acoro com a opo selecionaa, efetuar a operao aritm"tica sobre os ois n+meros lios* /e o programa mostra 1PGH&/ $( %&0( para que o usurio possa seleciona uma opo, " preciso criar uma %&';&#'( V('#@V&0, que ira arma!enar a opo selecionaa* %amb"m , ser preciso criar mais uma .ari.el que ir arma!enar o resultao a operao sobre os ois n+meros lios sobre o teclao* ;omo ficaria esse programa4 programa <calculaora8 "ar num1,num2,res4inteiro opcao4 inteiro inicio escre.a=<Digite ois numeros85 leia=num15 leia=num25 escre.a=I&scolha sua opo85 escre.a=<1 J (io85 escre.a=<2> /ubtracao85 escre.a=<D >2ultiplicacao85 escre.a=<K >Di.isao85 escre.a=</ua opcao485 leia=opcao5 escola opcao caso 1 4 res B> num1 C num2 caso 2 4 res B> num1 > num2 caso D 4 res B> num1 L num2 caso K 4 res B> num1 M num2 #im escola escre.a=8 resultao " <,res5 #im (gora .amos .er um +ltimo exerc)cio e algoritmo, esse " bem interessante e gostaria que, para quem tem ificulae, siga o passo a passo que " explicao abaixo4 Algoritmo
1 J 1bter o .alor para a .ari.el N% =Noras trabalhaas no mAs5 2 J 1bter o .alor para a .ari.el VN =Valor a hora trabalhaa5 D J 1bter o .alor para a .ari.el PD =Percentual e esconto5 K J ;alcular o salrio bruto =/,54 /, O N% L VNF P J ;alcular o total e esconto =%D54 %D O =PD M 1005 L /,F Q J ;alcular o salrio l)quio =/054 /0 O /, J %DF R J (presentar o .alor o salrio l)quio4/0* Vamos interpretar o enunciao acima* 1bser.e que caa passo e.e ser seguio &2 1'D&2* ( primeira que e.emos fa!er " 4 1 J 1bter o .alor para a .ari.el N% =Noras trabalhaas no mAs5 ,om, <1bter .alor para a .ari.el N%8, significa ler o teclao um .alor para a .ari.el N%, que representa as horas trabalhaas no mAs* :ual o tipo essa .ari.el ? ,om, essa .ari.el ir arma!enar as horas trabalhaas* &sse tipo e .alor no poe ser 6'(;#1$@'#1, logo, o tipo essa .ari.el " #$%&#'1* 2 J 1bter o .alor para a .ari.el VN =Valor a hora trabalhaa5 ;omo - foi explicao <1bter .alor para a .ari.el V%8, significa ler o teclao um .alor para a .ari.el VN, que representa o .alor a hora trabalhaa* :ual o tipo essa .ari.el ? ,om, essa .ari.el ir arma!enar um .alor monetrio, logo, esse tipo e .alor " 6'(;#1$@'#1* D J 1bter o .alor para a .ari.el PD =Percentual e esconto5 :ual o tipo essa .ari.el ? ,om, essa .ari.el ir arma!enar um .alor percentual,que " normalmente um .alor 6'(;#1$@'#1* K J ;alcular o salrio bruto =/,54 /, O N% L VNF 1bser.e que o passo acima pee que se-a efetuao o calculo o salrio bruto =representao pela .ari.el /,5, informano tamb"m como " feito seu calculo* P J ;alcular o total e esconto =%D54 %D O =PD M 1005 L /,F (cima pee>se que se-a efetuao o calculo o total e esconto =representao pela .ari.el %D5, informano tamb"m como " feito seu calculo* Q J ;alcular o salrio l)quio =/054 /0 O /, J %DF (cima pee>se que se-a efetuao o calculo o salrio l)quio =representao pela .ari.el /05, informano tamb"m como " feito seu calculo* R J (presentar o .alor o salrio l)quio4/0* (cho que o passo acima - explica tuo* ;omo ficaria o nosso programa ? programa <salario8 "ar ht,.h,p,sb,sl,t 4 real inicio escre.a=<Digite as horas trabalhaas85 leia=ht5 escre.a=<igite o .alor a hora85 leia=.h5 escre.a=<Digite o precentual e esconto85 leia=p5 sb B> ht L .h t B> ==sb M 1005 L p5 sl B> sb J t escre.a=</alario l)quio8, sl5 #im &nto pessoal, a ica para reali!ar os exerc)cios propostos e algoritmos, quaisquer que se-am, e seguir essas icas que lhe mostrei que, com certe!a, .ocAs no .o se perer no caminho* Introduo programao/Algoritmos < Introduo programao Introduo programao Aprendizagem Estruturas de manipulao de dados Um algoritmo um esquema de resoluo de um problema. Pode ser implementado com qualquer sequncia de alores ou ob!etos que ten"am uma l#gica in$inita %por e&emplo' a l(ngua portuguesa' a linguagem Pascal' a linguagem )' uma sequncia numrica' um con!unto de ob!etos tais como l*pis e borrac"a+' ou se!a' qualquer coisa que possa $ornecer uma sequncia l#gica. Em bai&o podemos er um algoritmo implementado num $lu&ograma' sobre o estado de uma l,mpada- .igura / 0 Algoritmo num $lu&ograma 1eguindo o racioc(nio em cima' ento um programa de computador !* por si um algoritmo2 1im' erdade. Embora ten"amos que usar um algoritmo prio' na nossa l(ngua %como apresentado na imagem acima+ para escreer um programa com l#gica' o pr#prio programa que prom desse algoritmo !* um algoritmo. At um esquema mental um algoritmo. Ok' !* percebi o que um algoritmo. 3as porque que isso interessa ao estudo da programao2 A erdade que' antes de escreermos um programa em qualquer outra linguagem necess*rio escreer um esquema em papel para eitar erros' por e&emplo' na nossa l(ngua' segundo o programa que queremos $azer. )om isto no esquecemos a l#gica que queremos dar ao programa e ser* menos comum o aparecimento de erros. Por e&emplo- Linguagem humana: "Se for verdade isso, acontece isto, seno acontece aquilo" Linguagem de mquina: IF isso; THEN isto; ELSE aquilo; 4 conte5do escrito em cima est* $ormalizado numa linguagem de algoritmos c"amada Portuol pela maior parte dos programadores e pro$essores que trabal"am em institui6es de ensinamento das linguagens de programao. )omo pode isualizar' um algoritmo pode ser escrito de *rias maneiras' de cima para bai&o' da esquerda para a direita' na diagonal' em *rabe' em russo... 7 preciso que o escrea8 ndice 9esconder: ; .undamentos < =#gica de Programao / Algoritmo > ?esumo @ E&erc(cios A Bibliogra$ia Fundamentos[editar | editar cdigo-fonte] Uma m*quina computacional qualquer m*quina %geralmente de origem eletro0 eletrCnica+ com capacidade de receber dados' e&ecutar opera6es sobre estes dados e retornar os dados trans$ormados por estas opera6es. Entrada de Dados Processamen to Sada de Dados As m*quinas computacionais eletro0eletrCnicas possuem geralmente dois componentes b*sicos- so$tDare e "ardDare. )"amamos de Hardare sua parte $(sica' e!oftare os programas que tratam os dados imputados. Euando inserimos algum dado em um computador' os dados inseridos so trans$ormados em sinais eltricos %c"amados de bits+. 4 bit %do ingls !inar" diit+ representa os dois estados %ligado ou desligado+ que o sinal eltrico pode assumir. Para trabal"ar com estes dados' podemos associar estes estados de ligado e desligado a F e ;. Euando utilizamos um computador' "* um $lu&o de sinais eltricos' que representam os dados inseridos' processados e retornados. Um con!unto de oito bits $ormam um !"te' que uma unidade completa de in$ormao. Gentro do bHte' o estado de cada um dos oito bits' assim como sua posio relatia um ao outro' $az com que o bHte assuma um alor espec($ico %no necessariamente numrico+' que sere para estrutur*0lo em relao a outros bHtes e criar um sistema de dados que sira ao usu*rio e&terno. Para organizar as possibilidades de aria6es destes bits dentro de um bHte' podemos isualizar uma tabela A1)II. Lgica de Programao[editar | editar cdigo-fonte] =ogicamente torna0se trabal"oso trabal"ar com dados de computador bit0a0bit. )omo $orma de manipular este $lu&o de estados eltricos e estrutur*0lo de $orma a permitir opera6es mais simpli$icadas e otimizadas sobre os bHtes' surgiu o conceito de programao. As linguagens de programao so geralmente em dois n(eis- Linguagen! de "ai#o $%&e': so linguagens de programao que tratam a in$ormao na linguagem de m*quina. Linguagen! de ('to $%&e': so linguagens de programao modeladas quase como a linguagem comum "umana' que quando compiladas so conertidas para linguagem de m*quina. )ada linguagem deste tipo possui uma sinta&e pr#pria' que dee ser respeitada e aprendida para que possa ser corretamente processada por seu compilador. )ompilador um programa que permite que determinada programao em uma linguagem espec($ica se!a adaptada para linguagem de m*quina. Io entanto' no necess*rio que o programador aprenda todas as diersas linguagens dispon(eis no mercado. )ada linguagem recomendada para determinadas aplica6es' assim como possuem suas sinta&es pr#prias' mas todas so estruturadas logicamente. )om aprendizado da =#gica de Programao o aluno entender* os conceitos b*sicos da programao poder* com menor ou maior di$iculdade' dependendo da linguagem escol"ida' aprender a linguagem que quiser. Algoritmo[editar | editar cdigo-fonte] As linguagens de programao tratam os dados de um computador atras do uso de algoritmos. Um algoritmo uma estruturao passo0a0passo de como um determinado problema dee ser resolido de $orma no0ambigua %ou como muitos comparam Juma receita de boloJ+ . Gesta $orma' para realizar esta estruturao necess*rio o uso de $erramentas e opera6es oriundas da =#gica' e principalmente da =#gica 3atem*tica. Antes de estruturar0se de $orma l#gica para programao' deemos saber qual o tipo de problema proposto' as in$orma6es que sero imputadas e os passos a serem e$etuados para atingir0se um $im espec($ico. Por e&emplo' amos er um JalgoritmoJ sobre Jtomar ban"oJ- ;.Kirar a roupa. <.Abrir o registro. /.Ensaboar0se. >.En&aguar o corpo. @.Passar s"ampoo nos cabelos. A.En&aguar o cabelo. L..ec"ar o registro. Mimos ento um problema proposto %tomar ban"o+ e os passos para solucionar o problema. =ogicamente' que "* outras $ormas de estruturarmos este algoritmo de $orma a adapt*0lo a atingir o mesmo $im. Io entanto' o importante estrutur*0lo de $orma coerente' e$icaz e simples' ou como muitos dizem de J$orma eleganteJ. Meremos na pr#&ima lio que podemos desen"ar este algoritmo e aplicar conectios l#gicos que permitam manipular as in$orma6es necess*rias. 4 e&emplo abai&o' usar o orel"o' apresenta condi6es para tomar deciso. ;. ?etirar o $one do ganc"oN <. )olocar o carto tele$CnicoN /. Esperar o ru(do de discarN >. )om ru(do de discar' disque o n5mero dese!adoN @. 1e sinal de ocupado' $aa- ;. )olocar $one no ganc"o e oltar ao passo ;N A. 1e sinal de c"amada' $aa- ;. Esperar atender ao tele$oneN <. )onersarN /. )olocar $one no ganc"oN >. ?etirar o cartoN Algoritmos tambm podem ter condi6es para repetio. Aprenda a programar O; P =inguagens de Programao - Bruno Barbosa Posted !" Bruno Barbosa on a!r #$, %&#& in Algoritmos, Desenvolvimento ' 145 comments alto nvel aprenda a programar baixo nvel Desenvolvimento linguagem de programao Io sou matem*tico' muito menos especialista em estat(stica' mas acredito que L em cada ;F pessoas apai&onadas por tecnologia' !* tieram ontade de desenoler seu pr#prio so$tDare' ou mel"orar um outro c#digo em um so$tDare lire. 7 pensando nisso que o Algoritmizando estria "o!e uma noa seo8 Koda tera0$eira' iremos postar uma matria ensinando esse $ant*stico mundo de programao. comeando a partir de algoritmos' e dependendo da participao do pessoal' nos coment*rios' d5idas' etc' poderemos ir bem mais longe' e quem sabe' realmente $ormar alguns bons programadoresQ )omo "o!e apenas uma introduo do que "* por im' estarei dando um bree conceito sobre o que uma linguagem de programao. 4 que uma linguagem de programao2 Uma linguagem de programao um mtodo padronizado para e&pressar instru6es para um computador. Porque programar2 Moc pode programar para alcanar in5meros ob!etios' como por e&emplo' desenoler um so$tDare' para automatizar tare$as' quem sabe ende0lo e $icar rico8 ou mel"or ainda' !* pensou em criar um !ogo de computador2 $icar $amoso eQ. rico8 Moc tambm pode programar para Deb' desenoler aplicatios eQ se $izer sucesso' "mmQ pode $icarrico8 rsrs 1im' a *rea de tecnologia um mercado em constante crescimento e com sal*rios iniciais relatiamente altos. 1e oc tem uma pai&o em especial por computadores' por que no entender sua linguagem e se comunicar mel"or com eles RR Ento' qual a linguagem que o computador entende2 Ia erdade' os computadores no so inteligentes' como todos pensam. Inteligente o programador8 4 computador entende apenas a linguagem bin*rio' ou se!a' ; e F' ligado ou desligado' tenso alta ou tenso bai&aQ Io tem meio termoQ )uer di*er que tenho que aprender a programar em + e ,- Iegatio. So!e em dia' temos o que c"amamos de compiladores e interpretadores. 1o eles que $azem essa traduo de nossa linguagem para linguagem de m*quina. Eual a di$erena da linguagem compilada para interpretada2 Ia linguagem interpretada' o c#digo $onte traduzido para linguagem de m*quina no momento da interpretao %e&ecuo+' e o c#digo $ica is(el' enquanto na compilada' este $eito anteriormente' no sendo poss(el isualizar o c#digo $onte. 4ui dizer' que e&istem linguagens de bai&o e alto n(el' qual a di$erena2 ?esumidamente' as linguagens de bai&o n(el' so aquelas que possuem contato direto com o "ardDare do computador' geralmente linguagens compiladas' como por e&emplo )' )TT' AssemblHQ Enquanto as linguagens de alto n(el o contato com o so$tDare' e&emplos so linguagens interpretadas como PHt"on' PSP' Uaa1cript' PascalQ E isso galeraQ "o!e $oi s# uma Vpal"in"aW do que est* por ir' tera0$eira que em' iniciaremos o conte5do de algoritmos' e no decorrer da semana' sempre not(cias' dicas' tutoriais e muito mais sobre tecnologia. Io perca nen"um post da seo e receba todos os posts do algoritmizando por email. .e ti&erem a'guma !uge!to/ d0&ida! ou cr%tica!/ no dei#em de comentar1 (2rao!3 Aprenda a programar O< X Algoritmos P 4 que um algoritmo - Bruno Barbosa Posted !" Bruno Barbosa on a!r %&, %&#& in Algoritmos, Desenvolvimento ' 54 comments aprenda a programar Desenvolvimento o que um algoritmo portugol pseudo-linguagem Bem indos ao segundo post da srie- Aprenda a Programar Io primeiro post da srie' abordamos alguns conceitos sobre linguagem de programao. A partir de "o!e' iremos aprender uma pseudo0linguagem' para $acilitar o entendimento $uturo e adiquirir certa l#gica de programao. 3as por onde comear2 Para maioria dos seres mortais' a base de tudo' est* nos AlgoritmosQ 4 que um algoritmo2 1egundo a YiZipdiaQ () alorit)o * u)a sequ+ncia finita de instru,-es !e) definidas e no a)!.uas, cada u)a das quais /ode ser e0ecutada )ecanica)ente nu) /er.odo de te)/o finito e co) u)a quantidade de esfor,o finita1 4Z BrunoQ Agora traduz888 4 algoritmo' uma instruo' ou uma ordem que oc dar* ao computador' para que ele realize determinada tare$a. Ao contr*rio do que a maioria das pessoas pensam' o computador no inteligente' quem inteligente' o programador8 1impli$icandoQ Para que o computador entenda algo' necess*rio que oc o VensineW passo0a0passo' como dee proceder. )omo em uma receita de bolo. Um e&emplo- Em nossa linguagem' se eu $osse criar um algoritmo e&plicando o que acontece quando acordo at o momento que entro no c"ueiro' seria mais ou menos o seguinte- Inicio 2runo 2ar!osa des/erta a!re os ol3os senta na ca)a coloca o /ri)eiro /* no c3o /-e o seundo fica de /* anda at* a sala de estar c3uta co) o )indin3o do /* a /onta do sof4 di5 alu)as /alavras de !ai0o calo devido ter )ac3ucado )uito continua ca)in3ando entra no !an3eiro fica nu 6ui7 entra e) !ai0o do c3uveiro lia o c3uveiro to)a !an3o FI8 Pode0se perceber ento' que tudo um algoritmo. 4 sistema de buscas do [oogle' tem um algoritmo por tr*s dele' o msn que ocs tanto gostam' tambm tem um algoritmo' e assim sucessiamente. Para aprendermos mel"or sobre isto' antes de passar para qualquer tipo de linguagem de programao propriamente dita' iremos aprender a programar em uma pseudo0linguagem' con"ecida como Portugol ou Portugus Estruturado. Portugol 4 portugol' uma pseudo0linguagem criada para $acilitar o aprendizado de algoritmos e l#gica de programao' ela possui suas particularidades como qualquer outra linguagem' e a partir do pr#&imo post' iremos passar a VprogramarW nesta linguagem' utilizando a a!uda do so$tDare Misual[. Ento no percam e nos acompan"em' que toda tera' um post noo para oc aprender a programar8 E galera' amos comentar' postem suas d5idas' opni6es e digam o que esto ac"ando da seoQ abraos Aprenda a programar O/ X Algoritmos P Mari*eis -Bruno Barbosa Posted !" Bruno Barbosa on a!r %&, %&#& in Algoritmos, Desenvolvimento ' 216 comments aprenda a programar Desenvolvimento portugol tipos de variaveis variaveis )ombo8 Isso mesmo' deido ao sucesso do aprenda a programar O; e mais alguns outros $atores no to importantes' nesta tera0$eira' um presente do algoritmizando para ocs8 Gois posts da srie Aprenda a programar em um 5nico dia8 Para quem perdeu os outros posts anteriores' est* aqui uma lista do que !* $oi passado- Aprenda a programar O; P Introduo a linguagem de programao e e&plicao de alguns conceitos importantes. Aprenda a programar O< P Introduo a algoritmos' portugol e conceitos. Ento amos ao que interessaQ Mari*eisQ 1im' ari*eis. E para quem ainda no sabe' em programao' o uso da matem*tica relatiamente alto e importante tambm' que oc possua um bom racioc(nio l#gico. 1abe aquela matria de l#gica matem*tica' que oc aprendeu no ensino mdio' $undamental' ou qualquer que se!aQ pois' ela bastante 5til aqui8 3as o que so ari*eis em programao2 Gesen"o de como seria uma ari*el Mamos entender ari*el' como uma cai&a' na qual oc pode dar o nome que l"e ac"ar coneniente' e guardar o conte5do que dese!ar. 4u se!a' toda ari*el tem um nome/ &a'or e tipo3 3as oc no $alou de tipo' o que isso2 As ari*eis' podem sem classi$icadas em- numrica %numeros reais ou inteiros+N caracteres %sequncias de te&to+N booleanas %erdadeiro ou $also+N Em portugol' temos os tipos- rea'/ inteiro/ caractere e 'ogico Ento eu posso colocar qualquer nome em min"a ari*el2 1im e Io8 4omo a!!im- )ertas palaras' so reseradas para o uso da linguagem' ou se!a' essas palaras no podem !er uti'i*ada! como um nome para sua ari*el' pois "aeria um con$lito na "ora de interpretar o c#digo. Abai&o' uma tabela sobre as palaras reseradas do portugol- Palaras reseradas do Portugol Io se preocupe em decorar essa tabela' no necess*rio8 A medida em que oc $or aprendendo a programar em portugol' oc saber* e&atamente qual palara ' e qual no reserada pela linguagem. 4utras restri6es para o nome de sua ari*el - 4 primeiro caractere de sua ari*el' dee ser necessariamente 'etra ou under'ine \]^. Io pode comear em n5meros Iomes de ari*eis no podem ter espaos em branco. Iada de 4oca 4o'a por e&emplo3 Uma ari*el correta seria (rgoHo!t' tudo !unto e sem espaos. Essa aqui c"ega a ser di$(cilQ Io permitido ari*eis com mais de ;<L caracteres %pasmem8 quem criaria uma ari*el desse taman"o2+ E por $im' em Portugol' di$erente de outras linguagens de programao' as ari*eis no so case sensivit", ou se!a' elas no di$erenciam mai5sculas de min5sculas. =ogo' BrUn4 _ bruno. Um pouco mais sobre os tipos de ari*eisQ A tabela abai&o' e&empli$ica que tipo de conte5do ai em cada ari*el. Kipos de ari*eis do portugol [alera' isso a(' qualquer d5ida' sugest6es' dei&eem coment*rioos888 1omente aqui no algoritmizando' oc tem um curso completo para aprender a programar para no dizer de graa' com o custo de apenas 56 4768$9:;I7. Ento' amos participar8 Euanto mais participao' mais posts para ocs888 Um $orte abraoQ e at a pr#&ima tera0$eira. 3as enquanto no c"ega' acessem diariamente o algoritmizando' pois sempre tem um post noo para oc8 At mais. Aprenda a programar O> X Algoritmos P Estrutura do Portugol - Bruno Barbosa Posted !" Bruno Barbosa on a!r %9, %&#& in Algoritmos, Desenvolvimento ' 285 comments aprenda a programar Desenvolvimento portugol variaveis Bem indos algoritmizeiros %acabei de inentar essa e&presso _&+ a mais um post da srie Aprenda a Programar. So!e' iremos nos apro$undar um pouco mais na pseudo0linguagem portugol' e a partir de agora ser* necess*rio para um mel"or acompan"amento' que todos !* ten"am o Misual[ instalado na m*quina. 1e oc marin"eiro de primeira iagem' de uma ol"ada nos outros posts da srie- Aprenda a programar O; ` Aprenda a programar O< ` Aprenda a programar O/ Ento amos ao que interessa8 Estrutura do portugolQ Kodo e qualquer algoritmo' ter* sempre um $ome/ <ec'arao de &ari&ei!/ In%cio e =im3 Ia estrutura abai&o- :lorit)o ;no)e<do<seu<alorit)o= >:? no)e<da<var@ ti/o no)e<da<var%@ ti/o INIAIO ' ' ' ' FI8:LBO?IT8O 4Z' entendi o VIomeW VIn(cioW e V.imW masQ 4 que declarao de ari*eis2 A declarao de ari*eis' uma parte obrigat#ria no portugol' assim como em outras linguagens de programao como ) por e&emplo. Ela necess*ria para que o interpretador entenda que aquela palara uma ari*el' alm de ser 5til em muitos casos' para que no d um erro em seu programa $uturamente deido a um erro de digitao' acusando de imediato onde est* o erro. Ia estrutura do Portugol' dentro da seo MA?' declaramos a ari*el da seguinte maneira- Nome-da-var: tipo e0@ )euno)e@ caractere Ainda sobre a questo de ari*eis' no ou entrar em muitos detal"es' pois as mesmas $oram e&plicadas no post anterior. Mamos ento criar nosso primeiro programaQ8 Ia tela Inicial do Misual[' !* temos a estrutura de nosso portugol pronta' como e&pliquei no in(cio do post. algoritmo Vol* mundoW ar inicio escrea%V4l* 3undo8W+ $imalgoritmo Io entendi nada8 o que esse VescreaV2 4 e!cre&a uma palara reserada do portugol' como e&pliquei no Aprenda a programar O/. 1ua $uno escreer na tela o te&to entre W W %aspas+ 1e oc est* utilizando o isualg' ao digitar este c#digo e apertar =>' o c#digo ser* e&ecutado' e oc er* que estar* escrito na tela apenas a $rase- 7' 6undo1 E porqu no "* nada no campo das ari*eis2 Porque ainda no utilizamos nen"uma. Io c#digo acima' como ocs podem er' $oi utilizado apenas um min5sculo pedao do que podemos $azer em portugol. Io algoritmo a seguir' amos $azer o uso da $uno 'eia?@ e de ari*eis. algoritmo VleianumeroW ar num- inteiro inicio escrea%VGigite um n5mero- V+ leia%num+ escrea%V4 n5mero digitado - V' num+ $imalgoritmo Entendendo o algoritmoQ .oi declarado a ari*el num' como inteiro. 4u se!a' poder* receber qualquer n5mero no0$racion*rio %0<' 0/' 0<F' F' ;' <' >F' ;aQ+ Em seguida' o algoritmo ir* solicitar ao usu*rio que digite um n5mero' escreendo na tela a seguinte $rase- <igite um n0mero: 1e ocs notarem' "* um espao ap#s os - e antes da V' isso necess*rio para que o cursor d o espao dese!ado. )omo $alei em um post anterior da srie' o computador no inteligente' ou se!a' oc tem que e&plicar tudo a ele' passo a passo. o 'eia?num@ ir* aguardar com o cursor na tela at que o usu*rio digite um n5mero inteiro e tecle enter. 4 num a ari*el que declaramos no in(cio do algoritmo' lembram2 E $inalmente' o resultado. e!cre&a?A7 n0mero digitado B: A/ num@ 7 importante notar' que no e!cre&a' tudo o que estier entre aspas' ai ser tratado como um te&to qualquer' ento para retornarmos o conte5do de uma ari*el' $ec"amos primeiro as aspas' colocamos uma (rgula e digitamos o nome da ari*el' para s# ento $ec"ar o parenteses. Kestem o algoritmo acima no Misual[' e e!am o resultado. Kreinem mais um poucoQ [alera' que tal treinar mais um poucoQ ;. )rie um algoritmo que leia < n5meros e mostrem o resultado. <. )rie um algoritmo que leia o nome e a idade de algum' e mostre na tela o que $oi digitado. Dica: no e0erc.cio %, ter4 que ser declarado duas vari4veis, u)a do ti/o inteiro e outra do ti/o caractere1 Se 3ouver dCvidas, de u)a ol3ada no /ost anterior1 Gepois de criar o algoritmo' entrem na $iloso$ia do 1o$tDare =ire' compartil"e seu c#digo conosco8 Porque no postar seu c#digo nos coment*rios para a!udar quem tem d5idas2 E&istem diersas maneiras de c"egar a uma soluo a partir de um algoritmo8 Aprenda a programar O@ X Algoritmos P Atribuio e 4peradores Aritmticos - Bruno Barbosa Posted !" Bruno Barbosa on )ai D, %&#& in Algoritmos, Desenvolvimento ' 111 comments aprenda a programar aritmeticos operadores 4l* algoritmizeirosQ Bem indo ao quinto post da srie Aprenda a programarQ So!e' passaremos a ocs como atribuir alor a uma ari*el' sem utilizar a interao com o leitor' ou se!a' sem a utilizao do comando 'eia?&aria&e'@' e tambm aprenderemos sobre os operadores matem*ticos' para que em bree' possamos comear a $azer algoritmos de erdade8 4 resultado dos desa$ios que passei no post anterior' estaro nos coment*rios do mesmo. Ento amos comearQ. 3as antesQ ?etrospectia do 5ltimo epis#dio postQ .oi isto no post`tutorial anterior' declarao de ari*eis' como escreer uma mensagem ao usu*rio' e insero de dados a partir de interao com o leitor' como no e&emplo abai&o- alorit)o ;e0e)/lo= var e)/resa@ caractere inicio escreva6;Eue e)/resa oferece 3os/edae) de sites /elo )el3or custoF!enef.cioG ;7 leia6e)/resa7 escreva6;>oc+ diitou@ ;,e)/resa7 fi)alorit)o e se por acaso' eu precisar atribuir um alor * uma ari*el sem a interao do leitor Bruno2 Meremos agora' logo abai&oQ AtribuioQ Utilizaremos este s(mbolo`sinal`setin"aQ' para atribuir um alor a uma ari*el- <0 E&emplo- numero <0 ;F id <0 ;a Q e tambm' podemos atribuir a uma ari*el' o alor de outra ari*el. Io entendi nadaQ Por e&emplo' eu ten"o a ari*el #' que possui o alor C+' e tambm a ari*el id' que pode conter' ou no algum alor. A questo que eu quero atribuir a ari*el id/ o alor da ari*el #Q como !eria- simplesQ id D- # ?esumindoQ Para atribuir um alor qualquer a uma ari*el' basta digitar o nome da ari*el' seguida de uma seta para esquerda' seguido do alor que oc quer que ela ten"aQ Bruno' entendi essa parte' mas quero $azer mais do que escreer e ler dados em meu algoritmoQ 4Z' ocs quem mandam8 Iem tudo na ida' sequencial' ou se!a' poss(el resoler apenas de uma maneira. As ezes' preciso "aer condi6es para e&ecutar determinada tare$a' assim como e$etuar opera6es matem*ticas' e outrosQ Iesse caso' utilizaremos opera6es matem*ticas' condicionais' laos de repeti6es' etc. Io se assustem' eremos cada um passo0a0passo' no di$(cil8 A princ(pio' neste post' $icaremos apenas nos operadores aritmticos' e ermos o restante a partir da pr#&ima tera0 $eiraQ. 4peradores aritmticosQ Para se realizar c*lculos com ari*eis' ou n5meros de$inidos pelo programador' utilizaremos alguns sinais !* bastante con"ecidos por todos ocs- Para entender os operadores aritmticos' importante ressaltar' antes de mais nada' que como estamos VensinandoW algo para o computador' no podemos e no temos como passar para ele do !eito que escreemosQ Por e&emplo' em uma $#rmula matem*tica' ter(amos que passar tudo para uma lin"a apenas. 7 o que c"amamos de linearizao. Mocs iro entender mel"or ao isualizar a imagem abai&o- E de onde saiu todos esses parnteses e Vs(mbolosW2 )alma galera' de uma ol"ada na tabela abai&o' dos operadores aritmticos' e $icar* mais $*cil o entendimentoQ )ada um desses' sero e&plicados mais detal"adamente a medida em que iremos utilizando0osQ Kira0d5idasQ [alera' estamos c"egando em um ponto' em que no pode mais "aer d5idas sobre o que $oi dito at aquiQ 1e algum tier alguma d5ida' no "esitem em $azer sua pergunta nos coment*riosQ E gostaria tambm de um $eed bacZ' sobre o que esto ac"ando da srie Aprenda a Programar' para que possa estar aper$eioando e atingindo um p5blico maiorQ Um $orte abrao' e at o pr#&imo post8 Aprenda a programar OA X Algoritmos P 4peradores l#gicos e relacionais - Bruno Barbosa Posted !" Bruno Barbosa on )ai #%, %&#& in Algoritmos, Desenvolvimento ' 10 comments aprenda a programar operadores operadores logicos operadores relacionais tabela verdade 4l* queridos algoritmizeiros' como de costume' toda semana tem posts para ocs da srie- Aprenda a Programar. Io quinto post' concluimos $alando dos operadores aritmticosQ e creio eu que no dee "aer nen"uma d5ida' !* que no i mani$esta6es nos coment*riosQ Ento "o!e iremos abordar mais alguns tipos de operadoresQ Ento. est* esperando o que para comear a aprender2 RR 4peradores relacionaisQ 4s operadores relacionais' serem para realizar a comparao entre duas e&press6es' e resultam apenas um alorQ Eerdadeiro ou =a'!o3 4bserem a tabela abai&o- 4Z Bruno' tem algum e&emplo2 Kem sim8 as compara6es' no so nen"uma noidade do que aprendemos na escolaQ por e&emplo- < T < < @ __b Eerdadeiro ;a <b ;a __b =a'!o 1imples no2 4s operadores l#gicosQ Kemos ainda mais / operadores' o 8' 75 e o $(7' esses so c"amados de operadore! 'gico!' e tambm iro resultar apenas um alor' podendo ser Eerdadeiro ou =a'!o. Mamos er a aplicao desses operadores em uma tabela erdade. Entenderam como eles $uncionam2 Bem simples no2 Ento amos complicar mais um poucoQ Io desenolimento de um programa' nem tudo so $lores' ou se!a' amos colocar nossa cabea para pensarQ As ezes necess*rio !untar' dois ou mais operadores di$erentes para conseguir um resultadoQ Por e&emplo- %< T < < @+ e %;a <b ;a+ resulta =(L.7' pois como podemos obserar na tabela erdade acima'Eerdadeiro e =a'!o resulta =a'!o3 A"Q ento eu ten"o que decorar essa tabela erdade2 Io8 Um macete para ocsQ Io operador 8- 1er* &erdadeiro quando as duas e&press6es $orem &erdadeira!. Io operador 7u: 1er* &erdadeiro quando qualquer uma das e&press6es $orem &erdadeira!3 =ogo' 1e "ouer 56( e&presso $alsa no operador 8' o resultado sempre ser* =(L.73 Io operador 75' ser* =(L.7 apenas quando as duas e&press6es $orem =(L.(.3 Gi$(cil2 Io' basta um pouco de treinoQ Eue tal responder * alguns desa$ios2 retornando o resultado da e&presso' sendo ele' Eerdadeiro ou=a'!o3 ;. %%/ T @+ ` <+ b F+ - <. %/ c / b ;F+ ou %< T < < ;F+ - /. %;F <b @+ ou %; T ; _ F+ - >. %< T / b_ @+ e %;a ` / < L+ - @. %; T ; _ F+ e %F P ; b F+ - 7 re!u'tado do! de!afio! !air aqui me!mo ne!!e po!t/ na !eo de comentrio! na data de 'anamento do pr#imo po!t da !Brie3 ?espondam galera' no ten"am medo de errar8 At mais. Aprenda a programar OL X Algoritmos P )ondicionais - Bruno Barbosa Posted !" Bruno Barbosa on )ai #H, %&#& in Algoritmos, Desenvolvimento ' 21! comments aprenda a programar Desenvolvimento estrutura condicional if-then-else portugol Estrutura condicionalQ Me!amosQ "e ;o Fla)eno vencer= entao #$ %ele ser4 ca)/eo da li!ertadores= &imse _G 1im' na ida' as ezes nos deparamos em situa6es na qual precisamos escol"er algo !omente !eoutra coisa acontecerQ )"amamos isso de condio. Ios algoritmos' tambm utilizaremos isto' como ocs notaram no comeo do post' o que utilizei ali' $oi uma estrutura condicional. 4bserem bem' o que est* em negrito' as palaras !e/ entao/ fim!e. Elas sero important(ssimas em nosso algoritmoQ ento' poderia basicamente dizer que em um algoritmo a sinta&e seria a seguinte- se 'condi,oI entao #$ 'a,-es a sere) reali5adas se a condi,o for verdadeiraI FF/ode ser u)a ou )ais &imse Eu sei que o computador no entenderia se eu colocasse simplesmente Vele ser* campeo da libertadoresW' ento como $icaria isso em um algoritmo2 Esse $oi um e&emplo bem did*tico' mas em portugol' seria mais ou menos o seguinte- !e %encedor _ V.lamengoW+ entao F3 escrea%V.lamengo ser* o campeo da =ibertadores888W+ fim!e Esses VQ.W antes da ao' necess*rio2 Io' esses quatro pontos' um arti$(cio que estou usando aqui no blog para indicar que ali' e&iste um espao ou uma tabulao' !* que se eu simplesmente der o espao aqui no blog' ele no ir* interpretar e $icar* como se no "ouesse nadaQ Ento para que esse espao2 Esse espao' o que c"amamos de identao' que alm de ser uma questo de tica entre os programadores' ele ai serir para que seu c#digo ten"a uma mel"or aparncia' e $ique mais $*cil para entend0lo e dar manuteno. Entendi essa parteQ mas e se a condio $or $alsa2 V1e oc no mandar o computador $azer nada' ele nada $ar*8W %bH eu+ Iesse caso' podemos $azer nosso algoritmo de duas maneiras- ; P utilizar dois condicionais .8. Um e&emplo bem did*tico e de $*cil entendimento- 1. !e din"eiro b_ /F entao <. Q. ir]ao]cinema <0 erdadeiro /. Q. assistir]t <0 $also 4. fim!e 5. !e din"eiro < /F entao 6. F3 ir]ao]cinema <0 $also L. Q. assistir]t <0 erdadeiro 8. fim!e e a segunda opo' que bem mel"or e de mais agrad*el leituraQ 1. !e din"eiro b_ /F entao <. Q. ir]ao]cinema <0 erdadeiro /. Q. assistir]t <0 $also 4. !enao 5. F3 ir]ao]cinema <0 $also A. Q. assistir]t <0 erdadeiro 7. fim!e 4bserem que agora na lin"a quatro' apareceu uma palarin"a noa para n#sQ 4 !enaoQ Para que sere o senao2 4 senao' ser* e&ecutado sempre que o resultado do VseW $or $also. Io e&emplo acima' o interpretador $ez uma pergunta' Vo din"eiro maior ou igual a /F2W )aso $osse' a ariael Vir]ao]cinemaW receberia o alor erdadeiro' e a ari*el Vassistir]tW receberia o alor $also. 1e o din"eiro no $osse maior que /F' ou se!a' caso ele $osse menor' o alor recebido das ari*eis Vir]ao]cinemaW e Vassistir]tW seriam outros. .*cil no2 Agora' um algoritmo facin facin' para que ocs entendam por ez' como $unciona a estrutura condicional!e3 )omo desa$io de "o!eQ Kentem entender o algoritmo acima sem copia0lo no Misual[. E caso no ten"am conseguido entender' pode postar nos coment*rios que e&plicarei lin"a por lin"a E mais dois desa$ios e&trasQ _+ ;. .aa um algoritmo que receba um n5mero e mostre uma mensagem caso este n5mero se!a maior que ;F. <. .aa um algoritmo que receba um n5mero' e in$orme se este n5mero est* no interalo de ;FF a <FF. Abraos galera' e at o pr#&imo post8 Aprenda a programar Oa X Algoritmos P Escol"a .. )aso - Bruno Barbosa Posted !" Bruno Barbosa on )ai %J, %&#& in Algoritmos, Desenvolvimento ' 5( comments aprenda a programar comentarios Desenvolvimento escolha portugol Escol"aQ casoQ 4l* algoritmizeiros' c"egamos "o!e ao oitao post de nosso curso`srie`aula %como queiram c"amar _+ sobre algoritmos. Para quem no con"ece ainda' o \Aprenda a Programar\' uma srie de posts lanados toda semana' geralmente na tera ou quarta0$eira' ensinando uma linguagem de cun"o did*tico para que se possa iniciar no $ant*stico mundo da programao. Essa linguagem c"ama0se Portugol. Moc pode er todos os posts !* lanados clicando aqui' ou no menu lateral do site. Ento amos ao que interessa888 Io 5ltimo post' aprendemos sobre estrutura condicional' quando e como utilizar o operador .8-8$9(7-.8$(7' porm' dependendo da ocasio' quando se "* muitas escol"as di$erentes' nosso c#digo pode $icar grande' e de di$(cil leituraQ Iesse caso' entra mais uma $uno em nosso querido algoritmo' o 8.47LH(F 4(.7F 4(.7F 759;74(.7F _+ Ele to simples quanto o .8' e acredito que no dee "aer tantas d5idas. Abai&o tem um algoritmo' sobre a classi$icao de atletas pela sua $ai&a et*ria' este e&emplo' poderia ter sido $eito utilizando a estrutura condicional se P ento' mas aqui utilizarei o escol"a P caso' para que ocs entendam como $unciona o mesmo. 3as antes do algoritmoQ )oment*riosQ )oment*rios de que Bruno2 .utebol' religio' $o$ocaQ Io' no nada disso8 os coment*rios que direi agora' so trec"os no c#digo em que podemos escreer algo sem que o interpretador ac"e que isso uma lin"a de c#digo. Em portugol' nossos coment*rios so tudo aquilo precedido por `` %duas barras+ Para que sere os coment*rios2 4s coment*rios em um c#digo' sere para $acilitar o entendimento por outros programadores. Io podemos ser ego(stas em pensar que apenas oc que o escreeu dee entende0lo' outras pessoas mais cedo ou mais tarde' precisaro ter acesso ao c#digo para dar manuteno ao mesmo' se!a eleso$tDare lire ou no. E $inalmenteQ o Algoritmo algoritmo V)lassi$icao de AtletasW ar nome' categoria- caractere idade- inteiro inicio escrea%VGigite o nome do atleta- V+ leia%nome+ escrea%VIn$orme a idade do atleta- V+ leia%idade+ FF :t* aqui tudo !e), ele /ede o no)e e idade, l+ os valores e Koa nas res/ectivas vari4veis escol"a idade FF : fun,o escol)a ir4 inter/retar os casos a!ai0o e) ci)a da vari4vel idade caso @'A'L'a'd';F FF Aaso a vari4vel idade rece!a os valores de D a #&, ir4 atri!uir na vari4vel categoria o valor@ in&antil Q. categoria <0 Vin$antilW caso ;;';<';/';>';@ FF Aaso a vari4vel idade rece!a os valores de ## a #D, ir4 atri!uir na vari4vel categoria o valor@ *uvenil Q. categoria <0 V!uenilW caso ;A';L';a';d'<F FF Aaso a vari4vel idade rece!a os valores de #J a %&, ir4 atri!uir na vari4vel categoria o valor@ *unior Q. categoria <0 V!uniorW caso <;'<<'</'<>'<@ FF Aaso a vari4vel idade rece!a os valores de %# a %D, ir4 atri!uir na vari4vel categoria o valor@pro&issional Q. categoria <0 Vpro$issionalW outrocaso FF E se a vari4vel idade no rece!er nen3u) dos valores aci)a )encionados, va)os atri!uir a vari4velcategoria o valor@ inv4lido Q. categoria <0 VIIMA=IG4W $imescol"a FF O &imescol)a finali5a a fun,o que a!ri)os anterior)ente escrea%V)ategoria- V'categoria+ FF E este Clti)o escreva, serve /ara que /ossa)os )ostrar o resultado ao usu4rio $imalgoritmo )aso ocs pre$iram' disponibilizei o arquio .alg para ser aberto no Misual[ do algoritmo acima' o linZ para doDnload est* logo abai&o- )lassi$icao de Atletas %;</a+ Por enquanto s#Q se tierem d5idas' cr(ticas' sugest6es' reclama6es' elogios' saudades' ou o que $or' s# postar nos coment*rios galeraQ Abraos e at o pr#&imo post da srie _+ Aprenda a programar Od X Algoritmos P Estruturas de repetio ; - Bruno Barbosa Posted !" Bruno Barbosa on Kun #, %&#& in Algoritmos, Desenvolvimento ' 6! comments aprenda a programar Desenvolvimento estruturas de repetio portugol repita ate Estruturas de repetioQ Bem indo algoritmizeirosQ Parece que $oi ontem que comeamos nossa srie de posts sobre algoritmos' na tentatia de $azer esse mundo mel"or com mais programadores _G Agora' no nono post da srie' amos aprender sobre estruturas de repetio. 3as o que isso2 Bom' at o momento' sempre $izemos algoritmos lineares' ou se!a' ele possui um comeo' meio e $im' e segue essa ordemQ As estruturas de repetio' iro repetir determinados comandos' at que uma comparao l#gica se torne erdadeira ou $alsa. Mou e&plicar com e&emplos' assim o entendimento se tornar* mais $*cil. 7 ('goritmo a2ai#o/ 'G o nome e a nota de trG! pro&a! de trG! a'uno! diferente!F 1 2 3 4 5 Algoritmo "MediaHarmonica"
escreva ("Entre com o nome do aluno: ") leia (nome) escreval ("Entre com as notas das trs provas") escreva ("Digite a primeira nota: ") leia (a) escreva ("Digite a segunda nota: ") leia (b) escreva ("Digite a terceira nota: ") leia (c) MH <- !("!a # "!b #"!c) escreval ("A m$dia %arm&nica do aluno: ", '(ME, " $ ", MH) escreva ("Entre com o nome do aluno: ") leia (nome) escreval ("Entre com as notas das trs provas") escreva ("Digite a primeira nota: ") leia (a) escreva ("Digite a segunda nota: ") leia (b) escreva ("Digite a terceira nota: ") leia (c) MH <- !("!a # "!b #"!c) escreval ("A m$dia %arm&nica do aluno: ", '(ME, " $ ", MH) escreva ("Entre com o nome do aluno: ") leia (nome) escreval ("Entre com as notas das trs provas") 32 33 34 35 36 37 38 39 40 41 42 43 escreva ("Digite a primeira nota: ") leia (a) escreva ("Digite a segunda nota: ") leia (b) escreva ("Digite a terceira nota: ") leia (c) MH <- !("!a # "!b #"!c) escreval ("A m$dia %arm&nica do aluno: ", '(ME, " $ ", MH)
)imalgoritmo [rande no2 Ainda bem que s# t(n"amos trs alunosQ E se $osse uma turma de >F alunos2 Para isso amos utilizar estruturas de repetio _+ ?epita Q at Ia estrutura repita H ate' todos os comandos sero e&ecutados e' ao $inal' "aer* uma e&presso l#gica' para que aalie a repetio' esta que somente ir* cessar quando essa e&presso $or erdadeira. 1 2 3 4 !! sinta*e da estrutura de repeti+,o repita <comandos- ate <e*press,o l.gica!relacional- Agora um e&emplo did*ticoQ 1 2 3 4 5 algoritmo "Demonstra/epeticao"
var i: inteiro
6 7 8 9 10 11 12 13 14 inicio
i <- " repita escreva(i) i <- i # " ate i - "0
)imalgoritmo Este algoritmo ir* retornar na tela do usu*rio os n5meros- ; < / > @ A L a d ;F 3ais porqu2 Primeiramente $oi declarado a ari*el i como inteiro' logo em seguida utilizamos uma estrutura de repetio' o repita-ate' pedimos para escreer o alor de i e acrescentamos ao seu alor mais uma unidade' ou se!a' i I ,. e at quando isso ser* repetido2 At que o alor de i se!a maior que ;FQ Ento quando o alor de i c"egou a ,,' ele perguntou se i era maior que ,+' como a resposta $oi erdadeira' ele encerrou a repetio e $oi para o pr#&imo comandoQ )omo no temos mais nada' encerramos nosso algoritmo. Agora' o algoritmo da mdia dos alunosQ 1# que dessa ez' n#s teremos >F alunos em nossa classe8 Mamos digitar um por um2 Io8 Agora que !* sabemos utilizar uma estrutura de repetio' amos poupar trabal"o e resumir nosso algoritmo8 1 2 3 4 5 6 7 8 9 Algoritmo "MediaHarmonica"
var a, b, c, MH, i: real '(ME: caractere
inicio
i <- " /epita 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 escreva("Entre com o nome do aluno: ") leia(nome) escreval ("Entre com as notas das trs provas") escreva("Digite a primeira nota: ") leia(a) escreva("Digite a segunda nota: ") leia(b) escreva("Digite a terceira nota: ") leia(c) MH <- !("!a # "!b #"!c) escreval("A m$dia %arm&nica do aluno: ", '(ME, " $ ", MH) i <- i # " ate i - 10
2imAlgoritmo Por enquanto isso galeraQ 1emana que em' aprenderemos mais sobre estruturas de repetio' no percamQ Enquanto isso' treinem mais um pouco sobre a estrutura de repetio repita-ate' isso ser* importante em toda a ida de programador de ocsQ Aproeitem tambm' e a!!ine no!!o feed para no perder nen"uma aula de algoritmos' e nos siga no 9itter8 Abraos. Aprenda a Programar O;F X Algoritmos P Estruturas de repetio < - Bruno Barbosa Posted !" Bruno Barbosa on Kun #&, %&#& in Algoritmos, Desenvolvimento ' 4! comments aprenda a programar Desenvolvimento enquanto estruturas de repetio faa EnquantoQ .aaQ 4l* algoritmizeiros8 Primeiramente queria pedir desculpas pelo atraso no post dessa semana' mas a correria trabal"o0trabal"o0 $aculdade0casa grande' e as ezes o tempo poucoQ Gando prosseguimento ao post anterior' sobre estruturas de repetio' "o!e amos aprender sobre o comando enquanto H faca. Gi$erentemente do repita-ate/ onde todos os comandos so interpretados' para s# ento "aer uma e&presso l#gica eri$icando se dee ou no continuar a repetio' o enquanto-faca ir* aaliar uma e&presso l#gica e' enquanto esta $or erdadeira' ir* e&ecutar os comandosQ 1inta&e do Enquanto .. $aca 1 2 3 en3uanto <e*press,o l.gica ou relacional- )aca <comandos- )imen3uanto 3el"or e&plicado com e&emplos _+ E&emplo ; Ieste e&emplo' ou criar um algoritmo utilizando o repita0ate e depois o mesmo algoritmo' s# que dessa ez utilizando a estrutura enquanto P $aca' e&plicando passo0a0passo a ocs' para que possam entender a di$erena entre ambos. - =aa um a'goritmo que !o'icite que o u!urio digite um n0mero/ e informe !e e!te n0mero B maior que ,+3 7 programa ! pode parar de !o'icitar o n0mero quando e!te for igua' a + ?*ero@ Utilizando a estrutura de repetio repita .. ate 1 2 3 4 5 6 7 8 algoritmo "e*emplo "" !! 'os siga no 45itter6 7Algoritmi8ando
var numero: inteiro
inicio
repita 9 10 11 12 13 14 15 16 17 18 19 20 escreva("Digite um n9mero: ") leia(numero) limpatela !! :impa a tela ;< se (numero - "0) entao escreval("( n9mero $ maior 3ue "0") senao escreval("( n9mero $ menor 3ue "0") )imse ate (numero ; 0)
)imalgoritmo E agora o mesmo algoritmo' porm utilizando a estrutura de repetio enquanto .. $aca 1 2 3 4 5 6 7 8 9 10 11 12 13 14 algoritmo "e*emplo =" !! 'os siga no 45itter6 7Algoritmi8ando
var numero: inteiro
inicio
numero <- " en3uanto numero <- 0 )aca escreva("Digite um n9mero: ") leia(numero) limpatela se (numero - "0) entao 15 16 17 18 19 20 21 escreval("( n9mero ",numero," $ maior 3ue "0") senao escreval("( n9mero ",numero," $ menor 3ue "0") )imse )imen3uanto
)imalgoritmo Iesse e&emplo' comeamos nosso algoritmo atribuindo o alor ; a ari*el n5mero' para que possamos comear a utilizar nossa estrutura de repetio' con$orme podem er na lin"a dN E na lin"a ;F' nossa condio para que o lao continue sendo e&ecutado' ou se!a' enquanto a ari*elnumero $or di$erente de F %zero+' continuaremos e&ecutando o programa' e o usu*rio digitando n5meros para descobrir se maior ou menor que zeroQ %como se $osse necess*rio um programa para isso rsrsrs+ claro' claro' apenas um e&emplo did*ticoQ 3as que tal er se realmente aprendeu2 Gei&o aqui ento um desa$io a ocsQ 1. )rie dois algoritmos' um utilizando a estrutura de repetio repita 33 ate e outro utilizando o enquanto 33 faca. <. Uma lo!a est* endendo trs modelos de carro' o algoritmo dee ler o nome e o alor %?e+ dos seguinte autom#eis- [4=' PA=I4' )4?1A /. Ao $inal' in$ormar quantos carros de cada modelo $oram endidos e o alor total arrecadado em reais. >. 4 programa s# pode encerrar quando o alor do e(culo $or igual a zero. Jood LucK Aprenda a Programar O;; X Algoritmos P Estruturas de repetio / - Bruno Barbosa Posted !" Bruno Barbosa on Kun %#, %&#& in Algoritmos, Desenvolvimento ' 4( comments aprenda a programar Desenvolvimento enquanto .. faca estrutura de repetio for 4l* algoritmizeiros de planto' nada mel"or do que comear a semana com post noo sobre algoritmos. Io comeo desse ms' comeamos a $alar sobre estruturas de repetio' as estruturas repita .. ate eenquanto .. $aca. So!e para $inalizar essa parte' iremos abordar a estrutura L(;( 33 =(4(3 Para .. .aa A sinta&e geral da estrutura de repetio para .. $aca a seguinte- 1 2 3 para > de ' ate M ?passo @A )aca <comandos- )impara E&plicandoQ 4 M a ari*el que dee ser preiamente declarada' o $ o n5mero que comear* a contagem' 6 at onde ai essa contagem' e o pa!!o N s# ser* necess*rio se oc no quiser que se!a de ; em ;Q 1ei que no entenderam nada' ento ou mostrar um e&emplo de uma estrutura de repetio utilizandoenquanto .. $aca e ap#s' um utilizando o para 33 faca' oc er* que ir* $icar bem mais simples8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 algoritmo "repeti+,o ""
var num: inteiro
inicio
num <- " en3uanto num <; "0 )aca escreva(num) num <- num # " )imen3uanto
)imalgoritmo Iesse algoritmo' $oi utilizado a estrutura de repetio enquanto .. $aca' como ocs podem notar' $oi declarado a ari*el num para serir como condio para e&ecuo do lao' e ao mesmo tempo' imprimimos o alor da mesma na tela atras do comando escrea. Essa estrutura ai imprimir o seguinte resultado na tela do usu*rio- ; < / > @ A L a d ;F Agora' a mesma estrutura' agora utilizando o para 33 faca. 1 algoritmo "repeti+,o =" 2 3 4 5 6 7 8 9 10 11 12
var num: inteiro
inicio
para num de " ate "0 )aca escreva(num) )impara
)imalgoritmo Esse algoritmo' tem a mesma $uno do algoritmo acima' porm dessa ez utilizando a estrutura para 33 faca. Mamos entender o algoritmoQ Geclarao de ari*eis' n#s !* aprendemos no quarto post da srie' ento amos direto ao lao de repetio- para num de , ate ,+ faca Ieste comando' estamos dizendo ao interpretador Misual[ que a ari*el num receber* o alor , e a cada iterao' ou se!a' toda ez que os comandos dentro do para 33 faca $orem e&ecutados' a ari*elnum receber* T; em seu alor por padro' e assim sucessiamente' at que o alor de num se!a ,+. e!cre&a%num+ `` !* abordado anteriormente. e o fimpara' que sere para indicar o $im do lao. 4 )omando PA114 I- ; P Imprimir na tela todos os n5meros pares de < at <FF 1 2 3 4 5 6 7 8 algoritmo "numeros pares"
var num: inteiro
inicio
para num de = ate =00 passo = )aca 9 10 11 12 escreva(num) )impara
)imalgoritmo Passo <Q Mocs deem estar se perguntando de onde surgiu esse pa!!o C agoraQ =embram que na sinta&e do para 33 faca e&pliquei que ele no obrigat#rio' mas poderia surgir2 ento8 por padro no portugol' ele sempre acrescentar* T; a ari*el que agente est* utilizando no lao' mas nesse e&emplo' eu preciso pegar apenas os n5meros pares' ou se!a' de < em <. Bingo8 Est* e&plicado ento' o porqu do pa!!o C' assim em cada iterao' ele acrescentar* T< na ari*elnum' esta que sempre ser* um alor par' que o que queremos nesse e&emplo. Ios e&emplos at agora' oc escreeu do ; at um n5mero maior' como o ;FF por e&emploQ Keria como $azer o inerso2 do ;FF at o ;2 1im8 Para isso' mais uma ez utilizaremos o pa!!o $. 1 2 3 para num de "00 ate " passo -" )aca escreva(num) )impara 1im' tambm podemos utilizar pa!!o -$' ou se!a' um passo negatio. Lorque- Porque se o padro do para 33 faca acrescentar mais ; na ari*el' o ob!etio do pa!!o $ !ustamente te dar o poder de escol"er qual o alor que oc quer acrescentar ou reduzir no lao. E agente $ica por aquiQ A partir do pr#&imo post' iniciaremos nossos estudos em etores e matrizes' ento necess*rio que oc !* este!a bastante $amiliarizado com tudo o que !* $oi dito at aqui. para & de ; ate < $aca Q.se & _ ; entao QQ..Ios siga no 9itter8 Q.senao QQ.. Assine nosso =eed8 Q.$imse $impara Abraos. Aprenda a Programar O;< X Algoritmos P Metores -Bruno Barbosa Posted !" Bruno Barbosa on Kul D, %&#& in Algoritmos, Desenvolvimento ' 64 comments aprenda a programar array Desenvolvimento portugol variaveis 4l* Algoritmizeiros' estamos c"egando nos 5ltimos posts da srie' Aprenda a Programar' e "o!e' iremos $alar de etores. At ento' aprendemos o que uma ari*el e como declarar ari*eis em portugol' e $izemos isso in5meras ezes em nossos algoritmos. 4 nosso problema comea' quando temos que declarar in5meras ari*eis para atender a um $im. Imagine que oc tem que receber o nome e a nota de @F alunos de uma escola' e depois listar o nome de cada um e a mdia $inal de cada aluno e a mdia da turma. Agora imagine oc na declarao de ari*eis' declarando uma a uma' as @F ari*eis para o nome' depois as @F ari*eis para as notasQ 1 2 3 var aluno", aluno=, aluno, BBBBBBBBB, alunoC0: caractere nota", nota=, nota, BBBBBBBBBBBB, notaC0: real )ansatio no2 Ac"o que se $osse realmente assim' no "aeria tantos programadores quanto "* "o!e em diaQ 7 em casos como esse que entra o assunto desse post. Eetore!. Mamos imaginar um etor como sendo uma Vcai&aW com *rios lugares separados para guardar seus documentos' ou se!a' uma ari*el onde se pode armazenar mais de um dado. Metor de a posi6es Io e&emplo abai&o' temos um etor com dados armazenados nas @ primeiras posi6es. Para poder acessar o conte5do desse etor' amos utilizar a sinta&e- nome+posi,-o.. 8#- meuetor9<: 0 4 retorno ser* a letra B. Interessante' mas como eu posso usar etores nos algoritmos2 Para usar os etores' primeiro temos que declar*0lo na seo de ari*eis. 1im' etor tambm uma ari*el8 A sinta&e para declarao do etor a seguinte- 1 2 var nome-do-vetor: vetor?<posi+Des-A de <tipo- E&emplo- 1 2 var MeuEetor: vetor?"BBCA de caractere Primeiro em o nome do etor' ento onde antes coloc*amos apenas o tipo' que era caractere' real' inteiro' etc.' agora amos especi$icar que um etor' colocar quantas posi6es ele ter*' e $inalmente o tipo. E no se con$undam' no campo das posi6es' so apena! C ?doi!@ ponto! mesmo. 1e colocar mais que isso seu etor no ir* $uncionar. E as lendas urbanas dizem que se seu etor estier errado seu isualg traa. Io $iz todos os testes para con$irmar isso. Agora' um e&emplo simples para $acilitar a ida de ocs- 1 2 3 4 5 6 7 8 9 10 11 algoritmo "vetores bF algoritmi8ando"
var *: vetor?"BB=A de inteiro
inicio
escreval("Digite um n9mero: ") leia(*?"A) escreval("Digite mais um n9mero ;D ") leia(*?=A) 12 13 14 escreval("Geus n9meros digitados )oram: ",*?"A," e ",*?=A)
)imalgoritmo E que tal' utilizar etores !unto com tudo o que aprendemos at aqui2 Atendendo ao pedido da leitora .ernanda no 5ltimo post' dei in(cio a um algoritmo que recebe ;F n5meros' indica quais so os n5meros (mpares maiores que ; e menor que L<A' qual a maior di$erena entre dois n5meros consecutios in$ormados pelo usu*rio e quais so m5ltiplos de /. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 algoritmo "Aprenda a <rogramar "="
var
numeros, impar, multiplo: vetor?0BB"0A de inteiro maiordi): vetor?"BBA de inteiro *, F: inteiro
inicio
escreval(";;;;;;;;;;;; A</E'DA A </(H/AMA/ I"= J@ A:H(/K4MKLA'D( ;;;;;;;;;;;;")
!! EariMvel para calcular maior di)eren+a entre dois n9meros consecutivosB Ger,o usados mais tarde maiordi)?A <- 0
para * de " ate "0 )aca
!! Knstru+,o para digitar o numero e guardM-lo numa variMvel
limpatela escreval(";;;;;;;;;;;; A</E'DA A </(H/AMA/ I"= J@ A:H(/K4MKLA'D( ;;;;;;;;;;;;") escreval("") escreval(";;;; 'RME/(G SM<A/EG MAK(/ TUE = E ME'(/ TUE P=Q ;;;;") para * de " ate "0 )aca escreval(*,"N '9mero Ompar: ",impar?*A) )impara escreval("") escreval(";;;; 'RME/(G MR:4K<:(G DE ;;;;") para * de " ate "0 )aca escreval(*,"N '9mero m9ltiplo de : ",multiplo?*A) )impara escreval("") escreval(";;;; MAK(/ DK2E/E'VA E'4/E 'RME/(G W('GEWU4KE(G ;;;;") escreval("A maior di)eren+a estM entre os n9meros: ",maiordi)?=A," e",maiordi)?"A) escreval("Di)eren+a de: ",maiordi)?A)
)imalgoritmo Agora com ocsQ aproeitem o e&emplo acima e $aam seus testes' crie noas $un6es e nos diga sobre suas e&perincias com etores nos coment*rios. Aprenda a Programar O;/ P 3atriz - Bruno Barbosa Posted !" Bruno Barbosa on out D, %&#& in Algoritmos, Desenvolvimento ' 2 comments aprenda a programar matri variaveis 4l* algoritmizeirosQ Gepois de algum tempo sem post da srie Aprenda a Programar P Algoritmos' oltamos "o!e com o dcimo terceiro artigo e 5ltimo da srie. .inalizando nosso estudo de algoritmos' iremos aprender "o!e sobre ari*eis compostas "omogenias' ou se!aQ 6atri*3 Antes de dar continuidade na leitura' recomendo que !* este!am $amiliarizados com o assunto do post anterior' Metores. A$inal' o que uma matriz2 Uma matriz' nada mais' do que Metores bi0dimensionais. 4nde podemos acessar os dados ali contidos atras de dois alores. As Vlin"asW e as VcolunasW. Mocs entendero logo8 1inta&eQ 1 nome: vetor?<lin%as-,<colunas-A de <tipo- E&emplo- 1 min%avar: vetor?"BB,"BBA de caractere 4nde o primeiro alor re$ere0se as lin"as e o segundo as colunas. 4 e&emplo acima' re$ere0se a criao de uma matriz com / lin"as e / colunas' con$orme imagem abai&o- )omo eu posso atribuir ou isualizar dados de min"a matriz2 Para atribuir dados a uma determinada posio em uma 3atriz' manteremos o mesmo padro paraari*eis comuns ou etores. O Lara atri2uir um determinado &a'or: 1 mel%orblog?",=A <- "Algoritmi8ando" Atribui a palara ('goritmi*ando na posio %;'<+ da matriz me'hor2'og. O Lara 'er determinado &a'or: 1 2 3 BBB escreva("( mel%or blog $: ",mel%orblog?",=A) BBB = o alor que se encontra na posio %;'<+ da matriz me'hor2'og. E agora' um VpequenoW algoritmo' utilizando praticamente tudo o que imos durante todos esses posts de algoritmos' inclusie o assunto desse post de "o!e' 3atriz- .i!tema de cada!tro de a'uno!: .azer um programa de cadastro de alunosN 4 programa deer* receber o nome' blog $aorito e email de cada um dos alunosN Ap#s o cadastro' $ornecer as seguintes op6es- ;. )onsultar alunos cadastrados <. )onsultar blogs $aoritos por aluno /. =ista de emails cadastrados >. =ista completa' com todos os dados dos alunos cadastrados @. .inalizar o programa 72!er&ao: 4 Programa s# poder* ser $inalizado quando escol"ida a opo nf @ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 algoritmo "Aprenda a <rogramar I" - Matri8" !! Autor : Algoritmi8ando !! Ge+,o de Declara+Des var alunos: vetor?"BB=,"BBA de caractere *, opcao, programa: inteiro
inicio !! Ge+,o de Womandos para * de " ate = )aca escreval(";;;;;;;;;;;;;;;;;;;;;;;;;;;;") escreval(";;;; WADAG4/( DE A:U'(G ;;;;") escreval(";;;;;;;;;;;;;;;;;;;;;;;;;;;;") escreval("") escreva("Digite um 'ome: ") leia(alunos?*,"A) 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 escreva("") escreva("Digite o blog )avorito: ") leia(alunos?*,=A) !! %ttp:!!algoritmi8andoBcom escreva("Kn)orme o email: ") leia(alunos?*,A) limpatela )impara limpatela
!! Geta a variMvel XprogramaX ; " para manter o mesmo em e*ecu+,o !! 'osso programa s. irM terminar 3uando esta variMvel )or igual a 8ero
programa <- "
en3uanto programa ; " )aca escreval("") escreval(";;;;;;;;;;;;;;;;;;;;;;;;;;;;") escreval(";;;; WADAG4/( DE A:U'(G ;;;;") escreval(";;;;;;;;;;;;;;;;;;;;;;;;;;;;") escreval("") escreval("Digite a op+,o deseYada: ") escreval("" - Wonsulta Alunos Wadastrados") escreval("= - Wonsulta Jlogs 2avoritos por aluno") escreval(" - :ista de emails cadastrados") escreval("1 - :ista completa de alunos cadastrados") escreval("C - Gair do <rograma") escreval("") 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 !! Escol%endo a op+,o deseYadaBBB leia(opcao) limpatela escol%a(opcao) caso " escreval("---- Alunos Wadastrados: ") para * de " ate = )aca escreval("---- ",alunos?*,"A) )impara caso = escreval("---- Jlogs )avoritos por aluno: ") para * de " ate = )aca escreval("---- ",alunos?*,"A," ",alunos?*,=A) )impara caso escreval("---- :ista de emails cadastrados: ") para * de " ate = )aca escreval("---- ",alunos?*,A) )impara caso 1 escreval("---- :ista completa de alunos cadastrados: ") para * de " ate = )aca escreval("---- ",alunos?*,"A," ", alunos?*,=A," ", alunos?*,A) )impara caso C escreval(";;;; (J/KHAD( <(/ AWEGGA/ ( J:(H6 ;;;;") programa <- 0 68 69 70 71 72 73 74 75 76 outrocaso escreval("(p+,o KnvMlidaBBB") )imescol%a )imen3uanto
)imalgoritmo Io entendeu2 e!a abai&o onde $oi e&plicado cada trec"o de nosso programaQ Ias lin"as > a A' temos nossa declarao de ari*eis' e&plicada no Aprenda a Programar / P Mari*eis e Aprenda a Programar > P Estrutura do PortugolN Ias lin"as ;F a </ temos a estrutura de repetio para .. $aa e a utilizao em massa dos comandos- e!cre&a e 'eia N Ia lin"a /; demos in(cio ao uso da estrutura de repetio enquanto .. $aaN Ias lin"as >L a L/ $oi utilizada a $uno e!co'ha 33 ca!o' e&plicada no Aprenda a Programar a. E por $im' nossa matriz a'uno!' assunto desse post e do anterior sobre etores. Esta que $oi a base de todo o nosso programa. )aso pre$ira' oc pode $azer o doDnload de nosso algoritmo e testar no Misual[- >F E&erc(cios de Algoritmos resolidos para estudo - Bruno Barbosa Posted !" Bruno Barbosa on Kan %H, %&## in Algoritmos, Desenvolvimento ' 0( comments algoritmos estrutura condicional estruturas de repetio estudo exercicios 4l* pessoal' 4 Aprenda a Programar $oi um sucesso8 Entretanto acredito que talez ten"a $icado deendo mais alguns e&emplos e e&erc(cios' pois $requentemente recebo em meu e0mail' pedidos de a!uda de alguns usu*rios em Algoritmos. Euando se trata de uma d5ida em um c#digo !* e&istente' $eito pela pr#pria pessoa' a!udo com grande prazer assim que posso. Entretanto' muitas ezes as mesmas pedem que eu resola e&erc(cios que' $oram passados para a mesma $azer' com o argumento de que gostaria que eu resolesse para que esta aprenda e possa $azer o restante. Acontece que geralmente no apenas uma questo que me pedem' mas cinco ou mais e&erc(cios. Pensando nisso' resoli disponibilizar ocs uma lista de >F e&erc(cios de Algoritmos elaborados por.laiano 4. 1ila' e as respostas dos e&erc(cios $eitas por mim' no $ormato .alg que podem ser abertos no Misual[' para que sira como $onte de estudos e re$erncia para que ocs possam resoler outros e&erc(cios do tipo. E para oc que acompan"ou toda srie Aprenda a Programar' est* lanado o desa$io8 Moc consegue resoler as >F quest6es sem dar nen"uma Vespiadin"aW nas respostas2 4s e&erc(cios $oram elaborados para a .aculdade .AUE1U' entretanto entrei em contato com o autor do mesmo' Pro$. .laiano e este autorizou a publicao da lista na Internet. A seguir' uma /revieL de algumas quest6es da lista- %D1 Fa,a u) alorit)o que leia dois nC)eros e identifique se so iuais ou diferentes1 Aaso eles seKa) iuais i)/ri)a u)a )ensae) di5endo que eles so iuais1 Aaso seKa) diferentes, infor)e qual nC)ero * o )aior, e u)a )ensae) que so diferentes1 $#1 Escrever u) alorit)o que leia tr+s valores inteiros distintos e os escreva e) orde) crescente $$1 Escrever u) alorit)o que leia tr+s valores inteiros e verifique se eles /ode) ser os lados de u) triMnulo1 Se fore), infor)ar qual o ti/o de triMnulo que eles for)a)@ equil4tero, isNscele ou escaleno1 Pro/riedade@ o co)/ri)ento de cada lado de u) triMnulo * )enor do que a so)a dos co)/ri)entos dos outros dois lados1