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>usingnamespace std;floatfaktoriyel(int a) { int f =1, i;for (i =2; i <= a; i++) f = f * i;return f;}intmain(){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.