Prévia do material em texto
Comandos condicionais compostos
(pseudocódigo)
Apresentação
Nesta Unidade de Aprendizagem, estudaremos a solução de problemas através da utilização de
estruturas condicionais compostas e encadeadas no desenvolvimento de algoritmos em forma de
pseudocódigo. Estudaremos, também, sua estrutura básica e a análise de aplicações práticas
utilizando a ferramenta VisuAlg.
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Analisar algoritmos com estruturas condicionais compostas e encadeadas em pseudocódigo.•
Identificar problemas que necessitam de comandos condicionais compostos para a solução.•
Desenvolver algoritmos em pseudocódigo que necessitam de comandos condicionais
compostos e encadeados para a solução.
•
Desafio
Uma empresa do ramo metalmecânico está realizando uma pesquisa junto a transportadoras para
verificar o preço do transporte de seus produtos que serão entregues a seus clientes em outros
estados. Ao final da pesquisa, foi selecionada uma transportadora, com a qual foi fechado o
transporte dos produtos.
O cliente pode selecionar se quer a sua entrega com rastreamento ou não. Assim, deverá ser feita
uma pergunta ao cliente. Deseja rastreamento (S-Sim e N-Não)? Se a resposta for “sim”, será
cobrada uma taxa de R$ 200,00 pela carga.
Cálculo do frete (calcular o valor pelo número de peças transportadas):
• Três variáveis influenciam o valor do frete: o número de peças, a região e a distância em
quilômetros.
• Até mil peças – o valor será conforme a região apresentada na tabela abaixo. O valor é cobrado
por cada peça transportada.
• Acima de mil peças – valor normal para até mil peças; o número de peças que ultrapassar mil tem
desconto conforme a região.
Exemplo:
Se um cliente comprar 1.200 peças, as quais serão enviados à região 1, que é Sudeste.
Será cobrado frete da seguinte forma: para as mil peças, R$ 1,20 cada peça. Para as 200 a mais,
será dado um desconto de 12% sobre o valor de R$ 1,20, pagando 1,056 pelo frete de cada peça
das 200 restantes.
Ficará (1000 * 1.2) + (200* 1.056) = R$ 1.411,20 de frete pelas peças transportadas.
A distância para o transporte deve ser informada, pois, para cada quilômetro, é cobrado um litro de
combustível, que deverá ser lido ao iniciar o algoritmo.
Por questões de logística, a empresa realiza entregas somente para as regiões Sul, Sudeste e
Centro-oeste, e cada uma possui um valor de frete com relação à quantidade de peças
transportadas, conforme a tabela:
A região deverá ser impressa na tela em forma de menu, conforme abaixo:
Regiões para frete
1 - Sul
2 - Sudeste
3 - Centro-oeste
Digite a região:
Desenvolva um algoritmo que efetue a leitura da distância em quilômetros do frete, a quantidade
de peças que serão transportadas, a região (em número) e determine se o cliente quer
rastreamento.
Calcule e imprima o valor final do frete.
Ao término, devem ser exibidas as seguintes informações:
Taxa do rastreamento: 999,99
Valor do frete pelas peças: 9999.99
Valor do frete por quilômetro: 999.99
Total do frete: 999.99
Vamos lá! Agora é a sua vez de construir o algoritmo em pseudocódigo para resolver o problema do
frete para a empresa. Para o cálculo do frete por região, deve-se utilizar o comando de seleção
aninhado/encadeado.
Infográfico
Conteúdo do Livro
As estruturas de controle de seleção composta são aplicadas em situações nas quais há
necessidade de execução de um comando ou um conjunto de comandos, ou, ainda, ações distintas
para a condição verdadeira e para a condição falsa.
Para compreender melhor a estrutura de controle de seleção composta através de pseudocódigo,
acompanhe um trecho da seguinte obra: EDELWEISS, N.; LIVI, M.A.C. Algoritmos e programação
com exemplos em Pascal e C - Vol. 23. Série Livros Didáticos Informática UFRGS. Porto Alegre:
Bookman, 2014. O livro servirá como base para esta Unidade de Aprendizagem.
No capítulo selecionado, serão apresentadas a estrutura básica de funcionamento do comando de
seleção composta e encadeadas e alguns exemplos de aplicação desenvolvidos.
23
s é r i e l i v r o s d i d á t i c o s i n f o r m á t i c a u f r g s
algoritmos
e programação
com exemplos em Pascal e C
nina edelweiss
maria aparecida castro livi
E22a Edelweiss, Nina.
Algoritmos e programação com exemplos em Pascal e C
[recurso eletrônico] / Nina Edelweiss, Maria Aparecida Castro
Livi. – Dados eletrônicos. – Porto Alegre : Bookman, 2014.
Editado também como livro impresso em 2014.
ISBN 978-85-8260-190-7
1. Informática. 2. Algoritmos – Programação. I. Livi,
Maria Aparecida Castro. II. Título.
CDU 004.421
as autoras
Nina Edelweiss é engenheira eletricista e doutora em Ciência da Computação pela Uni-
versidade Federal do Rio Grande do Sul. Durante muitos anos, lecionou em cursos de Enge-
nharia e de Ciência da Computação na UFRGS, na UFSC e na PUCRS. Foi, ainda, orientadora
do Programa de Pós-Graduação em Ciência da Computação da UFRGS. É coautora de três
livros, tendo publicado diversos artigos em periódicos e em anais de congressos nacionais
e internacionais. Participou de diversos projetos de pesquisa financiados por agências de
fomento como CNPq e FAPERGS, desenvolvendo pesquisas nas áreas de bancos de dados e
desenvolvimento de software.
Maria Aparecida Castro Livi é licenciada e bacharel em Letras, e mestre em Ciência da
Computação pela Universidade Federal do Rio Grande do Sul. Desenvolveu sua carreira pro-
fissional na UFRGS, onde foi programadora e analista de sistema, antes de ingressar na
carreira docente. Ministrou por vários anos a disciplina de Algoritmos e Programação para
alunos dos cursos de Engenharia da Computação e Ciência da Computação. Sua área de
interesse prioritário é o ensino de Linguagens de Programação, tanto de forma presencial
quanto a distância.
Catalogação na publicação: Ana Paula M. Magnus – CRB 10/2052
Edelweiss_Iniciais_eletronica.indd ii 14/05/14 16:51
94 Algoritmos e Programação com Exemplos em Pascal e C
4.3 comando de seleção dupla
Supondo que, além de informar a média das três notas do aluno, também se queira que o
programa informe se ele foi aprovado (quando a média for igual ou superior a 6) ou repro-
vado (média inferior a 6). Dois comandos, se-então, são necessários para imprimir essas
mensagens:
se média ≥ 6
então escrever('Aprovado') {INFORMA SE O ALUNO FOI APROVADO}
se média < 6
então escrever('Reprovado') {INFORMA SE O ALUNO FOI REPROVADO}
Os dois comandos implementam ações mutuamente exclusivas e dependem da avaliação de
uma mesma condição, sendo uma das ações associada ao resultado verdadeiro e outra ao
resultado falso. Para evitar a repetição da comparação, pode ser utilizado um comando de
seleção dupla que, a partir do resultado da avaliação de uma condição, seleciona um de
dois comandos para ser executado. Sua sintaxe é:
se <expressão lógica>
então <comando>
senão <comando>
Somente um comando pode ser definido em cada uma das cláusulas então e senão. Esse
comando pode ser simples ou composto, como no caso do comando de seleção simples. O
exemplo anterior, resolvido através de dois comandos de seleção simples, equivale ao seguinte
comando de seleção dupla:
se média ≥ 6
então escrever('Aprovado')
senão escrever('Reprovado')
O fluxograma que representa esse comando, mostrado na Figura 4.4, mostra claramente que
o fluxo do programa passa por apenas um dos dois comandos, o qual é selecionado pelo
resultado da expressão lógica.
O algoritmo que calcula a média de três notas e informa se o aluno foi aprovado ou reprova-
do é o seguinte:
Algoritmo 4.3 – Média4
{INFORMA A MÉDIA DO ALUNO E SE FOI APROVADO OU REPROVADO}
Entradas: nota1, nota2, nota3 (real)
Saídas: média (real)
{Informação de aprovado ou reprovado}
início
ler (nota1, nota2, nota3) {ENTRADA DAS 3 NOTAS}
média ← (nota1+nota2+nota3)/3
escrever (média) {INFORMA MÉDIA CALCULADA}
Edelweiss_04.indd 94 12/03/14 09:03Capítulo 4 Estruturas Condicionais e de Seleção 95
se média ≥ 6
então escrever('Aprovado') {INFORMA SE O ALUNO FOI APROVADO}
senão escrever('Reprovado') {INFORMA SE O ALUNO FOI REPROVADO}
fim
4.4 comandos de seleção aninhados
Conforme visto, somente um comando pode ser utilizado nas cláusulas então e senão, mas
não há restrição quanto ao tipo de comando. Pode, inclusive, ser usado um novo comando de
seleção – simples ou dupla. Nesse caso, diz-se que os comandos de seleção estão aninhados
ou encadeados.
Estendendo um pouco mais a aplicação de apoio a um professor, suponha que se queira ob-
ter o conceito do aluno com base na sua média, de acordo com a seguinte conversão:
Conceito A: Média ≥ 9,0
Conceito B: 9,0 > Média ≥ 7,5
Conceito C: 7,5 > Média ≥ 6,0
Conceito D: Média < 6,0
A solução pode ser implementada através de uma sequência de comandos condicionais (op-
ção 1):
se média ≥ 9
então conceito ← 'A'
se (média < 9) e (média ≥ 7,5)
então conceito ← 'B'
se (média < 7,5) e (média ≥ 6,0)
então conceito ← 'C'
se (média < 6)
então conceito ← 'D'
<expressão lógica> verdadeirofalso
<comando><comando>
figura 4.4 Fluxograma do comando de seleção dupla.
Edelweiss_04.indd 95 12/03/14 09:03
96 Algoritmos e Programação com Exemplos em Pascal e C
Nessa sequência de comandos, somente uma das condições será verdadeira e, apesar disso,
todas as condições serão sempre avaliadas, desnecessariamente. Para evitar isso, o algorit-
mo a seguir calcula a média e o conceito, utilizando comandos de seleção dupla aninhados
(opção 2). Note que, uma vez encontrada uma condição verdadeira, as que estão após ela,
na cláusula senão, não são mais avaliadas. Cabe ressaltar que, nessa solução, não foi feita a
análise da validade dos dados de entrada, partindo-se do pressuposto que eles foram corre-
tamente informados.
Algoritmo 4.4 – MédiaConceito1
{INFORMA A MÉDIA E O CONCEITO DE UM ALUNO}
Entradas: nota1, nota2, nota3 (real)
Saídas: média (real)
conceito (caractere)
início
ler (nota1, nota2, nota3) {ENTRADA DAS 3 NOTAS}
média ← (nota1+nota2+nota3)/3 {CÁLCULO DA MÉDIA}
escrever (média) {INFORMA MÉDIA CALCULADA}
se média ≥ 9 {CÁLCULO DO CONCEITO}
então conceito ← 'A'
senão se média ≥ 7,5
então conceito ← 'B'
senão se média ≥ 6,0
então conceito ← 'C'
senão conceito ← 'D' {MÉDIA < 6}
escrever (conceito) {INFORMA CONCEITO}
fim
Nesse algoritmo, o trecho de programa que calcula o conceito corresponde a um único co-
mando de seleção dupla. Se a média for igual ou superior a 9,0, o conceito “A” é atribuído
ao aluno e a execução desse comando termina. No caso dessa condição não ser verdadeira,
então é avaliada a segunda condição, que verifica se a média é igual ou superior a 7,5. Se essa
condição for verdadeira, o aluno recebe o conceito “B” e o comando é concluído. Se não for
verdadeira, então a média é novamente analisada, dessa vez verificando se é maior ou igual
a 6,0. Finalmente, independentemente da condição ser verdadeira ou falsa, o comando é
encerrado com a atribuição do conceito “C” (expressão verdadeira) ou “D” (expressão falsa).
A compreensão do funcionamento dos comandos de seleção aninhados é bem mais clara do
que a da sequência de comandos condicionais (opção 1). Além disso, a segunda opção de re-
presentação realiza menos comparações do que a primeira, o que diminui o tempo de execução.
uso de indentação para delimitar comandos aninhados. A pseudolinguagem utilizada
neste livro faz uso da indentação para mostrar visualmente o escopo de cada um dos coman-
Edelweiss_04.indd 96 12/03/14 09:03
Capítulo 4 Estruturas Condicionais e de Seleção 97
dos de seleção aninhados. Sem a indentação, é bem mais difícil visualizar o funcionamento
dos comandos aninhados, como pode ser observado na reescrita do trecho do Algoritmo 4.4
que examina a média:
se média ≥ 9
então conceito ← 'A'
senão se média ≥ 7,5
então conceito ← 'B'
senão se média ≥ 6,0
então conceito ← 'C'
senão conceito ← 'D' {MÉDIA < 6}
Contudo, a indentação por si só não garante a correção do código e pode até mesmo masca-
rar erros se não corresponder à sintaxe do código utilizado. No trecho a seguir, no comando
de seleção dupla, o comando da cláusula então é um comando condicional. A indentação
utilizada faz crer que a cláusula senão pertence ao comando mais externo, quando, pela sin-
taxe, ela pertence ao mais interno:
se nota1 = 10 {COMANDO DE SELEÇÃO DUPLA}
então se média > 9 {COMANDO CONDICIONAL}
então escrever ('Parabéns pela boa média!')
senão escrever ('A primeira nota não é 10! ')
A indentação que reflete a sintaxe do que está escrito é:
se nota1 = 10 {COMANDO SELEÇÃO DUPLA TRATADO COMO CONDICIONAL}
então se média > 9 {COMANDO CONDICIONAL TRATADO COMO SELEÇÃO DUPLA}
então escrever ('Parabéns pela boa média!')
senão escrever ('A primeira nota não é 10!')
Da forma como está o trecho, independentemente da indentação utilizada, se a Nota1 forne-
cida for 10 e a média não for superior a 9, será produzida a mensagem ‘A primeira nota não
é 10!’, que claramente está incorreta. Nesse caso, o problema pode ser corrigido através do
uso dos delimitadores de um comando composto, para indicar que somente a cláusula então
faz parte do comando que testa a condição “se média > 9”:
se nota1 = 10 {COMANDO DE SELEÇÃO DUPLA}
então início {COMANDO COMPOSTO}
se média > 9 {COMANDO CONDICIONAL}
então escrever ('Parabéns pela boa média! )
fim
senão escrever ('A primeira nota não é 10!')
Edelweiss_04.indd 97 12/03/14 09:03
Capítulo 4 Estruturas Condicionais e de Seleção 101
exercício 4.2 Dados os coeficientes de uma equação do 2o grau, calcular e informar os va-
lores de suas raízes.
Algoritmo EquaçãoSegundoGrau
{INFORMA OS VALORES DAS RAÍZES DE UMA EQUAÇÃO DO SEGUNDO GRAU}
Entradas: a, b, c (real) {COEFICIENTES DA EQUAÇÃO}
Saídas: r1, r2 (real) {RAÍZES}
Variável auxiliar: disc (real) {DISCRIMINANTE}
início
ler(a, b, c) {ENTRADA DOS VALORES DOS COEFICIENTES DA EQUAÇÃO}
se a = 0
então início
escrever('Não é equação do segundo grau! ')
escrever('Raiz = ', (- c / b ))
fim
senão início
disc ← sqr(b) – 4 * a * c {CÁLCULO DO DISCRIMINANTE}
se disc < 0
então escrever('Raízes imaginárias !')
senão início
r1 ← ( – b + sqrt ( disc ) ) / ( 2 * a )
r2 ← ( – b – sqrt ( disc ) ) / ( 2 * a )
escrever('Raízes: ', r1, r2)
fim
fim
fim
exercício 4.3 Processar uma venda de livros em uma livraria. O cliente poderá comprar diver-
sas unidades de um mesmo tipo de livro. O código que define o tipo do livro vendido (A, B, C)
e o número de unidades desse livro são fornecidos como dados de entrada.
Preços: Tipo A – R$ 10,00
Tipo B – R$ 20,00
Tipo C – R$ 30,00
Edelweiss_04.indd 101 12/03/14 09:03
102 Algoritmos e Programação com Exemplos em Pascal e C
Calcular e informar o preço a pagar. Caso tenham sido vendidos mais de 10 livros, exibir uma
mensagem informando isso.
A solução deste problema é mostrada em duas etapas. Inicialmente, é apresentado um algo-
ritmo em passos gerais para dar uma visão global da solução. Depois, cada um dos passos é
detalhado, dando origem ao algoritmo completo.
Algoritmo UmaVenda – PASSOS GERAIS
{PROCESSA UMA VENDA DE LIVROS}
Entradas: tipo do livro ('A', 'B' ou 'C')
número de livros
Saídas: preço a pagar
mensagem indicando que foram vendidas mais de 10 unidades
1. Obter dados
2. Calcular preço de venda
3. Emitir mensagem caso necessário
4. Terminar
Detalhamento do algoritmo:
Algoritmo UmaVenda
{PROCESSA UMA VENDA DE LIVROS}
Entradas: código (caractere) {CÓDIGO DO LIVRO}
numeroUnidades (inteiro) {NR. UNIDADES VENDIDAS}
Saídas: aPagar (real) {PREÇO A PAGAR}
{Mensagem indicando que foram vendidas mais de 10
unidades}
início
ler(código, numeroUnidades) {ENTRADA DE DADOS}
se código = 'A' {CÁLCULO DO PREÇO DA VENDA}
então aPagar ← numeroUnidades* 10
senão se código = 'B'
então aPagar ← numeroUnidades * 20
senão se código = 'C'
então aPagar ← numeroUnidades * 30
senão início {CÓDIGO ESTÁ INCORRETO}
aPagar ← 0
escrever('Código errado')
fim
se aPagar > 0 {CÓDIGO ERA VÁLIDO}
então início
escrever(aPagar) {INFORMA VALOR A PAGAR}
se numeroUnidades > 10
então escrever ('Foram vendidas mais de 10 unidades')
fim
fim
Edelweiss_04.indd 102 12/03/14 09:03
Encerra aqui o trecho do livro disponibilizado para
esta Unidade de Aprendizagem. Na Biblioteca Virtual
da Instituição, você encontra a obra na íntegra.
Dica do Professor
Muitas são as situações do dia a dia que permitem a aplicação dos comandos de seleção
compostos, sempre que é necessário desviar o fluxo de ações, assim como as ações que são
executadas caso seja verdadeiro ou falso o resultado da decisão. Também podemos utilizar
comandos aninhados, ou seja, quando é necessário verificar expressões sucessivas, pois uma ação
pode levar a outra tomada de decisão, sucessivamente.
Assista ao vídeo para conhecer um pouco mais sobre essa estrutura e a construção das expressões
lógicas e para compreender e analisar algumas soluções práticas apresentadas de aplicação dos
comandos de seleção composta em forma de pseudocódigo.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/b91005adbc621946bf3f4388b3340510
Exercícios
Uma empresa do ramo da eletrônica precisa enviar e analisar a entrada de um valor para um
dispositivo, podendo tal valor ser positivo, negativo ou zero. Para cada entrada, ele enviará um
comando para o dispositivo eletrônico de controle de temperatura. Se o valor digitado for zero (0),
o aparelho desligará; se for digitado um valor positivo, o dispositivo irá aumentar a temperatura
conforme o valor informado. Caso o valor seja negativo, diminuirá a temperatura atual.
O algoritmo deverá imprimir as seguintes frases:
• Quando o número digitado é zero (0) – deverá imprimir a frase “O dispositivo será desligado”.
• Quando o número digitado é um (1) – deverá imprimir a frase “A temperatura aumentará”.
• Quando o número digitado é menos 10 (-10) – deverá imprimir “A temperatura diminuirá”.
Analise o algoritmo apresentado abaixo para o problema proposto.
1)
Realize o teste de mesa para comprovar a funcionalidade e marque a resposta correta nas
alternativas a seguir.
A) Funciona corretamente para qualquer valor.
B) Funciona somente para números maiores que zero.
C) Funciona para números menores ou iguais a zero.
D) Funciona para números maiores ou iguais a zero.
E) Funciona para números diferentes de zero.
Observe o seguinte algoritmo: 2)
Quais serão os valores escritos como saída no comando de saída Escreva ( “Resultados = “,b,d,x )?
A) b=150, d=0.5 e x=1.5.
B) b=156, d=6 e x=576.
C) b=24, d=0.5 e x=576.
D) b=24, d=0.5 e x=1.5.
E) Nenhuma alternativa está correta.
3) Observe o problema: ler 3 valores reais V1, V2 e V3. Calcular a soma do quadrado dos 3 valores. Se
o resultado da soma for maior que 1200, calcular e imprimir a soma dos dois primeiros; se não,
calcular e imprimir a soma dos dois últimos valores.
Analise aos algoritmos de comandos de seleção composta apresentadas para a resolução do
problema apresentado.
Avalie as sentenças apresentadas com relação aos algoritmos desenvolvidos.
I – Todos os algoritmos resolvem de forma correta o problema proposto.
II – Os algoritmos I e III terão resultados diferentes nos seus comandos de saída.
III – O algoritmo III apresenta o comando condicional incorreto para o problema.
IV – Atribuindo os valores 1, 2 e 3 respectivamente para V1, V2 e V3, todos os algoritmos
apresentam como saída os valores: soma=14 e x=5.
Marque a alternativa correta.
A) I.
B) I e II.
C) II e III.
D) I, III e IV.
E) Todas as alternativas são falsas.
4) Uma empresa têxtil que produz bermudas de praia precisa calcular o valor do prêmio para
seus funcionários. O funcionário receberá o salário-base mais o valor do prêmio, o qual será
calculado com base na produção individual. As regras foram expostas no início do ano em
palestra para todos os funcionários. Ao final, deverão ser impressos o salário total e o valor
do prêmio.
Regra de definição dos percentuais dos prêmios:
• Funcionário com até um dia de atestado – recebe 5% do valor da sua produção.
• Funcionário com mais de 1 e menos de 3 dias de atestado – recebe 2% do valor da sua
produção.
• Funcionário com mais de 3 dias de atestado – recebe 1% do valor da sua produção
O cálculo da produção será feito pela fórmula: número de peças produzidas * valor da peça
Selecione o algoritmo que apresenta corretamente uma solução para o problema.
A)
clique aqui
B)
clique aqui
C)
clique aqui
D) clique aqui
E)
clique aqui
5)
https://statics-marketplace.plataforma.grupoa.education/sagah/d0e7f22f-22cd-4966-a0a0-ea09b1134a40/0ee74ba7-e7bd-4bb2-a312-b4f11ed13b0f.pdf
https://statics-marketplace.plataforma.grupoa.education/sagah/65c8a4a7-d293-4e44-8cdf-a62027d761ca/7fbc6bb6-725a-4b5f-90fe-ab8b72060525.pdf
https://statics-marketplace.plataforma.grupoa.education/sagah/fbb7c90a-dd94-416f-be10-c5fa940913f4/642fd845-ec5c-4aec-8fe0-31c5363d7e62.pdf
https://statics-marketplace.plataforma.grupoa.education/sagah/025ddeec-79cb-4da7-98af-c9afab21edec/9ee46160-3e4d-4f41-8d23-39f1ffbb0884.pdf
https://statics-marketplace.plataforma.grupoa.education/sagah/7b65efdc-9d5a-4c10-ae2b-f18ca012007e/ae99e704-416e-446c-bd39-703f98751a80.pdf
Uma rede de hospitais do estado precisa automatizar o cálculo de diárias a serem pagas
pelos clientes. Como proposta de uma solução para o problema, considere o algoritmo em
pseudocódigo, que realiza o cálculo das diárias de uma internação para a rede de hospitais.
O algoritmo recebe como entrada os seguintes dados: número total de dias de internação,
tipo de quarto e se este possui telefone ou não. A rede de hospitais trabalha com três tipos
de quartos: "P” (quarto particular e individual) “ S” (quarto semiprivativo que pode ter até
duas pessoas) e “C” (quarto coletivo com, no máximo, quatro pessoas). O cálculo do uso do
telefone será cobrado por dia de internação no quarto particular, tendo uma taxa fixa diária
de R$ 10,00.
Analise o algoritmo abaixo como uma possível solução para o problema.
Algoritmo “internação”
var
tipo, telefone:caractere
valortel,total, conta:real
dias:inteiro
inicio
Leia (dias, tipo)
se (tipo ="P") entao
total<-(dias*260)
Escreval("USOU TELEFONE? S/N: ")
Leia (telefone)
se (telefone ="S") entao
valortel <-10.00*dias
senao
valortel <-0
fimse
senao
se (tipo="S") entao
total<-(dias * 140)
senao
se (tipo="C")
total<-(dias* 80)
senao
escreval("Tipo de quarto inválido")
fimse
fimse
fimse
conta <- total +valortel
escreval(conta)
fimalgoritmo
Analise as alternativas a seguir, relativas ao algoritmo, e assinale a alternativa correta.
A) Se for digitado o valor 7 para a variável “dias” e “P” para a variável “tipo”, na execução do
comando leia(dias, tipo), a variável “conta” armazenará, ao final da execução do algoritmo, o
valor 980.00 sem a utilização do telefone.
B) Se for digitado o valor 10 para a variável “dias” e “P” para a variável “tipo”, e “S” para
“telefone” na execução do comando leia(dias, tipo) e leia(telefone), a variável “conta”
armazenará, ao final da execução do algoritmo, o valor 2.700,00.
C) Se for atribuído o valor “Z” para a leitura da variável “telefone” e não “N”, o total da conta
dará errado, pois o valor calculado afetará a conta do hospital.
D) A taxa de telefone somente será cobrada para o quarto particular e terá o valor final na
variável “valortel” de 10,00para toda a internação no hospital.
E) Se for digitado o valor 10 para a variável “dias” e “C” para a variável “tipo”, e “S” para
“telefone” na execução do comando leia(dias, tipo) e leia(telefone), a variável “conta”
armazenará, ao final da execução do algoritmo, o valor 2.700,00.
Na prática
Acidente de trabalho - Enquadramento do grau de risco
Uma empresa arca com diversos encargos mensais, os quais estão muito além do valor do salário de
seus funcionários e o valor do depósito do FGTS. Um dos encargos para as empresas é a alíquota
referente ao risco de acidente do trabalho (RAT), que varia conforme o grau de risco da empresa e
cujo destino é a cobertura de acidentes de trabalho.
Como calcular a alíquota sobre o grau de risco de acidente do trabalho
A tabela abaixo apresenta um exemplo de alíquota conforme o grau de risco de cada empresa.
A tabela completa de todas as áreas econômicas e o grau de risco pode ser consultada no site da
Previdência.
Vamos desenvolver um algoritmo para determinar e imprimir a alíquota sobre o risco de acidente
do trabalho (RAT) para as empresas?
Como são três alíquotas, a forma mais correta seria utilizar um comando condicional dentro do
outro,ou seja, encadeado, conforme o algoritmo acima.
Outra solução seria utilizar três comandos condicionais simples:
DICA: um algoritmo pode ser representado por várias soluções, mas, se analisar as duas
apresentadas acima, a melhor solução em relação à performance seria a primeira solução. Serão
executados menos testes em um volume grande de execuções do algoritmo.
Saiba mais
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor:
Desvio condicional composto (SE...ENTÃO...SENÃO...)
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Comando de desvio condicional
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Desvio condicional aninhado (SE...ENTÃO...SENÃO...SE)
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
https://www.youtube.com/embed/LWH2PQwCi3c
http://www.apoioinformatica.inf.br/produtos/visualg/linguagem/item/12-comando-de-desvio-condicional
https://www.youtube.com/embed/cIx2Xz8j9lA