Kurmuş olduğum mantık doğru mu?

Katılım
22 Aralık 2023
Mesajlar
697
Makaleler
1
Çözümler
3
Beğeniler
198
Merhaba. Aşağıda kurmuş olduğum JS mantığı doğru mu?

[CODE lang="javascript" title="JavaScript"]let x = 10;
let y = 15;
let z = 10;

if (x > y && x > z) {
console.log('x is big.');
} else if (y > x && y > z) {
console.log('y is big.');
} else if (z > x && z > y) {
console.log('z is big.');
} else {
console.log('Numbers are equal.');
}[/CODE]
 
Bu kodda, x, y ve z adlı üç değişkenin değerlerini karşılaştırarak en büyük olanı bulmaya çalışmışsın dostum. Ancak, tüm sayılar eşit olduğunda veya iki sayı eşit olup diğerinden büyük olduğunda doğru mesajı vermesi için koşulları bir tık daha ayrıntılı hale getirmen gerekiyor. Şöyle açıklayayım;

  1. İlk if bloğu: if (x > y && x > z) koşulu, x'in hem y'den hem de z'den büyük olup olmadığını kontrol eder. Eğer bu doğruysa, "x is big." mesajını yazdırdık.
  2. İkinci if bloğu: else if (y > x && y > z) koşulu, y'nin hem x'ten hem de z'den büyük olup olmadığını kontrol eder. Eğer bu doğruysa, "y is big." mesajını yazdırdık.
  3. Üçüncü if bloğu: else if (z > x && z > y) koşulu, z'nin hem x'ten hem de y'den büyük olup olmadığını kontrol eder. Eğer bu doğruysa, "z is big." mesajını yazdırdık.
  4. Dördüncü if bloğu: else if (x === y && x === z) koşulu, tüm sayıların birbirine eşit olup olmadığını kontrol eder. Eğer hepsi eşitse, "All numbers are equal." mesajını yazdırdık.
  5. Beşinci if bloğu: else if (x === y && x > z) koşulu, x ve y'nin birbirine eşit olup aynı zamanda z'den büyük olup olmadığını kontrol eder. Bu durumda, "x and y are the biggest and equal." mesajını yazdırdık.
  6. Altıncı if bloğu: else if (x === z && x > y) koşulu, x ve z'nin birbirine eşit olup aynı zamanda y'den büyük olup olmadığını kontrol eder. Bu durumda, "x and z are the biggest and equal." mesajını yazdırdık.
  7. Yedinci if bloğu: else if (y === z && y > x) koşulu, y ve z'nin birbirine eşit olup aynı zamanda x'ten büyük olup olmadığını kontrol eder. Bu durumda, "y and z are the biggest and equal." mesajını yazdırdık.
  8. Son else bloğu: Yukarıdaki hiçbir koşul doğru değilse, bu durumda eşit olan ve büyük olmayan sayılar vardır ve bu durumu belirtmek için "There is a tie." mesajını yazdırdık.

Bu şekilde, her olasılığı kapsayan bir mantık oluşturmuş oluyoruz ve hangi sayıların en büyük olduğunu doğru bir şekilde belirleyebiliyoruz.
 
@Rufiq iki sayı eşit olup diğeri daha küçükse "numbers are equal" diyecek. Bu hata dışında problemi yok.

[CODE lang="javascript" title="En büyük sayı.js"]dizi = {x:10,y:15,z:10};
mx= Math.max(...Object.values(dizi));
mn= Math.min(...Object.values(dizi));
if(mx==mn){
console.warn("equal")
}else{

console.warn(Object.keys(dizi).filter(i=>dizi==mx).join(", ") + " is bigger")
}[/CODE]
Örneğin kodu daha dinamik yapmak istersen yukarıdaki örneği inceleyebilirsin. (Kodu telefondan yazdım, çok formatlama imkanım olmadı.)
 
Son düzenleme:
GpT 4o buradaki arkadaşlar gibi hata bulmadı.
Ek önerş verdi @6434 dediği gibi.
JavaScript:
let x = 10;
let y = 15;
let z = 10;

if (x > y && x > z) {
    console.log('x is the biggest.');
} else if (y > x && y > z) {
    console.log('y is the biggest.');
} else if (z > x && z > y) {
    console.log('z is the biggest.');
} else if (x === y && y === z) {
    console.log('All numbers are equal.');
} else {
    console.log('Two or more numbers are equal and biggest.');
}
 
GPT 4O buradaki arkadaşlar gibi hata bulmadı.

GoT 4o da aşağıdaki kodda söylediğim düzeltmeyi uygulamış?

İki sayı eşit olup diğeri daha küçükse "numbers are equal" diyecek. Bu hata dışında problemi yok.

} Else if (X === y && y === Z) { console.log('All numbers are equal.'); } else { console.log('Two or more numbers are equal and biggest.'); }

Ek olarak bu kişi foruma yazdığına göre büyük ihtimalle yapay zeka yanıtı istemiyordu.
 
GoT 4o da aşağıdaki kodda söylediğim düzeltmeyi uygulamış?





Ek olarak bu kişi foruma yazdığına göre büyük ihtimalle yapay zeka yanıtı istemiyordu.
Kesinlikle. Yukarıdaki problemden dolayı yazdım :)

Biz de ChatGPT'de yardım alabilirdik ki, doğru da yanıtladınız. Peki hocam yukarıdaki koduma göre değiştirmiş olsaydın JavaScript'i yeni öğrenen birisi için nasıl değiştirirdin. Dict kullanmadan array kullanmadan ama. Şöyle düşün bu adam if else koşulunu öğrenmiş, değişkenleri öğrenmiş ama array ve dict konusunu henüz öğrenmemiş düşün ki, öyle de zaten :)
 
GoT 4O da aşağıdaki kodda söylediğim düzeltmeyi uygulamış?

Ek olarak bu kişi foruma yazdığına göre büyük ihtimalle yapay zeka yanıtı istemiyordu.

Belki bakmamıştır diye yazdım soruya cevap verilmiş olduğu için ek olsun da istedim haklısınız.
 

Dosya Ekleri

  • Screenshot_2024-05-20-02-22-07-029_com.openai.chatgpt-edit.webp
    Screenshot_2024-05-20-02-22-07-029_com.openai.chatgpt-edit.webp
    49,3 KB · Görüntüleme: 51
  • Screenshot_2024-05-20-02-21-49-399_com.openai.chatgpt-edit.webp
    Screenshot_2024-05-20-02-21-49-399_com.openai.chatgpt-edit.webp
    68,5 KB · Görüntüleme: 47
Bir an fevri davrandım, anlayışın için teşekkür ederim. Çoğu forumda yapay zeka ile spam içerik üretildiği için bir anlığına kötü niyetli bir paylaşım sanmıştım, kusura bakmayın. Sonuçta hepimizin hedefi yardım etmek.
 
Bir an fevri davrandım, anlayışın için teşekkür ederim. Çoğu forumda yapay zeka ile spam içerik üretildiği için bir anlığına kötü niyetli bir paylaşım sanmıştım, kusura bakmayın. Sonuçta hepimizin hedefi yardım etmek.
Sorun yok ben de bu ara gergin yazıyorum.
 
Geri
Yukarı Alt