Ir ao conteúdo
  • Cadastre-se

Ajuda Visualg Catracas Eletrônicas


artmissen

Posts recomendados

Olá, gostaria de uma ajuda com esse algoritmo em Visualg, não estou conseguir pegar a lógica! Por enquanto meu meu código esta assim :


var
h:vetor[1..50] de inteiro//Entrada de clientes
s:vetor[1..50] de inteiro//Saída de clientes
i,j,n,cont,test:inteiro

procedimento entrada()//Dados e Restrições para o cálculo.
inicio
escreval("Digite um número para N:") //Tamanho do vetor
repita
leia(n)
se n=0 então //Restrição de pausa
interrompa
fimse
se (n < 1) ou (n > 50) então //Restrição corrompida
escreval("Entrada inválida, N deve ser de 1 à 50.")
fimse
ate (n >= 1) e (n <= 50)//Restrição atendida
para i de 1 ate n faca
escreval("Digite o tempo (em segundos) em que a pessoa",i," entrou:")
repita
leia(h[i])
se (h[i] < 1) ou (h[i] > 15000) então //Restrição corrompida
escreval("Número inválido, deve ser entre 1 e 15000.")
fimse
ate (h[i] >= 1) e (h[i] <= 15000)//Retrição atendida
fimpara
para i de 1 ate n faca
escreval("Digite o tempo (em segundos) em que a pessoa",i," saiu:")
repita
leia(s[i])
se (s[i] < 1) ou (s[i] > 15000) ou (s[i] < h[i]) então //Retrição corrompida
escreval("Número inválido, deve ser entre 1 e 15000 e deve ser maior que a entrada.")
fimse
ate (s[i] >= 1) e (s[i] <= 15000) e (s[i] > h[i])//Restrição atendida
fimpara
fimprocedimento

inicio//Dando Inicio a saída do programa
test <- 1
repita
entrada()
cont <- 0 //Variável cont recebe variável n

para i de 1 ate n faca //Matriz para o calculo
para j de 1 ate n faca
se (h[i] <= s[j]) e (s[i] >= h[j]) então
se (i<>j) então
cont <- cont + 1 //Faz a contagem dos membros simultaneos a partir da variavel n
fimse
fimse
fimpara
fimpara

se (n <>0) então
escreval("Teste",test)
escreval("pessoas: ",cont)
test <- test+1
fimse
ate n=0
fimalgoritmo

(01) Restaurante

A UNICOMP (Universidade Independente de Computação) possui vários refeitórios que servem seus milhares de alunos e professores. P ara melhorar o atendimento a UNICOMP planeja fazer uma reforma nos refeitórios, mas para isso necessita saber qual o número máximo de pessoas que são atendidas simultaneamente em um mesmo refeitório. Para isso a UNICOMP, que possui catracas eletrônicas, coletou os seguintes dados:

 Um vetor E , ordenado crescentemente, em que E representa o instante de tempo em que a pessoa i entrou no restaurante;

 Um vetor S , em que S representa o instante de tempo em que a pessoa i saiu do restaurante.

Os elementos de E e S são inteiros positivos que indicam o número de segundos transcorridos desde a abertura do restaurante. A entrada e a saída do restaurante se faz por uma única catraca, onde passa apenas 1 pessoa por vez, de maneira que os tempos registrados em E e S são todos distintos.

1. Tarefa

Sua tarefa é escrever um programa que, dados dois vetores de inteiros E e S, ambos de comprimento igual a N , calcula o número máximo de pessoas que estão presentes ao mesmo tempo dentro do restaurante.

2. Entrada de Dados

A entrada de dados contém vários conjuntos de teste. Cada conjunto de teste é composto por três linhas. A primeira linha contém um inteiro positivo, N , que indica o comprimento dos vetores E e S, conforme descrito acima. A segunda linha do conjunto de teste contém os elementos do vetor E, separados por espaço em branco, e a terceira linha contém os elementos do vetor S , separados por espaço em branco. O final dos dados de testes é indicado quando N = 0 (este último conjunto de testes não é válido e não deve ser processado).

3. Saída de Dados

Para cada conjunto de teste de entrada seu programa deve produzir três linhas de saída. A primeira linha deve conter um identificador do conjunto de teste, no formato “Teste n”, onde n é numerado a partir de 1. Na segunda linha deve aparecer o número máximo de pessoas presentes simultaneamente no restaurante, encontrado pelo seu programa, precedido por “pessoas:”. A terceira linha deve ser deixada em branco. A grafia mostrada no Exemplo de Saída, abaixo, deve ser seguida rigorosamente.

Exemplo de Entrada

3

14 67 98

1890 1900 2123

2

200 1800

1543 2324

0

Exemplo de Saída

Teste 1

pessoas: 3

Teste 2

pessoas: 1

4. Restrições

1 <= N <= 50

1 <= E <= 15.000, 1 <= i <= N

1 <= S <= 15.000, 1 <= i <= N

E < E[i+i], para 1 <= i < N

E < S, para 1 <= i <= N

E <> S[j], para todo par i e j, 1 <= i <= N, 1 <= j <= N

N = 0 apenas para indicar o fim dos

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!