­čôŐ ─░statistik

ÔŁô Soru

1 ile 100 aras─▒ndaki tam say─▒lardan tek ve ├žift olanlar─▒n ayr─▒ ayr─▒ toplam─▒n─▒ ve ortalamas─▒n─▒ bulan algoritmay─▒ yaz─▒n─▒z.

ÔŤô Program K─▒s─▒mlar─▒

  1. Say─▒n─▒n ├žift veya tek oldu─čunu kontrol etmek.

  2. Tek ve ├žift say─▒lar─▒n toplam─▒n─▒ ve ortalamas─▒n─▒n ayr─▒ ayr─▒ hesaplamak.

  3. Sonu├žlar─▒ ekrana yazd─▒rmak.

­čĹô ├ç├Âz├╝m Y├Ântemi

  • ÔÇťi%2ÔÇŁ de─čerine g├Âre say─▒n─▒n tek veya ├žift oldu─čunu tespit ederiz.

  • (Ortalama = say─▒lar toplam─▒/ say─▒lar adedi) oldu─ču bellidir. D├Âng├╝ i├žinde toplam de─či┼čkenini kullanarak say─▒lar─▒n toplam─▒n─▒ elde ederiz.

­čĹęÔÇŹ­čöž ├ç├Âz├╝m Ad─▒mlar─▒

  1. De─či┼čkenlerin tan─▒mlanmas─▒.

  2. 2ÔÇÖden 100ÔÇÖa kadar d├Âng├╝n├╝n olu┼čturulmas─▒.

    • Ko┼čulun kontrol edilmesi.

    • ├ľnceki ad─▒m sonucuna g├Âre (├žift veya tek):

      • Say─▒lar adedinin art─▒r─▒lmas─▒.

      • Say─▒lar toplam─▒na i de─čerinin eklenmesi.

  3. Ortalamalar─▒n hesaplanmas─▒.

  4. Sonu├žlar─▒n yazd─▒r─▒lmas─▒.

­čĄľ Kod

ÔÜÖ C++ Kodu

#include <iostream>
using namespace std;
int main() {
int kacTaneTek = 0, kacTaneCift = 0, i; // De─či┼čkenlerin tan─▒mlanmas─▒
// B├Âlme i┼čleminden reel say─▒ ├ž─▒kabilece─či i├žin ortalama de─či┼čkenlerini float tan─▒mlad─▒k
double tekToplam = 0.0, ciftToplam = 0.0, ortalamaCiftler, ortalamaTekler;
for ( i = 2; i < 100; ++i) { // 2ÔÇÖden 100ÔÇÖa kadar d├Âng├╝n├╝n olu┼čturulmas─▒
if (i % 2 == 0) {
ciftToplam += i; // ├çift say─▒lar toplam─▒na ÔÇťiÔÇŁ de─čerinin eklenmesi
kacTaneCift++; // ├žift say─▒lar adedinin art─▒r─▒lmas─▒
}
else {
tekToplam += i; // Tek say─▒lar toplam─▒na ÔÇťiÔÇŁ de─čerinin eklenmesi
kacTaneTek++; // Tek say─▒lar adedinin art─▒r─▒lmas─▒
}
}
// Ortalamalar─▒n hesaplanmas─▒ "int/int=int" oldu─ču i├žin "t_toplam, c_toplam" de─či┼čkenleri float tan─▒mlad─▒k.
ortalamaCiftler = ciftToplam / kacTaneCift;
ortalamaTekler = tekToplam / kacTaneTek;
// Sonu├žlar─▒n yazd─▒r─▒lmas─▒
cout << "Teklerin toplami :" << tekToplam << '\n';
cout << "Teklerin Ortalamasi : " << ortalamaTekler << '\n';
cout << "Ciftlerin toplami :" << ciftToplam << '\n';
cout << "Ciftlerin Ortalamasi : " << ortalamaCiftler << '\n';
}

­čÉŹ Python Kodu

# De─či┼čkenlerin tan─▒mlanmas─▒
t_adet = 0; c_adet = 0; t_toplam = 0
t_ort = 0; c_toplam = 0; c_ort = 0
for i in range(2, 101): # 2ÔÇÖden 100ÔÇÖa kadar d├Âng├╝n├╝n olu┼čturulmas─▒
if(i % 2 == 1): # Ko┼čulun kontrol edilmesi
t_adet += 1 # Tek say─▒lar adedinin art─▒r─▒lmas─▒
t_toplam = t_toplam + i # Tek say─▒lar toplam─▒na ÔÇťiÔÇŁ de─čerinin eklenmesi
else:
c_adet += 1 # ├žift say─▒lar adedinin art─▒r─▒lmas─▒
c_toplam = c_toplam + i # ├žift say─▒lar toplam─▒na ÔÇťiÔÇŁ de─čerinin eklenmesi
# Ortalamalar─▒n hesaplanmas─▒
t_ort = t_toplam / t_adet
c_ort = c_toplam / c_adet
# Sonu├žlar─▒n yazd─▒r─▒lmas─▒
print("Teklerin toplami= ", t_toplam)
print("Teklerin ortalamasi= ", t_ort)
print("Ciftlerin toplami= ", c_toplam)
print("Ciftlerin ortalamasi= ", c_ort)

