Você está na página 1de 13

RODRIGUES ______________________________________________________________________

ALGORITMO ESTRUTURADO

Os computadores so mquinas destinadas a resolver problemas com grande rapidez. O aproveitamento desta grande rapidez exige que as operaes sejam automaticamente, sem a interferncia humana. A flexibilidade exige que, para cada problema a ser levado ao computador, sejam planejadas as operaes correspondentes. O automatismo, por outro lado, exige que o planejamento destas operaes seja feito previamente, antes de se utilizar o computador. Ento, a utilizao de um computador para resolver problemas exige, antes de qualquer coisa, que se desenvolva um algoritmo, isto , que se faa a descrio de um conjunto de comandos que, obedecidos, provocaro uma sucesso finita de aes que resultaro na resoluo do problema proposto. Este algoritmo tem de ser transmitido ao computador e armazenado na sua memria, para, em seguida, ser posto em execuo e conduzir o computador para a soluo desejada. O algoritmo deve, portanto, prever antecipadamente todas as situaes que possam ocorrer quando for posto em execuo. Uma vez conhecida a definio de algoritmo, a partir deste capitulo ser introduzido um conjunto particular de regras e convenes para o seu desenvolvimento. 1.CONSTANTES. Uma constante um determinado valor fixo que no se modifica ao longo do tempo, durante a execuo de um programa. Uma constante pode ser um numero (como se conhece na Matemtica), um valor lgico ou uma seqncia de caracteres quaisquer com algum significado para o problema em estudo. Conforme o seu tipo, a constante classificada como sendo numrica, lgica ou literal. 1.1.Constante Numrica: A representao de uma constante numrica nos algoritmos feita na sistema decimal, podendo ser um numero com ou sem parte fracionria. A constante numrica pode ser positiva ou negativa, de acordo com o sinal que proceder os algoritmos formadores do numero. Exemplo: 25; 3,14;-15 Na matemtica comum a existncia de constantes com uma parte exponencial, isto , um fator 19 elevado a um expoente inteiro. Neste caso, usada a notao j conhecida. Exemplo 7,8 x 10 3; -0,91 x 10-9. 1.2.Constante Lgica: um valor lgico, isto , que s pode ser falso ou verdadeiro, usando em proposies lgicas. S existem duas constantes deste tipo, sendo representada pelas palavras falso e verdadeiro. 1.3.Constante Literal (string): Uma constante deste tipo pode ser seqncia de caracteres (letras, dgitos ou smbolos especiais) que forme um literal com algum significado para o problema em estudo. Toda constante literal que aparece no algoritmo ser colocada entre aspas para que no seja confundida com outro item qualquer. Exemplo: ANA SILVA; 30/11/03; 1234 Exerccio de Fixao: 1. Identificar o tipo de cada uma das constantes abaixo: a) 21; b) BOLA c) VERDADEIRO; d) 0,21 x 102 e) falso f)-10-9 2. VARIVEIS. Sabe-se da Matemtica que uma varivel a representao simblica dos elementos de um certo conjunto.Por exemplo: Inteiro (integer): qualquer nmero inteiro, negativo, nulo ou positivo. Ex.:-5;0;235 Real: qualquer nmero real, negativo, nulo ou positivo. Ex.: -5;30,5;0;40 Nos algoritmos, destinados a resolver um problema no computador, a cada varivel corresponde uma posio de memria, cujo contedo pode variar ao longo do tempo durante a execuo de um programa. 2.1 Formao dos Identificadores: Um identificador formado por um ou mais caracteres, deve, obrigatoriamente, ser uma letra e os caracteres seguintes, letras ou dgitos, no sendo permitido o uso de smbolos especiais. Como : ( ; *, [ # Identificador permitido Identificador no permitido A X5 5B XY NOTA A32B E(13) NOTA[1] MATRICULA F1G3H5 A:B B*D 2.2 Declarao de Variveis: As Variveis s podem armazenar valores de um mesmo tipo, de maneira que tambm so classificadas como sendo numricas, lgicas e literais. Para indicar o tipo de uma ou mais variveis usada a declarao de variveis. Alm disso, no momento em que se declara uma varivel, feita a associao do nome escolhido, ou identificador, com a respectiva posio de memria que o mesmo passa a simbolizar. Toda declarao de variveis tem a seguinte forma:

_________________________________________________________________________ Programao prof_rodrigues@hotmail.com

RODRIGUES ______________________________________________________________________

declare lista-de-identificadores nome-do-tipo Onde: declare uma palavra-chave do algoritmo lista-de-identificadores so os nomes escolhidos para as variveis, que devem estar separados por virgula nome-do-tipo uma das trs palavras-chaves, numrico, lgico ou literal, que indicam o tipo associado s variveis. Exemplo: a) declare NOTA, CODIGO,X5 numrico; b) declare TESTE,SIM lgico; c) declare NOME,END1,END2,FIF2 literal Neste exemplo, os identificadores NOTA,CODIGO e X5 so declaradas variveis numricas e, portanto simbolizam posies na memria do computador capazes de armazenar apenas valores numricos. Qualquer tentativa de atribuio de valores de outro tipo nestas variveis considerada como erro. Exerccio de Fixao 1. Assinale com um X os identificadores vlidos: ( ) VALOR ( ) SALARIO LIQUIDO ( ) B248 ( ) X2 ( )3X4 ( ) XYZ ( ) NOTA * DO * ALUNO ( ) MARIA ( ) NOTA ( ) A1B2C3 ( ) KM/3 ( ) M{A}

