Програмна среда С


Категория на документа: Информатика


Глава 0: Начало
При самостоятелно запознаване с езика С++ естествено възникват два въпроса:
1. Какво представлява една С++ програма? Как се пише?
2. Веднъж написана, как може да бъде изпълнена?
Тази глава описва основните знания и действия, необходими за получаването на изпълнима програма от изходен код на С++.
0.1. Решаване на проблеми
Програмите най-често се пишат в отговор на проблеми или задачи, които трябва да бъдат решени. Нека да разгледаме един пример. Магазин за книги въвежда във файл заглавието и издателя на всяка книга, която продава. Информацията се въвежда по реда на продаваните книги. Всеки две седмици собственикът на ръка изчислява броя на екземплярите на всички продадени книги, както и бройките, отнасящи се до различните издатели. Списъкът се подрежда в азбучен ред и се използува за реорганизация. Вие сте помолени да предложите програма за тази работа.
Един от методите за решаване на голям проблем е раздробяването му на няколко малки проблема. За щастие, тези малки проблеми са по-лесни за решаване. Проблемът на книжарницата се разделя на четири подпроблема или задачи:
1. Четене от файла за продажби.
2. Преброяване на продажбите по заглавие и издател.
3. Продреждане по заглавие и издател.
4. Записване на изходните резултати.
Точки 1, 3 и 4 представят проблеми, които знаем как да решим; те не се нуждаят от допълнително разпадане. Точка 2, обаче, представя проблем, който не може да бъде решен директно. Затова прилагаме своя метод към нея:
2а. Подреждаме продадените книги по издатели.
2б. За всеки издател подреждаме продажбите по заглавие.
2в. Сравняват се съседните заглавия във всяка издателска група. За всяка съответствуваща двойка, се увеличава броят на появите на първият елемент на двойката и се изтрива вторият.
Точки 2а, 2б и 2в също вече представят проблеми, които знаем как да решим. Тъй като вече сме в състояние да решим всички подпроблеми, които бяхме формулирали, то фактически сме решили и по-големия проблем. Последователността от действия ще бъде:
1. Четене от файла продажби.
2. Подреждане на файла продажби - първо по издател, а после в групите на издателите.
3. Сгъстяване на повтарящите се заглавия.
4. Записване на резултатите в нов файл.
Описаната последователност от действия може да бъде на-речена алгоритъм. Следващата стъпка е описване на алгоритъма в термините на някой програмен език - в този случай на С++.
0.2. С++ програма
В С++ всяко действие се представя чрез израз. Израз, ограничен с “;” представлява оператор. Най-малката независи-ма единица в езика е оператора. В естествените езици аналогичната конструк ция е изречение. Следващите изрази, напри-мер, са оператори на С++.
int value;
value = 7 + 1;
cout << value;
Първият оператор е един декларативен оператор. Той дефинира област от паметта на компютъра, свързана с името value, където могат да се записват цели числа. Вторият оператор е оператор за п 0исвояване. Той помества в паметта на компютъра, свързана с името value, резултата от събирането на 7 и 1. Третият оператор е оператор за изход. Сout описва изход, насочен към потребителския терминал. << е оператор за изход. Операторът записва в cout, т.е . на потребителския терминал, стойността, съхранена в областта от компютърната памет, свързана с името value.
Операторите логически се групират в единици, наречени функции. Например, всички оператори, необходими за четене от файла продажби,са организирани във функция, наречена readIn().
Съответно, с ъздаваме и функциите sort(), compact() и print().
В С++ всяка програма трябва да съдържа функция, нарече-на main(), написана от програмиста, преди да може да бъде изпълнена. Следва пример за дефиниране на main() за гореописания алгоритъм.
int main()

{
readIn();
sort();
compact();
print();
return 0;

}
Програмата на С++ започва да се изпълнява от първия оператор на main(). В този случай, програмата започва с изпълнението на функцията readIn(). Изпълнението й продължава чрез последователното (зпълнение на операторите в main(). Тя приключва нормално с изпълнението на последния оператор на main().
Всяка функция се състои от четири части: тип на резултата, име на функцията, списък от аргументи и тяло. Първите три елемента заедно образуват прототипа на функцията. Списъкът от аргументи, затворен в скоби, съдържа списък от нула или повече аргументи, отделени със запетая. Тялото на функцията е затворено в скоби от вида “{ }”. То съдържа последователност от програмни оператори.
В този пример, в тялото на main() се извикват заизпълнение функциите readIn(), sort(), compact() и print(). Когато тези функци приключат работа, се изпълнява операторът return 0. Това е един предварително дефиниран оператор на С++, предоставящ метод за прекратяване на изпълнението на функция. Когато операторът е съпътствуван от стойност, 0 например, тази стойност става стойност, която функцията връща. В този случай, връщаната стойност 0 показва успешното приключване на изпълнението на main().
Нека сега да подготвим програмата за изпълнение. Първо трябва да предложим дефиниции за readIn(), sort(), compact() и print(). В този момент следните фиктивни примери са достатъчно добри.
void readIn() { cout << “readIn()n”; }
void sort() { cout << “sort()n”; }
void compact() { cout << “compact()n”; }
void print() { cout << “print()n”; }
viod се използува за да укаже, че функцията не връща стойност. Както е дефинирано, всяка функция просто ще съобщи за своето съществуване чрез написване на съответния текст върху терминала на потребителя, когато бъде извикана от main(). По-късно бихме могли да заменим фиктивния пример със самото тяло, когато то бъде реализирано. Този метод на последователно увеличаване на кода на програмата е полезен за контролиране на програмните грешки, които неминуемо допускаме. Да се опитваме да направим работеща програма отведнъж е просто много сложно и объркващо.
Всеки файл, съдържащ текст на програма се състои от две части - име на файл и разширение. Разширението често определя съдържанието на файла. Това разширение ще се променя при различните реализации на С++. При операционната система UNIX, името на С++ файла може да бъде завършено както със “.с”, така и със “.С”. Употребата на малка буква “.с” показва съществуващата връзка между програмните езици С++ и С. (Всички файлове, съдържащи програми на С трябва да завършват със “.с”). За да бъде различаван С++ програмен файл, използувайте разширение “.С”. (ў)



Сподели линка с приятел:





Яндекс.Метрика
Програмна среда С 9 out of 10 based on 2 ratings. 2 user reviews.