Estruturas de Controle

Documentos relacionados
Estruturas de Controle. Estrutura de Seleção. Estrutura de Seleção

Linguagem Computacional. Estruturas de Controle: Estruturas de Repetição. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 10. Algoritmos e Programação. Enquanto (Teste no início) Repeat (Teste no final)

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Final - Repita Até - GABARITO Professor: Danilo Giacobo

Universidade Estadual de Maringá- UEM Centro de Tecnologia - CTC Departamento de Informática - DIN Fundamentos da Computação.

Sequencial Estrutura de controlo mais simples. As instruções são executadas sequencialmente.

Subprogramação. Subprogramação. Subprogramação. A subprogramação é uma ferramenta que contribui com a tarefa de programar:

VARIÁVEIS NUMÉRICAS : integer - Números inteiros entre e real - Números reais de 11 algarismos significativos.

tipoveiculo = (bicicleta, motociclo, motorizada, automovel, autocomreb, camioneta, autocarro, camiao, reboque); veiculo : tipoveiculo;

Procedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução

PDA - Repetição. Estruturas de repetição. Slides adaptação de Deise Saccol

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.

Aula 5 Controle do Fluxo de Execução

Estrutura de decisão

LINGUAGEM DE PROGRAMAÇÃO

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Unidade VI. Técnicas de Teste de Software Teste Estrutural. Profa. Dra. Sandra Fabbri

Algoritmos - 5. Alexandre Diehl. Departamento de Física - UFPel

Introdução ao Fortran 90-3

Programação Estruturada

LISTA DE EXERCÍCIOS O que será escrito quando os algoritmos/trechos de algoritmos abaixo forem executados (fazer no papel)?

CAPÍTULO 7 - ESTRUTURAS DE CONTROLE DE ITERAÇÕES

9. Comando de repetição com variável de controle (para.. de.. até.. faça)

Estruturas de Repetição

Ciência da Computação

Português Estruturado (VISUALG) Repetição

ESTRUTURAS DE CONTROLE

Linguagem Computacional. Estruturas de Controle: Estruturas de Decisão ou de Seleção. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves

Elementos básicos das linguagens de programação

69) Acrescentar uma mensagem de VALOR INVÁLIDO no exercício [68], caso o segundo valor informado seja ZERO.

ENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

6) ESTRUTURA DE UM PROGRAMA

COMANDOS DE REPETIÇÃO (ENQUANTO, REPITA E PARA)

Universidade Veiga de Almeida Algoritmos e Linguagem I

Lista de Exercícios 3

Estruturas de Repe,ção e Manipulação de Texto

2.2.5 EXPRESSÕES - Regras para o cálculo de valores

Aulas Anteriores. Detalhes da linguagem de programação

LISTA 14 Gabarito. 1) Preparar um algoritmo para calcular a soma de 100 termos da seguinte série:

Notas de Aula de Algoritmos e Programação de Computadores

Estruturas de Repetição. João Medeiros FATERN

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

Linguagem Pascal. Prof. Jonatas Bastos Site:

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

1. Faça um algoritmo que receba dois números e exiba o resultado da sua soma. subtração, multiplicação e a divisão dos números lidos.

Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Comando REPITA (repeat) Comando REPITA (repeat)

INFORMÁTICA APLICADA AULA 05 ALGORITMOS

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior

COMANDOS DE REPETIÇÃO (ENQUANTO)

Aula 4 Oficina de Programação Algoritmos - Parte 3. Profa. Elaine Faria UFU

Linguagem de programação: Pascal

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição - GABARITO Repetição com Variável de Controle - Para Professor: Danilo Giacobo

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

ESTRUTURAS DE REPETIÇÃO

Agregado Homogêneo e Heterogêneo

Controle de Fluxo Comandos de repetição: while e do-while

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Resumo 2 - Mapeamento Portugol-Pascal

Agregado Homogêneo e Heterogêneo. Agregado Homogêneo. Agregado Homogêneo 28/11/2015

Estrutura de Decisão - Case

... contador = contador + 1; //contador++; ... <fim_da_estrutura_de_repetição> soma = 0; <estrutura_de_repetição_com_variável_x> soma = soma + x;

