Estrutura IF
A estrutura de controle condicional IF executa trechos finitos de um programa se for satisfeita uma ou mais condições. No Pascal, a estrutura IF equivale à estrutura SE do Portugol.
Quando temos apenas uma instrução, utilizamos a estrutura IF sem o BEGIN/END. Quando temos mais de uma instrução dentro da estrutura IF, usamos o BEGIN/END.
Exemplo 1 : Escreva um programa em Pascal que verifique qual é o maior número de três números A,B e C.
program acha_maior;
uses crt;
var
A, B, C : Integer;
begin
write('Digite o valor de A : '); readln (A);
write('Digite o valor de B : '); readln (B);
write('Digite o valor de C : '); readln (C);
if ((A>B) and (A>C)) then
writeln('A é o maior')
else
if (B>C) then
writeln ('B é o maior')
else
writeln('C é o maior') ;
end.
Exemplo 2 : Faça um programa que exiba nome e e-mail de um aluno se a sua idade for maior que 16 anos;
Program Exibe_aluno;
Uses crt;
Var
nome , e_mail : string[30];
Idade : integer;
Begin
Write (' Nome :’); Readln(nome);
Write (‘E-mail :’); Readln(e_mail);
Write (‘Idade : ‘); Readln(idade);
If idade >16 then
Begin
Writeln(nome);
Writeln(e_mail);
End;
End;
Estrutura WHILE
É uma estrutura de controle que mantém uma repetição enquanto uma condição for verdadeira. É equivalente à estrutura de controle de repetição ENQUANTO do Portugol.
Exemplo : Faça um programa em Pascal que leia os votos para prefeito e para vereador enquanto o horário for diferente de 17 horas.No final, o programa deverá exibir o número total de eleitores que vieram votar.
program eleicao;
uses crt;
var
numprefeito,numvereador : Integer;
numvotos, horario : integer;
{ o horario só pode ter valores como : 0, 1 2, 3, 4... 17, 23}
begin
numvotos:=0;
while horario<17 do
begin
write('Prefeito : '); readln (numprefeito);
write('Vereador : '); readln (numvereador);
numvotos:=numvotos + 1;
writeln ('FIM!!!');
writeln;
write('Qual é o horário???'); readln(horario);
end;
write ('O número total de eleitores que vieram votar é :');
writeln(numvotos);
end.
Estrutura de controle de repetição
REPEAT
A estrutura REPEAT mantém uma repetição de instruções até que uma condição seja satisfeita. É equivalente à estrutura REPITA do Portugol.
Exemplo : Faça um programa que ache o maior número entre vários números lidos. O programa deverá ficar lendo números até que seja digitado ‘N’ para a pergunta : Deseja Continuar?
program Acha_maiordetodos;
uses crt;
var
num, maior : Integer;
resposta : char;
begin
maior:=0;
repeat
write ('Numero:'); readln(num);
if (num>maior) then
maior:=num;
write ('Deseja Continuar(s/n) :' ); readln(resposta);
until (resposta='n') or (resposta='N');
Write(' o maior número lido foi : ');
write (maior);
end.
Estrutura de controle de repetição FOR
A estrutura FOR mantém uma repetição de instruções por determinado número de vezes. È equivalente à Estrutura PARA do Portugol.
Exemplo : Faça um programa que leia a nota final de dez alunos da CONTEC e, ao final, exiba a maior e a menor nota da turma.
program Acha_maior_menor;
uses crt;
var
nota, menor, maior : real;
i : integer;
begin
maior:=0;
menor :=100;
for i:=1 to 10 do
begin
write ('Nota:'); readln(nota);
if (nota>maior) then
maior:=nota;
If (nota<menor) then
menor := nota;
end;
Write(' A maior nota foi : ');
writeln (maior:4:2);
Write(' A menor nota foi : ');
writeln (menor:4:2);
end.
Vetores
Um vetor é um conjunto enumerável e indexado de informações do mesmo tipo.
Um vetor deverá ter um tamanho, um tipo, um limite inferior e um limite superior.
Quando declaramos uma variável como vetor, isto é , como ARRAY (em Pascal), estamos dizendo ao programa para armazenar um espaço na memória para armazenar uma quantidade finita de informações do mesmo tipo.
São exemplo de Vetores:
| 2 | 3 |5 |10 |8 7|2 | - Vetor do tipo INTEGER e de tamanho 6.
|True | False | True | False | True | True | - Vetor do tipo Boolean e de tamanho 6.
|8.7 |8.2 |7.7 |9.3 |8.1 |8.3 |5.7 | - Vetor do tipo Real e de tamanho 7.
Para termos acesso às informações de um vetor, precisamos ter um índice, que indica a posição de uma informação em um vetor.
Exemplo : Dado o vetor A : | 2 | 7 |6 |5 |4 |2 |1 |, podemos acessar seus elementos atribuindo valores a um índice.
A[1] = 2
A[4] = 5
A[6] = 2
Preenchendo (lendo) e exibindo um vetor do tipo Integer em Pascal
O Programa a seguir coloca dez valores em um vetor e, em seguida, exibe esses valores.
program Le_exibe_vetor;
uses crt;
var
vet_int : array[1..10] of Integer; {vetor de 10 posições que armazena numeros inteiros}
i : integer; {índice de um vetor}
begin
for i:=1 to 10 do
begin
Write ('Valor ', i, ' ');
readln(vet_int[i]); {Le informação da posição i do vetor vet_int}
end;
Writeln (' Os elementos lidos foram : ');
for i:=1 to 10 do
begin
writeln(vet_int[i]); {Exibe informação da posição i do vetor vet_int}
end;
end.
Acessando informações em um vetor através do índice
No programa a seguir, o usuário fará pesquisas em um vetor preenchido com dez valores inteiros. O usuário digitará um índice e o programa exibirá o que há dentro da posição indicada. O usuário poderá fazer várias tentativas. Quando quiser parar, deverá digitar 0 no valor do índice que está sendo lido pelo programa.
program Procura_por_indice;
uses crt;
var
vet_int : array[1..10] of Integer; {vetor de 10 posições que armazena numeros inteiros}
i : integer; {índice de um vetor}
begin
for i:=1 to 10 do
begin
Write ('Valor ', i, ' ');
readln(vet_int[i]); {Le informação da posição i do vetor vet_int}
end;
while (i<>0) do
begin
write ('Digite um indice(1 a 10) para pesquisa: '); {pede ao um suário indice}
readln(i); {Le o valor do Índice}
if (i>0) and (i<=10) then
writeln('Conteúdo da posição ', i, ' vale : ', vet_int[i])
else
if i=0 then
writeln ('Sai do programa!!!')
else
writeln('Valor não válido!!!!'); {Se i <0 ou i>10}
end;
end.
Exercícios - Desafios
1) Faça o OU lógico de todos os elementos de um vetor do tipo lógico.
Dicas:
a) Preencha o vetor com valores lógicos FALSO ou VERDADEIRO.
b) Crie uma variável do tipo lógica para acumular o OU lógico.
2) Escreva um programa que identifique o maior valor dentro de um vetor de 20 elementos do tipo real.
3) Escreva um programa que simule as eleições para prefeito. O programa deve ler os votos dos eleitores até às 17h. Ao final, conte e exiba o número de votos do candidato 1, do candidato 2 e do candidato 3.
4) Escreva um programa que armazene várias letras em um vetor. Em seguida, peça ao usuário o valor de duas posições. Faça a troca dos elementos dessas posições e, em seguida, exiba o vetor com essas alterações.
Nenhum comentário:
Postar um comentário