ÔśĽ Java Kodu

public class Istatistik {
public static void main(String arg[]) {
int i, t_adet = 0, c_adet = 0; // De─či┼čkenlerin tan─▒mlanmas─▒
// B├Âlme i┼čleminden reel say─▒ ├ž─▒kabilece─či i├žin ortalama de─či┼čkenlerini float tan─▒mlad─▒k
float t_toplam = 0, t_ort, c_toplam = 0, c_ort;
for (i = 2; i < 100; i++) { // 2ÔÇÖden 100ÔÇÖa kadar d├Âng├╝n├╝n olu┼čturulmas─▒
if (i % 2 == 1){ // Ko┼čulun kontrol edilmesi
t_adet++; // Tek say─▒lar adedinin art─▒r─▒lmas─▒
t_toplam = t_toplam + i; // Tek say─▒lar toplam─▒na ÔÇťiÔÇŁ de─čerinin eklenmesi
} else {
c_adet++; // ├žift say─▒lar adedinin art─▒r─▒lmas─▒
c_toplam = c_toplam + i; // ├çift say─▒lar toplam─▒na ÔÇťiÔÇŁ de─čerinin eklenmesi
}
}
// Ortalamalar─▒n hesaplanmas─▒ "int/int=int" oldu─ču i├žin "t_toplam, c_toplam" de─či┼čkenleri float tan─▒mlad─▒k.
t_ort = t_toplam / t_adet;
c_ort = c_toplam / c_adet;
// Sonu├žlar─▒n yazd─▒r─▒lmas─▒
System.out.println("Teklerin toplami= " + t_toplam);
System.out.println("Teklerin ortalamasi= " + t_ort);
System.out.println("Ciftlerin toplami= " + c_toplam);
System.out.println("Ciftlerin ortalamasi= " + c_ort);
}
}

ÔĆ╣ C# Kodu

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Istatistik{
class Program{
static void Main(string[] args){
int i, t_adet = 0, c_adet = 0; // De─či┼čkenlerin tan─▒mlanmas─▒
// B├Âlme i┼čleminden reel say─▒ ├ž─▒kabilece─či i├žin ortalama de─či┼čkenlerini float tan─▒mlad─▒k
float t_toplam = 0, t_ort, c_toplam = 0, c_ort;
for (i = 2; i < 100; i++){ // 2ÔÇÖden 100ÔÇÖa kadar d├Âng├╝n├╝n olu┼čturulmas─▒
if (i % 2 == 1){
t_adet++; // Tek say─▒lar adedinin art─▒r─▒lmas─▒
t_toplam = t_toplam + i; // Tek say─▒lar toplam─▒na ÔÇťiÔÇŁ de─čerinin eklenmesi
}else{
c_adet++; // Çift sayılar adedinin artırılması
c_toplam = c_toplam + i; // ├çift say─▒lar toplam─▒na ÔÇťiÔÇŁ de─čerinin eklenmesi
}
}
// Ortalamalar─▒n hesaplanmas─▒ "int/int=int" oldu─ču i├žin "t_toplam, c_toplam" de─či┼čkenleri float tan─▒mlad─▒k
t_ort = t_toplam / t_adet;
c_ort = c_toplam / c_adet;
// Sonu├žlar─▒n yazd─▒r─▒lmas─▒
Console.WriteLine(t_toplam);
Console.WriteLine(t_ort);
Console.WriteLine(c_toplam);
Console.WriteLine(c_ort);
Console.ReadLine();
}
}
}

­čžę Ak─▒┼č ┼×emas─▒

­čÄë Ekran ├ç─▒kt─▒s─▒

Teklerin toplami= 2499.0
Teklerin ortalamasi= 51.0
Ciftlerin toplami= 2450.0
Ciftlerin ortalamasi= 50.0

­čĺí Notlar

  1. B├Âlme i┼čleminden reel say─▒ ├ž─▒kabilece─či i├žin ortalama de─či┼čkenlerini float tan─▒mlad─▒k.

  2. int/int=int oldu─ču i├žin t_toplam, c_toplam de─či┼čkenleri float tan─▒mlad─▒k.

  3. D├Âng├╝den ├ž─▒kt─▒ktan sonra ortalamalar─▒ hesaplad─▒k.