Програмування: огляд основних понять
1.1. Процес, алгоритм, мова
З проблемами, або задачами, нам доводиться мати справу кожен день. Для нас вони мають вигляд вимог, наприклад , "Розв'язати квадратне рівняння", або запитань "Скільки буде 2 помножити на 2?". Для того, щоб задачу розв'язати, треба попрацювати, тобто виконати якісь відповідні дії. Причому ці дії виконуються в певній послідовності. Послідовність дій ми будемо називати процесом. Процес перерахування краплин почнеться поїздкою до моря, а розв'язування квадратного рівняння – з обчислення дискримінанта.
Розв'язувати квадратні рівняння ми навчилися за підручником з алгебри. У ньому написано, що саме і в якому порядку треба зробити, щоб розв'язати рівняння. Тобто в ньому є описання дій. І це описання дій, які треба виконати для розв'язання задачі, називається алгоритмом. Створення алгоритму і є програмуванням. Людина
програмує, тобто записує алгоритм, як правило, для того, щоб не згадувати наступного разу, які саме дії треба зробити, або щоб ці дії виконував хтось інший.
З алгоритмами ми маємо справу постійно. І рецепти приготування страв, і нотні записи музичних творів, і опис того, як обчислити корені квадратного рівняння за його коефіцієнтами, – усе це алгоритми. Тих, хто створює алгоритми, називають програмістами, а тих, хто виконує дії – виконавцями. У широкому розумінні
програмістами можна вважати і композитора, і автора рецептів приготування страв із бульйонними кубиками.
Відповідно музиканти, що грають по нотах, і господарки, що готують за рецептом, – виконавці.
Не знаючи нотної грамоти, не зіграти по нотах; не розбираючись у назвах продуктів і кухонного посуду, не приготувати страви. Отже, алгоритми завжди записуються так, щоб виконавці їх розуміли і могли виконати. Це значить, що є правила запису алгоритмів, і ці правила повинні знати як програміст, так і виконавець. Взагалі, система запису, призначена для передачі якогось змісту, називається мовою. Людство придумало багато
різноманітних мов, у тому числі й мов запису алгоритмів.
Отже, алгоритм є записом, створеним за правилами деякої мови, тобто є виразом у цій мові.
Ми будемо записувати алгоритми, призначені для виконання їх не людиною, а комп'ютером. Їх ми будемо називати програмами. Хоча і існують такі речі, як програми проведення великих свят, навчальні програми тощо.
Для запису програм ми будемо користуватися мовою, що називається Паскаль на честь великого французького натураліста й математика. Цю мову створив на початку 70-х років видатний швейцарський вчений і педагог Ніклаус Вірт спеціально для навчання початкам програмування.
1.2. Комп'ютери та програми
Розглянемо комп'ютер, або обчислювальну машину у найзагальнішому вигляді .Він "уміє" робити тільки одне – виконувати програми. Програма складається з команд, якими задається обробка значень (числовихі не тільки). Програма й значення знаходяться в оперативній пам'яті. Центральний процесор, або операційний пристрій, "читає" команди програми й значення з пам'яті та виконує команди. По цих командах він обробляє значення в пам'яті, породжує нові значення й "записує" їх у пам'ять.
Дії процесора схожі на те, що робить учень біля класної дошки: він читає завдання, записані там учителем (команди програми), виконує їх і записує результати на цій же дошці (значення в пам'яті). Як і на дошці, у пам'яті комп'ютера можна записувати нові значення на місце старих, "стираючи" їх при цьому.
У процесора є своя власна пам'ять для збереження та обробки значень. Вона утворена спеціальними елементами, регістрами, і називається регістровою. Значення в регістрах обробляються набагато швидше, ніж в оперативній пам'яті, тому перед обробкою значення, як правило, читаються з пам'яті в регістри.