Dərs cədvəli hazırlayıcı
Orta məktəblər üçün dərs cədvəli: müəllim, sinif və fənn məlumatlarını daxil edin, sistem tipik məhdudiyyətlərlə avtomatik cədvəl qursun.
| Ad, soyad | Kod | Həftəlikmax | Gündəmax | Dərssaatları | Gəlmə günləri |
|---|
| Sinif | Səviyyə | Növbə | Gündə max dərs |
|---|
| Sinif | Fənn | Müəllim kodu/adı | Həftəlik saat | Ağır? | Qoşa |
|---|
1) Müəllim, sinif və fənn məlumatlarını doldurun.
2) “Cədvəli qur” düyməsini sıxın — sistem tam həll tapana qədər fərqli kombinasiyalar sınayacaq.
Proses zamanı düymə “🛑 Dayandır” olur — istəsəniz axtarışı istənilən vaxt dayandıra bilərsiniz.
Məlumat
Bu səhifədəki “🧩 Məktəb konfiqurasiyası və hazırlayıcı” bloku dərs cədvəlini tamamilə brauzerdə qurmaq üçün hazırlanıb: siz müəllim/sinif/fənn məlumatlarını daxil edirsiniz, sistem isə konfliktləri minimuma endirərək cədvəli avtomatik yığmağa çalışır.
- Məktəb parametrləri — həftə günü sayı və gündə maksimum saatı seçin.
- Müəllimlər — hər müəllimin limitlərini, uyğun saatları və gəlmə günlərini yazın.
- Siniflər — sinif siyahısını (səviyyə, növbə, gündə limit) daxil edin.
- Fənn / dərs saatları — “sinif + fənn + müəllim + həftəlik saat” sətirlərini əlavə edin.
- ⚙️ Cədvəli qur — sistem tam həll tapılanadək fərqli kombinasiyalar sınayır.
- Nəticə — sinif tablarını dəyişərək cədvəli yoxlayın, lazım olsa parametrləri düzəldin və yenidən qurun.
Proses zamanı ekranda cəhd sayı və ən yaxşı tapılan nəticə (faizlə) göstərilir. İstəsəniz 🛑 Dayandır düyməsi ilə axtarışı dayandırıb həmin “ən yaxşı” nəticəyə baxa bilərsiniz.
1) Məktəb parametrləri nə edir?
- Həftəlik iş günü (5/6) cədvəlin sütun sayını müəyyən edir: 5 gün seçəndə Şənbə (Ş) gizlənir və müəllimlərin “Ş” günü avtomatik deaktiv edilir.
- Gündə dərs saatı (max) hər sinif üçün matrisin (gün × saat) ölçüsünü təyin edir. Məsələn 7 seçsəniz, hər gün 1–7 saat aralığı yaranır.
- Ağır fənlər mümkün qədər 1-ci/sonuncu saatda olmasın — bu seçim aktivdirsə, “Ağır?” işarələdiyiniz dərslər mümkün olduqca 1-ci və sonuncu saata salınmır (optimallaşdırma).
- Eyni fənn qaydası — qayda sinif + fənn səviyyəsində tətbiq olunur: standart halda bu sinifdə həmin fənn bir gündə maksimum 1 saat ola bilər. Əgər həmin sinifdə həmin fənn üçün Qoşa = İmkan daxilində və ya Qoşa = Mütləq seçilibsə, həmin fənn üçün gündəlik limit 2 saat olur (Mütləq: ardıcıl 2; İmkan daxilində: mümkünsə ardıcıl). Ümumi limit heç vaxt gündə 2-dən çox olmur.
- Sinifdə boşluq olmasın (dərslər 1-ci saatdan ardıcıl başlayır) — aktivdirsə, sinifdə dərs olan günlərdə dərslər 1-ci saatdan başlayır və günün son dərsinə qədər ardıcıl gedir. Boşluq yalnız günün sonunda ola bilər.
Qeyd: “Ağır fənn kənar saat olmasın” optimallaşdırmadır. Qayda kimi tətbiq olunanlar: müəllim konfliktləri, müəllimin gəlmə günləri, müəllimin seçdiyi dərs saatları, müəllim/sinif limitləri, “Sinifdə boşluq olmasın (dərslər 1-ci saatdan ardıcıl başlayır)” (aktivdirsə) və “Eyni fənn” qaydası (standart max 1; Qoşa=İmkan daxilində/Mütləq üçün eyni gündə 2; ümumi max 2).
2) Müəllimlər bölməsi necə istifadə olunur?
-
Ad, soyad və Kod:
“Fənn / dərs saatları” bölməsində müəllimi tapmaq üçün sistem müəllimi kodla və ya adla uyğunlaşdırır.
Praktik üsul: hər müəllimə qısa kod verin (məs:
İSF). - Həftəlik max və Gündə max: müəllimin həftəlik/gündəlik dərs limitidir. 0 yazılsa (və ya boş qalsa) sistem bunu “limitsiz” kimi qəbul edir.
- Dərs saatları: müəllimin dərsinin hansı saatlarda ola biləcəyini göstərir. Heç nə seçməsəniz sistem standart olaraq bütün saatları uyğun sayır. Bu seçim qayda kimidir və pozulmur.
- Gəlmə günləri: müəllimin dərsinin hansı günlərdə ola biləcəyini göstərir. Heç nə seçməsəniz, sistem hamı günlər kimi qəbul edir. Vacib: “gəlmə günləri” qayda kimidir — pozulmur.
“Fənn / dərs saatları” bölməsində müəllimi kod və ya ad ilə yazanda,
bu dəyər müəllim cədvəlindəki kod/ad ilə eyni yazılışda olmalıdır
(sistem yalnız boşluqları kəsir).
Məsələn FİR ilə
fir fərqli sayılır.
3) Siniflər bölməsi necə işləyir?
- Sinif (məs: 5A) — “Fənn / dərs saatları” sətirlərində də eyni adla yazılmalıdır.
- Gündə max dərs boş qalarsa standart limit kimi “Gündə dərs saatı (max)” tətbiq olunur. Əgər rəqəm yazsanız, həmin sinif üçün gündəlik limit ayrıca təyin olunur.
- Növbə (Səhər/Günorta) hazırda informasiya üçündür — alqoritm növbəyə görə ayrıca məhdudiyyət tətbiq etmir.
4) Fənn / dərs saatları: ən vacib hissə
Bu cədvəldəki hər sətir bir “tədris tapşırığıdır”: hansı sinifə, hansı fənn, hansı müəllim və həftədə neçə saat.
- Həftəlik saat daxil etdikdə sistem bunu “bloklara” parçalayır və yerləşdirir.
-
Qoşa rejimi:
- Yox → bu sinifdə həmin fənn bir gündə maksimum 1 saat ola bilər.
- İmkan daxilində → bu sinifdə həmin fənn eyni gündə 2 saat olmağa çalışır (mümkünsə ardıcıl, deyilsə yenə eyni gündə 2 ayrı saat).
- Mütləq → bu sinifdə həmin fənn eyni gündə 2 saat ardıcıl olmalıdır (qayda kimi tətbiq olunur).
- Ağır? seçilibsə: “Ağır fənlər 1-ci/sonuncu saatda olmasın” parametri aktiv olanda sistem əvvəlcə ağır fənni 1-ci/sonuncu saata salmamağa çalışır.
5) “Cədvəli qur” düyməsi arxada nə edir?
- Sistem “dərs bloklarını” müxtəlif ardıcıllıqlarda və slot kombinasiyalarında yerləşdirməyə çalışır.
- Qayda kimi tətbiq olunan məhdudiyyətlər (müəllim konfliktləri, gəlmə günləri, müəllim saat seçimi, limitlər, sinif tutumu, “Eyni fənn” qaydası: standart max 1; Qoşa=İmkan daxilində/Mütləq üçün eyni gündə 2; ümumi max 2, boş saat olmaması, Qoşa=Mütləq) pozulmur.
- Optimallaşdırmalar (ağır fənnin kənar saatlara düşməməsi, Qoşa=İmkan daxilində ardıcıllıq) mümkün olduqca qorunur.
- Tam həll tapılanadək axtarış davam edir. Konfiqurasiya həqiqətən mümkünsüzdürsə axtarış da uzana bilər — bu halda 🛑 Dayandır düyməsi ilə prosesi dayandırıb ən yaxşı tapılmış nəticəni görə bilərsiniz.
Tez-tez rast gəlinən problemlər və həll yolları
- “Sinif/müəllim tapılmadı” xətası → sinif adlarını və müəllim kod/adını bütün yerlərdə eyni yazın.
- Çox “Yerləşdirilməyənlər” çıxır → sinif/müəllim limitlərini yoxlayın, sinif tutumunu artırın (gündə max), müəllim gəlmə günlərini və uyğun saatları genişləndirin.
- Axtarış çox uzanır → çox vaxt bu ya konfiqurasiyanın mümkünsüz olmasına, ya da limitlərin həddən artıq sərt olmasına işarə edir.
Qeyd: Bu alqoritm brauzerdə işləyir və “tam həll tapılanadək” axtarış aparır. Real məktəb cədvəllərində ən stabil nəticə üçün kod/ad uyğunluğunu qorumaq və limitləri realist qurmaq ən vacibdir.