# Program Kuralları

#### ⚙️ **1️⃣ Kural Seti Oluşturma**

Yeni bir kural tanımlamak için **“Kural Seti Oluştur”** butonuna tıklayın.\
Açılan formda aşağıdaki alanlar doldurulur:

| Alan                                 | Açıklama                                                                                      |
| ------------------------------------ | --------------------------------------------------------------------------------------------- |
| **Kural Başlığı**\*                  | <p>Kural setine verilecek isim.<br>Örn: <em>“12. Sınıflar Ders Programı Kuralı”</em></p>      |
| **Günlük Maksimum Ders Saati**\*     | <p>Bir sınıfın bir günde girebileceği en fazla ders sayısı.<br>Örn: <em>6</em></p>            |
| **Ardışık Maksimum Ders**\*          | <p>Aynı dersin art arda kaç saat yapılabileceği.<br>Örn: <em>2</em></p>                       |
| **Program Başlangıç Saati**\*        | <p>Günün ilk dersinin başlama saati.<br>Örn: <em>08:30</em></p>                               |
| **Program Bitiş Saati**\*            | <p>Günün son dersinin bitiş saati.<br>Örn: <em>15:30</em></p>                                 |
| **Ders Süresi (dakika)**\*           | <p>Her bir dersin süresi.<br>Örn: <em>40 dakika</em></p>                                      |
| **Teneffüs Süresi (dakika)**\*       | <p>İki ders arası dinlenme süresi.<br>Örn: <em>10 dakika</em></p>                             |
| **Öğle Arası Var mı?**\*             | <p>Öğle arası bulunup bulunmadığı seçilir.<br>(Var / Yok)</p>                                 |
| **Öğle Süresi (dakika)**             | <p>Öğle arası süresi.<br>Örn: <em>60 dakika</em></p>                                          |
| **Öğle Arası Hangi Dersten Sonra**\* | <p>Öğle arasının kaçıncı dersten sonra başlayacağı.<br>Örn: <em>3 (3. dersten sonra)</em></p> |

***

#### 📅 **2️⃣ Günlük Bazlı Ders Saatleri**

Her gün için o gün kaç ders yapılacağını belirtin.\
Bu tablo sayesinde sistem, haftanın hangi günlerinin **tatil** olduğunu da anlayabilir.

| Gün       | Ders Saati Sayısı |
| --------- | ----------------- |
| Pazartesi | 6                 |
| Salı      | 6                 |
| Çarşamba  | 6                 |
| Perşembe  | 6                 |
| Cuma      | 6                 |
| Cumartesi | 0                 |
| Pazar     | 0                 |

> 💡 **Not:**
>
> * Tatil günleri (örneğin Cumartesi ve Pazar) **0** olarak işaretlenmelidir.
> * Bu tablo, haftalık otomatik program üretiminde hangi günlerin aktif kullanılacağını belirler.

***

#### 📘 **3️⃣ Haftalık Dersler Tanımlama**

