📈İstatistik 2

❓ Soru

Girilen 20 adet sayıyı alarak; 1. Sayıların ortalamasını. 2. En büyük ve en küçük sayıları bulan. 3. Pozitif sayıların ortalamasını bulan. 4. 100-200 arasındaki sayıların sayısını bulan algoritmayı yazınız.

⛓ Program Kısımları

  1. 20 sayı girmek.

  2. İstenenleri hesaplamak.

  3. Sonuçları ekrana yazdırmak.

👓 Çözüm Yöntemi

  • Bir sayının pozitif olup olmadığını tespit etmek için 0’dan olup olmadığını kontrol etmek gerek.

  • Bir sayının 100 ile 200 arasında olup olmadığını tespit etmek için, sayı >100 ve aynı anda sayı <200 olup olmadığını kontrol etmek gerek.

👩‍🔧 Çözüm Adımları

  1. Değişkenlerin tanımlanması.

  2. İlk x değerinin döngüye girmeden girilmesi.

  3. Değişkenlere koşullar kontrol edilerek değer atanması.

  4. adet-1 kere dönen döngünün oluşturulması.

    • x değerinin döngüde girilmesi.

    • Pozitif sayıların tespit edilmesi.

    • 100<x<200 koşulunun kontrol edilmesi.

    • x>buyuk ve x<kucuk koşulunun kontrol edilmesi.

    • x değerinin orta eklenmesi.

  5. Ortalamaların hesaplanması.

  6. Sonuçların yazdırılması.

🤖 Kod

⚙ C++ Kodu

#include <iostream>
using namespace std;
int main() {
    // Değişkenlerin tanımlanması
    int i, enBuyuk, enKucuk, pozitifSayılarToplamı = 0, pozitifSayilarAdet = 0, sayilarToplami = 0;
    int yuzIkiYuzArasında = 0, sayi;
    float ort, pozitifOrt;
    cin >> sayi; // İlk değerin döngüye girmeden girilmesi
    enBuyuk = sayi;
    enKucuk = sayi;
    // Değişkenlere koşullar kontrol edilerek değer atanması
    if(sayi > 0){
        pozitifSayilarAdet++;
        pozitifSayılarToplamı += sayi;
    }
    if(sayi > 100 && sayi < 200)
        yuzIkiYuzArasında++;
    sayilarToplami += sayi;
    for (i = 0; i < adet - 1; ++i) { // “adet-1” kere dönen döngünün oluşturulması
        cin >> sayi; // “sayi” değerinin döngüde girilmesi
        sayilarToplami += sayi; // “sayi” değerinin “sayilarToplami”a eklenmesi
        // “sayi>enBuyuk” ve “sayi<enKucuk” koşulunun kontrol edilmesi
        if (sayi > enBuyuk)
            enBuyuk = sayi;
        else if (sayi < enKucuk)
            enKucuk = sayi;
        if (sayi > 0) { // Pozitif sayıların tespit edilmesi
            pozitifSayılarToplamı += sayi;
            pozitifSayilarAdet++;
        }
        if (sayi > 100 && sayi < 200) // 100<x<200 koşulunun kontrol edilmesi
            yuzIkiYuzArasında++;
    }
    // Ortalamaların hesaplanması
    ort = sayilarToplami / adet;
    pozitifOrt = pozitifSayılarToplamı / pozitifSayilarAdet
    // Sonuçların yazdırılması
    cout << "Ortalama = " << ort << '\n';
    cout << "En buyuk sayi = " << enBuyuk << '\n';
    cout << "En kucuk sayi = " << enKucuk << '\n';
    cout << "Pozitif olanlarin ortalamasi = " << pozitifOrt << '\n';
    cout << "100-200 arasindaki sayilarin sayisi = " << yuzIkiYuzArasında << '\n';
}

🐍 Python Kodu

# Değişkenlerin tanımlanması.
adet = 20; x = 0; buyuk = 0; kucuk = 0; i = 0
p = 0; j = 0; ort = 0; p_ort = 0
x = int(input())# İlk “x” değerinin döngüye girmeden girilmesi
buyuk = x
kucuk = x
# Değişkenlere koşullar kontrol edilerek değer atanması
if (x > 0):
    p_ort = p_ort + x
    p += 1
if (x > 100 and x < 200) :
      j += 1
      ort = ort + x
for i in range(0, adet-1): # “adet-1” kere dönen döngünün oluşturulması
    x = int(input()) # “x” değerinin döngüde girilmesi
    if(x > 0): # Pozitif sayıların tespit edilmesi
        p_ort = p_ort + x
        p += 1
    if(x > 100 and x >200): # 100<x<200 koşulunun kontrol edilmesi
        j += 1
    # “x>buyuk” ve “x<kucuk” koşulunun kontrol edilmesi.
    if(x > buyuk):
        buyuk = x
    if(x < kucuk):
        kucuk = x
    ort = ort + x # “x” değerinin “ort”a eklenmesi.
