![]()
Всяка програма на език за програмиране се изгражда, като се използва определен набор от знакове, наричан азбука на езика. Азбуките на повечето езици за програмиране включват латинските буква, десетични цифри и някои други знакове като ‘+’, ‘/’, ‘:’ и др.
При писането на програми трябва да се спазват определени строги правила. Има два типа правила, определящи съответно начина на записване (синтаксиса) и смисъла (семантиката) на езиковите конструкции.
Синтактичните правила определят кои последователности от знакове на азбуката на съответния език за програмиране са допустими езикови конструкции. Съгласно тези правила едни последователности от знакове са правилни, а други – не.
Семантичните правила определят смисъла на синтактично правилните конструкции, т.е. как те трябва да се разбират от човек и как ще бъдат интерпретирани при изпълнение от компютър.
Елементи на език за програмиране
Служебните думи представляват съвкупност от думи, които са запазени от езика за програмиране и не могат да се използват за имена на променливи и т.н. Примери за служебни думи в Java са import, if, public, case и др.
Чрез знаковете от азбуката на езика за програмиране могат да се записват числа (напр. 3, 12, -7.77), да се дават имена на програмите и на величините (напр. Х, У, price) и да се изграждат по-сложни езикови конструкции като изрази, оператори и т.н.
Имената в езиците за програмиране са последователности от букви и цифри, започващи с буква. Такива последователност се наричат идентификатори. Идентификатори в езика Java са например age, price, age3, a2 и т.н. Не са идентификатори 2age, 1a2.
В програмите се използват и изрази (например 3+Х, age*koef_k, ((А+В/С)/(В-А/С)) и др), в които участват константи, променливи и знаци за операции между тях.
Програмата на език за програмиране представлява конкретен компютърен алгоритъм , а алгоритмите се характеризират с два типа параметри – данни и правила за тяхната обработка. Това определя структурата на програмата. Най-общо програмата се състои от две части – част за описание на данните и част за описание на тяхната обработка.
В първата част се дават сведения за характера на данните (дали са целочислени, реални, логически и т.н.), за техния вид (константи или променливи), за имената им и др. Тези сведения улесняват разбирането на програмата и откриването на допуснати грешки.
Във втората основна част на програмата (класа) се описва обработката на данните с помощта на т. нар. Оператори на езика за програмиране.
Операторът задава определено елементарно действие, например:
У = У + 7; // да се увеличи У със 7, if (age >= 18) {Status = adult}; // ако годините са повече или 18, то на //променлива с име Status присвояваме пълнолетен (adult).
Ако алгоритъмът, който програмата описва, е по-сложен и е представен с използване на подалгоритми, то подалгоритмите се оформят като подпрограми, чиято структура наподобява тази на програмите.
С цел програмите (класовете) да са разбираеми за хората, в техния текст могат да се вмъкват, по определени правила, т.нар. коментари, които съдържат обяснения за човека и които не се взимат предвид от транслатора.
Например // пояснение за програмисти e коментар на езика Java. Когато сме поставили знака //, то всичко, което сме написали след него, но само до края на реда, се игнорира от транслатора.
Методи за описание на синтаксиса и семантиката
Семантиката на конструкциите в езиците за програмиране се описва точно доста трудно и обикновено се определя с изречения на естествен език.
За описване на синтактичните правила са намерени прости способи и средства.
За описание на синтаксиса на езика Java в следващите уроци ще се изполва нагледен метод, като въвеждаме следното условие: всеки израз, заграден в прави скоби [ ] е незадължителен, а определението на всеки израз, заграден в <> е дадено другаде.
Пр. 1 Нагледен метода за определяне на:
а) цифра; б) цяло без знак.
0, 1, 2, 3, 4, 5, 6, 7, 8, 9. цифра[цифра[цифра[…]]]
Където пример 1а определя понятието цифра. Показали сме, че цифра, това е всеки един елемент от изброеното множество.Т.е., че цифра е всеки един от знаците 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Пример 1б определя понятието “цяло число без знак”, като ползва определението за “цифра”. Т.е. посочва, че цяло без знак може да бъде и само една цифра или много цифри наредени една до друга. С други думи цялото число без знак е последователност от една или повече цифри.
Пр. 2 Нагледен метода за определяне на:
а) знак : б) цяло число:
+, - [<знак>] <цяло без знак>
2а определя <знак> като един от двата знака: или + или – . Всяко <цяло число> от 2б се образува от <цяло без знак>, пред което има или няма <знак>. В този случай квадратните скоби са използвани за да се изрази възможността за пропускане на част от конструкцията.
Структура на клас (програма) в езика Java
Основните елементи на езика Java, както и структурата на класа на Java съответстват изцяло на разгледаните по-горе общи принципи. Както се вижда от следващото описание, основна част на класа е блока (тялото), който се предшества от име (заглавие) на класа. Имената (идентификаторите) на всички програмни елементи се образуват по правилата за конструиране на идентификатори в езика.
class идентификатор { блок; }
Блокът, от своя страна, съдържа имена на променливи и констранти, задават се начални стойности, описват се оператори и методи, като винаги трябва да включва в себе си главен метод (мейн /main/ метод).
За да си изясните по-пълно синтактичните правила на Java, свързани с подреждането на основните елементи на класовете, проучете внимателно следващия пример.
Пр. 3. Структура и основни елементи на програма на Java
import java.io.*;//указва, //че ще използваме библиотека io class ex_22 {//създаваме нов клас с име ex_22 int x=23; int y=45; void change_x_y () { //процедура за смяна на променливите int buf = x; x = y;y = buf;// буферна променлива } public static void main(String[] args) {// главна прогр. ex_22 newex_22=new ex_22(); System.out.println(" Въведена стойност за х:"+newex_22.x+"стойност заy:"+newex_22.y ); newex_22.change_x_y ();//използва подпрограма System.out.println( "След размяната х е: " + newex_22.x + ", а у е:"+newex_22.y ); } }
Popularity: 1% [?]
No related posts.
Related posts brought to you by Yet Another Related Posts Plugin.
RSS Feed
Twitter

януари 26th, 2010
admin
Posted in 
