4-dars: Flowchart va dasturlash mantig'i
Dars haqida
Davomiyligi: 90 daqiqa Maqsad: Talaba flowchart (oqim diagrammasi) chizishi, shartli (if-else), siklli (loop) va ketma-ket strukturalarni vizual qila olishi kerak.
1. Flowchart nima?
Flowchart (oqim diagrammasi) — algoritmni vizual ko'rsatish vositasi. Shakl va strelka bilan.
Foydalari:
- Vizual — bir qarashda tushunish oson
- Hamma tushunadi — dasturchi va biznes odam
- Hujjatlash — keyinroq qaytadan o'qish oson
2. Flowchart belgilari
| Shakl | Vazifasi |
|---|---|
| Oval / Yumaloq | Boshlanish (Start) va Tugash (End) |
| To'rt burchak | Amal (action, jarayon) |
| Romb / Olmos | Shart (if-else) |
| Parallelogram | Input / Output (kiruvchi / chiquvchi) |
| Strelka | Yo'nalish |
| Aylanali strelka | Sikl (loop) |
| Doira (kichkina) | Bog'lash nuqtasi |
3. Eng oddiy flowchart
Vazifa: Ikki raqamni qo'shish
4. Shart (Conditional) flowchart
Vazifa: Talaba o'tdimi yo'qmi?
5. Ko'p shartli flowchart
Vazifa: Ball → harf baho
6. Sikl (Loop) flowchart
Vazifa: 1 dan 10 gacha raqamlarni chiqarish
7. Sikl ichida shart
Vazifa: 1 dan 20 gacha faqat juft raqamlarni chiqarish
8. Murakkab flowchart: O'rtacha hisoblash
9. 3 ta asosiy struktura
Sequence — ketma-ket
Bitta keyin biri:
1. Qadam
2. Qadam
3. QadamSelection — tanlov
Shart bo'yicha tanlov:
AGAR shart ROST bo'lsa:
A qadamni qil
AKS HOLDA:
B qadamni qilIteration — sikl
Takrorlash:
TAKRORLA 10 marta:
A qadamni qil
YOKI:
TOKI shart ROST bo'lsa (while):
A qadamni qil10. Asosiy boolean operatorlar
Shartlarda logik operatorlar ishlatiladi:
AND (va)
Ikki shart ham rost bo'lsa:
IF (yosh >= 18) AND (yosh <= 60):
PRINT "Ishlash mumkin"| A | B | A AND B |
|---|---|---|
| ROST | ROST | ROST |
| ROST | YOLG'ON | YOLG'ON |
| YOLG'ON | ROST | YOLG'ON |
| YOLG'ON | YOLG'ON | YOLG'ON |
OR (yoki)
Kamida bittasi rost:
IF (soat == 6) OR (soat == 7):
PRINT "Ertalab"| A | B | A OR B |
|---|---|---|
| ROST | ROST | ROST |
| ROST | YOLG'ON | ROST |
| YOLG'ON | ROST | ROST |
| YOLG'ON | YOLG'ON | YOLG'ON |
NOT (emas)
Teskari:
IF NOT (ish kuni):
PRINT "Dam olamiz"| A | NOT A |
|---|---|
| ROST | YOLG'ON |
| YOLG'ON | ROST |
11. Murakkab shartlar
AGAR (yosh >= 18 AND yosh <= 30) AND (ball >= 80 OR tajriba >= 2):
Qabul qilingTarjima: Yoshi 18-30 oralig'ida, VA (ball 80+ YOKI 2+ yil tajriba).
12. Flowchart misoli: Bank ATM
13. Flowchart chizish dasturlari
Flowchartni qog'ozga chizish — birinchi qadam. Lekin rasmiy hujjatlar uchun maxsus dasturlar:
| Dastur | Tavsif |
|---|---|
| Draw.io | Bepul, brauzerda (app.diagrams.net) |
| Lucidchart | Pulli, professional |
| Microsoft Visio | Pulli, Office bilan |
| Mermaid | Markdown'da kod bilan diagramma |
| Canva | Diagramma shablonlari |
| Excalidraw | Bepul, oddiy uslub |
Draw.io — tavsiya
Boshlovchi uchun draw.io eng yaxshi:
- Bepul
- O'rnatish kerak emas
- Google Drive bilan integratsiya
- Eksport: PDF, PNG, SVG
app.diagrams.net — kiring va boshlang.
14. Mermaid syntax (qisqacha)
Bu hujjatdagi diagrammalar — Mermaid bilan chizilgan. Markdown ichida kod yozish:
flowchart TD
A([Boshla]) --> B[Amal]
B --> C{Shart?}
C -->|Ha| D[Natija]
C -->|Yo'q| E[Boshqa]Belgilar:
[Matn]— to'rt burchak(Matn)— yumaloq([Matn])— oval{Matn}— romb (shart)[/Matn/]— parallelogram (input/output)-->— strelka
GitHub'da, GitLab'da, ko'p platformalarda Mermaid ishlaydi.
15. Real misol: Dastur algoritm va flowchart
Vazifa: Faktorial topish (5! = 5 × 4 × 3 × 2 × 1 = 120)
Pseudocode
INPUT: n
SET result = 1
FOR i FROM 1 TO n:
SET result = result * i
PRINT resultFlowchart
Trace (n = 4)
| i | result | shart |
|---|---|---|
| 1 | 1 × 1 = 1 | ROST |
| 2 | 1 × 2 = 2 | ROST |
| 3 | 2 × 3 = 6 | ROST |
| 4 | 6 × 4 = 24 | ROST |
| 5 | — | YOLG'ON |
Natija: 4! = 24 ✓
16. Flowchart va Pseudocode birga
Yaxshi dasturchi ikkalasini ham yozadi:
- Avval o'ylab — qog'ozda
- Flowchart — vizual qiling
- Pseudocode — qadamlarini yozing
- Kod — real dasturlash tilida
Darsdagi topshiriqlar
Topshiriq 1 — Oddiy flowchart
Tish yuvish uchun flowchart chizing. Quyidagilarni qo'shing:
- Boshla
- Cho'tkani oling
- Pasta surting
- Tishlarni yuving
- Kamida 2 daqiqa bo'ldimi? (shart)
- Og'izni chaying
- Tugat
Qog'ozda chizing va rasmga oling, yoki draw.io da yarating.
Topshiriq 2 — Yosh shart
Quyidagi vazifa uchun flowchart chizing:
"Yoshni kiriting:
- 6 dan kichik — Bola
- 6-17 — Maktab yoshi
- 18-25 — Yoshlar
- 26-60 — Kattalar
- 60+ — Keksa"
Draw.io'da chizing va Drive'ga saqlang.
Topshiriq 3 — Boolean operatorlar
Quyidagi shartlarni AND, OR, NOT ishlatib yozing:
- Yoshi 18 dan 30 gacha VA universitetda o'qigan
- Toshkentlik YOKI Samarqandlik VA dasturchi
- Erkak EMAS (ya'ni ayol)
- Hafta oxiri EMAS VA soat 9-17 oralig'ida (ish vaqti)
- Tug'ilgan kuni bugun YOKI kecha
Har biri uchun:
- Mantiqiy ifoda yozing
- Flowchart belgilari (romb) bilan ko'rsating
Topshiriq 4 — Sikl flowchart
1 dan 100 gacha bo'lgan raqamlardan 5 ga qoldiqsiz bo'linadigan raqamlarni chiqaring.
(5, 10, 15, 20, ..., 100)
Flowchart chizing.
Pseudocode'sini ham yozing.
Topshiriq 5 — Bank ATM
ATM funksionali uchun flowchart yarating:
Imkoniyatlar:
- PIN kod tasdiqlash (3 marta xato bo'lsa — bloklash)
- Balans ko'rish
- Pul olish (limit: 5,000,000 so'm)
- Pul kiritish
- O'tkazma
- Chiqish
To'liq flowchart draw.io'da chizing.
Drive'ga PNG/PDF eksport.
Topshiriq 6 — Faktorial trace
Faktorial flowchart (yuqorida berilgan) uchun n = 6 bilan trace qiling:
| Iteration | i | result | shart |
|---|---|---|---|
| 0 | 1 | 1 | ROST |
| 1 | 2 | ? | ROST |
| ... | ... | ... | ... |
Yakuniy javob: 6! = ?
Topshiriq 7 — O'z algoritmingiz
Quyidagi muammolardan birini tanlang va flowchart + pseudocode yarating:
- Pizza buyurtma (savatga qo'shish, to'lash, yetkazib berish)
- Sinov natijasi (savol-javob, ball hisoblash, baho berish)
- Sport mashqlari (haftalik reja, dam kunlari)
- Yo'qolgan buyumni izlash (masalan, kalit qidirish algoritmi)
- Online kurs (talaba qabul → o'qish → imtihon → sertifikat)
Draw.io'da chizing va Drive'ga saqlang.
Topshiriq 8 — Mermaid bilan
Markdown faylda bitta flowchart yarating — Mermaid syntax bilan:
# Mening flowchartim
```mermaid
flowchart TD
A([Boshla]) --> B[...]
...
Mavzu — o'zingiz tanlang.
VS Code'da Markdown preview bilan ko'rib chiqing.
Drive'ga saqlang: `flowchart.md`Asosiy tushunchalar (lug'at)
| Termin | Qisqacha izoh |
|---|---|
| Flowchart | Oqim diagrammasi |
| Oval | Boshla/Tugat |
| To'rt burchak | Amal |
| Romb | Shart |
| Parallelogram | Input/Output |
| Sequence | Ketma-ket struktura |
| Selection | Tanlov struktura |
| Iteration | Sikl struktura |
| AND / OR / NOT | Boolean operatorlar |
| True / False (Rost / Yolg'on) | Mantiqiy qiymatlar |
| Trace | Qadam-baqadam kuzatish |
| Draw.io | Diagramma chizish vositasi |
| Mermaid | Markdown ichida diagramma |