CAPÍTULO 3 INSTRUÇÕES BÁSICAS

A resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?

Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição Condicionais

Algoritmos e Programação

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;

Estruturas de Repetição

UNIDADE 4 ESTRUTURAS DE CONTROLE

INTRODUÇÃO AO JAVA SCRIPT

Linguagem de Programação Java Terceira aula. Prof. Rogério Albuquerque de Almeida

Linguagem de Programação Pascal - Introdução

Linguagem e Técnicas em Programação. Gilson de Souza Carvalho

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Amanda Gondim de Oliveira

Algoritmos e Técnicas - Estruturas de Controle de Fluxo Laboratório

Exemplo 1.1: Algoritmo para encontrar a quantidade de números informados maior que 50, considerando que serão informados 20 números.

Introdução à Ciência da Computação

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Estruturas de Controle de Fluxo Estruturas de Seleção. Givanaldo Rocha

ESTRUTURAS DE REPETIÇÃO - PARTE 1

Programação científica C++

Algoritmos e Programação (While Do While - Do) Prof. Me. Adelson Felipe Dias Nogueira

Aquecimento. program math2 integer:: x,num1 write(*,*)"digite dois números read(*,*) x,num1 write(*,*)"a soma é",x+y end program math2

ESTRUTURA CONDICIONAL E SELEÇÃO

Introdução à Ciência da Computação

FACCAT Sistemas de Informação. Estruturas de Dados

Linguagem de Programação

No segundo caso, se a condição for verdadeira é executado o bloco-instruções1

Técnicas de Programação

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

Informática Aplicada I Lista: Fluxograma

Estruturas de Decisão

Estruturas de Repetição. Vanessa Braganholo

ESTRUTURAS DE REPETIÇÃO - PARTE 3

Transcrição:

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Prof. Yandre Maldonado - 1 Estruturas de Controle Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br

Estrutura de Seleção Prof. Yandre Maldonado - 2 Existem situações em que a execução de um programa pode seguir caminhos alternativos; Na solução de alguns problemas há mais de um caminho possível de ser seguido para se obter a solução correta; Exemplos: ax 2 +bx+c=0, e se <0; Cálculo de IRRF Salário < R$ 1000,00 isento; Salário entre R$ 1000,00 e 2000,00 10%; Sálário entre R$ 2000,00 e 3000,00 20%; Salário acima de R$ 3000,00 30%.

Estrutura de Seleção Prof. Yandre Maldonado - 3 Os possíveis caminhos devem estar fundamentados em alguma lógica; É dever de quem escreve o algoritmo, dar condições para que o caminho percorrido seja o adequado à solução do problema; Não se pode construir soluções parciais, que não atendam todos os casos possíveis;

Estrutura de Seleção Prof. Yandre Maldonado - 4 Estrutura se então: Permite determinar se um conjunto de instruções deve ser executado ou não; Sintaxe e semântica geral desta instrução em Pascal:... if <condição> then <Inst1>... <InstN>... Fluxo seguido se a condição for V; Fluxo seguido se a condição for F. Onde: -if e then são palavras reservadas de Pascal; -<condição> deve ser uma expressão que produza valor lógico (v ou f); -<Inst1> a <InstN> formam o bloco de instruções que serão executados ou não, de acordo com o valor da condição.

Estrutura de Seleção Prof. Yandre Maldonado - 5 Exemplo em Pascal: Dados dois valores inteiros, x e y fornecidos pelo usuário, descubra e informe qual dos dois é o maior. program testa_se; var x, y: integer; write ('Digite um valor para x: '); read (x); write ('Digite um valor para y: '); read (y); if x>y then write ('X e maior do que Y.'); if x<y then write ('X e menor do que Y.'); if x=y then write ('X e igual a Y.'); end.

Estrutura de Seleção Prof. Yandre Maldonado - 6 Estrutura se então senão: Permite fazer a escolha entre dois blocos de instruções alternativos, mutuamente exclusivos; Esta estrutura não aumenta o poder de programação em relação a estrutura se então, mas tende a facilitar a tarefa de programação; Sintaxe e semântica geral desta instrução;

