Projeto de Programação Compra de passagens aéreas.

Slides:



Advertisements
Apresentações semelhantes
Tópicos Administração Hoteleira Profa. Viviane Salazar
Advertisements

FAÇA VOCÊ MESMO A SUA RESERVA
Universidade Federal da Bahia – UFBA
23° Congresso Brasileiro de Engenharia Sanitária e Ambiental
DIREITOS DO PASSAGEIRO DE TRANSPORTE AÉREO
1 Exemplo: companhia aérea Suponhamos que a companhia aérea VoAlto pretende construir um programa para gerir ligações aéreas entre vários destinos. A eficiência.
SQL 3 Recursão em SQL AULA 7 PGC Sistemas de Banco de Dados
Exercícios para entregar 3 Consultas Recursivas em SQL Profa. Sandra de Amo PPG-CC 2012.
Mais consultas recursivas... Consultas Recursivas em SQL Profa. Sandra de Amo PPG-CC 2012.
Acordo TAM e ABAV Novo modelo de remuneração
Introdução Redes LAN - abrangência: edifícios e campos.
Fusos Horários no Brasil
ANÁLISE E PROJETO DE SISTEMAS
G o o g l e Aero.
O Click Trip é uma nova Solução Tecnológica que a Guaraná Viagens & Turismo disponibiliza para os seus clientes. Uma ferramenta de Selfbooking para melhor.
Problemas em Grafos.
COMO SOLICITAR UMA DISPONIBILIDADE MULTISSISTEMA Para verificar a disponibilidade, clique em Nova Reserva no menu vertical. OBS.: disponível apenas para.
Quem Somos Nossa História: Nossa Missão:
Tecnologia da Informação
Renata Miwa Tsuruda São Carlos, 07 de Dezembro de 2009
COMO CRIAR UMA RESERVA 1/22
Passagem Rodoviária.
COMO REALIZAR UMA REEMISSÃO GOL:
Há três formas de realizar uma emissão. 1ª Forma: Dentro da reserva, basta clicar no campo Emissão, como mostra abaixo: COMO EFETUAR UMA EMISSÃO FATURADA.
Projeto de Banco de Dados
ACESSIBILIDADE DE UM TERRITÓRIO CONCEITOS E INDICADORES
ACESSIBILIDADE DE UM TERRITÓRIO CONCEITOS E INDICADORES
DDViajeMais Clique aqui DDViajeMais Clique na flecha para selecionar o destino.
Manual - Bikesys Versão 1.0 – Beta Março 2013.
MANUAL CORPORATE.
Transportes & Cia..
TRABALHO 4 FABIO BONAMIN.
empresas Multinacionais
Compra de Passagens Aéreas – Apolo
Sistema OnTheFly Deni Cavalcanti Emannuel Macêdo Fernando Silva
Compra de Passagens Aéreas – Apolo
O QUE É UM APLICATIVO? A diferença entre um aplicativo e um site é que o aplicativo é instalado em Tablets e Smart Phones através da Apple Store e Google.
Modelagem de processos de negócio com Diagrama de Atividades
Modelagem de processos de negócio com Diagrama de Atividades
| 25 de Ago de 2010Itaucard Corporate Produtos Empresariais Itaucard Soluções seguras e econômicas para administrar as despesas da sua empresa.
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
7ª REUNIÃO DO CONSELHO DIRETOR Brasília, 14 de agosto de 2014.
Exercícios Para começar a fazer os exercícios a seguir, restaure um banco de dados que já contenha dados: Informe os comandos das resposta com o mesmo.
Algoritmos e Estruturas de Dados I – Estruturas de Dados
LISTA DE PALAVRAS. ALL INCLUSIVE = Plano de hospedagem onde todos os serviços estão inclusos no valor da diária.
Exercícios – Equipe 6 Projeto Conceitual de Banco de Dados
Algoritmo e Estrutura de Dados I
RH – Cadastro de Ponto 1 IdentificaçãoRH_002 Data Revisão29/08/2013.
1 M ODELO P ORTER DAS E STRATÉGIAS G ENÉRICAS Estratégia de liderança em custos/cadeia de valor Sistemas de informações gerenciais eficientes em custos.
Shell Script Parte 2.
Trabalho – Sistema Protótipo - Transportadora Uma transportadora aérea pretende implementar uma base de dados com as seguintes informações: A transportadora.
UFRN DICAS PARA UMA BOA RESERVA. RESERVA  antes de confirmarem as emissões das reservas, sempre comunicar aos passageiros e aguardar que o mesmo aprove.
Ronda Acesso e Segurança
0800 Via Embratel Solução de Relacionamento.
 Sistema completo de Front Office que permite que viajantes e assistentes criem suas próprias reservas de vôo, hotel, solicitações de seguro de viagem,
