--- baslik: Sayılar ve aritmetik bolum: Temeller ozet: Dört işlem, tam bölme, kalan, üs ve işlem önceliği --- Bilgisayarın en iyi yaptığı iş hesaptır. Bu derste KabaLang'in aritmetik işleçlerini ve sık yapılan hesapları göreceksin. ## Aritmetik işleçler | İşleç | Anlamı | Örnek | Sonuç | |---|---|---|---| | `+` | toplama | `17 + 5` | `22` | | `-` | çıkarma | `17 - 5` | `12` | | `*` | çarpma | `17 * 5` | `85` | | `/` | bölme | `17 / 5` | `3.4` | | `//` | tam bölme | `17 // 5` | `3` | | `%` | kalan | `17 % 5` | `2` | | `**` | üs alma | `2 ** 10` | `1024` | ```kbl a = 17 b = 5 yazdir(a + b, a - b, a * b) yazdir(a / b, a // b, a % b) yazdir(2 ** 10) ``` ```cikti 22 12 85 3.4 3 2 1024 ``` ## / her zaman ondalık verir `/` bölmesinin sonucu, sayılar tam bölünse bile `ondalik`tır. Küsuratsız tam sayı istiyorsan `//` kullan. ```kbl yazdir(10 / 2) yazdir(10 // 2) yazdir(7 // 2) ``` ```cikti 5.0 5 3 ``` ## Kalan işleci: % `%` bölümden kalanı verir. Bir sayının çift mi tek mi olduğunu, bir sayıya bölünüp bölünmediğini anlamak için kullanılır. ```kbl yazdir(14 % 2) # 0 ise çift yazdir(15 % 2) # 1 ise tek yazdir(2026 % 4) # 4'e tam bölünmüyor ``` ```cikti 0 1 2 ``` ## Gerçek bir hesap: saniyeyi saate çevirmek `//` ve `%` birlikte çok işe yarar. ```kbl toplam_saniye = 7384 saat = toplam_saniye // 3600 dakika = (toplam_saniye % 3600) // 60 saniye = toplam_saniye % 60 yazdir(saat, "saat", dakika, "dakika", saniye, "saniye") ``` ```cikti 2 saat 3 dakika 4 saniye ``` ## İşlem önceliği Matematikteki gibi: önce `**`, sonra `*` `/` `//` `%`, en son `+` `-`. Parantez önceliği değiştirir. ```kbl yazdir(2 + 3 * 4) yazdir((2 + 3) * 4) yazdir(2 * 3 ** 2) ``` ```cikti 14 20 18 ``` > **İpucu:** Emin olmadığın her yerde parantez kullan. `(a + b) / 2` hem doğru çalışır hem kolay okunur. ## sayi ile ondalik birlikte Bir işlemde biri `sayi` öteki `ondalik` ise sonuç `ondalik` olur. ```kbl adet = 3 fiyat = 12.5 yazdir(adet * fiyat) ``` ```cikti 37.5 ``` > **Dikkat:** Ondalık sayılar bilgisayarda yaklaşık tutulur. `0.1 + 0.2` tam `0.3` değil `0.30000000000000004` çıkar. Bu her dilde böyledir; para gibi değerleri ekrana yazarken basamak sayısını sınırlarsın (*Biçimlendirme* dersi). ```kbl yazdir(0.1 + 0.2) ``` ```cikti 0.30000000000000004 ``` ## Alıştırma ```alistirma Bir sınıfta 29 öğrenci var ve 4 kişilik gruplar kurulacak. Kaç tam grup olacağını ve kaç öğrencinin açıkta kalacağını aynı satırda yazdır. %%% ogrenci = 29 grup_buyuklugu = 4 # buraya yaz %%% ogrenci = 29 grup_buyuklugu = 4 yazdir(ogrenci // grup_buyuklugu, ogrenci % grup_buyuklugu) %%% 7 1 ``` ```alistirma Fahrenhayt'ı Celsius'a çevir: `C = (F - 32) * 5 / 9`. `f` değişkeni 212 iken sonucu yazdır. %%% f = 212 # buraya yaz %%% f = 212 c = (f - 32) * 5 / 9 yazdir(c) %%% 100.0 ```