Estrutura de Seleção Prof. Yandre Maldonado - 7 Estrutura se então senão: Permite determinar se um conjunto de instruções deve ser executado ou não; Sintaxe e semântica geral desta instrução em Pascal:... if <condição> then <Bloco1> end else <Bloco2>... Fluxo seguido se a condição for V; Fluxo seguido se a condição for F. Onde: -if then e else são palavras reservadas de Pascal; -<condição> deve ser uma expressão que produza valor lógico (v ou f); -<Bloco1> e <Bloco2> formam o bloco de instruções que serão executados ou não, de acordo com o valor da condição.

Exemplo: dados dois números quaisquer diferentes entre si, faça um algoritmo que descubra qual é o maior deles. Prof. Yandre Maldonado - 8 program testa_se; var x, y, maior: real; write ('Digite um valor para x: '); read (x); write ('Digite um valor para y: '); read (y); if x>y then maior:=x; if y>x then maior:=y; write ('Maior numero: ', maior); end. program testa_se_senao; var x, y, maior: real; write ('Digite um valor para x: '); read (x); write ('Digite um valor para y: '); read (y); if x>y then maior:=x else maior:=y; write ('Maior numero: ', maior); end.

Estrutura de Seleção Prof. Yandre Maldonado - 9 Exercícios Faça o exercício do cálculo de IRRF utilizando a estrutura se então senão sem o uso de operadores lógicos (AND e OR). Dados três números inteiros e diferentes entre si, faça um algoritmo que descubra qual é o maior e o menor entre eles. Dado um par de coordenada cartesiana (x, y), faça um algoritmo que determine em qual quadrante, ou sobre qual eixo está o par.

Estrutura de Controle de Repetições Prof. Yandre Maldonado - 10 São necessárias quando se tem que repetir uma determinada instrução, que represente um comportamento padrão, várias vezes; Com estas estruturas, escreve-se a instrução uma única vez, e ela pode ser executada várias vezes; Repetições podem ser controladas por: contador; condição.

Estrutura de Controle de Repetições Prof. Yandre Maldonado - 11 Problema 1: faça um algoritmo que calcule a soma de todos os números inteiros compreendidos entre 1 e 5, inclusive. program soma1; var soma: integer; soma:=1+2+3+4+5; write('valor da soma: ', soma); end.

Estrutura de Controle de Repetições Prof. Yandre Maldonado - 12 Problema 2: faça um algoritmo que calcule a soma de todos os números inteiros compreendidos entre 1 e 100.000, inclusive. O padrão para a solução do problema seria o mesmo, mas o trabalho para a construção da expressão aritmética não. Vamos escrever uma nova solução, que resolve o problema 1 repetindo uma mesma instrução e utilizando os objetos: soma: acumula o resultado da soma obtida entre os números do intervalo; i: tem a função de gerar os números pertencentes ao intervalo.

Prof. Yandre Maldonado - 13 program soma2; var soma, i: integer; soma:=0; i:=1; soma:=soma+i; i := i+1; soma := soma+i; i := i+1; soma:= soma+i; i := i+1; soma:= soma+i; i := i+1; soma := soma+i; write('valor da soma: ', soma); end. Esta solução pode parecer mais complicada, mas note que nela a solução é construída repetindo-se as seguintes instruções: soma:= soma+i; i:= i+1;

Estrutura de Controle de Repetições Prof. Yandre Maldonado - 14 Assim, a solução do problema 2 poderia ser descrita através da repetição destas duas instruções cerca de 100.000 vezes; As estruturas de controle de repetições são estruturas que permitem a repetição da execução um bloco de instruções, de acordo com determinadas condições, mesmo escrevendo-o uma única vez; Sintaxe e semântica de uma estrutura de controle de repetições;

