Aula 04 – Introdução à Lógica de
Programação (Parte3)
Professor: Rodrigo Neves Figueiredo dos Santos Disciplina: Computação I
3.4.8 Esquema Genérico de Algoritmos em Pseudolinguagem
Exemplo 1:
Algoritmo em pseudolinguagem para o problema do cálculo da média final dos alunos.
Real: P1, P2, P3, P4, Media; {declaração de variáveis}
INICIO
Escreva(‘A nota da 1ª Prova é: ‘); {comandos de entrada de dados}
Leia (p1);
Escreva(‘A nota da 2ª Prova é: ‘); Leia (p2);
Escreva(‘A nota da 3ª Prova é: ‘); Leia (p3);
Escreva(‘A nota da 4ª Prova é: ‘); Leia (p4);
Media
(P1 + P2 + P3 + P4)/4; {processamento - Calculo da média}Escreva (‘ Média final = ’, Media); {saída de dados}
FIM
3.5 Estruturas de Controle: Sequencial, Condicional e de Repetição 3.5.1 Estrutura de Controle Seqüencial
Conjunto de comandos que são executados numa seqüência linear, de cima para baixo, na mesma ordem em que aparecem. Estes comandos podem aparecer em qualquer estrutura de controle, agrupados ou não por blocos.
Ao final de cada comando é obrigatório a colocação de um ponto-e-vírgula (;). Mais de um co-mando pode ser colocado por linha, mas isso não é aconselhável. Um comando pode ocupar mais de uma linha. Nesse caso, o ponto-e-vírgula só vai aparecer no final da última linha.
3.5.2 Estrutura de Controle Condicional ou de Seleção
Permite a escolha de um grupo de ações para serem executadas de acordo com a aceitação ou não de certas condições.
São testados parâmetros e, a depender de seus valores, tomamos um caminho ou outro. As condições que são testadas num Algoritmo são do tipo lógica (booleana), portanto podem ter somente dois resultados: Verdadeiro ou Falso. Assim, a seleção de ações pode seguir, no máximo, duas alternativas: uma se a condição for verdadeira e outra se a condição testada for falsa. Existem seleções mais simples e seleções compostas outras seleções.
Seleções Simples Opção 1:
Sintaxe Geral
Opção 2:
Sintaxe Geral
Seleções Compostas: Aninhamento de condições
Observação: as palavras sublinhadas na Sintaxe Geral são chamadas de “palavras reservadas” e sempre aparecem na estrutura. As palavras em itálico são indicações do tipo de expressão ou comando que devem ser usados.
Se (Media >= 5) Então
Escreva(‘O aluno foi aprovado.’); Se (Media >= 9) Então
Escreva(‘O conceito do aluno foi A.’); Senão
Se (Media >= 7,5) Então
Escreva(‘O conceito do aluno foi B.’); Senão
Se (Media >= 6) Então
Escreva(‘O conceito do aluno foi C.’); Senão
Escreva(‘O conceito do aluno foi D.’); Fim Se
Fim Se Fim Se
Senão
Escreva(‘O aluno foi reprovado.’); Fim Se
Estrutura de Repetição
Podemos ter repetições condicionais (a repetição ocorre condicionada a uma condição lógica) e incondicionais (que tem um número pré-definido de repetições).
a) Repetição Condicional: existem dois tipos distintos de Repetição Condicional. Tipo 1 - Condição testada no início da repetição.
Sintaxe Geral:
Características:
1 • Testa a condição antes da execução do bloco.
2 • Enquanto a condição for verdadeira, o bloco de comandos é executado. Assim, o bloco de comandos pode ser executado 0 ou mais vezes.
3 • Pára a execução do bloco quando a condição se tornar falsa.
Exemplo 3: Elabore um algoritmo para determinar o fatorial de N, usando o co-mando “em-quanto”, onde N é um número natural dado de entrada. Considere que: Se N > 0 então N! = 1x 2 x 3 x .... x N, mas que para N= 0 então N! = 1.
N, i, Fatorial: inteiro; INICIO
Escreva(‘Entre com o inteiro desejado para o fatorial: ‘); Leia(N);
Se (N = 0) Então Fatorial
0; Senãoi
1;Fatorial
1;Enquanto (i < > N) faça i
i + 1;Fim Enquanto Fim Se
Escreva(‘Fatorial é: ‘,Fatorial); FIM
Tipo 2 - Condição testada no final da repetição
Características:
1 • Testa a condição após da execução do bloco.
2 • Enquanto a condição for verdadeira, o bloco de comandos é executado. Assim, o bloco de comandos é executado pelo menos uma vez.
3 • Pára a execução do bloco quando a condição se tornar verdadeira (deno-minada de Condição de Parada).
Exemplo 4: Refaça o exemplo 3, usando o comando “repita”. N, i, Fatorial: inteiro;
INICIO
Escreva(‘Entre com o inteiro desejado para o fatorial: ‘); Leia(N);
Se (N = 0) Então Fatorial
0; Senãoi
1;Fatorial
1; Repitai
i + 1;Fatorial
Fatorial*i; Até (i = N)Fim Se
Escreva(‘Fatorial é: ‘,Fatorial); FIM
b) Repetição Incondicional - N.º pré-definido de repetições Sintaxe Geral:
1
Características:
2 • Repete o bloco de comandos (valor final - valor-inicial + 1) vezes
3 • Incrementa automaticamente a variável de controle cada vez que o bloco é executado (incremento “default” de 1 até alcançar o valor final)
4 • Se o valor final definido for menor que o valor inicial, o laço de repetição não é executado nenhuma vez.
5 • A variável de controle deve ser do tipo primitivo inteiro.
6 • A variável usada como controle da estrutura não pode ser modificada dentro do bloco!
Exemplo 5: Refaça o exemplo 3, usando o comando “para”. N, i, Fatorial: inteiro;
INICIO
Escreva(‘Entre com o inteiro desejado para o fatorial: ‘); Leia(N);
Se (N = 0) Então Fatorial
0; Senãoi
1;Fatorial
1;Para i = 1 até N faça Fatorial
Fatorial*i; Fim ParaFim Se