You are on page 1of 19

UNIP - Centro Universitrio de Joo Pessoa

Cincias da Computao
Algoritmos e Programao

Aula 11 Estruturas de Deciso


em Pascal
Prof. Raoni Kulesza

Estrutura de Deciso if
As estruturas de deciso (condicionais) so utilizadas
para tomar uma deciso baseada no resultado da
avaliao de uma condio de controle e seleciona
uma ou mais aes possveis (comandos) para serem
executados pelo computador.
No Pascal, existem trs tipos de estrutura de deciso: O
comando IF, que pode ser utilizado de tres formas:
simples ou composto e aninhada; e o comando CASE,
que utilizado para uma deciso seletiva

Estrutura de Deciso if
Estrutura que segue a sintaxe e as regras definidas no
comando se estudado na Unidade I.
Sintaxe:

Estrutura de Deciso com if simples

Estrutura de Deciso com if composto

Estrutura de Deciso com if aninhados

Estrutura de Deciso com if aninhados


Deve-se tomar cuidado quando da utilizao de IF's
aninhados, pois a clusula ELSE sempre relacionada
ao ltimo IF. Se, dentro de algum programa,
precisarmos contornar este fato, podemos faz-lo com
os delimitadores BEGIN e END.

Estrutura de Deciso if

Exerccio 1:
Sabendo que a idade necessria para obter
habilitao para dirigir automvel 18 anos,
escreva um programa em Pascal para ler a
idade de uma pessoa e informar se ela pode
ou no dirigir.

Estrutura de Deciso if
Exerccio 1: Resposta

Estrutura de Deciso if
Exerccio 2a:
Escreva um programa em Pascal para ler o dia, ms e
ano de nascimento de uma pessoa e imprimir a data de
nascimento. Imprima no seguinte formato:
Data do nascimento : dd/mm/aaaa
Ex. Data no nascimento : 01/04/2009
Crie tres variveis do tipo word

Estrutura de Deciso if
Exerccio 2b:
Altere o programa anterior para imprimir tambm a data
atual.
Como obter a data do sistema ??!!
Importe (atravs do uses) a biblioteca dos. . Em
Pascal, faa: uses crt, dos; Nela existe uma
rotina getDate que permite ler a data atual do
sistema. Declare 4 novas variveis do tipo word e
passe para a rotina atualizar o valor das variavis
com a data atual do sistema;
Exemplo: getDate(ano, mes, dia, dia_da_semana);
Ateno: as variveis de getDate so do tipo
word.

Estrutura de Deciso if
Exerccio 2c:
Altere o programa anterior para calcular e imprimir
tambm a idade do usurio.

Estrutura de Deciso if
Como calcular a idade ??!!
Para calcular a idade:
ano_atual ano_nascimento.
Porm em algums casos especiais a idade ser:
(ano_atual ano_nascimento) -1!
Casos especiais:
Na data atual ainda no chegamos no mes do
nascimento:
mes_atual < mes_nascimento!
Na data atual estamos no ms de nascimento,
mas no chegamos no dia do nascimento
! ! !mes_atual = mes_nascimento AND!
! ! !dia_atual < dia_nascimento!

Estrutura de Deciso if
Exerccio 2: Resposta

<

<

Estrutura de Deciso case


Vrios comandos dependem da soluo de uma
expresso. Substitui os vrios ifs aninhados.
Sintaxe:
case <expresso> of
lista_constantes: <comandos>;
lista_constantes: <comandos>;
lista_constantes: <comandos>;
else
<comandos>;
end;

expresso:
No real, no string
comandos:
Pode ser simples
ou composto
else:
opcional

Estrutura de Deciso case


Exerccio 3:
De acordo com a tabela abaixo, escreva um programa
em pascal para ler a idade de uma pessoa e informar se
ela pode ou no votar.

Estrutura de Deciso case


Exerccio 3: Resposta

Estrutura de Deciso case


Exerccio 3:
Escreva um programa que recebe dois nmeros e pede
para o usurio selecionar uma das quatro operaes: +
ou ou * ou /. O programa deve imprimir o resultado
ou avisar que a operao invlida.

Dvidas? Obrigado.
raonikulesza@gmail.com

You might also like