while <condição> do Prof. Yandre Maldonado - 15 bloco de instruções inst1;... instn; instx; Fluxo seguido se a condição for V; Fluxo seguido se a condição for F. Onde: - enquanto faça é a estrutura de controle de repetições; - condição deve ser um valor lógico (objeto tipo lógico, expressão booleana, ou expressão relacional); - inst1...instn (bloco 1) formam o conjunto (bloco) de instruções que serão executadas a cada vez que a condição for V; Após a primeira execução do bloco de instruções, o valor de condição é reavaliado, e enquanto o seu valor continuar verdadeiro, o bloco será executado novamente. Quando a condição deixar de ser V, o bloco será ignorado. Note que se na primeira execução a condição for F, o bloco não será executado nenhuma vez.

Estrutura de Controle de Repetições Solução para o problema 1: Prof. Yandre Maldonado - 16 program problema1; var soma, i: integer; soma:=0; i:=1; while i<=5 do soma:=soma+i; i:=i+1; write('valor da soma: ', soma); end.

Estrutura de Controle de Repetições Solução para o problema 2: Prof. Yandre Maldonado - 17 program problema2; var soma, i: integer; soma:=0; i:=1; while i<=100000 do soma:=soma+i; i:=i+1; write('valor da soma: ', soma); end.

Estrutura de Controle de Repetições Faça um algoritmo para calcular o fatorial de um número dado: Prof. Yandre Maldonado - 18 program fatorial; var fat, i, n: integer; fat:=1; i:=1; read (n); while i<=n do fat:=fat*i; i:=i+1; write('fatorial do numero: ', fat); end.

Controle de Repetições por condição Prof. Yandre Maldonado - 19 Sintaxe e semântica idênticas; Quando o controle é por contador, a interrupção é prevista no instante em que é iniciada a execução da estrutura de controle de repetições; É imprescindível que haja uma instrução dentro do bloco de instruções que permita a alteração do valor lógico da condição;

Controle de Repetições por condição Prof. Yandre Maldonado - 20 Exemplo 1: faça um algoritmo para calcular a soma entre os números de um conjunto de números inteiros e positivos a ser fornecido pelo usuário. Note que neste caso não se sabe em momento algum quantos serão os números, o usuário deverá inserí-los até que se dê por satisfeito.

Solução 1 Prof. Yandre Maldonado - 21 program soma_indeterm; var soma, n: integer; soma:=0; read (n); while n>0 do soma:=soma+n; read(n); write('soma acumulada: ', soma); end.

Solução 2 - uma solução mais elegante Prof. Yandre Maldonado - 22 program soma_indeterm; var soma, n: integer; cont: char; soma:=0; cont:='s'; while cont='s' do write('digite um numero: '); readln(n); soma:=soma+n; write('continuar? (s/n)'); readln(cont); write('soma acumulada: ', soma); end. Observe que o objetivo é criar uma condição de parada que permita encerrar as repetições no momento adequado.

Exercícios Prof. Yandre Maldonado - 23 Faça um algoritmo que calcule a soma entre todos os valores inteiros presentes em um intervalo determinado por dois valores fornecidos pelo usuário; Faça um algoritmo que calcule a média entre os números de um conjunto fornecido pelo usuário.

Prof. Yandre Maldonado - 24 bloco de instruções Outras Estruturas de Controle de Repetições repeat inst1;... instn; until <condição>; instx; Repita-até Fluxo seguido se a condição for V; Fluxo seguido se a condição for F. Onde: - repeat e until é a estrutura de controle de repetições; - condição deve ser um valor lógico (objeto tipo lógico, expressão booleana, ou expressão relacional); - inst1...instn (bloco 1) formam o conjunto (bloco) de instruções que terão a execução repetida a cada vez que a condição for F; Após a primeira execução do bloco de instruções, o valor de condição é avaliado, e se o seu valor for falso, o bloco será executado novamente. Quando a condição deixar de ser F, é encerrada a execução da estrutura e a execução do algoritmo continua (instx). Note que nesta estrutura o bloco de instruções será executado sempre pelo menos uma vez.

