Birinci mərhələdə şagirdlər siniflər üzrə növbəti mərhələlərdə



Yüklə 213,44 Kb.
səhifə1/2
tarix04.12.2023
ölçüsü213,44 Kb.
#138197
  1   2
RFO program-informatika





2022-2023 -cü tədris ili üçün Respublika fənn olimpiadalarının informatika fənninə uyğun proqramı
birinci mərhələdə şagirdlər siniflər üzrə növbəti mərhələlərdə isə 8-9-cu siniflər aşağı yaş qrupu 10-11-ci siniflər isə yuxarı yaş qrupu üzrə yarışacaqlar






İnformatika

İnformatika fənni üzrə Respublika Fənn Olimpiadalarının proqramı


Qeyd: Tünd rənglə göstərilmiş mövzular Yuxarı yaş qrupunun proqramına aiddir.



No

Ümumi başlıq

Əhatə olunacaq mövzular

1.


Kompüter elminə və proqramlaşdırmaya giriş






  1. Kompüterlər haqqında:

    1. Kompüterlərin iş prinsipi

    2. Kompüterin əsas hissələri

    3. Kompüterlər nə bacarır?

  2. Proqramlaşdırma nədir və onunla nələr edə bilərik?

  3. Proqramlaşdırma dilləri:

    1. Proqramlaşdırma dillərinin yaranması və inkişafı

    2. C++ dili ilə proqramlaşdırma

    3. Kompilyator nədir?

    4. Niyə C++ ?

  4. C++ ilə proqramlaşdırmaya giriş.

    1. C++ editor və İDE-ləri

    2. C++ dilində ilk proqramın yazılması – “Hello world!”

    3. Proqramın kompayl və run edilməsi

    4. C++ dilinin sintaks və semantikası

    5. Kodda qeydlərin yerləşdirilməsi

  5. Verilənlər (dəyişənlər), verilənlərin tipləri:

    1. Dəyişənlərin elan edilməsi

    2. Başlanğıc qiymətin verilməsi

    3. Qlobal və lokal dəyişənlər

    4. Dəyişənlərin tipləri

    5. Dəyişənlərin RAMda - əməli yaddaşda saxlanılması

    6. İkilik say sistemi haqda

    7. ASCII kodları

    8. Sabitlər

  6. Giriş / Çıxış metodları

    1. Standart giriş/çıxış funksiyaları – cin, cout

    2. Header faylları – kitabxanalar haqqında

  7. Operatorlar

2.

Proqramın axışı




  1. Şərt ifadələri:

    1. if / else blokları

    2. switch / case bloku

  2. Dövrlər

    1. for, while və do while dövrləri

    2. break və continue açar sözləri

    3. İç-içə dövrlər

    4. İç-içə dövrlərdən istifadə etməklə 2D fiqurların çap edilməsi

3.


Massivlər






  1. Bir ölçülü massivlər

    1. Çoxlu dəyişənin strukturlu şəkildə saxlanılması

    2. İndeksləmə

  2. İki və daha çox ölçülü massivlər

    1. Cədvəl tipli informasiyanın saxlanılması

    2. Vurma cədvəli düzəltmək

4.

Alqoritmlərə giriş




  1. Alqoritm nədir?

  2. Günlük həyatda alqoritmlər

  3. Kompüter elmində alqoritmlər

  4. Alqoritmik nümunələr

    1. İki dəyişənin dəyərinin dəyişdirilməsi

    2. İtmiş ədədin tapılması

    3. Sadə təxmin oyunu

  5. Necə alqoritmik düşünməli?

  6. Alqoritmin dizayn edilməsi

  7. Alqoritmin təhlil edilməsi

  8. Sıralama (Çeşidləmə) məsələsi haqqında

    1. Qabarcıqlı sıralama alqoritmi

    2. Qabarcıqlı sıralama alqoritminin dizayn və təhlil edilməsi

5.


Axtarış alqoritmləri






  1. Xətti axtarış

  2. İkili axtarış

    1. Sıralanmış massivdə elementlərin axtarılması



    1. 𝑥 in hesablanması

    2. İkili axtarışı hansı hallarda tətbiq etmək olar?

    3. İkili axtarış tətbiq etməklə həll olunan məsələlər

  1. Xətti və ikili axtarış alqoritmlərinin

6.


Funksiyalar






  1. Funksiya nədir?

  2. C++ da hazır funksiyalar

  3. “math” kitabxanası – riyazi funksiyalar

  4. İstifadəçi tərəfindən yeni funksiyaların tərtib edilməsi

  5. Funksiyalardan istifadənin üstünlükləri

  6. “void” tipli funksiyalar – prosedurlar

7.

Simvollar və sətirlər




  1. Mətn tipli verilənlər üzərində əməliyyatlar

  2. “char” massivləri və “string”-lər

  3. “String” kitabxanası – sətirlər üzərində hazır funksiyalar

8.


Pointerlər və dinamik yaddaşdan istifadə




  1. Pointer nədir?

  2. Pointer tipli dəyişənin adi dəyişəndən fərqi

  3. Dəyişənlərin yaddaşdakı ünvanı

  4. Referans və dereferans operatorları

  5. Pointerlər və massivlər

  6. Pointerlər və funksiyalar













  1. Dinamik yaddaşdan istifadə

    1. “Stack” və “Heap” yaddaşları haqqında

    2. Dinamik yaddaşdan yer ayrılması – “Memory allocation”

    3. Dinamik yaddaşdan ayrılmış yerin azad edilməsi – “Memory deallocation”