2.Supondo-se que as variveis NOM,PROF,ID e SALARIO sero utilizadas para armazenar o nome, profisso, idade e salrio de uma pessoa, escrever o conjunto de declaraes necessrias para criar essas variveis e associar s mesmas os respectivos tipos bsicos. 2.3 Comentrios: um texto, ou simplesmente uma frase, que aparece sempre delimitado por chaves {comentrio}. Exemplo: declare MAT, {numero da matricula do aluno} NOTA, {total de pontos obtidos no semestre letivo} COD {cdigo do curso} numrico 2.4 Expresses aritmticas: denomina-se expresses aritmtica aquela cujos operadores so aritmticos e cujos operadores so constantes e/ou variveis do tipo numrico. O conjunto de operaes bsicas adotadas o que se conhece da Matemtica: Adio Multiplicao Potenciao Exemplo: a) X + Y d) SOMA
2

Subtrao Diviso Radiciao

b) TOTAL/N e) 2 X NOTA

c)

F1 + G - H

f) TOT/M + KX

Nas expresses aritmticas, as operaes guardam entre si uma relao de prioridade, tal como na Matemtica. Prioridade Operao 1 2 3 Potenciao, radiciao Multiplicao, diviso Adio, subtrao

2.5 Funes: Alm das operaes bsicas, podem-se usar expresses aritmticas algumas funes muito comuns na Matemtica. Funes de EA,Ezx,Eay expresses aritmticas LOG(EA) Logaritmo na base 10 de EA LN(AE) Logaritmo neperiano de EA EXP(EA) O numero e (base dos logaritmos neperianos) elevados a EA valor absoluto de EA

_________________________________________________________________________ Programao prof_rodrigues@hotmail.com

RODRIGUES ______________________________________________________________________
ABS(EA) TRUCA (EA) ARREDONDA(EA) SINAL(EA) QUOCIENTE (EAx,EAY) RESTO (EAx,Eay) Valor absoluto de EA a parte inteira de um numero fracionrio Transforma, por arredondamento, um numero fracionrio em inteiro. Fornece o valor 1, +1 ou zero conforme o valor de EA seja negativo, positivo ou igual a zero Quociente inteiro da diviso de EAx por EAy Resto da diviso de EAx por EAy

