Aula 03 estrutura de seleção

491 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
491
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
16
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula 03 estrutura de seleção

  1. 1. INTRODUÇÃO A LINGUAGEM PASCAL Profº.: Tácito Henrique tacito.graca@gmail.com CEMA – Centro Educacional Miguel Alves Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  2. 2. ESTRUTURAS DE SELEÇÃO If then; If then else; Case; Profº.: Tácito Henrique ::: Introdução a linguagem Pascal
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. 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

×