for I := VI to VF do Prof. Yandre Maldonado - 25 bloco de instruções inst1;... instn; instx; Onde: - for, to e do são palavras reservadas no Pascal; - I é a variável de controle; - VI representa o valor inicial de I; - VF representa o valor final de I; Para-até-faça - inst1...instn são as instruções que poderão ser executadas várias vezes. Inicialmente I recebe o valor de VI, se este valor for menor ou igual a VF, o bloco é executado uma vez e I é incrementada em VP (isto é I:= I + VP). Depois disto, se I continuar menor ou igual a VF, o bloco é executado novamente e I é incrementada em VP. Isto se repete até que I receba um valor que seja maior que VF, quando isto acontecer o bloco não mais será executado, e a execução passa para instx.

Prof. Yandre Maldonado - 26 Estruturas de Controle de Repetição Aspectos sobre para-até-passo-faça: Nesta estrutura o valor de passo (VP) pode ser ignorado, assim a variável de controle (I) é sempre incrementada em uma unidade (I := I + 1); Esta estrutura só pode ser utilizada em repetições controladas por um contador. Isto é, aquelas repetições que sabemos o número de vezes que acontecerá quando iniciamos sua execução

Exemplo 1 : Fatorial de um número dado. Enquanto-faça Para-ate-faça Repita-até Prof. Yandre Maldonado - 27 program fatorial; var n, i, fat: integer; write ('Informe o valor de n: '); readln (n); fat:=1; i:=1; while i<=n do fat:=fat*i; i:=i+1; write ('Fatorial: ',fat); end. program fatorial; var n, i, fat: integer; write ('Informe o valor de n: '); readln (n); fat:=1; for i:=1 to n do fat:=fat*i; write ('Fatorial: ',fat); end. program fatorial; var n, i, fat: integer; write ('Informe o valor de n: '); readln (n); fat:=1; i:=1; repeat fat:=fat*i; i:=i+1; until i>n; write ('Fatorial: ',fat); end.

Estruturas de Controle de Repetição Prof. Yandre Maldonado - 28 Exercício: Refaça um algoritmo para calcular a soma entre os números de um conjunto de números inteiros e positivos a ser fornecido pelo usuário. Faça uma solução utilizando a estrutura repitaaté e uma solução utilizando a estrutura paraaté-passo-faça. Se não for possível a solução através do uso de uma das instruções, justifique. Lembre-se que este é o caso em que não se sabe em momento algum quantos serão os números, o usuário deverá inserí-los até que se dê por satisfeito.

Prof. Yandre Maldonado - 29 Solução 1 - repita-até algoritmo soma_indeterm; variaveis soma, n: inteiro; cont: texto; inicio soma<-0; repita leia(n); soma<-soma+n; novalinha; escreva('continuar? (s/n)'); leia(cont); ate cont='n'; novalinha; escreva('soma acumulada: ', soma); fim. Observe que a variável cont não precisou ser inicializada antes de repita, pois como o laço é executado pelo menos uma vez, ela receberá algum valor antes da condição que a envolve ser testada.

Estruturas de Controle de Repetição Prof. Yandre Maldonado - 30 Solução 2 - para-até-passo-faça: Solução impossível, pois não se sabe quantas vezes a execução do bloco de instruções será repetida no instante em que ela começar. Assim, não se pode controlar a repetição por um contador e o uso de paraaté-passo-faça se torna impossível.

Prof. Yandre Maldonado - 31 Combinando Estruturas de Repetição e Seleção Foi feita uma pesquisa em uma universidade entre os acadêmicos matriculados na instituição. Todos os acadêmicos que estavam presentes no dia da pesquisa, preencheram ao seguinte questionário: Sexo? (M- masculino; F- feminino): Idade? (em anos): Gosta do curso que está fazendo? (S- sim; N- não): O número de pessoas que responderam ao questionário é indeterminado. Faça um algoritmo que seja capaz de calcular e informar: a) o número de homens entrevistados; b) o número de mulheres entrevistadas; c) o percentual de mulheres entre todos os entrevistados; d) quantos homens com menos de 23 anos não gostam do curso que estão fazendo.