Exemplo: a) X + SEN (A+B+C) B)QUOCIENTE (NOTA,2)x100+T c) X+LN(Y)-ABS(A-B) d) H2 G x F x SINAL (C-D) Exerccio de Fixao 1) Sendo A,B,X,Y variveis do tipo numrico, quais os resultados fornecidos por cada uma das seguintes funes, onde A=10, B=3, X=2,5 e Y=1,2 a) QUOCIENTE(A,B) E RESTO b) SINAL (X+Y-A), SINAL (A-B2 +Y) e SINAL (A- 4x X) c) TRUNCA (B2 + X), TRUNCA(A/3 + 1) e TRUNCA (X- 3,2) 3.EXPRESSES LGICAS comum nos algoritmos surgirem situaes em que a execuo de uma ao, ou seqncia de sub-aes, est sujeita a uma certa condio. Esta condio representada no texto do algoritmo por meio de uma expresso lgica. 3.1 Relao: Uma expresso relacional, ou simplesmente relao, uma comparao realizada entre dois valores de mesmo tipo bsico.Os operadores relacionais que indicam a comparao a ser realizada entre os termos da relao, so conhecidos da matemtica: = igual diferente de > maior que Exemplo1: a) A B c) B2 4 x A x C < 0 < menor que maior ou igual a menor ou igual a

b) NOME = JOO d) X = 1

2) dadas as variveis numricas X,Y,Z e as variveis literais NOME e COR, observar os resultados obtidos para as relaes a partir dos valores atribudos a estas variveis. VARIAVEIS RELAES X Y Z COR NOME X2-Y > Z COR=AZUL NOME=JOS 1 2 5 AZUL PAULO Falso Verdadeiro Verdadeiro 4 3 1 VERDE JOS Verdadeiro Falso Falso 1 1 2 BRANCO PEDRO Falso Falso verdadeiro Exerccio de Fixao 1) Dadas as variveis numricas A e B as variveis literais NOME e PROFISSO, completar o quadro a seguir, preenchendo os espaos em branco com os resultados lgicos (falso ou verdadeiro) obtidos como resultados das relaes, tendo em vista os valores atribudos a estas variveis: VARIAVEIS NOME PROFISSO MIRIAM PEDRO ANA ADVOGADO MDICO PROFESSOR RELAES NOME ANA

A 3 5 2,5

B 16 64 9

A-1

PROFISSO =MDICO

3.2 Operadores Lgicos: A lgebra das proposies define trs conectivos usados na formao de novas proposies a partir de outra j conhecidas. Estes conectivos so os operadores nas expresses lgicas: e Para a conjuno ^ ou no Para a disjuno Pana negao

_________________________________________________________________________ Programao prof_rodrigues@hotmail.com

RODRIGUES ______________________________________________________________________

Neste contexto considera-se uma proposio como sendo uma varivel lgica, uma relao ou uma expresso lgica composta. Conectivo e: duas proposies podem ser combinadas pelo conectivo e para formar uma proposio chamada conjuno das proposies originais. A conjuno das proposies p e q representa-se por: p ^ q l-se p e q A conjuno de duas proposies verdadeira se e somente se ambas as proposies so verdadeiras. Exemplo: p: OK, onde OK uma varivel lgica cujo contedo verdadeiro; q: A = 0, onde o valor de A 3; r: TESTE, onde TESTE uma varivel lgica cujo contedo falso; s: B 1, onde o contedo de B 2 a) Qual o valor lgico (falso, verdadeiro) das conjunes: a.1) p ^ s: a.2) p ^ r: a.3) q ^s: a.4) q ^r: resposta: a.1) p ^s significa OK e B 1 e, portanto, uma proposio verdadeira a.2) p ^s significa OK e TESTE e, portanto, uma proposio falsa, j que TESTE falso a.3) q ^s significa A = 0 e B 1, que do mesmo modo uma proposio falsa. a.4) q ^r significa A=0 e TESTE e, portanto, uma proposio falsa. Se p verdadeira e q verdadeira, ento p^q ser verdadeira, de outro modo, p^q ser falsa. Um meio conveniente de estabelecer esta concluso pela tabela: p q p^q p q p^ q V V F F V F V F V F F F 1 1 0 0 1 0 1 1 1 0 0 0

