Aradaki farkı hesaplama?

Başlatan Maxim, 09 Kasım 2014, 07:14:17

Maxim

4 tane word değerimiz olsun
bunların değerleri normalde birbirine çok yakın

DIM A AS WORD
DIM B AS WORD
DIM C AS WORD
DIM D AS WORD

ben şunu nasıl derim?
bu 4 değer eğer birbirinden 50 birim farklı olursa şunu yap?
kafa durdu :(



ete

Bence açıklaman yetersiz. Bunlar sıralıolarak her biri diğerinden 50 birim farklımı olacak yoksa rastgele fark mı aranacak.?
Ayrıca mutlaka bu dört değişken arasında fark oluşacakmıdır.
bu soruyu sormasam şöyle cevaplardım;
IF A<(B+50) AND B<(C+50) AND C<(D+50) THEN SUNUYAP
Yada karışık farklılıklar için
IF B>(A+50) OR A>(B+50) THEN
   IF B>(C+50) OR C>(B+50) THEN
    IF C>(D+50) OR D>(C+50) THEN SUNUYAP
   ENDIF
ENDIF

Ete

     

Maxim

#2
ete abi
net olarak şöyle açıklamaya çalışayım
tamamen birbirinden bağımsız 4 tane fırın düşünelim
4 tane sıcaklık ölçüyoruz, hepsini güzelce görüyoruz.

yapmak istediğim şu
bu 4 fırının aralarındaki sıcaklık değeri belli bir değerden farklı olursa bileyim.
mesela sınır farkı 50 derece olarak belirleyelim.

fırın sıcaklıkları
1) 372
2) 345
3) 359
4) 365
olunca sorun yok çünkü en düşük 345, en çok 372 derece
aradaki fark 27 derece

ama diyelim ilk değer 372 değilde 450 oldu
450-345 = 105 derece fark oldu





Maxim

kahvaltı yapınca zihnim açılmaya başladı :)
şöyle yapsam olurmu sizce?

tempmax, tempmin ve sonuc diye üç word değeri tanımlasam
desemki

sonuc=0
tempmax=0
tempmin=65500

if A or B or C or D < tempmin then
if A <tempmin then tempmin=A
if B <tempmin then tempmin=B
if C <tempmin then tempmin=C
if D <tempmin then tempmin=D
endif

if A or B or C or D > tempmax then
if A >tempmax then tempmax=A
if B >tempmax then tempmax=B
if C >tempmax then tempmax=C
if D >tempmax then tempmax=D
endif

sonuc=tempmax - tempmin
if sonuc>50 then goto xxx

ete

Basic de max min diye iki komut var. Bunu şöyle kullanırsan işin daha kolay gibi
Buyuk=a max b
Buyuk= buyuk max c
Buyuk= buyuk max d
Kucuk= a min b
Kucuk=kucuk min c
Kucuk=kucuk min d
If (kucuk+50)>buyuk then sunuyap

Yada sıcaklık değerlerini bir diziye verip sort yaparsın en üstteki en alttakinden 50 buyukse git şunu yap dersin.

Ete

Maxim

#5
min-max komutlarını protondan kaldırmıişlar
sort yapmayı deneyeyim hocam

Maxim

ben yanlış düşünmüşüm algoritmayı
o andaki en yüksek değerden - 50 yapmalı ve 51 den büyük varsa belirlemeliyim

Powered by EzPortal