Prof. Yandre Maldonado - 32 program entrevista; var idade, nh, nm, hm23: integer; sexo, gosta, cont: char; pm: real; nh:=0; nm := 0; hm23 := 0; repeat write ('Digite o sexo do entrevistado: '); readln(sexo); write ('Digite a idade do entrevistado: '); readln(idade); write ('O entrevistado gosta do curso que faz? (s/n)'); readln(gosta); if sexo = 'f' then nm:=nm+1 else nh:=nh+1; if (idade<23) and (gosta='n') then hm23:=hm23+1; write ('Deseja continuar? (s/n)'); readln(cont); until cont='n'; pm:=(nm/(nh+nm))*100; writeln('numero de homens entrevistados: ', nh); writeln('numero de mulheres entrevistadas: ', nm); writeln('percentual de mulheres entre os entrevistados: ', pm, '%'); writeln('numero de homens com menos de 23 que nao gostam do curso: ', hm23); end.

Prof. Yandre Maldonado - 33 Combinando Estruturas de Repetição e Seleção Exercícios 1. Durante uma semana (sete dias), foram colhidas as temperaturas médias diárias de uma determinada região em graus celsius. Faça um algoritmo que calcule e informe a temperatura média da semana, e a temperatura mais alta da semana. Na solução deve ser utilizada uma estrutura de controle de repetição. 2. Refaça o algoritmo anterior, considerando um número indeterminado de dias. 3. Faça um algoritmo que, recebendo 4 notas bimestrais de um número indeterminado de alunos, calcule e informe a média anual da turma, e a média anual de aluno mais alta. Considere pesos 1, 2, 3 e 4 para as quatro notas bimestrais que forem inseridas.

Estrutura de Seleção Múltipla Prof. Yandre Maldonado - 34 Esta é uma estrutura que permite que seja executado um único conjunto de instruções, entre vários, de acordo com o valor de um objeto; Esta estrutura pode substituir a ocorrência de várias estruturas SE-ENTÃO ou SE- ENTÃO-SENÃO;

Prof. Yandre Maldonado - 35 Sintaxe e Semântica da Estrutura case valor of valor1: valor2: valor3: inst11;... inst1n; inst21;... inst2n; inst31;... inst3n; Onde: - Valor é um objeto ou uma constante do tipo inteiro ou caractere; -Inst11...inst1n é o bloco de instruções que serão executadas se valor for igual a valor1; -Inst21...inst2n é o bloco de instruções que serão executadas se valor for igual a valor2;...

Estrutura de Seleção Múltipla Prof. Yandre Maldonado - 36 Exemplo: program testa_caso; var op: char; write ('Digite uma opcao (1, 2, 3 ou 4): '); readln (op); case op of '1': writeln ('1 - Voce escolheu a opcao um.'); '2': writeln ('2 - Voce escolheu a opcao dois.'); '3': writeln ('3 - Voce escolheu a opcao tres.'); '4': writeln ('4 - Voce escolheu a opcao quatro.'); else write('opcao invalida.'); end.

Estrutura de Seleção Múltipla Prof. Yandre Maldonado - 37 Faça um algoritmo para calcular o valor total a pagar por um consumidor que abasteceu seu carro, sabendo que serão informados o tipo de combustível escolhido (G/A/D) e o número de litros consumido. Considere os seguintes preços por litro de combustível: Gasolina R$ 1,20; Álcool R$ 0,70; Diesel R$ 0,60.

Solução Prof. Yandre Maldonado - 38 program testa_caso; var litros, total: real; tipo: char; write ('Digite a quantidade de litros: '); readln (litros); write ('Digite o tipo de combustivel: '); readln (tipo); case tipo of 'a': total:=0.7*litros; 'd': total:=0.6*litros; 'g': total:=1.2*litros; write ('Total a pagar: ', total); end.

Estrutura de Seleção Múltipla Prof. Yandre Maldonado - 39 Faça um algoritmo que calcule e informe o valor total do salário mensal de um vendedor de carros, sabendo que o mesmo ganha um salário fixo de R$ 800,00 e mais comissão. A comissão é igual a 3% se ele vender até 3 carros no mês; 5% se vender entre 4 e 6 carros; e 7% se vender entre 7 e 10 carros; e 10% se vender além de 10 carros. Suponha que todos os carros vendidos custem R$ 10.000,00 e que será informado o número de carros vendidos no mês pelo vendedor.