Press "Enter" to skip to content

C proqramlasdirma dili haqqında

12. Antivirus proqramlarının tədqiqi .

C++ proqramlasdirma

�S istem proqram təminatı və əməliyyat sistemləri � fənninin

Mühazirə – 60 saat, laboratoriya � 45 saat

“Sistem proqram təminatı və əməliyyat sistemləri” fənni “İnformatika və hesablama texnikası” istiqaməti üzrə bakalavr hazırlığında tədris edilən ixtisas fənninin rolunu oynayır. Fənnin tədrisində əsas məqsəd tələbələrə sistem proqram təminatının strukturu və burada istifadə olunan proqramlaşdırma dillərindən biri olan c++ dilinin öyrədilməsidir. Fəndə müasir əməliyyat sistemlərindən MS-DOS, Unix, Linux və Windows əməliyyat sistemlərinin xarakterisitika və imkanlarına baxılır. Ən çox istifadə olunan əməliyyat sistemlərindən biri olan Windows-un funksiyaları və iş prinsipi fəndə geniş şəkildə verilib. Bunun üçün çox geniş istifadə edilən Windows əməliyyat sisteminin bütün versiyaları və Vista götürülüb. Fəndə xüsusi xidmət proqramlarının öyrənilməsinə də yer ayrılıb..

II. Mövzular və onların məzmunu

Sistem proqram təminatının əsasları. Kompüterin proqram təminatı və onun strukturu. Sistem proqram təminatı və burada istifadə olunan proqramlaşdırma dilləri .

c ++ dilində proqramlaşdırma .

C ++ dilinin ilkin elementləri . c ++ dilinin operatorları . Ünvan , göstəriji , massiv və yaddaş . Obyektlərin göstərijisi və onların üzərində əməliyyatlar . Massivlər və göstərijilər . Yaddaşın seqmentli ünvanlaşdırılması . Kəsilmələr və onların emalı .

Funksiyalar , göstəriji və istinadlar . Struktur və birləşmələr . Preprosessor vasitələri . c ++ dilində daxiletmə – xarijetmənin təşkili . c ++ dilində faylların təşkili . Fayllarla iş .

PHP dilində proqramlaşdırma .

PHP dilinin ilkin elementləri . PHP dilinin operatorları . Ünvan , göstəriji , massiv və yaddaş . Obyektlərin göstərijisi və onların üzərində əməliyyatlar . Massivlər və göstərijilər . Yaddaşın seqmentli ünvanlaşdırılması . Kəsilmələr və onların emalı .

Funksiyalar , göstəriji və istinadlar . Struktur və birləşmələr . Preprosessor vasitələri . PHP dilində daxiletmə – xarijetmənin təşkili . PHP dilində faylların təşkili . Fayllarla iş .

Diskin hissələrə bölünməsi və formatlaşdırılması. Sistemin yüklənmə prosesləri. Fayl sistemi haqqında . FAT və NTFS fayl sistemi. Qurğuların Plug and Play texnologiyası ilə quraşdırılması . Add / Remove Hard ware W izard ilə işin təskili . Disklərlə işin təşkili . Diskin strukturu . fdisk – lə sərt diskin məntiqi disklərə bölünməsi . Bölmə və tomların tipləri . Disk Management və onun iş prinsipi .

Dos. MS-DOS əməliyyat sisteminin strukturu və funksi�ya�ları. Disk əməliyyat sisteminin əsas anlayışları . MS – DOS əməliyyat sisteminin əsas əmrləri . MS – DOS əməliyyat sisteminin strukturu və funksi � ya � ları .

Wind o w s əməliyya t sistemlər i. Wind o w s Ə S -ni n xarakteristikas ı v ə arxitekturas ı. Wind o w s -u n istifadəç i qrafik i interfeys i. Wind o w s Ə S -ni n yen i funksiy a v ə üstünlüklər i. Wind o w s XP, Wind o w s 2003 Server Ə S -r i. Wind o w s �ni n dome n v ə işç i qruplar ı. Wind o w s �ni n quraşdırılmas ı v ə b u zama n istsfad ə oluna n aparatla r. Wind o w s -ni n şəbək ə üzr ə quraşdırılmas ı. Wind o w s 2000 -ni n ik i əsa s administrati v utilitlər i: MM J (Misrosof t Managemen t Jonsol e) v ə Tas k Shedule r. Wind o w s -i n Kontrol Panel-dəki kompüterin proqram və aparat konfiqurasiyasına xidmət üçün tətbiqi proqramlar. Siste m reestr i. Reestr ə baxı ş v ə onu n redakdəs i. Registr y Edito r -da n istifad ə. Reestrdə axtarış, reestrə parametrin əlavə olunması və yadda saxlanılması. Regedt.exe proqramı. Wind o w s �ni n yüklənm ə proses i. Boo t .in i fayl ı v ə onu n struktur u. Wind o w s 2000 yükləyij i diskini n yaradılmas ı proses i. Wind o w s u n yüklənm ə proses i. Boo t .in i fayl ı v ə onu n struktur u. Wind o w s yükləyic i diskini n yaradılmas ı proses i. Şəbək ə protokollarını n təyin i v ə quraşdırılmas ı. TCP/İP şəbəkə protokolunun quraşdırılması, nasazlıqların aradan qaldırılması və konfiqurasiyasının yoxlanılması. DN S (Domai n Nam e Syste m) xidmətində n istifad ə. Ba ş dome n. Yuxar ı v ə ikinc i səviyyəl i domenlə r. Domenləri n adlandırılmas ı qaydas ı. DN S kliyentini n konfiqurasiyas ı.

Linux əməliyyat sistemləri . LİNUX əməliyyat sisteminin xarakteristikası . Linux ƏS – nin əsas funksiyaları . Linux əməliyyat sistemi və onun digər ƏS – dən fərqli xüsusiyyətləri . Əsas əmr və utilitlər .

Unix əməliyyat sistemləri . UNIX əməliyyat sisteminin xarakteristikası . Unix ƏS – nin əsas funksiyaları . Unix əməliyyat sistemi və onun digər ƏS – dən fərqli xüsusiyyətləri . Əsas əmr və utilitlər .

Xüsusi xidmət proqramları . Verilənlərin arxivləşdirilməsi və bərpası , diskin təmizlənməsi və diskin defraqmentasiyası . Tapşırıqların təyini . Virusların xarakteristikası və antivirus proqramların klasifikasiyası . Antivirus proqramların iş prinsipi .

III. Laborotoriya məşğələlərinin təxmini mövzuları

1. c++ dilində sadə proqramların tərtibi.

2. Göstərijilərdən istifadə etməklə proqram tərtibatı.

3. Kəsilmələrin emalı üçün proqram tərtibatı.

4. Klaviatura ilə idarə edilmə imkanlarını göstərən proqramlar.

5. API funksiyalarının köməyi ilə proqram tərtibi.

6. MSDOS əməliyyat sisteminin əmrlərinin tədqiqi .

7. Windows və Unix əməliyyat sistemlərinin quraşdırılması ardıjıllıqlarının tədqiqi .

8. Linux əməliyyat sistemlərinin fayl sisteminin və əmrlərin tətqiqi .

9. Dinamiki disklərlə iş .

10. Reestrin tədqiqi .

11. TCP / IP � nin təyini və quraşdırılması .

12. Antivirus proqramlarının tədqiqi .

IV. Fənnin tədrisinə ayrılan saatların mövzular üzrə paylanması

C proqramlasdirma dili haqqında

Hər hansı məsələni həll etmək üçün komputer dilində yazılmış kodlar proqram adlanır. Yəni hər hansı məsələni həll etmək üçün komputerə proqram yazırıq. Proqramlaşdırma dili əmri verməyimizə kömək olur. Buna alqoritmi ifadə etməyin yolu da deyə bilərik.

İndiyə kimi 150 proqramlaşdırma dili hazırlanıb. Məsələn C, C++, Java, Smaltalk, Pascal, Visiual Basic, Visiual FoxPro və s.

Proqramlaşdırma dilləri insanların qavrayışına yaxınlığına görə 3 qrupa bölünür, yəni maşın kodundan uzaqdır.

Bir kompüterə və ya bir elektron dövrə əmri olaraq edilməsi lazım olan işi yazdırmaq prosesi proqram adlanır. Proqramlaşdırma dili əmrlər verməyimizə kömək edir. Buna alqoritmi ifadə etməyin yolu da deyə bilərik. İndiyə qədər 150-dən çox proqramlaşdırma dili hazırlanıb. Bunlardan bəziləri Basic , C , C # , C ++ , Java , Cobol , PHP , Python , Delphi və Swift .

Proqramlaşdırma dilləri insanların qavrayışına yaxınlığına görə 3 qrupa bölünür, yəni maşın kodundan uzaqdır.

Aşağı səviyyəli proqramlaşdırma dilləri : Bunlar maşın koduna çox yaxın olan proqramlaşdırma dilləridir. Bu proqramlaşdırma dillərini bilənlər mikroprosessorlar haqqında biliklərə sahib olmalıdırlar. (Quraşdırma proqramlaşdırma dili kimi)

Orta səviyyəli proqramlaşdırma dilləri : Çox çevik olan bu dillər həm yuxarı, həm də aşağı səviyyəli proqramlaşdırma edə bilərlər. Aşağı səviyyəli dillərdən bir az daha başa düşüləndir. (C proqramlaşdırma dili kimi.)

Yüksək səviyyəli proqramlaşdırma dilləri : Ən sürətli və ən təsirli proqramlaşdırma dilləri bu kateqoriyadadır. (visual basic və pic basic pro kimi).

C proqramlaşdırma dili haqqında ətraflı

C dili qısa bir zamanda sintaksisinin rahatlığına görə məhşurlaşmış və proqramçıların sevimlisinə çevrilib.

C proqramlaşdırma dili AT&T Bell laboratoriyasında hazırlanmış , Ken Thompson və Dennis Ritchie tərəfindən UNIX Əməliyyat Sistemini inkişaf etdirmək üçün B dilindən götürülmüş strukturlaşdırılmış bir proqramlaşdırma dilidir.

Bu gün yazılan C proqramlarının əksəriyyəti ANSI C standartına uyğun yazılmışdır.

C proqramlaşdırma dili mikrokontrolçuların proqramlaşdırılmasında, masa üstü proqramların inkişafında, əməliyyat sistemlərinin istehsalında, yerləşmiş sistemlərdə və demək olar ki, düşündüyünüz hər yerdə istifadə edilə bilən bir dildir. Maşın dilinə yaxın və aşağı səviyyəli bir dildən daha asan olduğundan, digər proqramlaşdırma dillərinə keçərkən əvvəlcə öyrənmək üçün çox rahatlıq verir. Aşağı səviyyəli dil tərifi onun bir çox mənfi tərəfinin olduğunu göstərməməlidir. Aşağı səviyyəli tərifin maşın dilinə, yəni 1 və 0-lərə çevrildiyini deyə bilərik, daha doğrusu, kompüterin anlaya biləcəyi dilə daha yaxındır.

C proqramlaşdırma dili aşağı səviyyəli dillərdən daha başa düşüləndir və orta səviyyəli dillər arasındadır, çünki yüksək səviyyəli dillərdən daha çevik bir quruluşa malikdir. Bu xüsusiyyət sayəsində hər sahədə istifadə edilə bilər. Bununla birlikdə, proqramlar hardware nəzərə alınmaqla yazılmalıdır. Çünki daha az funksiya və kitabxana var.

C portativ bir dildir. İstənilən C proqramı çox az və ya heç dəyişmədən başqa bir kompilyatorda və / və ya əməliyyat sistemində tərtib edilə bilər.

C proqramlaşdırma dili inkişafını tamamlayan və bir standart qurulmuş bir dildir.

