1. sayfa (Toplam 1 sayfa)

Ruby ile Terminal üzerinde bir sayının faktöriyeli nasıl bulunur ?

Gönderilme zamanı: 05 Kas 2022 21:31
gönderen admin
Ruby programlama ile n sayısının faktöriyeli nasıl bulunur?

Matematikten biraz anlayan herkes bilir . Faktöriyel tanım olarak;
1’den n’ye kadar olan veya n’den geriye doğru 1’e kadar olan doğal sayıların çarpımı n! (n faktöriyel) olarak gösterilir.
n!=1.2.3.4……(n-1).n

n!=n.(n-1)…..3.2.1

0!=1

1!=1

2!=1.2=2

3!=1.2.3=6

4!=1.2.3.4=24

5!=1.2.3.4.5=120
Formül :

Kod: Tümünü seç

n! = 1                (ne zaman n==0 olursa)
   = n * (n-1)!
Buna göre kaynak kodumuz :

Kod: Tümünü seç

def fact(n)
  if n == 0
    1
  else
    n * fact(n-1)
  end
end

puts fact(ARGV[0].to_i)
Yukarıdaki şekilde tasarlarsak ve dosyaadı.rb uzantısıyla boş bir dosya içerisine kaydedersek ardından terminalde çalıştırmak için ;

Kod: Tümünü seç

ruby dosyaadı.rb 5
dosyaadı.rb yi ve faktöriyelini bulacağınız sayıyı değiştirebilirsiniz.

Ekran çıktısı :

Resim

Re: Ruby ile Terminal üzerinde bir sayının faktöriyeli nasıl bulunur ?

Gönderilme zamanı: 30 Eyl 2024 16:57
gönderen trasmus
- Ruby'e şöyle bir baktım da Python gibi yüksek düzey dil sözdizimini kullanıyormuş. Python bilen birinin Ruby'de kod yazmaya alışması en fazla bir gününü alır. Ufak tefek değişiklikler var ama genelde mantığı aynı gibi.

- Yukarıdaki faktöryel hesaplayan kodun alternatifini (ve bence benim kodum daha okunaklı :) ) aşağıya yazıyorum:

Kod: Tümünü seç

puts "Faktöryel hesabı için sayı giriniz:"
sayi = gets.chomp.to_i
output, dongu = sayi, sayi


while dongu > 1 
  dongu -=1
  output *= dongu
end
puts "#{sayi} sayısının faktöryeli: #{output}"
puts "Çıkmak için herhangi bir tuşa basın."
gets
Resim

Re: Ruby ile Terminal üzerinde bir sayının faktöriyeli nasıl bulunur ?

Gönderilme zamanı: 23 Ara 2024 16:08
gönderen trasmus
Can sıkıntısından faktöryel hesaplayan Ruby kodunu güncelledim. Artık istediğiniz kadar hesaplamayı programı kapatmadan yapabilirsiniz.

Kod: Tümünü seç

puts "Program Çalıştırılsın mı? (1 veya 0)"
durum = gets.chomp.to_i

while durum == 1
	puts "\nFaktöryel hesabı için sayı giriniz:"
	sayi = gets.chomp.to_i
	output, dongu = sayi, sayi

	while dongu > 1 
	  dongu -=1
	  output *= dongu
	end

	puts "\n#{sayi} sayısının faktöryeli: #{output}"

puts "\nDevam etmek için 1 sayısını giriniz"
durum = gets.chomp.to_i

end

Re: Ruby ile Terminal üzerinde bir sayının faktöriyeli nasıl bulunur ?

Gönderilme zamanı: 29 Ara 2024 18:04
gönderen trasmus
Scripte programdan çıkış yaptığı iletisini ekledim ve aniden çıkmak yerine iletiyi gösterip 2 saniye bekleyip kapatma ekledim.

Kod: Tümünü seç

puts "Programı Çalıştırmak için 1'i veya Sonlandırmak için 0'ı giriniz: "
durum = gets.chomp.to_i

while durum == 1
	puts "\nFaktöryel hesabı için sayı giriniz:"
	sayi = gets.chomp.to_i
	output, dongu = sayi, sayi

	while dongu > 1 
	  dongu -=1
	  output *= dongu
	end

	puts "\n#{sayi} sayısının faktöryeli: #{output}"

puts "\nDevam etmek için 1 sayısını giriniz"
durum = gets.chomp.to_i

end
puts("\n Program Sonlanıyor.")
sleep 2