Students to Business – 2011/1 Fase 2. aGENDA O que é um banco de dados? Onde aplicamos o banco de dados? Laboratório: Navegando no SQL Server Management.
O que é Internet?.
CENTRAL DE COMPRAS E CONTRATAÇÕES
RUBICON TRAIL Agosto 2010.
Laboratório de Banco de Dados Projeto da Disciplina AV Transportes Aéreos Ltda.
Venda CDC - Crédito Direto ao Consumidor. O que é CDC CDC é um financiamento destinado a aquisição de bens duráveis e serviços Veículos, motos, caminhões.
INTERFACE HUMANO COMPUTADOR Trabalho 2 Ariane e Helder.
INTERFACE HUMANO COMPUTADOR Trabalho 2 Ariane e Helder.
SIPRO DITEC/GINF/SDS. Estrutura e Recursos: Sistema desenvolvido em Delphi 6.0; Interface Gráfica; Banco de Dados IBM DB2; Acesso disponível a todas as.
Banco de Dados I 4P/SI – 2010/02 Prof. Carlos Alberto Seixas.
José Maurício Lima Rezende Presidente Conselho de Secretarias Municipais de Saúde de Minas Gerais Secretário Municipal de Monte Santo de Minas/MG XXXI.
USO DE VEÍCULOS OFICIAIS Portaria IFB 006/2014. Requisições Levando em consideração que o campus dispõe de apenas 01 motorista e que para dirigir veículos.
Audiência Pública nº 07/2016 Proposta de Resolução que regulamenta a apresentação de informações relativas à movimentação aeroportuária. SUPERINTENDÊNCIA.
OFICINA – SCDP DLSG/SLTI/MP LUIZ EDUARDO MURADAS MARTINS.
Transcrição da apresentação:

Projeto de Programação Compra de passagens aéreas

Banco de dados [(A,B,C,D) ] [(Cód. identificação, companhia, data, lista de escalas)....] [(A, B, (x,y,z), D) ] [(A, B, (x,y,z), [(a,b,c,d)...(e,f,g,h)) ]

Lista de escalas [(a, (ti,mi), (o,v), 0)...(e, (tf,mf), (0,0), h)] [(Origem, (hora de saída), (ocupados,disponíveis), 0)....(destino, (hora de chegada), (0,0), tarifa do trecho)]

1ª Questão: VOOS FUNCAO DADO XS = FUNCAO DADO XS A resposta dessa função será uma lista dos vôos que contém a informação contida no argumento “dado”, de acordo com o 'tipo' da informação.

1ª Questão: codigo_identificacao dado xs = [(a,b,c,d)| (a,b,c,d)<- xs, a == dado] companhia dado xs = [(a,b,c,d)| (a,b,c,d)<- xs, b == dado] escalas dado xs = [(a,b,c,d)| (a,b,c,d)<- xs, elem dado (init (tail d))] datas dado xs = [(a,b,c,d)| (a,b,c,d)<- xs, c == dado]

1ª Questão: fst1 (x,y,z,w) = x origem dado xs = [(a,b,c,d)|(a,b,c,d) <-xs, fst1 (head d) == dado] destino dado xs = [(a,b,c,d) | (a,b,c,d) <- xs, fst1 (last d) == dado] snd3 (a,b,c,d) = b hora_partida dado xs = [(a,b,c,d) | (a,b,c,d) <- xs, snd3 (head d) == dado] hora_chegada dado xs = [(a,b,c,d) | (a,b,c,d) <- xs, snd3 (last d) == dado]

1ª Questão terc (a,b,c,d) = c assentos_disponiveis dado xs = [(a,b,c,d) | (a,b,c,d) <- xs, x <- d, snd (terc x) == dado] assentos_ocupados dado xs = [(a,b,c,d) | (a,b,c,d) <- xs, x <- d, fst (terc x) == dado] last2 (a,b,c,d) = d tarifa dado xs = [(a,b,c,d) | (a,b,c,d) <- xs, x <- d, (last2 x) == dado]

2ª Questão: Lista os vôos disponíveis no período dado, ordenados por tarifas total dos vôos: voo_completo origem destino saida chegada xs = [(a,b,c,d)|(x,y,z,w) <- (ordena_tarifas (calcula_tarifas ls)), (a,b,c,d) <- xs, x == a] where ls = voo_or_dest_per origem destino saida chegada xs

2ª Questão: Retira o segundo elemento da tupla de quatro elementos: meio1 (x,y,z,w) = y Lista os vôos que contém todas informações dadas nos argumentos: voo_or_dest_per origem destino saida chegada xs = [(a,b,c,d) | (a,b,c,d) <- xs, fst1 (head d) == origem && fst1 (last d) == destino && meio1 (head d ) == saida && meio1 (last d ) == chegada]

2ª Questão: Soma as tarifas de cada tupla da lista de escalas: tarifas xs = sum [t | (a,b,c,t) <- xs] Retorna uma lista com os vôos, onde o último elemento da tupla foi substituído pela tarifa total de cada vôo: calcula_tarifas xs = [(a,b,c,tarifas d) | (a,b,c,d) <- xs]

2ª Questão: Ordena a lista através do último elemento da tupla: ordena_tarifas xs = if (null xs || null (tail xs)) then xs else ordena_tarifas (filtra ( = f4 pivot) (tail xs)) where pivot = head xs f4 (a,b,c,d) = d filtra p xs = [x | x <- xs, p (f4 x)]

3ª Questão Obter os vôos de menor tarifa, através dos dados iniciais (origem, destino e período dos vôos): voo_menor_tarifa origem destino datas xs = [ (a,b,c,d) | w <- ls, (a,b,c,d)<-xs, z == (last2 w) && fst1 w == a] where z = compara_tarifas origem destino datas xs ls = calcula_tarifas (voo_or_dest_data origem destino datas xs )

3ª Questão Lista os vôos que contém a origem, o destino e a data solicitada: voo_or_dest_data origem destino datas xs = [(a,b,c,d) | (a,b,c,d) <- xs, fst1 (head d) == origem && fst1 (last d) == destino && c == datas]

3ª Questão Retorna o valor da menor tarifa entre os vôos da lista dada: compara_tarifas origem destino datas xs = minimum (last1 ls) where ls = calcula_tarifas (voo_or_dest_data origem destino datas xs ) Lista os últimos elementos das tuplas de uma lista: last1 xs = [w|(x,y,z,w)<-xs]

4ª Questão Comprar uma passagem, no vôo de menor escala entre os vôos da questão anterior: compra_passagem x y z = voocerto (alteraquantvoo(head(voocertoD))) where voocertoD = retiraD (menor_escala (voo_menor_tarifa x y z bancod)) voocerto p = colocaDcomABC (menor_escala (voo_menor_tarifa x y z bancod)) p

4ª Questão Filtra os vôos, cujo o tamanho da lista de escalas é igual ao menor tamanho de escala entre os vôos que confere com o que foi solicitado na questão 3: menor_escala xs =[(a,b,c,d)| (a,b,c,d) <- xs, length d == ls] where ls = menor_tamanho_escala xs Menor tamanho da lista de escalas: menor_tamanho_escala xs = minimum [length d| (a,b,c,d) <- xs]

4ª Questão Agora vamos retirar a primeira escala dos vôos que confere com o que foi solicitado. Como só iremos comprar uma passagem, ficamos só com a primeira (head): retiraD xs = head([ d | (a,b,c,d)<-xs])

4ª Questão Após retirar a escala, filtramos a primeira tupla dela, pra efetuarmos a compra da passagem, aplicando a seguinte função: alteraquantvoo (a,b,(c,d),e) = (a,b,(c+1,d-1),e) Assim, a tupla da origem da escala foi modificada.

4ª Questão: Para colocar a tupla (agora modificada) no vôo original dela, aplicamos a função: colocaDcomABC xs z = [ (a,b,c,z:(tail(retiraD xs))) | (a,b,c,d)<-xs]

Fim Passagem comprada!!! Alan Silva da Paz Floriano Glaice kelly da Silva Quirino