ОСНОВИ НА ПРОГРАМИРАНЕТО
Кирил Иларионов
k.ilarionov at gmail.com
ПРОГРАМИРАНЕ (I)
- Програмирането е набор от методи,
чрез които компютъра разбира
какво трябва да направи.
- Чрез тези методи се съставя програма, която се изпълнява от компютъра.
- Програмата:
-
получава входни данни / сигнали;
-
извежда резултат/и (изходни данни / сигнали).
ПРОГРАМИРАНЕ (II)
- Изходните данни са резултат,
получен след обработка на входните данни,
съгласно предварително зададен набор от правила.
- Наборът от правила чрез които получаваме резултат след краен брой стъпки (базови обработки) се нарича АЛГОРИТЪМ.
- Данните се:
- съхраняват в паметта на компютъра;
- подреждат (групират, структурират),
с цел по-ефективната им обработка, в т.ч. и от човека.
ПРОГРАМИ (I)
"ПРОГРАМИ = АЛГОРИТМИ + СТРУКТУРИ ОТ ДАННИ" Niklaus Wirth
- В програмата се
- въвежда информация (данни, сигнали),
- която се обработва и/или съхранява в компютъра,
- след което се извежда рeзултатът получен след краен брой базови обработки (стъпки).
ПРОГРАМИ (II)
ОСНОВНИ ИНФОРМАЦИОННИ ДЕЙНОСТИ
- Така всяка програма реализира четирите основни информационни дейности:
- въвеждане,
- съхранение,
- обработка и
- разпространение на информация.
ПРОГРАМИ (III)
АЛГОРИТМИ:
- Алгоритъмът се задава чрез поредица от инструкции;
- На ниво език за програмиране тези инструкции се наричат оператори;
- Операторите се разделят с ; в изходни кодове на Java, C, C++, Perl, ...;
- Всеки алгоритъм може да се зададе като поредица от базови алгоритмични конструкции.
ПРОГРАМИ (IV)
СТРУКТУРИ ОТ ДАННИ:
- примитивни типове данни - по подразбиране езикът структурира данните във вид удобен за ползване от хората;
- типове данни дефинирани от потребителя - програмистът може да структурира данните по начин подходящ за конкретното приложение.
ПРОГРАМИ (V)
УВОД В ПРОГРАМИРАНЕТО
При един увод в програмирането нормално е акцентът да е върху:
- операторите чрез които се реализират тези базови алгоритмични конструкции;
- използването на примитивните типове данни.
Езикът за програмиране:
ОСНОВЕН ИНСТРУМЕНТ (I)
- Eзикът за програмиране не е естествен език
нито за компютъра, нито за програмиста.
- Програмистът изучава езика за програмиране, в т.ч. като
пише програми на изучавания език за програмиране.
- Така създадения от програмиста код е известен като изходен (първичен) код, source code.
Езикът за програмиране като
ОСНОВЕН ИНСТРУМЕНТ (II)
- Изходният код (source) е поредица от оператори и се съхранява в текстов файл с подходящо разширение.
- Транслаторът преобразува подготвения от програмиста
изходен код в код на друг език, най-често машинен език.
ТРАНСЛАЦИЯ
При
транслацията изходния код на програмата се превежда до вид понятен за изпълнение от компютъра.
Този превод се извършва от специализирана програма, наречена
транслатор.
В зависимост от начина по които се извършва горния превод
ТРАНСЛАТОРИТЕ биват:
ИНТЕРПРЕТАТОРИ или КОМПИЛАТОРИ.
ИНТЕРПРЕТАТОР - Механизъм
- прочита се един оператор;
- операторът се превежда в машинен код;
- изпълнява се;
- прочита се следващия оператор от изходния код на програмата ...
ИНТЕРПРЕТАТОР - Особености
Интерпретаторът извършват СИМУЛТАНТЕН превод.
За да се изпълни програмата, необходимо е тя да се транслира всеки път.
При интерпретаторите транслацията е МНОГОКРАТНА.
КОМПИЛАТОР - Механизъм
- прочитат се всички оператори от файловете съдържащи изходния код на програмата Ви;
- извършва се транслация в друг код: машинен код и/или изходен код на друг език;
- компилираната програма се изпълнява, ако в изходния код не са открити сериозни грешки.
КОМПИЛАТОР - Особености
Компилаторът транслира целия изходен код в машинен такъв най-често.
След успешна транслация файлът с машиния код се запомня и може да се стартира.
За да се изпълни програмата, необходимо е тя да се компилира само един път.
При еднократна компилация е възможно многократно изпълнение.
Компилираните програми се изпълняват по-бързо.
КОМПИЛАЦИЯ
Последователни Стъпки - ЕТАПИ:
- Еdit - редактиране изходния код;
- Preprocess and Compile - предпроцесорна обработка и компилация;
- Link - свързване;
- Load and Execution - зареждане и изпълнение.
1. Еdit - редактиране изходния код на програмата.
Изходният код на програмата се въвежда, променя и се съхранява в текстов файл със съответен тип:
- myProg.c e изходен код на езика C;
- myProg.cpp e изходен код на езика C++;
- myProg
.txt не е нормално да сe обработва от транслаторите;
- myProg.java е изходен код на езика Java;
- myProg.pl е изходен код на езика Perl;
- myProg.pas е изходен код на езика Pascal ...
2. Preprocess and Compile - предпроцесорна обработка и компилация.
Изходният код на програмата се преобразува в поредица от машинни инструкции,
наречена
обектен код на две последователни стъпки,
предпроцесорна обработка и компилация:
- в резултат от изпълението на предпроцесорните директиви изходният код се допълва с нови текстове;
- така модифицирация изходен код се преобразува в поредица от 0 и 1,
т.e. в поредица от машинни инструкции.
3. Link - свързване.
- Изходният код може да бъде разделен в относително самостоятелни програмни единици(функции, класове, ...),
като всяка от тези единици е запомнена в отделен файл;
- Всеки от тези файлове може да се транслира самостоятелно до ниво обектен код;
- Е сега всички обектни кодове се обединяват в единствена поредица от машини инструкции,
като се създава изпълним файл, годен за стартиране на програмата ни.
4. Load and Execution - зареждане и изпълнение на файла, в резултат на стъпката Link.
ИНТЕГРИРАНА СРЕДА ЗА РАЗРАБОТКА - IDE
Integrated Development Environment, IDE, e приложна програма, чийто потребителски интерфейс обединява изпълнението на всички етапи на транслация.
Тези етапи, без редактирането на изходния код, се изпълняват автоматично от използваното IDE.
Да започнем да програмираме
За да се научим да програмираме с базовите алгоритмични конструкции
приложени над примитивните типове данни трябва да изберем и подходящ език за програмиране: