Skip to content

12-dars: Oylik imtihon

Dars haqida

Davomiyligi: 90 daqiqa Format: Test + amaliy ish Maqsad: 5-oy mavzularini baholash.

Imtihon tuzilmasi

QismVaqtBall
Test25 daq25 ball
Kod yozish (3 vazifa)35 daq35 ball
Mini loyiha30 daq40 ball
Jami90 daq100 ball

O'tish: 60 ball

1-qism: Test (25 ball)

20 ta savol, har biri 1.25 ball.

Massiv (1-5)

1. Massivning birinchi elementi:

  • a) arr[1]
  • b) arr[0]
  • c) arr[-1]
  • d) arr.first

2. int arr[5]; necha byte (int = 4 byte)?

  • a) 5
  • b) 20
  • c) 25
  • d) 4

3. arr[i] ekvivalent:

  • a) *arr + i
  • b) arr + i
  • c) *(arr + i)
  • d) &arr[i]

4. 2D massiv int m[3][4] umumiy elementlar:

  • a) 7
  • b) 12
  • c) 16
  • d) 3

5. Massiv funksiyaga uzatishda:

  • a) Nusxa olinadi
  • b) Pointer uzatiladi
  • c) Faqat birinchi element
  • d) Xato

Algoritmlar (6-10)

6. Binary search talab qiladi:

  • a) Sortlangan massiv
  • b) Tub sonlar
  • c) Pointer
  • d) Hech narsa

7. Bubble sort tezligi:

  • a) O(1)
  • b) O(log n)
  • c) O(n)
  • d) O(n²)

8. Eng tez sort:

  • a) Bubble
  • b) Selection
  • c) Insertion
  • d) Quick (qsort)

9. Selection sort har iteration'da nima qiladi?

  • a) Qo'shni swap
  • b) Eng kichikni topib birinchi joyga
  • c) Ikki yarmga bo'ladi
  • d) Random tanlaydi

10. O(log n) — bu:

  • a) Doimiy vaqt
  • b) Logarifmik
  • c) Chiziqli
  • d) Kvadratik

Pointer va struct (11-15)

11. int *p — bu:

  • a) int o'zgaruvchi
  • b) int uchun pointer
  • c) int massivi
  • d) Funksiya

12. &x — bu:

  • a) x ning qiymati
  • b) x ning manzili
  • c) x ga 1 qo'shish
  • d) x ni dereference

13. Pointer'ni NULL tekshirish:

  • a) Kerak emas
  • b) Xavfli, ishlatmang
  • c) Doim kerak
  • d) Faqat ba'zan

14. Struct'da maydonga kirish:

  • a) struct.field
  • b) struct->field
  • c) . (oddiy)
  • d) ::

15. Pointer orqali struct maydoniga:

  • a) .
  • b) ->
  • c) ::
  • d) *.

Memory va File (16-20)

16. malloc dan keyin:

  • a) Hech narsa
  • b) free
  • c) calloc
  • d) realloc

17. Memory leak — bu:

  • a) Xato xabari
  • b) free unutilgan xotira
  • c) Tezlik muammosi
  • d) Compiler xatosi

18. fopen muvaffaqiyatsiz bo'lsa:

  • a) Xato xabari chiqaradi
  • b) NULL qaytaradi
  • c) Crash bo'ladi
  • d) Boshqa fayl ochadi

19. Faylni yopish:

  • a) free
  • b) fclose
  • c) end
  • d) close

20. "a" mode — bu:

  • a) Read
  • b) Write
  • c) Append
  • d) All

Test javoblari (o'qituvchi uchun)

1-b, 2-b, 3-c, 4-b, 5-b, 6-a, 7-d, 8-d, 9-b, 10-b, 11-b, 12-b, 13-c, 14-c, 15-b, 16-b, 17-b, 18-b, 19-b, 20-c

2-qism: Kod yozish (35 ball)

Vazifa 1: Min/Max indekslari (10 ball)

min-max-idx.c:

c
void find_min_max(int arr[], int n, int *min_idx, int *max_idx);

Massivdagi eng kichik va eng katta elementlarning indekslarini topish.

Baholash:

  • Pointer ishlatish: 3
  • Min idx to'g'ri: 3
  • Max idx to'g'ri: 3
  • Test va chiqarish: 1

Vazifa 2: Selection Sort (10 ball)

selection-sort.c:

Foydalanuvchi N kiritsin (max 100), keyin N ta raqam. Selection Sort bilan sortlash.

Baholash:

  • Input olish: 2
  • Algoritm to'g'ri: 5
  • Output: 2
  • Funksiyaga bo'lish: 1

Vazifa 3: String funksiyalar (15 ball)

string-stats.c — Foydalanuvchi qator kiritsin, hisoblang:

  • Belgilar soni
  • Unli harflar
  • Undosh harflar
  • Raqamlar
  • Bo'shliqlar
  • Boshqa belgilar

Funksiyalar bilan bo'ling:

c
int count_chars(const char *s);
int count_vowels(const char *s);
int count_consonants(const char *s);
int count_digits(const char *s);
int count_spaces(const char *s);

Baholash:

  • Har funksiya to'g'ri: 2 × 5 = 10
  • fgets ishlatish: 2
  • Output chiroyli: 2
  • Edge cases (bo'sh qator, faqat raqamlar): 1

3-qism: Mini loyiha (40 ball)

Phone Book (Telefon kitobi)

Imkoniyatlari:

  1. Kontakt qo'shish
  2. Barcha kontaktlarni ko'rsatish
  3. Ism bo'yicha qidirish
  4. Telefon bo'yicha qidirish
  5. Kontaktni o'chirish
  6. Faylga saqlash
  7. Fayldan yuklash
  8. Chiqish

Struct

c
typedef struct {
    char name[50];
    char phone[20];
    char email[50];
} Contact;

Talab qilingan

  1. Static massiv (max 100)
  2. CRUD funksiyalar
  3. File I/O (binary yoki text)
  4. Input validation
  5. Menu loop

Baholash

MezonBall
Add5
Show all4
Search by name5
Search by phone5
Delete5
Save to file6
Load from file5
Validation3
Menu va loop2
Jami40

Topshirish

GitHub: 5-oy-imtihon repo

Fayllar:

  • min-max-idx.c
  • selection-sort.c
  • string-stats.c
  • phonebook.c
  • README.md

Email: 5-oy imtihon — [Ism]

Imtihondan keyin

Refleksiya

  • Eng yoqimli mavzu?
  • Eng qiyin: pointer, malloc, struct, qaysi?
  • 6-oyga maqsadlar?

6-oyga tayyorgarlik

6-oy — Python va yakuniy loyiha.

C dan keyin Python — juda oson. Lekin asosiy farq:

  • C — manual memory
  • Python — auto (garbage collection)
  • C — sintaksis qat'iy
  • Python — sintaksis erkin
  • C — tez
  • Python — sekin, lekin tezroq yozasiz

Tayyorgarlik:

  1. Python o'rnatish (python --version)
  2. VS Code'ga Python extension
  3. python3 ekranda ishlamoqdami
  4. Birinchi Python kodi:
python
print("Salom dunyo!")
bash
$ python3 hello.py
Salom dunyo!

Aloqa

Imtihonda muammo — o'qituvchini chaqiring.

Yutuqlar tilab qolaman! Python kelmoqda! 🐍

Master IT o'quv markazi — o'qitish rejasi