Conectivo ou: duas proposies quaisquer podem ser combinadas pelo conectivo ou (com sentido de e/ou) para formar uma nova proposio que chamada disjuno das proposies originais. A disjuno de duas proposies p e q designada por: p q (l-se p ou q). A disjuno de duas proposies verdadeira se e somente se, pelo menos ema delas for verdadeira. p V V F F q V F V F p

V V V F

p 1 1 0 0

q 1 0 1 0

1 1 1 0

Exemplo: Para as quatro proposies do exemplo anterior qual ser o valor lgico das disjuno: a) p s b) p s c) q s d) q

Reposta: a) verdadeira

b) verdadeira

c)Verdadeira

d)falsa

Conectivo negao: dada uma proposio qualquer, uma outra proposio, chamada negao de p, pode ser formada escrevendo-se falso que antes de p ou, se possvel, inserindo a palavra no em p. Simbolicamente, designa-se a negao de p por: ~p (l-se no p). Logo, pode-se conclui que se p verdadeira, ento ~p falsa; se p falsa, ento ~p verdadeira. p ~p V F Exemplo: F V

_________________________________________________________________________ Programao prof_rodrigues@hotmail.com

RODRIGUES ______________________________________________________________________
Tendo em vista as proposies p e r anterior, tem-se: a) ~p significa ~OK , que falso b) ~r significa ~TESTE, que verdadeiro

Exemplo: Dadas as variveis numricas X, Y e Z, contendo 2,5 e 9 respectivamente; a varivel literal NOME, contendo o literal MARIA; e a varivel lgica SIM, contendo o valor lgico falso, observar os resultados obtidos das expresses lgicas a seguir: a) X + Y > Z e NOME = MARIA 2 + 5 > 9 e MARIA = MARIA falso e verdadeiro falso b) SIM ou Y X falso ou 5 2 falso ou verdadeiro verdadeiro c) no SIM e QUOCIENTE (z,Y) + 1 =X no falso e QUOCIENTE (9,5) + 1 = 2 no falso e verdadeiro verdadeiro e verdadeiro verdadeiro d) NOME = JORGE e SIM ou X2 < Z + 10 MARIA = JORGE e falso ou 4 < 9 falso e falso ou verdadeiro falso ou verdadeiro verdadeiro 3.3 Prioridade Como mostrado nas letras c e d do exemplo anterior, pode-se ter mais de um operador lgico na mesma expresso. Em alguns casos, conforme os valores envolvidos, a ordem em que so efetuadas as operaes lgicas afeta o resultado final. Assim, como acontece entre as operaes aritmticas, tambm existe uma relao de prioridade entre os operadores lgicos. Tambm nas expresses lgicas vrios nveis de parnteses podem ser utilizados com a finalidade de estabelecer uma nova ordem de execuo entre os operadores lgicos. Prioridade 1 2 3 4 5 Operador Aritmtico Relacional No E Ou

4. COMANDO DE ATRIBUIO Define-se comando como sendo a descrio de uma ao a ser executada em um dado momento. O primeiro dos comandos considerado denomina-se comando de atribuio . Este comando permite que se fornea um valor a uma certa varivel, onde a natureza deste valor tem de ser compatvel com o tipo da varivel na qual est sendo armazenado. O comando de atribuio tem a forma geral apresentada a seguir: identificador expresso Onde: identificador Expresso Exemplo: a) K 1; b) COR VERDE; c) TESTE falso d) A B o nome da varivel qual est sendo atribudo o valor; o smbolo de atribuio; literal de cuja avaliao obtido o valor a ser atribudo varivel.

_________________________________________________________________________ Programao prof_rodrigues@hotmail.com

RODRIGUES ______________________________________________________________________
Exerccio de fixao: 1. Sendo SOMA, NUM, X variveis numricas, NOME, COR, DIA variveis literais, e TESTE, COD, TUDO variveis lgicas, Assinalar os comandos de atribuio considerados invlidos: a) NOME 5 b) SOMA num + 2 c) TESTE COD ou X2 SOMA d) TUDO SOMA f) X X +1 e) COR PRETO X

2. Quais os valores armazenados em SOMA, NOME e TUDO, supondo-se que NUM,X,COR,DIA,TESTE e COD valem, respectivamente, 5;2,5;AZUL;TERA;falso e verdadeiro? a) NOME DIA b) SOMA NUM2/X + ARREDONDA (X+1) c) TUDO no TESTE ou COD e SOMA < X 3- Considere os operadores lgicos AND/OR e os valores binrios X=00111000 e Y=11110011. Neste caso, a operao a) X AND Y resulta 00111000 b) X AND Y resulta 11111011 c) X AND Y resulta 00110000 d) X OR Y resulta 00000100 e) X OR Y resulta 00110000 5.COMANDOS DE ENTRADA E SAIDA Sabe-se que as unidades de entrada e sada so dispositivos que possibilitam a comunicao entre o usurio e o computador. Por exemplo, atravs de um teclado, o usurio consegue dar entrada ao programa e aos dados na memria do computador. Por sua vez, o computador pode emitir os resultados e outras mensagens para o usurio atravs de uma impressora ou um monitor de vdeo. Os comandos de entrada e sada so as ferramentas para esta finalidade. Um comando de entrada e sada construdo de acordo com a forma geral: Entrada leia lista-de-identificadores Onde: Leia lista-de-identificadores

uma palavra-chave; So os nomes das variveis, separados por virgula, nas quais sero armazenados os valores provenientes do meio de entrada

Sada: escreva lista-de-identificadores e/ou constantes onde: Escreva lista-de-identificadores uma palavra-chave So os nomes das variveis, cujos contedos sero mostrados ao usurio atravs de um meio de sada. Alm dos contedos das variveis, o valor de uma constante pode ser emitido diretamente.

Exemplos: 1. Supondo que NOTA e NUM so variveis do tipo numrico, o comando: leia NOTA,NUM indica que dois valores numricos sero lidos de uma unidade de entrada, quando este comando for executado. Os valores sero armazenados nas posies de memria (variveis) identificadas pelos nomes NOTA e NUM. 2. O comando: escreva A,X,35 indica que a constante 35 e mais os contedos das posies de memria, representados pelos indicadores A e X, sero exibidos em uma unidade de sada.

_________________________________________________________________________ Programao prof_rodrigues@hotmail.com

RODRIGUES ______________________________________________________________________
Exemplos: a) leis X c) escreva K,SOMA b) leia NOME,N,Y d) escreva TABELA DE PREOS

6.ESTRUTURA SEQUENCIAL Num algoritmo aparecem em primeiro lugar as declaraes seguidas por comandos que, se no houver indicado em contrrio, devero ser executados numa seqncia linear, seguido-se o texto em que esto escritos, de cima para baixo. Nesta apostila os algoritmos so iniciados com a palavra Algoritmo e terminados com a expresso fim algoritmo. Exemplo: Algoritmo Leia A,B | declare A,B,C numrico | leia A,B C (A + B) x B | C (A + B) x B | escreva A,B,C fim algoritmo Escreva A,B,C

