C++ პროგრამირება

რატომ C++?

თუ პროგრამირებასთან შეხება პირველად გაქვთ, პროგრამირების ეს ენა შესანიშნავი დასაწყისია. შეიძლება არც კი გააგრძელოთ C++ პროგრამირების სიღრმისეული შესწავლა, თუმცა ის საბაზისო ცნებები, რასაც ამ ენაში შეისწავლით, ყველა სხვა ენის ადვილად ათვისებაში დაგეხმარებათ.

 

მოთხოვნები:

  • არ დაგჭირდებათ არანაირი პროგრამის დაყენება, საკმარისია ინტერნეტთან გქონდეთ წვდომა.

  • უნდა გქონდეთ მოტივაცია, მოუსმინოთ ლექციებს, შეასრულოთ სავარჯიშოები და დავალებები.

 

რას გთავაზობთ:

  • კვალიფიციურ ტრენერებს, რომლებსაც აქვთ პროგრამირების სწავლების და პრაქტიკული გამოყენების მრავალწლიანი გამოცდილება.

  • 14 საათზე მეტ ვიდეო ლექციებს, რომელთა ნახვასაც შეძლებთ ნებისმიერ დროს.

  • ექსკლუზიურად კურსისთვის შექმნილ მასალებს ქართულ ენაზე.

  • პრაქტიკულ სავარჯიშო ფაილებს, რომელზეც კურსის განმავლობაში იმუშავებთ.

  • დახურულ FACEBOOK ჯგუფს სადაც უშუალოდ ტრენერისგან მიიღებთ კითხვებზე პასუხებს (https://www.facebook.com/groups/cplusplusoned)

  • სერტიფიკატს, რომლის ასაღებადაც უნდა დაწეროთ დავალებები და ფინალური ამოცანა.

 

და მაინც, რატომ C++?

C++ ყველაზე პოპულარულია მოცულობითი პროგრამული ინფრასტრუქტურისა და აპლიკაციების შესაქმნელად, რომლებიც მუშაობენ შეზღუდულ რესურსებზე. იმის გამო, რომ C++-ს შეუძლია უშუალოდ მანიპულირება მოახდინოს აპარატურაზე (ან მანქანაზე), რომელზედაც ის მუშაობს, პროგრამისტებს საშუალება აქვთ, დაარეგულირონ თავიანთი კოდი ისე, რომ ეფექტურად იმუშაოს ნებისმიერ გარემოში, მაშინაც კი, როდესაც მეხსიერების მოცულობა შეზღუდულა ან/და ენერგიის წყარო არასაკმარისია აპლიკაციის მოსამარაგებლად. შესაბამისად, C++ არის თითქმის უალტერნატივო არჩევანი სწრაფი, ეფექტური და საიმედო პროგრამული უზრუნველყოფის შესაქმნელად.


C++ გამოიყენება ოპერაციულ სისტემებში, თამაშების დეველოპმენტში, მონაცემთა ბაზებში, ვებ ბრაუზერებში, მანქანურ სწავლებაში, ვირტუალური რეალობის აპლიკაციებში, სამეცნიერო საქმიანობაში, ფინანსებში, სამხედრო საქმეში, გუგლის საძიებო სისტემაში, სამედიცინო ტექნოლოგიებში, ტელეკომუნიკაციებში, კინო პროდუქციაში და სხვა .


ცხადია, C++-ის შესწავლით თქვენი საქმიანობის არეალი ძალიან ფართო იქნება, თუმცა, აქ ერთი ნიუანსია რომელიც უნდა გაითვალისწინოთ. რადგან C++-ის მთავარი მახასიათებელი რესურსების ეფექტურად გამოყენებით მიღწეული სისწრაფე და მოქნილობაა, ნებისმიერ შემთხვევაში ენა იმდენად სიღრმისეულად უნდა შეისწავლოთ, რომ თქვენი დაწერილი კოდი ამ კრიტერიუმებს აკმაყოფილებდეს. სხვა შემთხვევაში, არაეფექტურად დაწერილ C++ კოდს სხვა ენაში დაწერილი კოდი აჯობებს. ეს გაითვალისწინეთ. თუ C++ შესწავლას გადაწყვეტთ, მისი სიღმისეულად შესწავლა მოგიწევთ, რათა მისი ეფექტურად გამოყენება შეძლოთ.

შესავალი: 

  • როგორ მუშაობს კომპიუტერი

  • რა არის Compiler

  • რა არის C++ პროგრამული ენა

  • C++ შესასწავლად საჭირო რესურსები


ლექცია 1: C++ -ის საფუძვლები

  • Hello World

  • კომენტარი

  • კოდის ლამაზად წერა

  • მთავარი ფუნქცია Main

  • სტანდარტული cout

  • სტანდარტული endl

  • შეცდომები

  • საათის კალკულატორი

  • სტანდარტული cin

  • მართკუთხედი ფართობი

  • Double

  • Auto

  • Strings

  • წრის ფართობი

  • მუდმივა Const

  • წინაპროცესორული განმარტებები (# define)

  • პროგრამის მიმდევრობის მართვა

  • if ფუნქცია

  • წრის ფართობი if ფუნქციით

  • არითმეტიკული ოპერატორები

  • ლუწი თუ კენტი

  • მთლიანი შიდა პროდუქტი ერთ სულზე

  • მონაცემთა ტიპები C++-ში

  • პირველადი მონაცემთ ტიპები

ლექცია 2: ლოგიკური წინადადებები

  • IF-ELSE წინადადება

  • IF წინადადება

  • IF-ELSE წინადადება

  • ELSE IF წინადადება

  • ჩადგმული Nested IF წინადადება

  • ოპერატორები

  • ურთიერთმიმართების ოპერატორები

  • ლოგიკური ოპერატორები

  • ოპერატორების რიგითობა

  • სამეულის პირობითი ოპერატორი (?)

  • სამი რიცხვის შედარება

  • სიმაღლე ფუტებსა და ინჩებში

  • კალკულატორი

  • ხმოვანი თუ თანხმოვანი

  • ქულის გამოთვლა

  • განვითარებული და განვითარებადი ქვეყნები

ლექცია 3: განმეორების დებულებები - ლუპები (Loops)

  • While ლუპი

  • Do-while ლუპი

  • ინკრემენტის და დეკრემენტის ოპერატორები

  • For ლუპი

  • For ლუპი ორი ან მეტი პირობით

  • პირველი N რიცხვის ჯამი

  • რიცხვების ჯამი Unsigned Long Long მონაცემთა ტიპით

  • ლუწი რიცხვების ჯამი

  • კვადრატების ჯამი

  • ფიბონაჩის მიმდევრობა

  • ლუწი ფიბონაჩი

  • Jump ბრძანებები

  • break ბრძანება

  • continue ბრძანება

  • goto ბრძანება

  • მარტივი რიცხვები Prime Numbers

  • მარტივი გამყოფები

  • მრავალდონიანი ლუპი

  • *** პირამიდა

  • უმცირესი რიცხვი რომელიც იყოფა 1-დან 20-მდე რიცხვებზე

  • პოლინდრომი

  • დეპოზიტი


ლექცია 4: ფუნქციები

  • მიმატების ფუნქცია

  • პროცენტული ცვლილების დათვლა

  • ხარისხში აყვანა

  • ფუნქციები ტიპის გარეშე. Void-ის გამოყენება

  • Default მნიშვნელობები პარამეტრებში

  • მარტივი რიცხვების ფუნქცია

  • 10001-ე მარტივი რიცხვი

  • 2 მილიონზე ნაკლები მარტივი რიცხვების ჯამი

  • განტოლებები და მათი ამონახსნები

  • კვადრატული განტოლება

  • ნიუტონის აპროქსიმაცია

  • კვადრატული ფესვის Babylonian მეთოდი

  • რეკურსიულობა

  • რეკურსიული ფიბონაჩის ფუნქცია

  • ფულის ღირებულება დროში

ლექცია 5: მასივები

  • მასივების ინიცირება და მასივებზე წვდომა

  • მასივების ინიცირება

  • მასივის მნიშვნელობებზე წვდომა

  • მასივები <array> ბიბლიოთეკა

  • მასივები, როგორც პარამეტრები

  • მრავალგანზომილებიანი მასივები

  • სიმბოლოების მიმდევრობა

  • საშუალო და სტანდარტული გადახრა

  • სტანდარტული გადახრა

  • ოპერაციები მატრიცებით

  • მატრიცის ტრანსპონირება

  • კვადრატული მატრიცების გამრავლება

  • ვექტორები

  • საშუალოს გამოთვლა ვექტორების გამოყენებით

  • მრავალგანზომილებიანი ვექტორები

  • მატრიცები ვექტორებით

  • მონაცემების სორტირება

ლექცია 6: შემთხვევითი რიცხვები და მონტეკარლოს სიმულაცია

  • როგორ გენერირდება ფსევდო-შემთხვევითი რიცხვები

  • აპლიკაციები შემთხვევითი რიცხვების გამოყენებით

  • თამაში რიცხვების გამოცნობაზე

  • კამათელი

  • მონტეკარლოს სიმულაცია

  • პი-ს აპროქსიმაცია

  • ფუნქციის მაქსიმალური მნიშვნელობის პოვნა

  • Random Walk

ლექცია 7: Pointers

  • მისამართი და პოინტერი

  • მისამართის ოპერატორის (&) და გადამისამართების ოპერატორი (*)

  • პოინტერის გამოცხადება

  • პოინტერების გამოყენება

  • null პოინთერები

  • პოინტერის პოინტერი

  • რეფერენს Reference ცვლადი

  • ფუნქციისთვის არგუმენტის გადაცემა

  • Pass-by-Value

  • Pass-by-Reference პოინტერი

  • Pass-by-Reference ზედმეტსახელი

  • Const

  • პოინტერი და მასივი

  • ფოინთერების არითმეტიკა

  • ოპერაციები მასივზე პოინტერებით

  • მასივის გადაცემა ფუნქციისთვის

  • დინამიკური მეხსიერება

  • ოპერატორები new და new []

ლექცია 8: კლასები

  • რა არის კლასი

  • კლასის წევრი ფუნქციები

  • კლასის ბუნებრივი წევრები

  • კონსტრუქტორი

  • კონსტრუქტორის გადატვირთვა (Overload)

  • დესტრუქტორი

  • Copy კონსტრუქტორი

  • Copy მიმნიჭებელი ოპერატორი =

  • კლასის პოინტერი

  • This ბრძანება

  • კლასის Static წევრები

  • კლასის Const წევრი ფუნქციები


ლექცია 9: მეგობრობა, მემკვიდრეობა და პოლიმორფიზმი

  • მეგობრობა

  • მეგობარი ფუნქციები

  • მეგობარი კლასები

  • მემკვიდრეობა (Inheritance) კლასებს შორის

  • მემკვიდრეობის რეჟიმები

  • კონსტრუქტორის გამოყენება მემკვიდრეობის დროს

  • მემკვიდრეობის ტიპები

  • Single inheritance

  • Multiple inheritance

  • Multilevel inheritance

  • Hierarchical inheritance

  • Hybrid (Virtual) inheritance

  • პოლიმორფიზმი

  • Compile time პოლიმორფიზმი

  • Run time პოლიმორფიზმი


ლექცია 10: მომხმერებლის მიერ განსაზღვრული მონაცემთა ტიპები

  • Struct მონაცემთა სტრუქტურები

  • მონაცემების სორტირება სტრუქტურით

  • გაერთიანებები Union

  • ანონიმური გაერთიანებები

  • აღრიცხვის ტიპები (enum)

  • ჩამოთვლილი ტიპები enum კლასით

  • typedef / using

  • ხილვადობა

  • Namespace

  • Using

  • STD სახელების სივრცე

  • კლასები და Namespace

  • უსახელო namespace

  • Storage კლასები

  • შაბლონები

  • ფუნქციის შაბლონები

  • კლასის შაბლონი

  • შაბლონის სპეციალიზაცია

  • Const არგუმენტის გადაცემა შაბლონისთვის

  • სორტირება შაბლონების გამოყენებით

ლექცია 11: მეგობრობა, მემკვიდრეობა და პოლიმორფიზმი

  • მათემატიკური ფუნქცია

  • ფუნქციის ნულების პოვნა ნიუტონის მეთოდის

  • ინტეგრალი შუა წერტილის მეთოდით

  • ინტეგრალი მონტე კარლოს მეთოდით

  • ფასების წინასწარმეტყველება შემთხვევით რიცხვებით

  • მეტაპროგრამირება

სერთიფიკატის ასაღებად

  • უნდა შეასრულოთ დავალებები, რომლებიც ატვირთულია მასალებში.

  • დავალებების შესასრულებლად დროში შეზღუდული არ ხართ.

  • სასერთიფიკატო გამოცდის დასაწერად აუცილებელია ყველა დავალების შესრულება. მას შემდეგ, რაც ყველა დავალებას შეასრულებთ და გამოგზავნით უნდა მოგვწეროთ მეილზე info@oned.ge რომ მზად ხართ სასერთიფიკატო გამოცდის დასაწერათ და ჩავნიშნოთ გამოცდის დრო.

400.00 ₾