Você está na página 1de 4

Exercícios de lógica

1. Considere o seguinte problema:


Queremos calcular a média final da segunda unidade dos alunos da 6ª
Série. Os 40 alunos realizaram três provas. A primeira prova teve peso
2.0, a segunda teve peso 4.0 e a terceira, peso 4.0.

I- Antes de elaborar o algoritmo, responda as perguntas a seguir:


a) Qual o objetivo do algoritmo?
b) Quais são os dados de entrada?
c) Qual será o processamento a ser utilizado?
d) Quais serão os dados de saída?
e) Existem restrições/regras específicas do problema?

II- Agora elabore a parte de declaração de dados do algoritmo, usando


pseudocodigo. Crie variaveis e constantes.

III- Agora elabore um algoritmo para solucionar o problema, o algoritmo


pode ser em Pascal ou português estruturado.

IV - Seu algoritmo está correto? Como voce pode conferir?


Aponte os erros encontrados.

2. Corrija os erros de sintaxe e de lógica do programa abaixo e inclua


comentários.
Foi realizada uma pesquisa sobre algumas características físicas da
população de uma certa região, a qual coletou os seguintes dados
referentes a cada habitante para analise: sexo (“M” – masculino ou “F” –
feminino), cor dos olhos (“C” – castanhos; “V” – verdes; “A” – azuis),
idade e cor de cabelos ((“C” – castanhos; “L”-louros; “P” - pretos).
Faca um programa Pascal que determine e escreva:
• A maior idade dos habitantes
• A percentagem de indivíduos do sexo feminino cuja idade esta entre
18 e 35 anos, inclusive, e quetenham olhos verdes e cabelos louros.
• O final do conjunto de habitantes e’ conhecido pelo valor –1
entrado como idade.

Program Pesquisa;
Uses crt;
sexo,olhos :char
idade, maioridade, conta, total: integer
perc: real;
begin
total := 0;
conta := 0;
olhos := ‘V’;
clrscr;
writeln ('Pesquisa de Caracteristicas Fisicas na Populacao ');
write('digite a idade:');
writeln(idade);
write('digite o sexo (F/M):');
readln(sexo);
total := total + 1;
While idade do
write('digite a cor dos olhos (A:azuis/V:verdes/C:castanhos) :');
readln(olhos);
olhos = upcase(olhos);
write('digite a cor dos cabelos (L:louro/C:castanhos/P:pretos) :');
readln(cabelos);
cabelos = upcase(cabelos);
If (upcase(sexo)='F') or (olhos='V') and (cabelos='L') or
(35 <= idade >= 18) then
conta:= conta + 1;
If idade < maioridade
maioridade := idade;
else
;
write('digite a idade:');
perc := conta * 100 / total;
clrscr;
writeln('A maior idade encontrada na populacao foi de ', idade,'
anos');
writeln('Perc. mulheres de 18 a 35 anos c/ cabelos louros e olhos
verdes
=',perc:5:2,'%');
readln;
End.

Exercícios sobre a Sintaxe da Linguagem de Programação PASCAL


Indique os erros em cada um dos programas Pascal abaixo. A partir dos
erros encontrados, elabore um resumo sobre as regras de uso correto dos
componentes da linguagem Pascal.
3. Declaração de Variáveis/Constantes, Comando de Atribuição e Expressões
Program Exemplo1;
Const
valor := 90.5 ;
Var
unitario, total, qtde : integer;
nome: char;
teste: boolean;
valor : real;
Begin
qtde:= 1.5;
total:= 3;
unitario := total / qtde ;
quadrado := total ** 2;
nome:= ‘teste’;
True := false;
letra1:= ‘A’ ;
letra2:= ‘B’ ;
teste := letra1 > letra2
Valor := Valor * letra1;
End.
4. Funções do Pascal / Comandos de Entrada e Saída de Dados (com uso de
formatação)
Program Exemplo2;
Var
resp, outro: char;
num1, num2: integer;
resultado : real;
Begin
write(‘Entre os numeros para o calculo’, num1, num2);
resultado := succ num1 + sqrt num2;
write ( resp);
write (‘ Deseja ver os resultados ? (‘S’ / ‘N’)’ ) ;
readln (resp);
resp := ‘S’;
write (‘O resultado da expressao foi resultado’:6:3);
writeln(‘Deseja outro calculo ?’)
upcase(outro):= outro;
End.
3. Estrutura de Seleção (IF .....THEN ......ELSE)
Program Exemplo3;
Var
sexo, resp_carta : char;
idade, num_reserv, mulheres, num_carta, d_val, m_val, a_val :
integer;
Begin
read (sexo, idade);
If sexo='M' and idade >= '18' then
write (‘Digite o numero da carteira de reservista: ‘);
read (num_reserv);
else
mulheres:= mulheres + 1;
write (‘Possui carteira de motorista ?’);
read (resp_carta);
If resp_carta = ‘s’ or ‘S’ then
write (‘Digite o numero da carteira e a data de validade:’)
read (num_carta, d_val, m_val, a_val);
If a_val = 1996 then
write (‘Atencao ! voce deve renovar sua carteira ! ‘)
else
write (‘Voce deve tirar sua carteira para poder dirigir !’);
End.
4. Estrutura de Repetição (WHILE ..... DO)
Program Exemplo4;
Var
peso_ideal, altura : real;
sexo : char;
Begin
write (‘Entre sua altura (-1 para encerrar):’);
read (altura);
While altura <> -1 do
begin
write (‘Sexo:’);
read (sexo);
While (sexo <> ‘F’) or (sexo <> ‘f’) or
(sexo <> ‘M’) or (sexo <> ‘m’) do
write (‘erro : Digite M ou F para o sexo !’)
read (sexo);
If sexo = ‘M’ or sexo = ‘m’ then
peso_ideal := (72.7 * altura) - 58;
else
peso_ideal := (62.1 * altura) - 44.7;
write (‘Seu peso ideal eh ‘, peso_ideal );
end;
End.

Você também pode gostar