# Ortalamaların hesaplanması
ort = ort / adet
p_ort = p_ort / p
# Sonuçların yazdırılması
print("Ortalama= ", ort)
print("En buyuk sayi= ", buyuk)
print("En kucuk sayi= ", kucuk)
print("Pozitif olanlarin ortalamasi= ", p_ort)
print("100-200 arasindaki sayilarin sayisi= ", j)

☕ Java Kodu

import java.util.*;
public class Istatistik2 {
 public static void main(String arg[]) {
  Scanner input = new Scanner(System.in);
  // Değişkenlerin tanımlanması
  int adet = 20, x, buyuk, kucuk, i, p = 0, j = 0;
  float ort = 0, p_ort = 0;
  x = input.nextInt(); // İlk “x” değerinin döngüye girmeden girilmesi
  buyuk = x;
  kucuk = x;
  // Değişkenlere koşullar kontrol edilerek değer atanması
  if (x > 0) { 
   p_ort = p_ort + x;
   p++;
  }
  if (x > 100 && x < 200) 
   j++;
  ort = ort + x;
  for (i = 0; i < adet - 1; i++) { // “adet-1” kere dönen döngünün oluşturulması
   x = input.nextInt(); // “x” değerinin döngüde girilmesi
   if (x > 0) {  // Pozitif sayıların tespit edilmesi
    p_ort = p_ort + x;
    p++;
   }
   if (x > 100 && x < 200) // 100<x<200 koşulunun kontrol edilmesi
    j++;
   if (x > buyuk) // “x>buyuk” ve “x<kucuk” koşulunun kontrol edilmesi
    buyuk = x;
   if (x < kucuk)
    kucuk = x;
   ort = ort + x; // “x” değerinin “ort”a eklenmesi.
  } 
  // Ortalamaların hesaplanması
  ort = ort / adet; 
  p_ort = p_ort / p; 
  // Sonuçların yazdırılması
  System.out.println("Ortalama= " + ort);
  System.out.println("En buyuk sayi= " + buyuk);
  System.out.println("En kucuk sayi= " + kucuk);
  System.out.println("Pozitif olanlarin ortalamasi= " + p_ort);
  System.out.println("100-200 arasindaki sayilarin sayisi= " + j);
  input.close();
 }
}

⏹ C# Kodu

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Istatistik2{
    class Program{
        static void Main(string[] args){
            // Değişkenlerin tanımlanması
            int adet = 20, x, buyuk, kucuk, i, p = 0, j = 0;
            float ort = 0, p_ort = 0;
            x = Convert.ToInt32(Console.ReadLine());  // İlk “x” değerinin döngüye girmeden girilmesi
            buyuk = x;
            kucuk = x;
            // Değişkenlere koşullar kontrol edilerek değer atanması
            if (x > 0){
                p_ort = p_ort + x;
                p++;
            }
            if (x > 100 && x < 200)
                j++;
            ort = ort + x;
            for (i = 0; i < adet - 1; i++){ // “adet-1” kere dönen döngünün oluşturulması
                x = Convert.ToInt32(Console.ReadLine()); // “x” değerinin döngüde girilmesi
                if (x > 0){ // Pozitif sayıların tespit edilmesi
                    p_ort = p_ort + x;
                    p++;
                }
                if (x > 100 && x < 200) // 100<x<200 koşulunun kontrol edilmesi
                    j++;
                // “x>buyuk” ve “x<kucuk” koşulunun kontrol edilmesi
                if (x > buyuk)
                    buyuk = x;
                if (x < kucuk)
                    kucuk = x;
                ort = ort + x; // “x” değerinin “ort”a eklenmesi.
            }
            // Ortalamaların hesaplanması
            ort = ort / adet;
            p_ort = p_ort / p;
            // Sonuçların yazdırılması
            Console.WriteLine(ort);
            Console.WriteLine(buyuk);
            Console.WriteLine(kucuk);
            Console.WriteLine(p_ort);
            Console.WriteLine(j);
            Console.ReadLine();
        }
    }
}

🧩 Akış Şeması

🎉 Ekran Çıktısı

1   3   55  88  6
5   4   1   4   7
9   0   77  5   6
4   6   -3  -6  45

Ortalama= 15.85
En buyuk sayi= 88
En kucuk sayi= -6
Pozitif olanlarin ortalamasi= 19.17647
100-200 arasindaki sayilarin sayisi= 0

Last updated