9.

Sadə verilənlər strukturları






  1. C++ struct

  2. Linked list verilənlər strukturu

  3. Stack verilənlər strukturu

  4. Queue verilənlər strukturu

10.

Rekursiya və sadə rekursiv alqoritmlər




  1. Rekursiya nədir?

  2. Rekursiv funksiyaların işləmə prinsipi

  3. Rekursiv alqoritmlər / məsələlər

    1. Fibonacci ardıcıllığı

    2. Hanoi qüllələri

11.

Sıralama /


Çeşidləmə alqoritmləri




  1. O(n2) sıralama alqoritmləri

    1. Qabarcıqlı sıralama – “Bubble sort”

    2. Minimumu / maksimumu seçməklə çeşidləmə – “Selection sort”

    3. Əlavə etməklə çeşidləmə – “insertion sort”

  2. Sürətli sıralama alqoritmləri

    1. “Merge sort"

    2. “Quick sort”

    3. Parçala və idarə et texnikası

12.

Axtarış alqoritmlərinin növləri






  1. Xətti axtarış

  2. İkili axtarış

  3. Üçlü axtarış

13.


Alqoritmin mürəkkəbliyinin analizi

  1. Zaman və yaddaş mürəkkəbliyinin analizi

  2. Asimptotik işarələmələr

  3. Master teoremi

14.

C++ da Standart template library




  1. STL stack, queue, deque

  2. STL vector, list

  3. STL set, multiset

  4. STL map, unordered_map

  5. STL funksiyaları və müqayisəedici funksiyaların yazılması

15.

Acgöz alqoritmlər

  1. Standart acgöz alqoritmlər

  2. Massivlər üzərində acgöz alqoritmlər

  3. NP complete” məsələlər üçün təqribi həll yolları

    1. Set cover məsələsi

    2. Qraf rəngləmə məsələsi

    3. Maksimum clique məsələsi

    4. Səyahət edən tacir məsələsi




16.

Ədədlər nəzəriyyəsi




  1. Sadə və mürəkkəb ədədlər, bölünmə teoremi

  2. Evklid alqoritmi, ƏBOB / ƏKOB hesablanması

  3. Sadə vuruqlara ayırma

  4. Ədədin bölənlərinin tapılması

  5. Say sistemləri

  6. Fibonacci ardıcıllığı və Fibonacci say sistemi

  7. Xətti Diofant tənliyi

  8. Genişləndirilmiş Evklid alqoritmi

  9. Sadə ədədlərin tapılması – Eratosfen xəlbiri

  10. Xətti xəlbir

  11. Euler totient funksiyası (φ(n))

  12. Binar qüvvətə yüksəltmə

  13. Modular hesablama

    1. Modular inverse

    2. Xətti modular bərabərliklər

    3. Xətti modular bərabərliklər sistemi

    4. Çin qalıq teoremi

    5. Mod P faktorialın hesablanması

    6. Primitiv kök

    7. Diskret loqarifma

    8. Diskret kök

    9. Baby-step giant-step alqoritmi

17.

Çoxluqlar nəzəriyyəsi






  1. Çoxluqlar nəzəriyyəsinin əsasları

  2. Birləşmə və kəsişmə qaydaları

  3. Sadə kombinatorika

  4. Binomial əmsallar

  5. Catalan ədədləri

  6. Daxilolma çıxarılma prinsipi

  7. Burnside’s lemma / Polya enumeration teoremi

18.

Rekursiv alqoitmlər




  1. Rekursiv asılılıqların tapılması

  2. Rekursiv yanaşma və məsələyə rekursiv həllin tapılması

  3. “Memoization” texnikası

19.

Dinamik proqramlaşdırma






  1. Dinamik proqramlaşdırmanın prinsipləri

  2. Rekursiv həlldən dinamik proqramlaşdırmaya

    1. “Memoization” üsulu

    2. “Tabulation” üsulu

  3. Ən çox rast gəlinən dinamik proqramlaşdırma məsələləri

    1. Ən uzun ortaq alt ardıcıllığın tapılması

    2. Ən uzun artan alt ardıcıllığın tapılması

    3. Levenshtein məsafəsi məsələsi (Edit distance)

    4. Bel çantası məsələsi və onun müxtəlif versiyaları

    5. Maksimum subarray məsələsi (Kadane alqoritmi)













  1. Xüsusi texnikalar

    1. Convex hull trick

    2. Li Chao tree

    3. Knuth optimization

    4. Divide & Conquer optimization

20.

Verilənlər strukturu




  1. Fundamental verilənlər strukturları

    1. Minimum Stack / Minimum Queue

    2. Sparse Table

  2. Heap verilənlər strukturu

  3. Ağac tipli verilənlər strukturları

    1. Binary tree

    2. Segment tree

      1. Sadə segment tree qurulması

      2. Segment tree üzərində sorğular

      3. Segment tree üzərində yeniləmələr

      4. Lazy segment tree

      5. Persistent segment tree

      6. Implicit segment tree

      7. 2D segment tree


Yüklə 213,44 Kb.

Dostları ilə paylaş:
  1   2




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin