INTRODUÇÃO A
LINGUAGEM PASCAL Profº.: Tácito Henrique
CEMA – Centro Educacional Miguel Alves
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
ESTRUTURAS DE SELEÇÃO If then;
If then else;
Case;
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O que é uma estrutura de seleção?
• Existem situações na programação onde um determinado
programa só deverá ser executado atendendo uma
condição.
• Tipos de seleção/condição
• if then
• if then else
• case
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O comando if then
• O comando if then é uma estrutura de decisão que define se uma sequência de comandos será ou não executada.
• Sintaxe if Expressão lógica
then
begin
seqüência de comandos
end;
• A semântica deste comando é muito simples: • Se o valor da Expressão lógica for true, o sistema executará a
sequência de comandos;
• Caso contrário, o sistema não executará a sequência de comandos e a instrução após o comando if then passa a ser executada.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O comando if then Exercícios Resolvidos 1
• Problema • O programa deverá determinar o maior valor de dois números dados. Assumindo que o primeiro
valor será sempre o maior.
• O programa deverá armazenar o primeiro valor entre os números numa variável chamada Maior e depois, através de um comando if then, verificar se o maior procurado é o segundo dos números dados;
• Caso o segundo número seja maior, o conteúdo da variável Maior deve ser alterado.
{Programa para determinar o maior de dois números dados}
program MaiorDe2;
var a, b, Maior : real;
begin
writeln('Digite dois números');
readln(a, b);
Maior := a;
if (b > a)
then
Maior := b;
writeln('O maior dos números ', a, ' e ', b, ' é ', Maior);
end.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O comando if then
• Os delimitadores begin e end são opcionais quando a
sequência de comandos vinculada ao comando if then
possui um único comando
• Exemplo:
• if (b > a)
• then
• Maior = b;
• O esquecimento de delimitadores necessários,
fatalmente, trará problemas de lógica para o programa.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O comando if then Exercícios Resolvidos 2
• Considere agora a questão de se determinar o número de
anos bissextos entre dois anos dados.
• Sabe-se que um ano é bissexto se ele é múltiplo de
quatro, exceto aqueles que são múltiplos de 100, mas
não são múltiplos de 400 (por exemplo, 2012, múltiplo de
4, é bissexto; 1900, múltiplo de 100, mas não de 400, não
foi bissexto; 2000, múltiplo de 100 e de 400, foi bissexto).
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O comando if then Exercícios Resolvidos 2
{Programa para determinar o numero de anos bissextos entre dois anos}
program NumeroAnosBissextos; //IDENTIFICAÇÃO DO PROGRAMA
var Ano1, Ano2, AnBiss, Multiplos4, Multiplos100, Multiplos400 : integer; //DECLARAÇÃO DE VARIÁVEIS
Begin //INICIO DO BLOCO DO PROGRAMA
writeln('Digite os dois anos');
readln(Ano1, Ano2);
Multiplos4 := Ano2 div 4 - Ano1 div 4;
if Ano2 mod 4 = 0
then
Multiplos4 := Multiplos4 - 1;
Multiplos100 := Ano2 div 100 - Ano1 div 100;
if Ano2 mod 100 = 0
then Multiplos100 := Multiplos100 - 1;
Multiplos400 := Ano2 div 400 - Ano1 div 400;
if Ano2 mod 400 = 0
then Multiplos400 := Multiplos400 - 1;
AnBiss := Multiplos4 - Multiplos100 + Multiplos400;
writeln('Numero de anos bissextos entre os anos ', Ano1, ' e ', Ano2, ': ', AnBiss);
end.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O comando if then else
• O comando if then else é uma estrutura de decisão que decide entre duas sequências de comandos qual vai ser executada, sendo definido através da seguinte sintaxe:
if Expressão lógica
then
begin
seqüência de comandos 1;
end
else
begin
seqüência de comandos 2;
end;
• A semântica deste comando é a seguinte: se o valor de Expressão lógica for true, o sistema executará a sequência de comandos 1;
• caso contrário, o sistema executará a sequência de comandos 2.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O comando if then else Exercícios Resolvidos 1
• Se queremos um programa que verifique a paridade de um número n dado, podemos determinar o valor de Odd(n). Se este valor for true, o número é ímpar; caso contrário, o número dado é par.
{Programa para verificar a paridade de um número}
program VerificaParidade;
var n : integer;
begin
writeln('Digite um numero inteiro');
readln(n);
if Odd(n) = true
then writeln(n,' e impar')
else writeln(n,' e par');
end.
• No programa anterior, o valor de Odd(n) é um valor do tipo boolean: true ou false. Como a condição para a execução é Odd(n) = true, o comando if acima poderia ser escrito simplesmente:
if Odd(n)
then . . .
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O comando if then else Exercícios Resolvidos 2
• Para um exemplo de um programa que utiliza vários comandos
if then else aninhados, suponhamos que uma empresa decidiu
dar um aumento escalonado a seus funcionários de acordo
com a seguinte regra:
• 13% para os salários inferiores ou iguais a R$ 622,00;
• 11% para os salários situados entre R$ 623,00 e R$ 800,00
(inclusive);
• 9 % para os salários entre R$ 800,00 e R$ 1.250,00 (inclusive)
e 7% para os demais salários.
• Um programa que receba o salário atual de um funcionário e
forneça o valor do seu novo salário poderia ser o seguinte.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O comando if then else Exercícios Resolvidos 2
{Programa para atualizar salários}
program AtualizaSalarios;
var SalAtual, SalNovo, Aumento : real;
begin
writeln('Digite o valor do salário atual');
readln(SalAtual);
if SalAtual <= 622
then
Aumento := 1.13
else
if (SalAtual > 623) and (SalAtual <= 800)
then
Aumento := 1.11
else
if (SalAtual > 801) and (SalAtual <= 1250)
then
Aumento := 1.09
else
Aumento := 1.07;
SalNovo := SalAtual * Aumento;
writeln('O salário de ', SalAtual:0:2,' será reajustado para ', SalNovo:0:2);
end.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
Endentação e o ponto-e-vírgula
• O ponto-e-vírgula, na verdade, é obrigatoriamente
utilizado para delimitar áreas de programas e separar
comandos.
• Assim, ele é obrigatório entre dois comandos e
facultativo entre um comando e o delimitador end.
• Para facilitar o entendimento e a manutenção, mesmo os
ponto-e-vírgulas facultativos estão sendo colocados.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O comando case
• Os programas são feitos para executar diversas funções
e tarefas;
• Um caixa eletrônico de um banco, por exemplo, deve
oferecer ao usuário algumas opções em relação à ação
que ele pretende realizar na sua conta:
• a emissão do saldo atual,
• a emissão de um extrato,
• a realização de um saque
• ou a realização de um depósito.
• Para acessar estas opções é geralmente disponibilizado
ao usuário um menu.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O comando case
• Por exemplo, no caso do gerenciamento de um caixa eletrônico, poderíamos ter um programa que apresentasse, no início da sua execução, através de comandos de saída com mensagens, uma tela do tipo: 1. Extrato
2. Saldo
3. Saque
4. Depósito
Digite sua opção -- ____
• Quando temos um situação onde podemos executar várias opções de sequências de código e precisamos de uma estrutura que permita executar apenas a sequência escolhida, utilizamos a estrutura CASE.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O comando case
• A sintaxe do comando case é:
case Expressao of
Lista de valores 1 : sequência de comandos 1;
Lista de valores 2 : sequência de comandos 1;
Lista de valores 3 : sequência de comandos 1;
Lista de valores 4 : sequência de comandos 1;
...
Lista de valores n : sequência de comandos n;
else sequência de comandos x
end;
• Onde Expressão é uma expressão cujo valor é do tipo integer, boolean ou char (tipo ordenado);
• Listas de valores é uma lista de valores, separados por vírgulas, do tipo de dado do valor da Expressão ou uma lista de intervalos deste tipo de dado.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
O comando case {programa que gerencie um caixa eletrônico}
program GerenciaCaixaEletronico;
var Opcao : char;
begin
writeln('1. Extrato');
writeln('2. Saldo');
writeln('3. Saque');
writeln('4. Depósito');
write(' Digite sua opção -- ');
readln(Opcao);
case Opcao of
'1' : writeln('sequência de comandos para emissão de um extrato');
'2' : writeln('sequência de comandos para emissão de saldo');
'3' : writeln('sequência de comandos para realização de um saque');
'4' : writeln('sequência de comando para realização de um depósito');
else
writeln(Chr(7), 'Opcão invalida');
end
end.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
Exercícios de Fixação
• 1. Calculo de Notas Escrever um algoritmo que leia o nome e as três notas obtidas por um aluno durante o semestre. Calcular a sua média (aritmética), informar o nome e sua menção Aprovado (media >= 7), Reprovado (media <= 5) e Recuperação (media entre 5.1 a 6.9).
• 2. Intervalo Faça um algoritmo que receba um número e diga se este número está no intervalo entre 100 e 200.
• 3. Maior de 3 Escreva um programa para determinar o maior de três números dados.
• 4. Triângulos Escreva um programa para classificar um triângulo de lados de comprimentos dados em escaleno (os três lados de comprimentos diferentes), isósceles (dois lados de comprimentos iguais) ou equilátero (os três lados de comprimentos iguais).
• 5. Utilitários Escreva um programa onde o usuário poderá escolher em executar os quatro programas feitos nas questões 1 – 4.
Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
Top Related