resolução problema linguagem clipper

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

btf0208
Usuário Nível 1
Usuário Nível 1
Mensagens: 1
Registrado em: 18 Jan 2014 16:25
Localização: governador valadares

resolução problema linguagem clipper

Mensagem por btf0208 »

ALguem poderia resolver em linguagem clipper porfavor, obrigado.

INICIO DO ALGORITIMO
1) Pegue a primeira temperatura registrada
2) Anote esta temperatura como a menor de todas as temperaturas
3) Enquanto ainda houver registros de temperatura, execute rapidamente e em ordem todas as instruções numeradas abaixo:
3.1) Pegue a próxima temperatura
3.2) Se essa temperatura for menor que aquela registrada no momento como a menor, então
3.2.1) Jogue fora a temperatura anterior registrada e anote a nova temperatura como sendo a menor de todas.
4) Exiba a temperatura que esta anotada como a menor. Esta é a temperatura que etavamos procurando.
FIM DO ALGORITIMO
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

resolução problema linguagem clipper

Mensagem por Eolo »

Vc não explicou como é esse "pegar a próxima temperatura", se as temperaturas lidas vão estar acumuladas em algum lugar (DBF?) ou se o leitor (de temperatura) vai passar uma a uma pro seu algoritmo.

Se for uma por uma, aqui vai uma solução (faltando a parte de onde surge a temperatura lida):

Código: Selecionar todos

priv menor:=1000000, nova, parou:=.f.
* Define MENOR como uma temperatura absurda, bem alta.
* No primeiro MIN(), ela vai ser substituida pela temperatura real lida, que vai ser menor
do whil .t.
  pega_nova_temp()   
  if parou=.t.
     exit
  endi
  menor:=min(menor,nova)
endd
if menor=1000000
  ? "Não foram lidas temperaturas"
else
  ? menor // menor temperatura dentre todas as lidas
endi


function pega_nova_temp
if ... // sistema externo parou de informar temperatura
  parou:=.t.
  retu 
endi
nova:= ?? // nova temperatura informada pelo sistema externo
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20416
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

resolução problema linguagem clipper

Mensagem por JoséQuintas »

Tá parecendo lição de escola, e muito mal descrita.

Código: Selecionar todos

// 1.pegue a primeira temperatura registrada
// 2.anote esta temperatura como sendo a menor de todas as temperaturas
nMenor := base->Temperatura 

// 3. Enquanto ainda houver registros de temperatura, execute rapidamente
// e em ordem todas as instruções numeradas abaixo
// ----------> "execute rapidamente" é esquisito
DO WHILE .NOT. Eof() 
// 3.1 pegue a próxima temperatura
// 3.2 se essa temperatura for menor que aquela registrada no momento como a menor, então
// 3.2.1 jogue fora a temperatura anterior registrada
// e anote a nova temperatura como sendo a menor de todas
   nMenor := Min( nMenor, base->Temperatura )
// continuação do item 3
   SKIP
ENDDO
// 4. Exiba a temperatura que está anotada como a menor
// Esta é a temperatura que estavamos procurando
? nMenor 
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

resolução problema linguagem clipper

Mensagem por Eolo »

Quintas,
Toda lição de escola é capenga, a gente tá aprendendo e não dando aula. Normal. E o BTF0208, pelo jeito, tá tentando aprender... Bão, vc assumiu que as temperaturas estão em um DBF, que esse DBF existe e tem registros, e que esse DBF já tem o que tinha que ter, não está mais sofrendo alterações. Você tá focado no DBF, estático, sem se preocupar que as temperaturas estão vindo de algum lugar desconhecido e em uma frequencia desconhecida...


BTF0208,
Nos dê mais informações sobre o seu problema, mais especificamente como as temperaturas estão sendo obtidas e onde (e se) elas estão sendo armazenadas. Aí podemos tentar ajudar de alguma forma.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20416
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

resolução problema linguagem clipper

Mensagem por JoséQuintas »

3) Enquanto ainda houver registros de temperatura
Esta parte dá a impressão de estar em um banco de dados, já que considera várias temperaturas pré-existentes.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder