1. Komandalarla tanisliq
Eger ne vaxtsa proqramcinin isini anlasilmaz ve sirli bir sey kimi tesevvur etmisinizse, bu mifi dagitmagin vaxti catib! Proqramlasdirma gizli senet deyil, mohtesem ve cox maraqli bir isdir. Indi buna ozunuz emin olacaqsiniz.
Komputer proqramlari proqramlasdirma dillerinin komeyi ile yazilir — komputerin basa dusduyu xususi qaydalar ve sozler. Bu gun siz C++ dili ile tanis olacaqsiniz: ilk proqraminizi yazacaq, komandalarin ne oldugunu anlayacaq ve komputeri size tabe olmaga mecbur edeceksiniz (elbette, o ne qeder istese).
Proqram komandalardan ibaret bir destdir (siyahidir). Evvelce birinci komanda, sonra ikinci, ucuncu ve bele davam edir. Butun komandalar icra olunanda proqram basa catir.
flowchart LR
Start(["▶ Proqramin ishe salinmasi"]):::start
C1["Komanda 1"]:::cmd
C2["Komanda 2"]:::cmd
CDots["· · ·"]:::dots
CN["Komanda N"]:::cmd
End(["⏹ Proqram basa catdi"]):::finish
Start --> C1
C1 -->|"icra olundu"| C2
C2 -->|"icra olundu"| CDots
CDots --> CN
CN -->|"butun komandalar icra olundu"| End
classDef start fill:#22c55e,color:#fff,stroke:none,rx:20
classDef finish fill:#ef4444,color:#fff,stroke:none,rx:20
classDef cmd fill:#3b82f6,color:#fff,stroke:#1d4ed8,stroke-width:2px
classDef dots fill:none,stroke:none,color:#94a3b8,font-size:24px
Komandalar siyahisinda konkret hansi komandalarin ola bilmesi, onlari kimin icra etmesinden, daha dogrusu, icracinin hansi komandalari bildiyinden (ve anladigindan) asilidir. Ite “Otur”, “Ses ver”, pisye “Redd ol”, insana “Dayan!”, robota ise “Isle!” komandasi vermek olar.
Komanda kompure verilmis sade bir gosterisdir: bunu et! En vacibi — komputer ona dediyiniz seyi yerine yetirir, istediyinizi yox. Elbette, suni intellekt bir az da inkisaf edene qeder.
C++ dilinin komandalar desti kifayet qeder genisdir. Meselen, bu komanda ile ekranda "Robot — insanin dostudur" yazisini gostermek olar:
std::cout << "Robot — insanin dostudur" << '\n';
Amma biz komandalardan yox, bir nece sade prinsipden baslayacagiq. Bir nece prinsipi bilmek bir cox fakti bilmeyin yerini verir.
Birinci prinsip: C++ proqramlasdirma dilinde her komanda yeni setirden yazilir. Komandanin sonunda noqteli vergul ; qoyulur.
Tutaq ki, komputerin sizin cumlenizi uc defe gostermesini isteyirsiniz, onda ona eyni komandanin bir nece defe verilmesi kifayetdir.
Uc komandadan ibaret proqram:
std::cout << "Robot — insanin dostudur" << '\n';
std::cout << "Robot — insanin dostudur" << '\n';
std::cout << "Robot — insanin dostudur" << '\n';
Neticede komputer ifadeni ekranda 3 defe gosterecek. Her sey sadedir.
Ikinci prinsip: proqram sadece komandalardan ibaret ola bilmez. C++ dilinin komandalari funksiyalarin daxilinde, funksiyalar ise fayllarin daxilinde olmalidir. Bu cox maraqlidir — gelin daha etrafli baxaq.
2. Tipik proqramin strukturu
Istelenilen proqram komandalardan ibaret destdir, amma komputer bilmelidir ki, hansi komandadan baslamaq lazimdir. C++-da giris noqtesi demek olar ki, hemişe birdir: main funksiyasi. Bu, mikrodalgali sobadaki “Start” duymesi kimidir: rejimleri uzun muddet sece bilersiniz, amma onu basmayinca hec ne bas vermir.
C++ proqrami funksiyalardan ibaretdir. Funksiyalar bir faylda ve ya bir nece faylda ola biler. Minimal proqram — bu, bir main() funksiyasini saxlayan bir fayldir ve bele gorunur:
int main() {
return 0;
}
Burada uc vacib element var: int sozu, main adi ve { ... } bloku. Gelin her birini sakit ve sehrsiz sekilde arashdirak.
int sozu — bu, funksiyanin netice tipidir. Helelik “tip” sozunden qorxmayin: indi bizim ucun yalniz bir sey vacibdir — main hansisa bir eded qaytarmalidir ve bu edede tamamlanma kodu deyilir. Biz hemişe 0 qaytaracagiq.
Dairevi moterizeler () bunun funksiya oldugunu gosterir. Onlar main sozunden sonra mutleq olmalidir, eks halda C++ bunun mehz hemin funksiya oldugunu anlamayacaq.
Fiqurlu moterizeler { ... } kod blokunu mueyyen edir — bu, ardicil icra olunan komandalar ucun konteynerdir. main ucun blok mecburidir: bu, dosbesden “proqramin govdesi”dir.
Baslangicda faydali verdiş — main-i hemişe ele tertib etmekdir ki, moterizeler seliqeli dayansin ve rahat oxunsun:
int main() {
komanda1;
komanda2;
komanda3;
return 0;
}
Mena beledir: {} daxilinde olan her sey icra olunur
3. Funksiyalari qosuruq
Eger hele oz funksiyalarinizi yazmagi bacarmirsinizsa, basqalarinin funksiyalarindan istifade ede bilersiniz. C++-da her cur hal ucun boyuk funksiyalar kitabxanasi var — onun adi STD-dir (standard sozunden).
Tutaq ki, proqraminizin ekrana nese cixarmasini isteyirsiniz, onda proqraminiza iostream kitabxanasini qosmalisiniz ve onun funksiyalarindan istifade ede bileceksiniz.
Bu, proqram kodunda texminen bele gorunur:
#include <iostream>
int main() {
return 0;
}
Burada her sey cox sadedir:
- #include proqrama kitabxanada olan funksiyalari daxil etmek demekdir
- <iostream> — bu, bucaq moterizeleri <...> daxilinde kitabxananin adidir.
Heç bir sehr yoxdur. Sehr sonra gelecek.
4. Ilk proqrami yazir ve ise saliriq
Yaxsi isi niye sonraya saxlayaq? Nezeriyyeden praktikaya kecmeyin vaxtidir! Gelin C++-da ilk proqrami yazaq.
Addim 1: WebIDE-ni aciriq
WebIDE-ni acin ve ekrana "Proqramci olmaq eladir!" yazisini cixaran proqram yazin.
Sizde main.cpp adli fayl aciq olmalidir.
Addim 2: ora asagidaki kodu yazin
Eger sizin inkisaf muhitiniz UTF-8-e uygunlasdirilibsa, setirlerde istediyiniz metnden istifade ede bilersiniz.
#include <iostream>
int main() {
std::cout << "Proqramci olmaq eladir! 😎" << '\n';
return 0;
}
Addim 3: proqrami yoxlamaya gonderirik
Yuxarida, WebIDE panelinde Yoxlama duymesi olacaq. Ona basin.
Eger her seyi duzgun etmisinizse, server sizin hellinizi qebul edecek ve sizi tebrik edecek.
“Output” penceresinde bu yazi gorunmelidir:
Proqramci olmaq eladir! 😎
Siz indicə C++-da ilk proqraminizi yazdiniz ve onu ugurla tehvil verdiniz. Xosdur, ele deyilmi? Indi siz esl proqramcisiniz (hec olmasa, bu ada bir addim daha yaxinsiniz).
GO TO FULL VERSION