Páginas

sábado, 31 de julho de 2021

sábado, 31 de julho de 2021

Nacional: Simulador de Fila de Espera numa Paragem de Autocarro


Fomos recentemente contactados por Lúcio Quintal, um criador ligado ao ZX Spectrum com alguma história, se não vejamos: foi membro dos Lusitânia Soft que criaram Break Neck (lançado numa cover tape da Sinclair User em 1992); Nave, recuperado pelo Planeta Sinclair em 2020 e disponível aqui; foi o criador de Mastermind, lançado em 1990 e Super Master em 2018, para além do Lucio's Sound Machine, programa lançado em 1989 numa cover tape de Your Sinclair.

Pois este encontrou nos seus arquivos um programa e respetivo código-fonte que realizou para uma cadeira de programação utilizando o Borland Turbo Pascal 5.5, início dos anos 90. Passamos agora a transcrever parte da sua própria descrição, também disponível no link no ficheiro "Leia-me" pois ninguém melhor que o autor para falar da sua criação:

"A primeira versão, de 1993, descrevia os acontecimentos apenas com texto. Para a 2ª versão, de 1994, foi implementada animação gráfica correspondente às ações (ou eventos) que vão ocorrendo na paragem de autocarro ao longo do tempo. Para executar em MSDOS. Pode funcionar como uma espécie de "screen saver". 

De certa forma também evidência o poder e a facilidade de manipulação e apresentação gráfica nessa linguagem, numa altura em que o MSDOS ainda era um sistema operativo standard. Conjuntamente com o programa executável é igualmente disponibilizado todo o código fonte original, exatamente em Turbo Pascal 5.5.

Principais Eventos/Acontecimentos simulados:

- Chegada de um passageiro/utente à paragem, regido por uma função que descreve este evento, na qual o tempo entre chegadas de passageiros à paragem é um valor aleatório com determinado valor médio;

- Chegada de um autocarro à paragem (descrição idêntica à chegada de um passageiro, mas modelando o tipo de evento "chegada de um autocarro")

- Outros eventos incluem: utente entrar para o autocarro; utente desistir de esperar; utente tentar forçar entrada no autocarro;

Algumas notas sobre a simulação implementada:

- Antes do autocarro prosseguir pode entrar alguém, ou não;

- A probabilidade de o autocarro não parar é de 25% (caso venha sobrelotado);

- Quando o autocarro para, aceita pelo menos 4 utentes/passageiros, caso se encontrem na paragem;

- Dos utentes que ficam na paragem, em média 10% tenta forçar a entrada no autocarro;

- A probabilidade de conseguir entrar para os que forçam é de 50%;

- Um utente/passageiro pode forçar a entrada, mas não conseguir. nesse caso poderá ter que ir novamente para o fim da fila, o que tem uma probabilidade de 50% de acontecer;

- O utente pode forçar a entrada e não conseguir entrar no autocarro, mas mesmo assim ainda conseguir por vezes voltar para o mesmo lugar na fila da paragem;

- Alguns utentes desistem por estarem na fila da paragem há mais de 10 minutos, sendo que em média 10% dos que esperam há mais de 10 minutos desistem do autocarro;

- Os que desistem de esperar podem apanhar um táxi ou ir a pé pelo parque.

A sequência de eventos é gerida através de uma estrutura de dados + funções chamada "Cadeia de Acontecimentos Pendentes" (CAP), implementada de forma modular numa UNIT Turbo Pascal ligada ao programa principal.

Ao iniciar a simulação é perguntado: 

O Tempo médio entre cada chegada de um passageiro/utente (em minutos)?

O Tempo médio entre cada chegada de um autocarro (em minutos)?

Como é natural estes valores são determinantes na dinâmica da simulação, em particular no número de passageiros que estarão em média à espera na paragem em cada momento.

Antes de começar a simulação, o utilizador pode aplicar um fator de "aceleração", entre 0.1 e 10, sendo que o valor 1 corresponde à velocidade normal. 

Para terminar a simulação e voltar ao MSDOS basta premir uma tecla qualquer!"

Fiquem aqui com o link para descarregar o simulador.

Deixamos um grande agradecimento ao Lúcio Quintal pela partilha e um apelo aos nossos leitores para que não deixem criações vossas para MS-DOS ficarem perdidas no tempo. Ao partilhá-las com a equipa do Planeta, nós encarregar-nos-emos de tratar da sua preservação e disponibilização no blog.

3 comentários:

  1. O meu grande agradecimento e muitos parabéns ao Pedro Pimenta por todo o seu trabalho de composição musical, de preservação e divulgação do retrocomputing. Foi e é sempre um prazer partilhar estes "achados". Lúcio

    ResponderEliminar
    Respostas
    1. Muito obrigado Lúcio, toda a equipe do Planeta MS-DOS agradece a sua contribuição!

      Eliminar
  2. Obrigado Filipe. Obviamente os meus agradecimentos são extensivos a toda a equipa.

    ResponderEliminar