You are on page 1of 4

UNIVERSIDADE FEDERAL DO PARÁ

INSTITUTO DE TECNOLOGIA
FACULDADE ENGENHARIA FERROVIÁRIA E LOGÍSTICA

APLICAÇÃO DE ALGORÍTIMOS EM FERROVIAS

AUTOR
FELIPE ALBERTO MENEZES DA SILVA

BELÉM/PA
2019
2

1. SENSOR DE VELOCIDADE

PROGRAMA PARA SENSOR EM VIA:


reg = 0
loop esse programa funciona fazendo verificações constantes na via
enquanto sensor de via == False: verifica o sensor de via, que retorna um sinal digital 1
(True) para presença de comboio em via
enquanto sensor de roda ==False: verifica o sensor de passagem de roda, que retorna
um sinal digital 1 (True) para passagem de uma roda
se reg == 0: artifício para que apenas a passagem de um rodeiro seja contabilizada,
registro == hora do sistema variável dada pela rede. Uma lista com 3 elementos,
horas, minutos e segundos, onde os segundos são 4 dígitos sem vírgulas
reg = 1
break
break
enquanto sensor de via == True: ativada na saída do trem da seção
reg = 0
listaA.append (registro) adiciona valor registro à lista do dia localizada em banco de
dados central do sistema

PROGRAMA PARA SOFTWARE DE ALERTA


sizeA1 = []
sizeB1 = []
loop
se range (listaA) > sizeA1 e range (listaB) > sizeB1: verifica se ambas as lista foram
acrescidas de novas medições
deltaT = listaA[-1][-1] – listaB[-1][-1] é feito apenas o calculo dos segundos
velocidade = (100/deltaT)*3,6
se velocidade ≤103: 103 pois a precisão de centésimos de segundo pode acumular um
valor de erro para mais de 2,7 km/h na velocidade de 100km/h
print(velocidade)
relatorio.append(velocidade,listaA[-1][0], listaA[-1][1]) inclui os valores de
3

velocidade no relatório diário


senão:
print(velocidade + “Alerta!”)
relatorio.append(velocidade,listaA[-1][0], listaA[-1][1])
sizeA1 = range (listaA)
sizeB1 = range (listaB)

2. PREÇO DE TICKET

npass = entrada(“quantidade de passagens”) teclado numérico restringirá a entrada de dados


a números
est_origem = entrada(“origem? ”) um quadro com cada um dos terminais impedirá entradas
inválidas
est_destino = entrada(“destino? “) um quadro com cada um dos terminais impedirá entradas
inválidas
valorb = npass * abs(est_origem – est_destino)*12
se npass > 1:
print(valorb * 0,9)
senao:
print(valor)

3. TRANSBORDO DE VAGÕES

Primeiramente, é feito o ordenamento da lista de contêineres transportados no trem seguindo


a ordem de acoplamento da composição, com o seguinte par de variáveis: [vagão], [código].
Isso visa acompanhar a ordem da operação de transbordo dos vagões, um por vez, do
primeiro ao último.

Como há a ocorrência de contêineres que terão o mesmo endereço no armazenamento (por


razão de mesmo destino, ou mesma responsável para distribuição, ou etc.). O passo seguinte
é a identificação dos grupos a serem armazenados em conjunto e a adição de mais uma
variável no registro do contêiner: [código], [vagão], [grupo], assim os contêineres que
4

pertencerem ao mesmo grupo serão direcionados a endereços adjacentes num mesmo


armazém.

Para uma a primeira movimentação de remoção do contêiner do vagão, a primeira variável


usada é [vagão], que representa o número do vagão onde máquina irá operar. A segunda
será a identificação dos contêineres dentro de cada vagão. Já identificado, é feito o seu
devido encaminhamento a um armazém, onde será colocado junto com os outros elementos
do mesmo grupo.

Uma quarta variável [cod_endereco] com o endereço codificado de armazenamento no


terminal de carga é adicionado ao registro do contêiner, essa codificação segue as siglas e
números de cada armazém, corredor, rua, slot e nível.

Ao termino das atividades de armazenamento, é criada uma lista com os códigos de todos os
contêineres e as respectivas variáveis de [grupo] e [cod_endereco]. Assim, com o código do
contêiner, seu grupo, e código da sua localização, é possível manter o controle todos os
elementos no estoque.

You might also like