Aşağıda verilen işlemin sonucunu N=10 değeri için hesaplayan algoritmayı yazınız.
⛓ Program Kısımları
N değerini formüle yerleştirerek sonucu elde etmek.
Hesaplanan toplamın sonucunu ekrana yazdırmak.
👓 Çözüm Yöntemi
Formülde görüldüğu gibi, n değeri sabit, i artıyor.
inin değişmesini sağlamak için 10 kere dönen bir döngü kullanırız. Döngü her döndüğünde iyi artırıp formüle yerleştiririz.
👩🔧 Çözüm Adımları
n ve inin tanımlanması.
“toplam”ın float (reel) tanımlanması.
1’den 10’a kadar döngünün oluşturulması.
a- iye göre terim değerinin hesaplanıp önceki toplama eklenmesi.
Formül sonucunun ekrana yazdırılması.
🤖 Kod
⚙ C++ Kodu
#include <iostream>
using namespace std;
float faktoriyel(int a) {
int f = 1, i;
for (i = 2; i <= a; i++)
f = f * i;
return f;
}
int main()
{
int n = 10, i; // “n” ve “i”nin tanımlanması
float toplam = 0; // “toplam”ın float (reel) tanımlanması
for (i = 1; i <= 10; i++) { // 1’den 10’a kadar döngünün oluşturulması
// “i”ye göre terim değerinin hesaplanıp önceki toplama eklenmesi
toplam = toplam + (i + (n - i) / faktoriyel(i));
}
cout << toplam; // Formül sonucunun ekrana yazdırılması
}
🐍 Python Kodu
# faktoryel fonksiyonun yazılmasıdeffaktoriyel(a): f =1 i =0for i inrange(2, a +1): f = f * ireturn f# “toplam”,“n” ve “i”nin tanımlanması.n =10toplam =0# 1’den 10’a kadar döngünün oluşturulmasıfor i inrange(1, 11):# “i”ye göre terim değerinin hesaplanıp önceki toplama eklenmesi toplam = toplam + (i + (n - i) /faktoriyel(i))print(toplam)# Formül sonucunun ekrana yazdırılması
☕ Java Kodu
publicclassSeri {publicstaticvoidmain(String arg[]) {int n =10, i; // “n” ve “i”nin tanımlanmasıfloat toplam =0; // “toplam”ın float (reel) tanımlanmasıfor (i =1; i <=10; i++) // 1’den 10’a kadar döngünün oluşturulması {// “i”ye göre terim değerinin hesaplanıp önceki toplama eklenmesi toplam = toplam + (i + (n - i) /faktoriyel(i)); }System.out.println(toplam); // Formül sonucunun ekrana yazdırılması }publicstaticfloatfaktoriyel(int a) { int f =1, i;for (i =2; i <= a; i++) f = f * i;return f; }}
⏹ C# Kodu
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceSeri{classProgram{staticvoidMain(string[] args){int n =10, i; // “n” ve “i”nin tanımlanmasıfloat toplam =0; // “toplam”ın float (reel) tanımlanmasıfor (i = 1; i <=10; i++){ // 1’den 10’a kadar döngünün oluşturulması // “i”ye göre terim değerinin hesaplanıp önceki toplama eklenmesi toplam = toplam + (i + (n - i) / faktoryel(i)); }Console.WriteLine(toplam); // Formül sonucunun ekrana yazdırılması Console.ReadLine(); }publicstaticfloatfaktoryel(int a){int f =1, i;for (i = 2; i <= a; i++) f = f * i;return f; } }}
🧩 Akış Şeması
Main
Faktoriyel
🎉 Ekran Çıktısı
69.46454
💡 Notlar
Fonksiyon kavramını kullanarak önceki örnekte gördüğümüz faktöriyel hesaplama algoritmasını faktoriyel(int a) fonksiyonu içinde yazdık.