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
resolução problema linguagem clipper
Moderador: Moderadores
resolução problema linguagem clipper
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):
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
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
resolução problema linguagem clipper
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, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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/
resolução problema linguagem clipper
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.
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.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
resolução problema linguagem clipper
Esta parte dá a impressão de estar em um banco de dados, já que considera várias temperaturas pré-existentes.3) Enquanto ainda houver registros de temperatura
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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/