Neste exemplo, aps serem definidos os tipos das variveis A,B,C os valores de A e B sero lidos, o valor de C calculado e os valores contidos em A, B e C sero escritos. 7. ESTRUTURA CONDICIONAL A estrutura condicional permite a escolha do grupo de aes e estruturas a ser executado quando determinadas condies, representadas p expresses lgicas, so ou no satisfeitas. Nesta apostila, esta estrutura delimitada pelo comando SE e pela expresso FIM SE. 7.1 Estrutura condicional simples: Neste caso, a seqncia de comandos s ser executada se a condio for verdadeira. Se condio | ento seqncia de comandos fim se Condio Verdadeiro Seqncia de comandos

Falso -

Exemplo: Algoritmo | declare A, B , C numrico | leia A,B,C | se A + B < C | | ento escreva MENSAGEM | fim se fim algoritmo Leia A,B,C A+B<C Verdadeiro Escreva MENSAGEM Falso -

7.2 Estrutura condicional composta: Neste caso, a seqncia A de comandos s ser executada se a condio (expresso lgica) for verdadeira e a seqncia B de comandos s ser executada se a condio for falsa.

_________________________________________________________________________ Programao prof_rodrigues@hotmail.com

RODRIGUES ______________________________________________________________________
Se condio | ento seqncia A de comandos | seno seqncia B de comandos fim se Condio Verdadeiro Seqncia A de comandos Falso Seqncia B de comandos

Exemplo: Algoritmo | declare A, B , X,Y numrico | leia A,B | se A = B | | ento X 1,5 | | Y 2,5 | | seno X -1,5 | | Y - 2,5 | fim se | escreva X,Y fim algoritmo Leia A,B A=B Verdadeiro X 1,5 Y 2,5 Escreva X,Y Falso X - 1,5 Y - 2,5

Exemplo: Fazer um algoritmo que leia trs valores inteiro, determine e imprima o menor deles: Algoritmo | defina os tipos das variveis | leia os nmeros | determine o menor nmero | escreva o menor nmero fim algoritmo Defina os tipos de variveis declare A,B,C, MENOR numrico Leia os nmeros Leia A,B,C Determine o menor numero Se A<B e A < C | ento MENOR A | seno determine o menor dentre B e C fim se Determine o menor dentre B e C

_________________________________________________________________________ Programao prof_rodrigues@hotmail.com

RODRIGUES ______________________________________________________________________
Se | | fim B<C ento MENOR B seno MENOR C se

Escreva o menor numero Escreva MENOR Algoritmo | {defina os tipos das variveis} | declare A,B,C, MENOR numrico | {leia os nmeros} | leia A,B,C | {determine o menor nmero} | se A<B e A < C | | ento MENOR A | | seno B < C | | | ento MENOR B | | | seno MENOR C | | fim se | fim se | {escreva o menor nmero} fim algoritmo Exerccio de fixao: 1. Aps a execuo do seguintes trecho de um algoritmo: Algoritmo | . | . | . | se A2 B3 | | ento TESTE verdadeiro | | seno TESTE falso | fim se | C TESTE | . | . fim algoritmo Em C estar armazenado o valor falso se, originalmente: a) A2 < B3 b) A2 B3 c) A2 B3 d) A2 > B3 e) A2 = b3 8. ESTRUTURA DE REPETIO A estrutura de repetio permite que uma seqncia de comandos seja executada repetidamente at que uma determinada condio de interrupo seja satisfeita. Nesta apostila, esta estrutura delimitada pelo comando repita e pela expresso fim repita e a interrupo feita atravs do comando interrompa. A condio de interrupo que deve ser satisfeita representada por uma expresso lgica. Em uma linguagem de programao usado os comando: -WHILE condio DO...(Enquanto CONDIO faa) -FOR valor inicial TO valor final DO (PARA...AT...DO) -DO...UNTIL condio (FAA...AT QUE condio) repita | se condio | | ento interrompa | fim se | seqncia B de comandos fim repita repita condio Verdadeiro Interrompa Falso -

Seqncia B de comandos

_________________________________________________________________________ Programao prof_rodrigues@hotmail.com