Bu bölümde, o kural setinde yer alacak dersleri ve bu derslerden haftalık toplam kaç saat yapılacağını belirleyin.[ ( Okulum - Ders Ayalarım - Ders Oluşturma )](https://docs.eduaktive.com/documentation/veri-yonetimi/okul-ayarlari#ders-ayarlarim) Adımından yeni ders eklenebilir

| Alan                | Açıklama                                                                                       |
| ------------------- | ---------------------------------------------------------------------------------------------- |
| **Ders Seçimi**\*   | Programda yer alacak dersleri seçin (örneğin: Matematik, Türkçe, Fizik, Coğrafya).             |
| **Haftalık Saat**\* | <p>Her dersin haftalık toplam ders saati.<br>Örn: <em>6 saat Matematik, 4 saat Türkçe</em></p> |

“**Ders Ekle**” butonuyla birden fazla ders tanımlanabilir.\
Her dersin haftalık toplam süresi, **öğretmen çalışma saati** ve **sınıf haftalık planı** ile ilişkilendirilir.

> ⚠️ **Uyarı:**\
> Ders, teneffüs ve öğle arası süreleri birbirleriyle **tutarlı** olmalıdır.\
> Başlangıç ve bitiş saatleri, ders + teneffüs + öğle süresine göre sistem tarafından otomatik kontrol edilir.\
> Hatalı süre kombinasyonlarında sistem şu uyarıyı verir:\
> “Program süresi ders ve teneffüs aralıklarıyla uyuşmuyor.”

***

#### ⏱️ **Zaman Tutarlılığı Kontrolü**

Kural seti kaydedilirken sistem otomatik olarak süre denetimi yapar:

* Günlük toplam saat = (Ders Süresi + Teneffüs Süresi) × Günlük Ders Sayısı
* Öğle arası varsa bu süre toplam zamanın içine dahil edilir.
* Toplam bitiş saati, tanımlı “Program Bitiş Saati”ni aşarsa kayıt reddedilir.

**Örnek Hesaplama:**

> Başlangıç: 08:30\
> 6 ders × 40 dk = 240 dk\
> 5 teneffüs × 10 dk = 50 dk\
> Öğle arası = 60 dk\
> Toplam = 350 dk → 08:30 + 350 dk = 14:20\
> Bitiş saati: 14:30 ✅ (Tutarlı)

***

#### 🧱 **4️⃣ Kural Setini Kaydetme**

Tüm alanlar doldurulduktan sonra “**Kaydet**” butonuna tıklayın.\
Kural seti başarıyla oluşturulduğunda:

* Sisteme **aktif kural** olarak eklenir.
* Bu kural, ileride oluşturulacak **sınıf veya şube bazlı ders programlarında** kullanılabilir.
* Okul yönetimi aynı anda birden fazla kural seti oluşturabilir (örneğin: *“Ortaokul Kuralları”*, *“Lise Kuralları”*).

> 💡 Kural seti silindiğinde ona bağlı programlar etkilenmez, ancak yeni oluşturulacak programlarda seçilemez hale gelir.

***

#### 🧩 **1️⃣ Kural Setini Sınıflara Atama**

Kural setleri oluşturulduktan sonra ilgili sınıflara atanmalıdır.\
Her sınıf, sadece **bir aktif kural setine** sahip olabilir.

**📘 Kuralı Sınıfa Ata**

> “Ders programı oluştururken kullanılacak kural setini sınıfa atayın.\
> Eğer atamak istediğiniz sınıfın mevcut bir kural seti varsa, yeni seçtiğinizle değiştirir.”

| Alan             | Açıklama                                                    |
| ---------------- | ----------------------------------------------------------- |
| **Sınıflar**\*   | Kural setinin atanacağı sınıflar. (Çoklu seçim desteklenir) |
| **Kural Seti**\* | Daha önce oluşturulan kural setlerinden biri seçilir.       |

**Örnek:**

> *“12. Sınıflar Ders Programı Kuralı”* → *9-A*, *9-B*, *9-C* sınıflarına atandı.

> 💡 Aynı kural seti birden fazla sınıfa atanabilir.\
> Her sınıf kendi programını oluştururken bu kuralların zamanlama, ders süresi, öğle arası ve günlük limit gibi koşullarını otomatik olarak kullanır.

#### ✅ **Özet**

**Kural Seti**, okulun ders programı planlamasının temelini oluşturur.\
Bu kural sayesinde sistem:

* Günlük ders dağılımını,
* Ders ve teneffüs sürelerini,
* Öğle arası zamanlamasını,
* Haftalık toplam ders saatlerini\
  otomatik olarak hesaplar ve program üretiminde referans alır.

> 🎯 **Amaç:**\
> Her okulun yapısına uygun, dengeli ve tutarlı bir ders programı sistemi oluşturmak.