. C strukturlaşdırılmış bir dildir. C kodları funksiyalar adlanan alt proqramlardan ibarətdir.

Niye C proqramlaşdırma dilini öyrənməliyik?

C, təxminən 30 ildir mövcud olan geniş yayılmış bir dildir. Öyrənmək üçün tonlarla mənbəyə asanlıqla daxil ola biləcəyiniz bir dildir. Bir çox mənbələr və məlumatlar var.

C dilini anlamaqdan qazandığınız bacarıqla digər dilləri asanlıqla öyrənə biləcəksiniz.

Azərbaycanda ən məşhur proqramlaşdırma dilləri və İT maaşlar – 2018

Adətən, proqramlaşdırmaya yeni başlayanlar başlamazdan əvvəl hansı proqramlaşdırma dilini (dillərini) öyrənməyin perspektivli olması ilə bağlı suallar verirlər. Bu suallar isə daimi olaraq kəskin müzakirələrə səbəb olur. Təəssüf ki, bununla bağlı dəqiq statistika təqdim edəcək bir mənbə yoxdur.

Facebook-da Şamxal Məhərrəmovun paylaşımını gördüm. Azərbaycanda ən çox istifadə olunan proqramlaşdırma dilləri, proqramçı vakansiyaları üzrə maaşlar kimi statistik məlumatlar qeyd olunmuşdu. Əlbəttə ki, belə gözəl bir işə biganə qala bilməzdim. Özünün də icazəsi ilə, sizə 2018-ci il üçün Azərbaycan şirkətlərində İT vakansiyalarda tələb olunan proqramlaşdırma dilləri üzrə statistikanı paylaşıram.

Məqalədə 2018-ci ilin statistikası olsa, hazırki dövrdə də öz aktuallığını saxlayır.

Məqaləyə keçməzdən əvvəl statistikanın, məlumatların necə toplandığını Şamxal bəyin özündən eşidək:

* Göstəricilər iş elanları saytlarından Python vasitəsilə toplanıb. Bəziləri isə manual olaraq FB-dən götürülüb. Ümumi olaraq 289 vakansiya elan edilib. Bunlardan isə sadəcə 121-i maaş göstərib.
* Bəzi rəqəmlər real faktları əks etdirməyə bilər. Məsələn, Əhməd, vakansiyada maaş göstərməyən və ya az maaş göstərən hansısa şirkətə işə düzəlib və > 4000 azn maaş ala bilər və s.

Məlumatlar proqramlaşdırmada “scraping” dediyimiz üsul ilə toplanıb. Scraping və onun necə işlədilməsi qaydası ilə Node.js məqaləmizdən öyrənə bilərsiz.

2017-ci il ən məşhur proqramlaşdırma dilləri

  1. PHP – 48%
  2. Java – 13.46%
  3. Swift – 11.54%
  4. C# – 9.62%
  5. Python – 7.69%
  6. C++ – 5.77%
  7. Ruby – 3.85%

Siyahıdan göründüyü kimi ölkədə 2017-ci il PHP üzrə vakansiyalar ən yaxın “rəqibi” Java-dan təqribi 4 dəfə daha çoxdur.

2018-ci ildə Azərbaycanda ən məşhur proqramlaşdırma dilləri

2017-ci ilin statistikasından fərqli olaraq 2018-də detallı məlumatlar var və daha yaxşı müqayisə etmək imkanımız olacaq. Başlayaq…

  1. JavaScript – 31.9% – 144 vakansiya
  2. Java – 29.5% – 133 vakansiya
  3. C# – 16.2% – 73 vakansiya
  4. PHP – 14.9% – 67 vakansiya
  5. Python – 4.4% – 20 vakansiya
  6. C++ – 2.9% – 13 vakansiya
  7. Ruby – 0.2% – 1 vakansiya

Proqramlaşdırma dilləri üzrə nəticələrin izahı

Hazırki dövr internet əsri olduğundan əlbəttə ki, veb proqramlaşdırma daha çox önə çıxır. Vebdə də demək olar ki, hər istiqamətdə istifadə olunan dil sözsüz ki, JavaScript-dir. Buna görə də JavaScript-in top 1-də olması gözlənilən idi.

JavaScript hazırda sürətlə inkişaf edən proqramlaşdırma dillərindən biridir. Google, Microsoft, Facebook, Netflix, Mozilla və s. kimi nəhəng texnologiya şirkətləri tərəfindən dəstəklənir və inkişaf etdirilir. Həmçinin, öyrənilməsi rahat olduğundan yeni başlayanlara da tövsiyyə olunur.

Dünyada JavaScript-in backend-də istifadəsi geniş yayılsa da, ölkəmizdə hələ ki, frontend proqramlaşdırma üçün istifadə olunur. Yerli şirkətlərin iş elanlarında Node.js ilə bağlı vakansiya görməmişəm.

JavaC# uyğun olaraq 2 və 3-cü yerləri bölüşürlər. Əsasən dövlət və bank sektorları üçün istifadə olunan dillərdir. Həmçinin özəl sektorda enterprise işlərin görülməsi üçün bu dillərdən geniş istifadə olunur. Adətən, yerli bankların vakansiyalarını tez-tez görürəm. Görünən odur ki, bu sahələr üzrə ölkədə İT-yə daha çox diqqət yetirməyə başlayırlar.

Köhnə dostumuz və ən çox tənqid edilən proqramlaşdırma dillərindən PHP sırada 4-cü yerdədir. Bütün tənqidlərə və 4-cü olmasına baxmayaraq, PHP yerli şirkətlərdə webdə backend üçün istifadə olunan ən məşhur dildir.
Java, C#, Python-la da web proqramlaşdırmada backend yazmaq olur. Sadəcə bunun üçün əlavə texnologiyalar, framework-lər öyrənməyə ehtiyac yaranır. PHP ilə buna ehtiyac qalmır, dilin özü istənilən çətinlikli proyektlər yazmağa imkan yaradır. Amma əlbəttə ki, daha sürətli və keyfiyyətli işlər üçün PHP framework öyrənmək vacibdir.

Siyahının sonlarını isə Python, C++ və Ruby tamamlayır. Python dünyada məşhurlaşan proqramlaşdırma dili olsa da, hələ ki ölkəmizdə yerli şirkətlər tərəfindən çox az istifadə olunur.
C++ aşağı səviyyəli proqramlaşdırma dili (maşın koduna yaxın dil) olduğundan öyrənilməsi çətindir. Həmçinin, yerli şirkətlərin ƏS, hardware (aparat təminatı), oyun sahəsində proyektləri olmadığından bu dilə təlabat çox aşağıdır.
Ruby həmçinin dünyada məşhur dillərdəndir, lakin Azərbaycanda yalnız yerli şirkət olan Buglance-da vakansiya görmüşəm.

2018-ci il ölkədə ən populyar framework-lər

