Computadores
Michael A. Pontes
Estrutura de Seleção
Seleção de Múltipla Escolha: Quando um
conjunto de valores precisa ser testado e
ações diferentes são associadas a esses
valores, estamos diante de uma seleção
encadeada homogênea do tipo se-senão-se.
Como esta situação é bastante freqüente na
construção de algoritmos que dependem de
alternativas, utilizaremos uma estrutura
específica para estes casos, a seleção de
múltipla escolha.
Estrutura de Seleção
Sintaxe:
escolha X
caso V1: C1;
caso V2: C2;
caso V3: C3;
caso V4: C4;
fimescolha;
Caso o conteúdo de uma variável X seja igual ao
valor Vn, então o comando Cn será executado; caso
contrário será inspecionado até se encontrar a
igualdade ou terminarem os casos.
Estrutura de Seleção
Para que se possa declarar que vários valores podem
executar um determinado comando, agrupamos todos
esses valores em um único caso. Isto pode ser utilizado
para um intervalo (neste caso utilizar ‘..’ para separar o
valor inicial do final) ou valores específicos (neste caso
utilizar ‘,’ para separar os valores).
Para executarmos um comando que se verifica com
todos os outros valores, exceto os discriminados caso a
caso, incluímos outra situação: caso contrário.
escolha X
caso V1: C1; //C1 executará se X for igual a V1
caso V2,V3: C2; //C2 executará se X for igual a V2 ou V3
caso V4: C3; //C3 executará se X for igual a V4
caso V5..V7: C4; //C4 executará se X for igual a V5, V6 ou V7
caso contrário: C5; //C5 executará se X for diferente de
V1,V2,V3,V4 e V5
fimescolha;
Estruturas de Repetição
Na maioria das vezes utilizamos os computadores
para realizar tarefas repetitivas, e eles são muito
bons nisso. Para realizar a repetição podemos
utilizar 3 tipos de estruturas de controle:
Para
Enquanto
Repita
Estas estruturas são equivalentes entre si, isto é,
podemos resolver um mesmo problema utilizando
qualquer uma destas estruturas.
Uma estrutura de repetição determina a execução de
uma seqüência de comandos um número
determinado de vezes ou até que uma condição de
interrupção seja satisfeita.
Estruturas de Repetição
Para
A seqüência de comandos será executada um
número determinado de vezes.
Sintaxe :
para <var> de <início> até <fim> passo <n> faça
<seqüência de comandos>
fimpara;
Exemplo :
para i de 0 até 10 passo 1 faça
escreva(i);
fimpara;
Estruturas de Repetição
Para
Diagrama de Blocos do Para
Estruturas de Repetição
Para
Exercício:
Faça um algoritmo para ler o nome e a idade de
10 pessoas e retorne quantas têm mais de 35
anos.
Solução
inicio
Var int i, idade, cont; // a variável cont servirá para contar
quantos tem mais de 35.
Cadeia nome;
Cont = 0;
para i de 1 até 10 passo 1 faça // i=1 até 10 i = i+1
leia(nome,idade);
se (idade >35) então
Cont = cont + 1; // somando quantos têm 35 anos
fim_se;
fim_para;
escreva(“acima de 35 anos:”, cont);
fim
Diagrama de Blocos
Estruturas de Repetição
Enquanto
Comando enquanto ... faça
Para um número indeterminado de repetições, temos
o comando enquanto..faça.
O teste é realizado no início verificando se a
condição para a execução da seqüência de
comandos é válida.
Com este tipo de comando de repetição utilizamos
geralmente uma variável “sentinela” (flag) que
controla a repetição.
Enquanto a condição estabelecida for válida a
repetição será feita. Caso contrário a repetição será
encerrada.
Estruturas de Repetição
Enquanto
Sintaxe:
enquanto <condição> faça
< seqüência de comandos>
fimenquanto
Exemplo:
enquanto (i<10) faça
escreva(i);
i = i + 1;
fimenquanto
Estruturas de Repetição
Enquanto
Exercício:
Faça um algoritmo que crie uma variável para
servir de contador com valor inicial 1; Enquanto
o valor do contador for menor ou igual a 5, o
programa será executado.O programa irá ler
uma variável X, efetuar a potenciação do valor
de X na base 3, implicando o resultado em R,
apresentará o valor calculado contido na variável
R; Acrescentar mais 1 a variável do tipo
contador; Quando o contador for maior que 5,
encerrar o processamento do looping.
Solução
inicio
var int X, R, CONT;
CONT = 1;
enquanto (CONT < = 5) faça
leia (X);
R = pow(X,3);
escreva (R);
CONT = CONT + 1;
fim_enquanto
fim
Diagrama de Blocos
R=
POW(X,3)
Estruturas de Repetição
Repita ... até
A seqüência de comandos será executada até que a
condição seja satisfeita, note que esta seqüência
será executada sempre pelo menos uma vez. O teste
da condição é executado no fim, ou seja, após ter
sido executada a seqüência de comandos.
Sintaxe:
repita
<seq. comandos>
até <condição>;
Ao utilizarmos a estrutura de repetição “repita” , por
esta apresentar o teste de condição no final, temos
como condição de parada a negação da condição
que utilizamos na estrutura “enquanto”.
Estruturas de Repetição
Repita ... até
Exemplo - Desenvolva o algoritmo e seu
respectivo diagrama de bloco que crie
uma variável contador, leia um valor para
a variável X; Efetuar a multiplicação do
valor de X por 3, implicando o resultado
em R; Apresentar o valor calculado
contido na variável R; Acrescentar um ao
contador; Processar até que o contador
seja maior que 5.
Solução
inicio
var int X, R, CONT;
CONT=1;
repita
leia (X);
R = X * 3;
escreva (R);
CONT = CONT + 1;
até_que (CONT>5)
fim.
Diagrama de Blocos