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

Documentos relacionados
Estruturas de Controle

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

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

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

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

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

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

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

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

Estrutura de decisão

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

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

Aula 5 Controle do Fluxo de Execuçã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

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

Introdução ao Fortran 90-3

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

Programação Estruturada

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

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

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

Elementos básicos das linguagens de programação

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

Estruturas de Repetição

Lista de Exercícios 3

Português Estruturado (VISUALG) Repetição

ESTRUTURAS DE CONTROLE

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

Ciência da Computação

6) ESTRUTURA DE UM PROGRAMA

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

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

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

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

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

Estruturas de Repetição

Universidade Veiga de Almeida Algoritmos e Linguagem I

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.

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

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

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

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

COMANDOS DE REPETIÇÃO (ENQUANTO)

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

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

Aulas Anteriores. Detalhes da linguagem de programação

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

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

Linguagem Pascal. Prof. Jonatas Bastos Site:

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:

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

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

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

INFORMÁTICA APLICADA AULA 05 ALGORITMOS

Linguagem de programação: Pascal

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

Algoritmos e Programação

Exercícios. Resposta: a) var valor: real; i: integer. b)

UNIDADE 4 ESTRUTURAS DE CONTROLE

Agregado Homogêneo e Heterogêneo

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

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

ESTRUTURAS DE REPETIÇÃO

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

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

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

CAPÍTULO 3 INSTRUÇÕES BÁSICAS

Programação científica C++

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

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

ESTRUTURA CONDICIONAL E SELEÇÃO

Estrutura de Decisão - Case

Resumo 2 - Mapeamento Portugol-Pascal

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

Técnicas de Programação

FACCAT Sistemas de Informação. Estruturas de Dados

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

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

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

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

Informática Aplicada I Lista: Fluxograma

INTRODUÇÃO AO JAVA SCRIPT

Lista 13. Program Pzim ; var dez : array [ ] of real; i:integer; Begin //lê 10 valores for i:= 1 to 10 do readln(dez[i]); //calcula

Estruturas de Repetição. Vanessa Braganholo

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

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

Amanda Gondim de Oliveira

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo

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

Exercícios de Programação

Estruturas de Repetição. Leonardo Murta

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

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> condição for V; 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; 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.'); 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> condição for V; 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; 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); program testa_se_senao; 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); 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.

Prof. Yandre Maldonado - 10 Estrutura de Controle de 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; podem ser controladas por: contador; condição. Estrutura de Controle de 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; soma: integer; soma:=1+2+3+4+5; write('valor da soma: ', soma); Estrutura de Controle de 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; Esta solução pode parecer mais soma, i: integer; complicada, mas note que nela a solução é construída soma:=0; repetindo-se as seguintes i:=1; instruções: soma:=soma+i; i := i+1; soma:= soma+i; soma := soma+i; i:= i+1; i := i+1; soma:= soma+i; i := i+1; soma:= soma+i; i := i+1; soma := soma+i; write('valor da soma: ', soma); Estrutura de Controle de 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 bloco de instruções Prof. Yandre Maldonado - 15 inst1; instn; instx; Onde: condição for V; condição for F. - 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); - inst1instn (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 Solução para o problema 1: Prof. Yandre Maldonado - 16 program problema1; soma, i: integer; soma:=0; i:=1; while i<=5 do soma:=soma+i; i:=i+1; write('valor da soma: ', soma); Estrutura de Controle de Solução para o problema 2: Prof. Yandre Maldonado - 17 program problema2; soma, i: integer; soma:=0; i:=1; while i<=100000 do soma:=soma+i; i:=i+1; write('valor da soma: ', soma); Prof. Yandre Maldonado - 18 Estrutura de Controle de Faça um algoritmo para calcular o fatorial de um número dado: program fatorial; 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);

Controle de 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 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; soma, n: integer; soma:=0; read (n); while n>0 do soma:=soma+n; read(n); write('soma acumulada: ', soma);

Solução 2 - uma solução mais elegante Prof. Yandre Maldonado - 22 program soma_indeterm; 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); 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 Repita-até repeat inst1; instn; until <condição>; instx; Onde: condição for V; condição for F. - 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); - inst1instn (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.

bloco de instruções Prof. Yandre Maldonado - 25 for I := VI to VF do inst1; instn; Para-até-faça instx; Onde: - for, to e do são palavras reservadas no Pascal; - I é a iável de controle; - VI representa o valor inicial de I; - VF representa o valor final de I; - inst1instn 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 iá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; 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); program fatorial; 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); program fatorial; 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);

Prof. Yandre Maldonado - 28 Estruturas de Controle de Repetição 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; iaveis Observe que a iável soma, n: inteiro; cont não precisou ser cont: texto; inicializada antes de repita, inicio pois como o laço é soma<-0; executado pelo menos uma vez, ela receberá algum repita valor antes da condição leia(n); que a envolve ser testada. soma<-soma+n; novalinha; escreva('continuar? (s/n)'); leia(cont); ate cont='n'; novalinha; escreva('soma acumulada: ', soma); fim. 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; 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); 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; -Inst11inst1n é o bloco de instruções que serão executadas se valor for igual a valor1; -Inst21inst2n é 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; 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.');

Prof. Yandre Maldonado - 37 Estrutura de Seleção Múltipla 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; 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); 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.