Proqramlaşdırma dilləri haqqında danışmışkən, framework-lərə nəzər salmağımız yaxşı olardı. 2018-ci ilin framework statistikası aşağıdakı kimidir:

  1. ASP.NET – 32.2% (C#)
  2. Spring – 28.8% (Java)
  3. Laravel – 14.4% (PHP)
  4. Yii – 10.3% (PHP)
  5. CodeIgniter – 6.2% (PHP)
  6. Symfony – 4.8% (PHP)
  7. Ruby on Rails – 2.1% (Ruby)
  8. Django – 1.4% (Python)

Elan saytlarında necə olduğunu bilmirəm, amma Facebook-da elanlarda daha çox Codeİgniter, Symfony, Yii olaraq vakansiyalar qarşıma çıxıb.
Bu 4 PHP framework-ün ümumi faiz cəmi isə %35.7-dir.

Yuxarıdakı siyahıda JavaScript framework-lər qeyd olunmasa da, ayrıca diaqramda statistika belədir:

  1. Angular – 67.5% (framework)
  2. React – 22.5% (kitabxana)
  3. Vue – 7.5% (framework)
  4. React Native – 2.5% (kitabxana)

Çox güman siyahıda bilərəkdən jQuery əlavə olunmayıb. Çünki, 85-95% veb proqramçı vakansiyalarında jQuery məcburi tələb kimi qeyd olunur. Yəni, qeyd olunsa idi, jQuery 1-ci yerdə olardı.
Digər framework və kitabxanalar adətən vakansiyalarda “arzuolunan” kimi işarə olunur. Buna baxmayaraq, JavaScript və jQuery ilə praktiki biliklər olandan sonra Angular, ReactVue-dan birini öyrənmək məsləhətdir.
React Native mobil proqramlaşdırmaya aid olsa da, JavaScript kitabxana olduğundan siyahıda öz yerini tutub.

Proqramlaşdırma dillərinə görə orta maaş statistikası (2018)

  1. C++ – 1280 AZN
  2. Java – 1210 AZN
  3. JavaScript – 1133 AZN
  4. C# – 1080 AZN
  5. iOS Developer – 1015 AZN (Objective-C, Swift)
  6. Android Developer – 1000 AZN (Kotlin, Java)
  7. PHP – 880 AZN

Yuxarıda qeyd etdiyim kimi C++ proqramçılar ölkədə azlıq təşkil etdiyindən maaşın yuxarı olması normaldır.
JavaC# üzrə şirkətlər (banklar) adətən təcrübəli proqramçılar axtarırlar, buna görə də maaş ortalaması yuxarı olur. JavaScript ilə də eyni məntiq doğrudur. Təcrübəli proqramçıları (framework, kitabxana bilən) iş qəbul üçün maaşın yüksək olması zərurəti yaranır.
iOSAndroid proqramçı vakansiyaları nadirən olur və bu sahələr üzrə proqramçılar da azlıq təşkil edir.
PHP-ni kiçik və orta bizneslər də istifadə etdiyindən ortalama maaş aşağıdır. Lakin vakansiyalar çoxdur və yeni başlayanlar üçün işə qəbul olmaq fürsəti yuxarıdır.

Yerli şirkətlər üzrə ortalama İT maaşlar (2018-ci il)

  1. Neuron Technologies – 1800 AZN
  2. Buglance – 1700 AZN
  3. Prosys MMC – 1400 AZN
  4. Web Coder Agency – 1200 AZN
  5. Sinam – 1000 AZN
  6. Pronet – 600 AZN

Şirkətlərin tələb etdiyi biliklərə əsasən, təklif etdiyi maaş aralığı həmişə müzakirə mövzusu olur. Bəzən şirkətlər vakansiyada İT-də mümkün olan hər şeyi qeyd edib, sonda da gülünc maaş təklif edirlər.

Amma bir məqamı da unutmamaq lazımdır ki, İT bazarda da tələb-təklif məsələsi aktualdır. Təcrübəli və dəyərli işçilər hər sahədə olduğu kimi proqramlaşdırmada da yuxarı maaşlara iddia edirlər. Yeni başlayanlar isə az biliklə aşağı maaşa qane olurlar. Həmçinin, bazarda kiçik şirkətlər də çoxluq təşkil edir və onlara aşağı maaşa işləyəcək proqramçılar lazım gəlir.

Maaş uyğunsuzluğu mən yeni başlayan dövrlərdə(2012) də var idi, çox güman ondan əvvəl də olub, elə indi də olacaq. Hər kəs nə qədər narazı olsa da, sonda özünə layiq bildiyi maaşa işləyəcək. Ona görə çox da fikir verməmək, həmişə az danışıb, çox iş görmək lazımdır =)

Ümid edirəm məqalə faydalı oldu. Öz fikirlərinizi şərh bölməsində yaza, dostlarınızla paylaşa bilərsiz. Hər kəsə işlərində uğurlar!

Comments are closed, but trackbacks and pingbacks are open.