![]() |
|
Ortalama aldırma - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: Ortalama aldırma (/showthread.php?tid=5054) |
Ortalama aldırma - xthief - 05-07-2020 Merhaba 3 Alanım var [BIRINCISAYI], [IKINCISAYI], [UCUNCUSAYI], Bu üç alanın ortalamasını aldırmak istiyorum, alanların hepsi 0 dan büyük ise 3'e, alanlardan herhangi biri 0 ise 2'ye bölecek, alanlardan 2 tanesi 0 ise 1'e bölecek. Bir türlü sorunu aşamadım. Yardımcı olursanız minnettar olurum. Ortalama aldırma - SimaWB - 05-07-2020 (05-07-2020, Saat: 18:23)xthief Adlı Kullanıcıdan Alıntı: Bir türlü sorunu aşamadım. Neler yaptınız da aşamadınız? Takıldığınız yer neresi? Yada aldığınız hata mesajı nedir? Ortalama aldırma - mrmarman - 05-07-2020 Merhaba * Bakış açısını soruyu lineer kurarak sadeleştirin. * Yani 1 değer için 1'e, 2 değer için 2'ye, 3 değer için 3'e böleceğiz gibisinden. Yönerge şu şekildedir.
Ortalama aldırma - uparlayan - 05-07-2020 Şuna benzer bir şey olabilir... var A, B, C: Integer; // ortalaması alınacak alanlar X, Y: Integer; // X bölen, Y Sonuc... begin A := 1; B := 0; C := 33; X := Ord(A > 0) + ord(B > 0) + ord (C > 0); if X < 1 then X := 1; Y := (A + B + C) div X; ShowMessage(X.ToString); ShowMessage(Y.ToString); end; Cvp: Ortalama aldırma - xthief - 05-07-2020 (05-07-2020, Saat: 18:42)mrmarman Adlı Kullanıcıdan Alıntı: Merhaba Muharrem Hocam çok teşekkür ederim. Dediğiniz gibi yaptığımda sorunum çözüldü. Farklı bir yol ile deniyordum, neden parantez içerisine alıyoruz açıklayabilir misiniz? (05-07-2020, Saat: 19:02)uparlayan Adlı Kullanıcıdan Alıntı: Şuna benzer bir şey olabilir... Teşekkürler Sayın Hocam. Ortalama aldırma - mrmarman - 05-07-2020 @xthief Cevap "matematik". * İşlemler/parantezler ile ilişkili öncelikler sonucu belirler. Örnek : A = 2 B = 1 C = 3 için (A + B + C) / 3 = 2 iken parantez olmazsa A + B + C / 3 = 4toplamaya göre bölme işlemi önceliklidir. Parantez bu önceliği değiştirmenizi sağlar. Bu yeterince açık mıdır? Ayrıca bölme sonucu Tamsayı olmayabilir, ortalama için @uparlayan integer vermiş ama real tipi bir değişken ( Sonuc : Double ) kullanmanızı öneririm. Ortalama aldırma - uparlayan - 05-07-2020 Kimse mükemmel değil
Cvp: Ortalama aldırma - xthief - 05-07-2020 (05-07-2020, Saat: 20:27)mrmarman Adlı Kullanıcıdan Alıntı: @xthief Evet işlem önceliğini atlamışım. Teşekkür ediyorum. Double kullanmıştım zaten. |