Uma empresa aérea quer controlar os custos de seus voos. Ela possui três voos diários de números 1,2 e 3. Todos os aviões possuem 100 lugares e os voos possuem preços diferenciados de passagem:
→ voo 1 ........ passagem R$ 100,00
→ voo 2 ........ passagem R$ 150,00
→ voo 3 ........ passagem R$ 200,00
Porém o preço das passagens pode cair de acordo com a lotação de cada voo :
→ voo com 70 passageiros ou mais ........ passagem com 60% de desconto
→ voo com 50 a 69 passageiros ............. passagem com 30% de desconto
→ voo com menos de 50 passageiros ..... passagem sem desconto
Faça um algoritmo que receba via teclado as compras de passagens contendo cada uma o Nome do passageiro, o Número do voo e a Quantidade de passagens compradas. O algoritmo deverá calcular e imprimir o preço de cada passagem desta compra baseado na lotação do voo.
Como resultados finais, o algoritmo deverá imprimir :
a) o número do voo que arrecadou mais e o valor arrecadado
b) a média da arrecadação dos 3 voos
c) o valor da passagem mais barata e o número do voo correspondente
obs. :
→ adotar um FLAG para encerrar a entrada de dados
→ consistir a digitação do número do voo de forma a aceitar somente os valores 1, 2 ou 3
Olá, vou tentar terminar depois... Mas a ideia de fazer esse algoritimo é interessante.
Fiz em C#
int primeiroVoo = 0;
int segundoVoo = 0;
int terceiroVoo = 0;
double primeiro = 100;
double segundo = 150;
double terceiro = 200;
double total = 0;
string paraVenda;
string nomePassageiro;
int qtdePassagem;
int operacao;
double desconto;
do
{
Console.WriteLine(" >>> VENDA DE PASSAGENS <<< \n");
Console.WriteLine("Informe o nome do passegeiro: ");
nomePassageiro = Console.ReadLine();
Console.Write("Informe a quantidade de passagens que o cliente " + nomePassageiro + " irá comprar: ");
qtdePassagem = int.Parse(Console.ReadLine());
Console.WriteLine("Informe qual vou o passageiro irá embarcar: ");
Console.WriteLine("[1] - PRIMEIRO VOO: ");
Console.WriteLine("[2] - SEGUNDO VOO:");
Console.WriteLine("[3] - TERCEIRO VOO: ");
operacao = int.Parse(Console.ReadLine());
Console.WriteLine();
Console.Clear();
Console.WriteLine(" Imprimindo passagens: ");
if (operacao == 1)
{
primeiroVoo *= qtdePassagem;
total = qtdePassagem * primeiro;
}
else if (operacao == 2)
{
segundoVoo *= qtdePassagem;
total = qtdePassagem * segundo;
}
else
{
terceiroVoo *= qtdePassagem;
total = qtdePassagem * terceiro;
}
Console.Write("Cliente: " + nomePassageiro + "\n");
Console.Write("Quantidade de passagens: " + qtdePassagem + "\n");
Console.Write("Total a pagar:R$ " + total + "\n");
Console.WriteLine();
Console.WriteLine("Deseja realizar mais uma venda: ? [S] - SIM [N] NÃO");
paraVenda = Console.ReadLine();
total = 0;
if (paraVenda != "N")
{
Console.Clear();
}
} while (paraVenda != "N");
Console.ReadKey();
ajudem me a resolver este algoritmo
Uma empresa aérea quer controlar os custos de seus voos. Ela possui três voos diários de números 1,2 e 3. Todos os aviões possuem 100 lugares e os voos possuem preços diferenciados de passagem:
→ voo 1 ........ passagem R$ 100,00
→ voo 2 ........ passagem R$ 150,00
→ voo 3 ........ passagem R$ 200,00
Porém o preço das passagens pode cair de acordo com a lotação de cada voo :
→ voo com 70 passageiros ou mais ........ passagem com 60% de desconto
→ voo com 50 a 69 passageiros ............. passagem com 30% de desconto
→ voo com menos de 50 passageiros ..... passagem sem desconto
Faça um algoritmo que receba via teclado as compras de passagens contendo cada uma o Nome do passageiro, o Número do voo e a Quantidade de passagens compradas. O algoritmo deverá calcular e imprimir o preço de cada passagem desta compra baseado na lotação do voo.
Como resultados finais, o algoritmo deverá imprimir :
a) o número do voo que arrecadou mais e o valor arrecadado
b) a média da arrecadação dos 3 voos
c) o valor da passagem mais barata e o número do voo correspondente
obs. :
→ adotar um FLAG para encerrar a entrada de dados
→ consistir a digitação do número do voo de forma a aceitar somente os valores 1, 2 ou 3
a)
Inicialmente devemos receber o número do voo e verifica-lo se é valido, assim teremos:
Algoritmo(passagem)
Para i de 0 até 100 faça
Dados=1;
Matriz[pessoa,dados] = Nº_do_voo
Se (Nº_do_voo diferente de 1, 2 ou 3) faça
Encerra programa
Caso o voo seja válido, recebemos o nome e quantidade de passagens.
Senão
Matriz[pessoa,dados+1] = nome
Matriz[pessoa,dados+2] = quantidade_passagens
Após isso, devemos verificar a quantidade de pessoas nos 3 voos para encerrar ou não a saída de dados, ou seja, para encerrar a entrada dedados i = 100, assim, saindo do loop. Para cada voo teremos:
Se (voo = 1) faça
Quantidade_passageirosVoo1 = Quantidade_passageirosVoo1+quantidade_passagens
Se(Quantidade_passaeirosVoo1 =100)
Encerrar entrada de dados
Fimse
Fimse
Agora devemos calcular o valor de cada voo através dos seguintes laços:
Se(Quantidade_passageirosVoo1>=70) faça
Preço = preço*0,4
Valor = Quantidade_passageirosVoo1*preço
fimse
Se(Quantidade_passageirosVoo1>50 e Quantidade_passageirosVoo1<70) faça
Preço = preço*0,7
Valor = Quantidade_passageirosVoo1*preço
fimse
Se(Quantidade_passageirosVoo1<50) faça
Preço = preço*0,7
Valor = Quantidade_passageirosVoo1*preço
Fimse
Com isso deveremos determinar o valor máximo dentre os voos e a maior quantidade de passageiros
Max[Quantidade_passageirosVoo1,Quantidade_passageirosVoo2,Quantidade_passageirosVoo3]
Max[Valor1, valor2, valor3]
Escreva(MaxQuantidade_passageiros, Maxvalor)
b)
Inicialmente devemos receber inicialmente o número do voo e verifica-lo se é válido, assim teremos:
Algoritmo(passagem)
Para i de 0 até 100 faça
Dados=1;
Matriz[pessoa,dados] = Nº_do_voo
Se (Nº_do_voo diferente de 1, 2 ou 3) faça
Encerra programa
Caso o voo seja válido, recebemos o nome e quantidade de passagens:
Senão
Matriz[pessoa,dados+1] = nome
Matriz[pessoa,dados+2] = quantidade_passagens
Após isso, devemos verificar a quantidade de pessoas nos 3 voos para encerrar ou não a saída de dados, ou seja, para encerrar a entrada dedados i = 100, assim, saindo do loop. Para cada voo teremos:
Se (voo = 1) faça
Quantidade_passageirosVoo1 = Quantidade_passageirosVoo1+quantidade_passagens
Se(Quantidade_passaeirosVoo1 =100)
Encerrar entrada de dados
Fimse
Fimse
Agora devemos calcular o valor de cada voo através dos seguintes laços:
Se(Quantidade_passageirosVoo1>=70) faça
Preço = preço*0,4
Valor = Quantidade_passageirosVoo1*preço
fimse
Se(Quantidade_passageirosVoo1>50 e Quantidade_passageirosVoo1<70) faça
Preço = preço*0,7
Valor = Quantidade_passageirosVoo1*preço
fimse
Se(Quantidade_passageirosVoo1<50) faça
Preço = preço*0,7
Valor = Quantidade_passageirosVoo1*preço
Fimse
Por fim, deveremos calcular a média do preço dos voos, assim teremos:
Media =( Valor1, Valor2, Valor3)/3
Escreva(media)
c)
Inicialmente devemos receber inicialmente o número do voo e verifica-lo se é valido, assim teremos:
Algoritmo(passagem)
Para i de 0 até 100 faça
Dados=1;
Matriz[pessoa,dados] = Nº_do_voo
Se (Nº_do_voo diferente de 1, 2 ou 3) faça
Encerra programa
Caso o voo seja válido, recebemos o nome e quantidade de passagens
Senão
Matriz[pessoa,dados+1] = nome
Matriz[pessoa,dados+2] = quantidade_passagens
Após isso, devemos verificar a quantidade de pessoas nos 3 voos para encerrar ou não a saída de dados, ou seja, para encerrar a entrada dedados i = 100, assim, saindo do loop. Para cada voo teremos:
Se (voo = 1) faça
Quantidade_passageirosVoo1 = Quantidade_passageirosVoo1+quantidade_passagens
Se(Quantidade_passaeirosVoo1 =100)
Encerrar entrada de dados
Fimse
Fimse
Agora devemos calcular o valor de cada voo através dos seguintes laços:
Se(Quantidade_passageirosVoo1>=70) faça
Preço = preço*0,4
Valor = Quantidade_passageirosVoo1*preço
fimse
Se(Quantidade_passageirosVoo1>50 e Quantidade_passageirosVoo1<70) faça
Preço = preço*0,7
Valor = Quantidade_passageirosVoo1*preço
fimse
Se(Quantidade_passageirosVoo1<50) faça
Preço = preço*0,7
Valor = Quantidade_passageirosVoo1*preço
Fimse
Por fim, deveremos calcular o menor preço da passagem e o número de seu voo:
Min[Valor1, Valor2, Valor3]
Se(Min=valor1)faça
Escreva(voo1)
Fimse
Se(Min=valor2)faça
Escreva(voo2)
fimse
Se(Min=valor3)faça
Escreva(voo3)
fimse
a)
Inicialmente devemos receber o número do voo e verifica-lo se é valido, assim teremos:
Algoritmo(passagem)
Para i de 0 até 100 faça
Dados=1;
Matriz[pessoa,dados] = Nº_do_voo
Se (Nº_do_voo diferente de 1, 2 ou 3) faça
Encerra programa
Caso o voo seja válido, recebemos o nome e quantidade de passagens.
Senão
Matriz[pessoa,dados+1] = nome
Matriz[pessoa,dados+2] = quantidade_passagens
Após isso, devemos verificar a quantidade de pessoas nos 3 voos para encerrar ou não a saída de dados, ou seja, para encerrar a entrada dedados i = 100, assim, saindo do loop. Para cada voo teremos:
Se (voo = 1) faça
Quantidade_passageirosVoo1 = Quantidade_passageirosVoo1+quantidade_passagens
Se(Quantidade_passaeirosVoo1 =100)
Encerrar entrada de dados
Fimse
Fimse
Agora devemos calcular o valor de cada voo através dos seguintes laços:
Se(Quantidade_passageirosVoo1>=70) faça
Preço = preço*0,4
Valor = Quantidade_passageirosVoo1*preço
fimse
Se(Quantidade_passageirosVoo1>50 e Quantidade_passageirosVoo1<70) faça
Preço = preço*0,7
Valor = Quantidade_passageirosVoo1*preço
fimse
Se(Quantidade_passageirosVoo1<50) faça
Preço = preço*0,7
Valor = Quantidade_passageirosVoo1*preço
Fimse
Com isso deveremos determinar o valor máximo dentre os voos e a maior quantidade de passageiros
Max[Quantidade_passageirosVoo1,Quantidade_passageirosVoo2,Quantidade_passageirosVoo3]
Max[Valor1, valor2, valor3]
Escreva(MaxQuantidade_passageiros, Maxvalor)
b)
Inicialmente devemos receber inicialmente o número do voo e verifica-lo se é válido, assim teremos:
Algoritmo(passagem)
Para i de 0 até 100 faça
Dados=1;
Matriz[pessoa,dados] = Nº_do_voo
Se (Nº_do_voo diferente de 1, 2 ou 3) faça
Encerra programa
Caso o voo seja válido, recebemos o nome e quantidade de passagens:
Senão
Matriz[pessoa,dados+1] = nome
Matriz[pessoa,dados+2] = quantidade_passagens
Após isso, devemos verificar a quantidade de pessoas nos 3 voos para encerrar ou não a saída de dados, ou seja, para encerrar a entrada dedados i = 100, assim, saindo do loop. Para cada voo teremos:
Se (voo = 1) faça
Quantidade_passageirosVoo1 = Quantidade_passageirosVoo1+quantidade_passagens
Se(Quantidade_passaeirosVoo1 =100)
Encerrar entrada de dados
Fimse
Fimse
Agora devemos calcular o valor de cada voo através dos seguintes laços:
Se(Quantidade_passageirosVoo1>=70) faça
Preço = preço*0,4
Valor = Quantidade_passageirosVoo1*preço
fimse
Se(Quantidade_passageirosVoo1>50 e Quantidade_passageirosVoo1<70) faça
Preço = preço*0,7
Valor = Quantidade_passageirosVoo1*preço
fimse
Se(Quantidade_passageirosVoo1<50) faça
Preço = preço*0,7
Valor = Quantidade_passageirosVoo1*preço
Fimse
Por fim, deveremos calcular a média do preço dos voos, assim teremos:
Media =( Valor1, Valor2, Valor3)/3
Escreva(media)
c)
Inicialmente devemos receber inicialmente o número do voo e verifica-lo se é valido, assim teremos:
Algoritmo(passagem)
Para i de 0 até 100 faça
Dados=1;
Matriz[pessoa,dados] = Nº_do_voo
Se (Nº_do_voo diferente de 1, 2 ou 3) faça
Encerra programa
Caso o voo seja válido, recebemos o nome e quantidade de passagens
Senão
Matriz[pessoa,dados+1] = nome
Matriz[pessoa,dados+2] = quantidade_passagens
Após isso, devemos verificar a quantidade de pessoas nos 3 voos para encerrar ou não a saída de dados, ou seja, para encerrar a entrada dedados i = 100, assim, saindo do loop. Para cada voo teremos:
Se (voo = 1) faça
Quantidade_passageirosVoo1 = Quantidade_passageirosVoo1+quantidade_passagens
Se(Quantidade_passaeirosVoo1 =100)
Encerrar entrada de dados
Fimse
Fimse
Agora devemos calcular o valor de cada voo através dos seguintes laços:
Se(Quantidade_passageirosVoo1>=70) faça
Preço = preço*0,4
Valor = Quantidade_passageirosVoo1*preço
fimse
Se(Quantidade_passageirosVoo1>50 e Quantidade_passageirosVoo1<70) faça
Preço = preço*0,7
Valor = Quantidade_passageirosVoo1*preço
fimse
Se(Quantidade_passageirosVoo1<50) faça
Preço = preço*0,7
Valor = Quantidade_passageirosVoo1*preço
Fimse
Por fim, deveremos calcular o menor preço da passagem e o número de seu voo:
Min[Valor1, Valor2, Valor3]
Se(Min=valor1)faça
Escreva(voo1)
Fimse
Se(Min=valor2)faça
Escreva(voo2)
fimse
Se(Min=valor3)faça
Escreva(voo3)
fimse
Para escrever sua resposta aqui, entre ou crie uma conta.
Teoria dos Gráfos e Análise de Algoritmos
•UNIB
Lógica de Programação e Algoritmos
•FAMA
Compartilhar