Página 1 de 1
resolução problema linguagem clipper
Enviado: 18 Jan 2014 16:40
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
resolução problema linguagem clipper
Enviado: 18 Jan 2014 21:02
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
resolução problema linguagem clipper
Enviado: 19 Jan 2014 12:33
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
resolução problema linguagem clipper
Enviado: 19 Jan 2014 13:46
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.
resolução problema linguagem clipper
Enviado: 19 Jan 2014 14:39
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.