Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida com algoritmo de reserva de passagens


super slot

Pergunta

Olá pessoal estou com duvida em resolver este problema abaixo, eu tenho a resposta dele mas em linguagem pascal, como eu passo ele para o portugol estou com duvida se alguém puder me ajudar eu agradeço.

Escrever um algoritmo que faça reserva de passagens aéreas de uma companhia. Além da leitura do número dos vôos e quantidade de lugares disponíveis, ler vários pedidos de reserva, constituídos do número da carteira de identidade do cliente e do número do vôo desejado.

Para cada cliente, verificar se há disponibilidade no vôo desejado. Em caso afirmativo, imprimir o número da identidade do cliente, e o número do vôo, atualizando o número de lugares disponíveis. Caso contrário, avisar ao cliente da inexistência de lugares.

Indicando o fim dos pedidos de reserva, existe um passageiro cujo número da carteira de identidade e 9999. Considere fixo e igual a 40 o número de vôos da companhia.

Minha resposta em pascal.

program Matricula; 
uses crt; 

const NVOOS=40;                  

var  Voos,                   
     Lugares : array[1..NVOOS] of integer;        
     NVoo,              {numero do voo desejado} 
     Cliente,             {codigo do cliente} 
     nv : integer;                              

begin 
  clrscr; 
  writeln(‘AeroCefet: Programa de Reservas Aereas’); 

  {Leitura dos códigos dos vôos e respectivas qtde de lugares} 
  for nv:=1 to NVOOS do 
  begin 
    write(‘Numero do voo: ‘);  
    readln(Voos[nv]); writeln; 
    write(‘Qtde de lugares do voo ’, Voos[nv], ‘? ‘); 
    readln(Lugares[nv]); 
  end; 
  writeln;writeln(‘Voos configurados! Tecle algo para continuar!’); 
  clrscr; 

  {Leitura do código do (primeiro) cliente e voo desejado} 
  write(‘Informe o codigo do cliente: ‘); 
  readln(Cliente);  
  writeln;write(‘Informe o voo desejado: ‘); 
  readln(NVoo); 

  {Enquanto não digitar 9999 como código de cliente....} 
  while Cliente <> 9999 do 
  begin 
    {Primeiro verifica a existência do voo} 
    nv := 1; 
    while (nv <= 37) AND (Nvoo <> Voos[nv]) do 
      nv := nv + 1; 
    if Nvoo = Voos[nv]  {O laco parou porque achou o voo?} 
    then             {=> SIM} 
    begin 
      {Verifica a existência de lugar} 
      if Lugares[nv] > 0         {...Tem lugar neste voo?} 
      then  
      begin                      {...sim!} 
        Lugares[nv] := Lugares[nv] – 1;   {menos um lugar livre!} 
        writeln(‘Cliente: ‘, Cliente, ‘ voo: ‘, Nvoo, ‘ CONFIRMADO!’); 
      end 
      else                       {...não!} 
        writeln(‘Cliente: ‘, Cliente, ‘ voo: ‘, Nvoo, ‘ LOTADO!’); 
    end 
    else                   {=> NÃO} 
      writeln(‘Cliente: ‘, Cliente, ‘ Voo: ‘, Nvoo, ‘ INEXISTENTE!’); 

    {Leitura do próximo cliente e voo desejado} 
    writeln; writeln; 
    write(‘Informe o codigo do cliente: ‘); 
    readln(Cliente);  
    writeln; write(‘Informe o voo desejado: ‘); 
    readln(NVoo); 
  end;                               {fim do while} 
end.

como eu passo ele para o portugol?

Editado por Micheus
Incluída tag's CODE para melhorar a visualização. Utilize a identação também ;-)
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...