Escolar Documentos
Profissional Documentos
Cultura Documentos
Imagine a seguinte situao: queremos um programa que mostre a mdia de um aluno. At a muito simples, mas alm de calcular a mdia, queremos
Para isto, usamos a seguinte instruo: se (<condio>) entao <comandos para condio verdadeira somente> fimse ... comandos
Nos testes condicionais dos algoritmos, so utilizados os seguintes operadores: >, <, =, >=, <= e <>.
Exerccio: Ler dois valores (A e B), efetuar a soma dos valores A e B e implicar o valor da soma em X. Verificar se X maior ou igual a 10, caso sim mostre X+5, seno mostre X-7.
O segundo encadeamento pode ser tanto para uma condio verdadeira quanto uma condio falsa.
comandos se (<condio1>) entao <comandos para condio1 verdadeira> senao se (<condio2>) entao <comandos para condio2 verdadeira, porm condio1 Falsa> senao <condio1 e condio2 falsas> fimse fimse comandos
Operador Lgico: e
Tambm chamado de conjuno. Nesse caso, todas as expresses condicionais componentes de uma conjuno devem ser verdadeiras para que a expresso resultante tenha valor verdadeiro. Abaixo apresentada a tabela de deciso para o operador e:
Operador Lgico: ou
Tambm chamado de disjuno. Nesse caso quando qualquer uma das expresses componentes da disjuno for verdadeira, a expresso resultante ter valor verdadeiro. Abaixo apresentada a tabela de deciso para o operador ou:
Operador Lgico: no
Tambm chamado de negao. Nesse caso, a negao apenas inverte o valor verdade da expresso. Se x for falso, no x verdade. Abaixo apresentada a tabela de deciso para o operador no:
Em vrios momentos, na programao, se torna necessrio repetir um trecho de um programa um determinado nmero de vezes. Nesse caso, pode ser criado um lao de repetio que efetue o processamento de um determinado trecho, tantas vezes quantas forem necessrias. Os laos de repetio tambm so conhecidos por loopings.
Supondo que se queira executar um determinado trecho de um programa trs vezes (3x). Por exemplo, suponha que um programa deva ler dois valores e mostrar a mdia entre esses valores. Certamente a melhor tcnica no seria repetir simplesmente um mesmo trecho trs vezes, como mostrado abaixo:
variaveis media,n1,n2 :numerico inicio Leia (n1) Leia (n2) media := (n1+n2)/2 escreva (Mdia:, media) Leia (n1) Leia (n2) media := (n1+n2)/2 escrever (Mdia:, media) Leia (n1) Leia (n2) media := (n1+n2)/2 escreva ( Mdia:, media ) fim
A estrutura do Para/fimpara garantida, e sua sintaxe em portugus estruturado apresentada no seguinte formato:
Embora tambm possa ser utilizada quando se tem um nmero prdeterminado de repeties a executar, como no exemplo acima, essa estrutura mais indicada quando necessrio repetir um determinado trecho de programa indefinidamente. Para ilustrar, suponha que um determinado valor deva ser lido indefinidamente, at que seja digitado zero (condio de parada). Nesse caso devemos usar a estrutura Enquanto : variaveis val :numerico inicio val:= 1 enquanto val <> 0 faca escreva (Valor:) leia (val) <comandos1> fimenquanto <comandos2> fim
Nesse caso, quando for digitado 0 (zero) para val, o fluxo do programa segue at chegar no comando fimenquanto. Ao retornar na linha faa enquanto, verificado que o valor no diferente de zero e o controle do programa passa para a linha comandos2. A partir da o fluxo do programa segue normalmente. Veja abaixo como ficaria a utilizao do lao enquanto para o exerccio das 4 repeties: variaveis media,n1,n2,i :numerico inicio i:= 1 faa enquanto i <= 3 Leia (n1) Leia (n2) media := (n1+n2)/2 escrever (Mdia:, media) i:= i+1 fimenquanto fim
Usando o comando repita ... at <condio), neste caso o comando verifica a condio desejada no fim do mesmo. Veja o exemplo:
variaveis media,n1,n2,i :numerico inicio i:= 1 repita Leia (n1) Leia (n2) media := (n1+n2)/2 escreva (Mdia:, media) i:= i+1 ate i > 3 fim
Contador uma varivel de controle, inteira, que serve para controlar quantas vezes um determinado trecho de programa foi executado. Considere, por exemplo, um programa que leia 10 valores, podendo eles serem somente negativos ou positivos (desconsidere os valores nulos). A seguir, considere que o programa deva mostrar a quantidade de valores positivos digitados. Nesse caso, devemos fazer um teste a cada leitura, e, no caso do valor lido ser positivo, adicionar +1 para uma varivel tipo contador (contp=contp+1). Exerccio.: faa o algoritmo acima (ler 100 valores), mostrando no final a quantidade de nmeros negativos e positivos digitados. Acumulador uma varivel de controle, inteira, que serve para acumular valores. Considere que um programa, alm de ler 100 valores e mostrar a quantidade de nmeros positivos, deva mostrar a mdia dos valores positivos digitados. Resolva este problema.