RODRIGUES 10 ______________________________________________________________________
Nesta estrutura, a seqncia B de comandos ser repetida at que a condio seja satisfeita. Exemplo: Algoritmo | declare PAR,SOMA numrico | SOMA 0 | PAR 100 | repita | | se PAR > 200 | | | ento interrompa | | fim se | | SOMA SOMA + PAR | | PAR PAR + 2 | fim repita | escreva SOMA fim algoritmo SOMA 0 PARA repita PAR > 200 Verdadeiro Interrompa PAR PAR + 2 Escreva SOMA Falso 100

SOMA SOMA + PAR

No exemplo acima, aps os tipos das variveis PAR e SOMA serem definidos, em SOMA armazenado o valor zero e em PAR, o valor 100. Em seguida, o conjunto de comandos que gera os nmeros pares e efetua a soma deles repetido at que o valor armazenado em PAR seja maior do que 200, quando, ento, a estrutura de repetio interrompida e o comando, que vem logo aps a expresso fim repita, executada, ou seja, o valor contido em SOMA escrito. 8.1-Interrupo no Interior: Nesta estrutura as seqncias A e B de comandos sero repetidos at que a condio seja satisfeita. Quando isto ocorrer, a repetio interrompida e a seqncia de comandos que vier logo aps a expresso fim repita passa a ser executada. repita | seqncia A de comandos | se condio | | ento interrompa | fim se | seqncia B de comandos fim repita repita Seqncia A de comandos condio Verdadeiro Falso

_________________________________________________________________________ Programao prof_rodrigues@hotmail.com

RODRIGUES 11 ______________________________________________________________________
Interrompa Seqncia B de comandos Exemplo: Algoritmo | declare PAR,SOMA numrico | SOMA 0 | PAR 98 | repita | | PAR PAR + 2 | | se PAR > 200 | | | ento interrompa | | fim se | | SOMA SOMA + PAR | fim repita | escreva SOMA fim algoritmo Neste algoritmo, aps os tipos das variveis PAR e SOMA serem definidos, em SOMA armazenado o valor 0 e em PAR, o valor 98. Em seguida, os comandos que geram os nmeros pares e o que calcula a soma deles so repetidos at que o valor armazenado em PAR seja maior que 200, quando, ento a estrutura de repetio interrompida e o comando que vem logo aps a expresso fim repita executado, ou seja, o valor contido em SOMA escrito.

SOMA 0 PAR 98 repita PAR PAR + 2 PAR > 200 Verdadeiro Interrompa Escreva SOMA 8.3-Interrupo no fim: Nesta estrutura, a seqncia A de comando ser repetida at que a condio seja feita. Quando isto ocorrer, a repetio interrompida e a seqncia de comandos que vier logo aps a expresso fim repita passa a ser executada. repita | seqncia A de comandos | se condio | | ento interrompa | fim se fim repita repita Seqncia A de comandos condio Verdadeiro Interrompa Exemplo: Algoritmo | declare PAR,SOMA numrico | SOMA 0 | PAR 100 Falso Falso -

SOMA SOMA + PAR

_________________________________________________________________________ Programao prof_rodrigues@hotmail.com

