Calcular mês de maior visitação de um museu.

1. Calcular mês de maior visitação de um museu.

Pedro Victor
Nerdiarretado

(usa Arch Linux)

Enviado em 29/10/2018 - 19:21h

Como posso saber qual será o mês de maior visitação de um museu? Estou com um problema em forma de algoritmo, na qual tenho que criar um programa simples que calcule o mês de maior visitação de um museu.
Ou seja tenho uma quantidade de meses estipulados
função calcuarMaiorMes (string dataInicial, string dataFinal) 

E desses parâmetros terei uma função que calcule de vários meses, qual o que houve maior visitação.



  


2. Re: Calcular mês de maior visitação de um museu.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 29/10/2018 - 21:37h

Nerdiarretado escreveu:

Como posso saber qual será o mês de maior visitação de um museu?
Estou com um problema em forma de algoritmo, na qual tenho que criar um programa simples que calcule o mês de maior visitação de um museu.
Ou seja tenho uma quantidade de meses estipulados [
code]função calcuarMaiorMes (string dataInicial, string dataFinal)[/code]
E desses parâmetros terei uma função que calcule de vários meses, qual o que houve maior visitação.

Boa noite.
Quais informações vc tem?

Marcelo Oliver





3. Re: Calcular mês de maior visitação de um museu.

Pedro Victor
Nerdiarretado

(usa Arch Linux)

Enviado em 29/10/2018 - 21:45h


Boa noite.
Quais informações vc tem?


Só tenho essas informações nos parâmetros.

conjunto string de registro
função calcuarMaiorMes (string dataInicial, string dataFinal)
{
string visita;
string dataDaVisita;
int numeroVisitantes;

para cada visita em registro faça
{

visitantes = separarString (visita, “|”, “antes”);
dataDaVisita = separarString (visita, “|”, “depois”);
numeroVisitantes = converterStringInt (visitantes);


// quantidade de visitas em um mês
se (dataInicial >= dataDaVisita e dataDaVisita >= dataFinal)
}


Este é o meu algoritmo (a linguagem dele é português mesmo, é só para testar a lógica)

A única informação que tenho é dentro da variável global registro, que é nela onde tenho a quantidade de visitantes e a data.
Por exemplo

//chamada
visita = 20 | 12/02/2018
visita = 5 | 05/06/2018

Os valores 20 e 5 são o número de visitas que um determinado grupo realizou.


4. Re: Calcular mês de maior visitação de um museu.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 30/10/2018 - 20:22h

Nerdiarretado escreveu:


Boa noite.
Quais informações vc tem?


Só tenho essas informações nos parâmetros.

conjunto string de registro
função calcuarMaiorMes (string dataInicial, string dataFinal)
{
string visita;
string dataDaVisita;
int numeroVisitantes;

para cada visita em registro faça
{

visitantes = separarString (visita, “|”, “antes”);
dataDaVisita = separarString (visita, “|”, “depois”);
numeroVisitantes = converterStringInt (visitantes);


// quantidade de visitas em um mês
se (dataInicial >= dataDaVisita e dataDaVisita >= dataFinal)
}


Este é o meu algoritmo (a linguagem dele é português mesmo, é só para testar a lógica)

A única informação que tenho é dentro da variável global registro, que é nela onde tenho a quantidade de visitantes e a data.
Por exemplo

//chamada
visita = 20 | 12/02/2018
visita = 5 | 05/06/2018

Os valores 20 e 5 são o número de visitas que um determinado grupo realizou.

Boa noite NerdiArretado.
Fiz um exemplo em shellScript, segue:

Registros:
visita = 35 | 01/01/2018
visita = 173 | 01/02/2018
visita = 68 | 01/03/2018
visita = 25 | 01/04/2018
visita = 52 | 01/05/2018
visita = 34 | 01/06/2018
visita = 39 | 01/07/2018
visita = 222 | 01/08/2018
visita = 13 | 01/09/2018
visita = 33 | 01/10/2018
visita = 92 | 01/11/2018
visita = 206 | 01/12/2018


Comandos:
#variável visita=0
visita=0;
Inicio do laço para ler linha a linha do arquivo Registros
while read -r line;do
#Mostra a linha original
printf "\nOrg: $line";
#Trata a linha, o objetivo e deixar somente o ESPAÇO como separador de campos "IFS"
line=$(sed 's/ =\| |//g;s/\// /g' <<< "${line}");
#Mostra a linha "tratada"
printf "\nAlt: $line\n";
#cria o "array" fld com todos os campos da linha
#Onde ${fld[1]} é o numero de visitas e os três últimos a data.
read -a fld <<< "$line";
#Condicional: Se ${fld[1]} é maior que "$visita"... Gera as Variáveis: visita=${fld[1]};D=${fld[2]};M=${fld[3]};A=${fld[4]};
((${fld[1]} > ${visita})) && { visita=${fld[1]};D=${fld[2]};M=${fld[3]};A=${fld[4]};};
done<Registros.txt
#Fim do laço
#Mostra o resultado!
printf "\nMaior visitação:\n$visita Visitantes\nEm $D/$M/$A\n"

Fiz varias simulações, testei aqui e funcionou.....

Da para fazer com um simples comando:
sort -n -r -k3 -t" " registro.txt|sed '1!d' 
visita = 222 | 01/08/2018

Att.:
Marcelo Oliver






5. Re: Calcular mês de maior visitação de um museu.

Pedro Victor
Nerdiarretado

(usa Arch Linux)

Enviado em 31/10/2018 - 15:11h

Muito obrigado amigo!
Não era bem o que eu esperava, porém deu uma noção de como fazer






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts