Слайд 1
Въведение
Слайд 2
Представлява поредица от команди, които се изписват на предварително избран език за програмиране, например C++, Java, JavaScript, Python, C# или друг.
Основни понятия - Компютърна програма
Слайд 3
Неформално определение:
Алгоритъмът в най-общ смисъл представлява последователност от действия, необходими за решаване на дадена задача.
Компютърен алгоритъм
Всяка точно и еднозначно определена крайна последователност от правила и инструкции за действия над определени входни данни, която води до получаване на резултат (реализира зададена функционална зависимост между данните и резултатите).
Описание на алгоритмите:
Словесно
Графично
С помощта на езици за програмиране
Основни понятия - Алгоритъм
Слайд 4
Предназначен за задаване на команди, които искаме компютъра да прочете, обработи и изпълни. Чрез езиците за програмиране пишем програми (поредици от команди), които задават какво да прави компютъра.
Основни понятия - Език за програмиране
Слайд 5
Съвкупност от традиционни инструменти за разработване на софтуерни приложения. Те интегрират в себе си: текстов редактор за писане на кода, език за програмиране, компилатор или интерпретатор, среда за изпълнение на програмите, дебъгер за проследяване на програмата и търсене на грешки, инструменти за дизайн на потребителски интерфейс и други инструменти и добавки.
За програмиране на езика C++: Visual Studio, Code::Blocks, Dev C++ и др.
Основни понятия – Среда за програмиране (Integrated Development Environment - IDE, интегрирана среда за разработка)
Слайд 6
Машинни езици
Предимства:
Те се разбират и изпълняват директно от компютъра.
Програмите заемат по-малко място в паметта и работят по-бързо
Използват се за разработка на операционни системи, драйвери за устройства и други задачи, които изискват прецизен контрол върху хардуера.
Недостатъци
Специфични са за дадена архитектура на компютъра
Машинният код обикновено е състои от множество низове от битове (0 и 1), които представляват различни операции и операнди.
Програмирането на машинен език е много трудно и тежко разбираемо за хората
Езици за програмиране – езици от ниско ниво
Слайд 7
Асемблерни езици
Предимства
инструкциите са написани със символи, които са по-лесни за четене и разбиране от човек в сравнение с бинарния машинен код.
програмите на асемблерен език се компилират (асемблират) в машинен код, който след това може да бъде изпълнен от компютъра.
използват се обикновено в области, където е необходимо по-голям контрол върху хардуера (при разработката на операционни системи, драйвери за устройства и др.)
Недостатъци:
асемблерният език е специфичен за дадената компютърна архитектура.
Езици за програмиране – езици от ниско ниво
Слайд 8
Предимства:
Имат синтаксис, подобен на английския език и затова лесно се разбират от хората
Не са специфични за дадена компютърна архитектура, а създаденият програмен код е преносим към други платформи
Недостатъци:
Тези езици не взаимодействат директно с хардуера.
Използват компилатор или интерпретатор, за да преобразува програмата в машинен код.
Езици за програмиране- езици от високо ниво
Слайд 9
позволяват използването, както на данни и инструкции, приближаващи ги до езиците от високо ниво, така и на такива, които са близки до асемблерните.
Езици за програмиране- езици от средно ниво
Слайд 10
Превеждат програма с изходен код (source code) от високо ниво, в програма на машинен код. При езиците, които използват компилатори, компилирането на програмата се извършва задължително преди нейното изпълнение и по време на компилация се откриват синтактичните грешки (грешно зададени команди). С компилатор работят езици като C++, C#, Java, и т.н.
Основни понятия - Компилатори
Слайд 11
Тестват, транслират и изпълняват всяка инструкция (ред) от програмата стъпка по стъпка. Ако по време на тестването се открият грешки съответната инструкция не се транслира, а на екрана се извежда съобщение за грешка. След корекция на грешката транслирането може да продължи.
Пример:Python, JavaScript, Perl, PHP
Основни понятия - Интерпретатори
Слайд 12
Обектно-ориентиран програмен език от средно ниво- притежава мощен набор от инструменти за работа както на ниско, така и на високо ниво
Създаден от Бярне Строуструп през 1979 г.
Оказва значително влияние върху много други популярни езици за програмиране, най-вече C# и Java
Съвместимост между различните операционни системи -независимо на каква платформа сте създали дадено приложение, то може да се стартира на всяка друга
Най-използвания език за системно програмиране (разработване на софтуер на ниско ниво, който взаимодейства директно с компютърния хардуер и системния софтуер)
Богата библиотека
Език за програмиране C++
Слайд 13
Всяка програма се състои от програмни единици, наречени функции, като винаги трябва да присъства една (и само една функция), която се дефинира като главна (main) функция.
Общ вид на програма на C++:
Описание на заглавни (header) файлове
Главна (main) функция
Функция1
Функция2
………….
Структура на програма на C++
Слайд 14
#include <iostream> // включва заглавен файл
using namespace std;
int main () // главна функция
{ // начало на главния блок от оператори
cout << " This is a program.\n ";/* извеждане на низ */
return 0;
} // край на главния блок
Пример
Слайд 15
Чрез главната функция програмата осъществява връзка с операционната система на компютъра и с другите функции в програмата. Останалите (незадължителни) функции може да бъдат неограничен брой. При работа на програмата е възможно предаване на информация между функциите.
Освен функциите дефинирани от самия програмист, може да се използват и стандартни функции, които са дефинирани в някой от заглавните файлове, които играят ролята на библиотечни модули. Когато се използва функция от дадена библиотека в една програма, трябва да се включи заглавния файл на библиотеката. Това се прави с помощта на директивата #include:
#include <име на файла>
Структура на програма на C++
Слайд 16
В С++ конструкциите за въвеждане и извеждане са:
cin >> израз за въвеждане
cout << израз за извеждане
Те работят с т.нар. потоци, които спадат към класовете. Удобството е, че тези оператори сами преценяват какъв тип форматиране да се използва. За да се използват в програмите трябва да се включи:
#include <iostream>
using namespace std;
Оператори за вход/изход (I / O) в С++
Слайд 17
Първият ред от програмата предизвиква прочитането на файла iostream от страна на компилатора и неговото включване в програмата. Този файл съдържа информация, касаеща cout.
Третият ред поставя началото на функцията main (). Както беше споменато, всички програми на С++ трябва да имат функция main (). Това е мястото, откъдето започва изпълнението на програмата. Int определя, че main () връща целочислена стойност.
Чрез реда return 0;
main() връща стойност 0. В този случай тази стойност се връща на извикващия процес (обикновено операционната система). Стойност 0, връщана от main (), показва, че програмата е завършила своето изпълнение нормално. Всяка друга стойност е сигнал за грешка.
Съставяне на прости програми
Слайд 18
Коментарите са текстове в една програма, които не се обработват от компилатора. Те са само пояснителни бележки към програмата. С++предлага два начина за означаване на коментари:
Текст, разположен между /* и */ е коментар. Този начин е удобен, когато коментарът обхваща няколко реда.
Текст, разположен от знака две наклонени черти (//) до края на ред също е коментар.
Коментари
Слайд 19
1.Текстът на програмата (source code) се въвежда чрез текстов редактор и се записва като .cpp файл. 2
2.Извършва се предварителна обработка от препроцесора (preprocessor). Това е програма, която се стартира автоматично преди процеса на компилиране и извършва определени замествания в кода чрез препроцесорни директиви. Препроцесорните директиви винаги започват с ‘#’. Те обикновено се намират в началото на файла. Например директивата #include <iostream> се заменя от препроцесора със съдържанието на указания файл.
Компилиране и стартиране на програма на С++
.obj или .o
3. Програмата се транслира се с помощта на компилатора (compiler) в обектен файл (object code).
4. Обектният файл се свързва във фазата свързване (linking) със системните библиотечни програми (system library programs) от които се нуждае.
5. Получава изпълним файл (executable code).
Слайд 20
Синтаксис на езика С++. Основни типове данни
Слайд 21
Синтаксисът на езиците за програмиране включва три елемента:
Азбука;
Лексика;
Граматика.
Азбуката на езика е множеството от допустимите символи (знаци).
От азбуката на езика по определени правила (лексически правила) се формират думите на езика, които се наричат лексеми.
От лексемите, съгласно правилата на граматиката, се образуват изреченията на езика. Те завършват със знака точка и запетая !!!
Синтаксис на език за програмиране
Слайд 22
Азбуката на езика е множеството от допустимите символи (знаци).
Азбуката на езика включва:
главните и малките букви на латинската азбука;
цифрите 0..9;
специалните символи
+ - * / = ( ) [ ] { } | : ; “ ‘ < > , . _ ! @ # $ % ^ ~
интервал
всички управляващи символи- напр. нов ред, табулация
Азбука на C++
Слайд 23
От азбуката на езика по определени правила се образуват думите на езика, които се наричат лексеми.
Лексемите в С++ са няколко вида:
- ключови (резервирани, служебни) думи;
- имена (идентификатори);
- константи (числeни, символни, низови);
- оператори;
- препинателни знаци (разделители).
Лексика на езика
Слайд 24
Чрез ключовите думи се означават различни оператори, модификатори, декларации и др.
Те са запазени думи в езика, т.е. не могат да се ползват в програмите с друго предназначение.
Ключовите думи на езика С++ са определени от стандарта ANSI, но конкретните компилатори поддържат и ключови думи, които са извън този стандарт.
Ключови думи
Слайд 26
Това са имена, чрез които се означават константи, типове, променливи, функции, обекти и др.
Те могат да съдържат букви от латиницата (малки и големи), цифри (от 0 до 9) и символа за долна черта (_), като първия символ не трябва да бъде цифра.
Забележка:
С++ прави разлика между малки и големи букви.
Не се допуска съвпадение на имената на идентификаторите с тези на ключовите думи.
Имена (идентификатори)
Слайд 28
В С++ има три основни групи оператори:
- аритметични;
- логически;
- управляващи.
Всеки оператор завършва с точка и запетая (;). Това позволява няколко оператора да се поставят на един ред (не се препоръчва поради по-лоша четливост на програмата!).
Оператори
Слайд 29
Това са символи или групи символи, които служат за отделяне на лексемите на езика. За тази цел се използват шпации (интервали), вертикална и хоризонтална табулация и символа за нов ред.
Разделители
Слайд 30
Константите са данни, чиито стойности не могат да се променят по време на изпълнение на програмите.
Биват:
числени (последователност от цифри);
символни (един символ);
низови (последователност от символи).
КОНСТАНТИ
0 коментара
За да коментирате, трябва да сте влезли в профила си.
Влезте