RODRIGUES 12 ______________________________________________________________________
| repita | | SOMA SOMA + PAR | | PAR PAR + 2 | | se PAR > 200 | | | ento interrompa | | fim se | fim repita | escreva SOMA fim algoritmo Neste exemplo, aps o tipo das variveis PAR e SOMA ser definido, em SOMA armazenado o valor zero e em PAR, o valor 100. Em seguida, o conjunto de comandos que gera os nmeros pares e efetua a soma deles repetido at que o valor armazenado em PAR seja maior do que 200, quando, ento, a estrutura de repetio interrompida e o comando que vem logo aps a expresso fim repita executado, ou seja, o valor contido em SOMA escrito. Exerccio de Fixao: 1. Executando o seguinte algoritmo e em seguida, informe que valores sero escritos. Algoritmo | declare N,QUADRADO numrico | N 10 | repita | | QUADRADO N 2 | | escreva QUADRADO | | se N = 1 | | | ento interrompa | | fim se | | NN-1 | fim repita fim algoritmo 2.Executando o seguinte algoritmo que valores sero escritos? Algoritmo | declare A,Q,TERMO numrico | A 1 | Q 3 | TERMO A | repita | | se TERMO 2000 | | | ento interrompa | | fim se | | escreva TERMO | | TERMO TERMO x Q | fim repita fim algoritmo 8.4-Comandos de Programao: Veremos agora alguns exemplos de Estrutura de Repetio, usando alguns comandos de programao. 8.4.1 LAO WHILE: Os comandos que esto descrito em seqncia de comandos, sero executados enquanto a condio do enquanto for verdadeira. enquanto condio faa | seqncia de comandos fim do enquanto Exemplo: Algoritmo | declare X inteiro | X 2 | enquanto X 100 faa | | escreva X | | XX+2 | fim do enquanto fim algoritmo,

_________________________________________________________________________ Programao prof_rodrigues@hotmail.com

RODRIGUES 13 ______________________________________________________________________
Os comandos contidos entre o enquanto e o fim do enquanto sero realizados, seqencialmente, enquanto o valor da varivel X for menor ou igual a 100, ou seja, for verdadeiro. O comando X X + 2 quem garantir que o valor de X vai se alterar a cada execuo, se X for 20, X X + 2 vai transforma-lo em 22 e assim sucessivamente. Como o X a condio para o lao continuar sendo executado, o chamamos de varivel contadora ou simplesmente contador. Quando X for igual a 100, acontecer a ltima execuo do lao de repetio, transformar a varivel X em 102. Depois disso, o lao vai fazer mais um teste, tentando saber se X menor ou igual a 100, e, como isso no verdade, o lao no ser mais executado, partindo para o fim do programa. 8.4.2 LAO FOR: um lao de repetio que permite ao programador determinar quantas vezes o bloco de comandos ser executado. Como vimos, o comando WHILE repete-se sempre, enquanto a condio for verdadeira, pode ser que se repita uma vez, pode ser que se repita milhares de vezes (inclusive, pode at no se repetir, se a condio j for falsa quando a primeira anlise for feita), dependendo de como o programa foi escrito. No caso do FOR, o programa informa as condies de repetio no prprio comando do lao. FOR valor inicial TO valor final DO | seqncia de comandos fim do FOR Exemplo: Algoritmo | declare X,S inteiro | FOR X = 1 TO 50 faa | | SX*2 | | escreva S | fim do enquanto fim algoritmo, Uma das diferenas ente os outros laos e o FOR que, neste lao, normalmente, o incremento automtico no FOR, ou seja, o prprio lao conta X, incrementando-o em uma unidade sempre. Resumindo, no h necessidade, no meio do bloco, de inserir algo com X X + 2 para incrementar a varivel contadora, o prprio lao FOR incrementa o contador. Exemplo de um programa escrito na linguagem de programao PASCAL. Program castigo; Var X : interger; Begin For X=1 to 500 do Begin Writein (Eu vou passar na prova da receita federal) End; End for; End. 8.4.3 LAO UNTIL: No lao UNTIL s vai ser testado depois da primeira execuo do bloco de comandos. O lao vai continuar sendo executado at que a condio do UNTIL seja verdadeira, ou seja, os comandos sero executados ENQUANTO a condio for FALSA. DO | seqncia de comandos UNTIL condio Exemplo: Algoritmo | declare X inteiro | DO | | escreva X | | X X +2 | UNTIL X > 100 fim algoritmo,s O bloco de comandos s ser executado at que X seja maior que 100 (ou seja, apenas enquanto X for menor ou igual a 100). Quando X chegar a ser maior que 100, o lao para de ser executado e o resto do programa vai ser lido.

_________________________________________________________________________ Programao prof_rodrigues@hotmail.com