Перший урок

 

 Чи то дядько Микола голосно розповідав тітці Люді про те, що Барсик теж зацікавився комп’ю­тером і Маркіз йому щось там показував, і якийсь горобець (з тих, які вовтузилися і лементували на вишнях чи сливах, що ростуть вздовж межі) щось почув, чи то курка завітала в хату (таке час­то трапляється, коли друзі зайняті собою і ком­п’ютером), але на другий день уся навколишня пташина спільнота навперебій обговорювала вчо­рашню подію: «Маркіз вчив Барсика комп’ютера».

  • Що за дурня? Зачем воно йому нада, — з презирством каркала старезна Ворона, яка для «вагомості» й авторитету своїх накаркань мала звичку вживити російські слова, — що йому не хватає? Наївся — грайся, не хочеш гратися —• по­спи, і день минув.

Та найбільше лементувала квочка:

  • Це що ж, моїх таких малесеньких, таких ніжних, таких пухнастеньких курчаточок буде якийсь кіт-мурмило вчити? А чим же їм допомо­жу? Я як була такою, нас такого не вчили. Хто це придумав? Навіщо курці комп’ютер? Куд-куди господарі дивляться?
  • Прогрес не зупинити, — насмішкувато продеркотів зі старого горіха дятел, що викликало нову хвилю лементу, аж дядько Микола вибіг на­двір, подивитися, що ж то сталося.

   Барсик, який усю ніч зважував усі «за» і «про­ти» своїх бажань і занять, вирішив не здаватися.

    Нарешті прийшов Маркіз, і лемент вщух. Поза плечі, поза вуха ми активно обговорюємо, засу­джуємо, сміливо робимо висновки, особливо коли предмет обговорення нам мало відомий або зовсім невідомий, а ось в очі, відкрито заявити чогось не вистачає чи сміливості, чи нахабства... Чого саме? А може, то ми не остаточно впевнені у своїй пра­воті? А може, боїмося чогось, когось?...

Барсик одразу ж, як тільки його побачив, по­тяг друга до купи піску і показав свою роботу. Маркіз лагідним угуканням виявляв своє задо­волення, що його вчорашні старання не пропа­ли марно. «З Барсика вийде здібний учень», —

муркотів собі під ніс Кіт. Задоволення Маркіза передалося Барсикові гордістю за себе, що у свою чергу викликало нестримне бажання щось роби­ти, щось вчити, далі і більше.

  • А сьогодні будемо говорити про Паскаль- програму та її структуру, — врешті-решт прогово­рив Кіт, — ти вчора вже бачив найпростішу про­граму.

Маркіз знову стебелинкою, але вже на піску, на­писав відому вам програму і продовжив повчання:

  • Паскаль-програма складається з таких обов’язкових частин: заголовка — перший рядок тексту програми, блоку описів та блоку операто­рів (команд), що складають власне програму.
  • Я зрозумів, — вихопився Барсик, — синє слово «Програма» — заголовок програми, про­грамний блок — усе те, що записано між словами «початок» і «кінець», до речі, вони теж сині, а де ж блок описів?
  • Зрозумів, та не все точно пригадав, — по­вчав Маркіз. — Заголовок програми — це не тіль­ки обов’язкове службове слово «Програма», а й те слово, що записане чорними літерами, яке нази­вають власним іменем. Службове слово «програ­ма» для всіх програм одне, ним починається кож­на програма, а імена програм різні, унікальні для кожної.
  • Зрозумів, зрозумів, — перебив його Барсик і почав перераховувати всіх знайомих йому ко­тів, — це як кіт Маркіз, кіт Мурчиш, кіт Пушок, є і кіт Барсик... Тут першим йде «службове слово» «Кіт», а наступне — власне ім’я. Так?
  • Майже так, — підтримав його Маркіз, але все-таки знайшов що зауважити, — тільки всі службові слова ми вчора домовилися писати якою мовою? І ще домовилися пам’ятати їх українські відповідники, тобто переклад. Правда? А тепер розповідай, що ти вивчив сьогодні.
  • Текст програми розпочинається із заголо­вка, заголовок містить, в порядку написання, службове слово «Program» і власне ім’я програ­ми. Після заголовка йдуть блок описів і сама про­грама. Так?
  • Так, — відповів Маркіз. — А як ти напи­шеш англійською слова «початок» і «кінець»?
  • «Begin» — початок, «End» — кінець, а що тут такого? —- гордовито перепитав Барсик.
  • Якщо це кінець програми, то обов’язково в кінці слова End треба ставити крапку, — уточнив Маркіз. — Кінець і крапка, а між цими словами пишуть команди, які і складають власне програ­му. Яку команду ти вже знаєш і що вона означає?
  • Команда «write» означає «вивести», — ба­дьоро відповів Барсик.
  • Слово «write» шкільним словником пере­кладається «писати», а «вивести» комп’ютер ро­зуміє як «писати па екрані», — уточнив Маркіз.
  • То що ж все-таки з блоком описів? — знову згадав Барсик.
  • Поки наші господарі не пішли на город, — розпочав Маркіз, — поговоримо про типи змінних, тоді ти зрозумієш, що таке блок описів і навіщо він у програмі. Ось ти вмієш рахувати, додавати і віднімати числа. І комп’ютер уміє все це роби­ти, тільки потрібно дати йому команду на вико­нання. А щоб він знав, що і як робити — потрібна програма. Як ти, наприклад, порахуєш, скільки курчат зараз біля квочки? Ти будеш рахувати їх не по одному, а групками, як зараз, дивись: двоє, троє, ще двоє, одне і ще четверо збоку. Що тепер треба зробити?
  • Треба додати числа 2 + 3 + 2 + 1+ 4, буде 12, я й так знаю, скільки у нас курчат, — якось не­впевнено почав Барсик. — А до чого тут комп’ютер?

Маркіз, не зважаючи на ос.таннє запитання, продовжував:

  • Як ти розумієш, люди придумали і створили комп’ютер для того, щоб полегшити процес обчис­лень. Спочатку комп’ютери навіть називали елек­тронними обчислювальними машинами, а вже пізніше, коли зросли їх потужності, розширили­ся і можливості використання. З’явилися різно­манітні прикладні програми, які були об’єднані в інтегровані пакети програм. Тепер від користу­вача не вимагається спеціальних знань з програ­мування та комп’ютерної інженерії, але в деяких випадках інтегровані програми не задовольняють користувача. Ось тоді доводиться складати спеці­альну програму.Повернемося до нашого прикла­ду з курчатами. Якщо подивитися зараз на розмі­щення курчат навколо квочки, то кількість груп змінилася і кількість курчат у кожній групі змі­нилася. Отже, число доданків у цій задачі є вели­чина не стала, тобто змінна. Так само і значення кожного доданка — величина змінна, а ось кіль­кість. курчат на сьогоднішній день — величина стала. Таким чином, ми постійно маємо справу зі сталими і змінними величинами. Сталими (по­стійними) є кількість лап і вух, а ось кількість мух, що сидять на тобі, -— величина змінна, — пожартував Маркіз. — Тепер ти наведи якийсь приклад сталих і змінних величин, а я з’ясую, як ти мене зрозумів.

Ну що, наприклад, — непевно розпочав Барсик, але тут його осяяло, — кількість вікон у нашій хаті — величина стала, а кількість гороб­ців на'вишні — змінна.

  • Поки що непогано, — зауважив Маркіз і продовжив: — змінні величини люди познача­ють буквами, а запис, що містить букви і числа та знаки математичних дій над ними, називають ви­разом. Якщо вираз містить тільки числа і знаки дій, то це числовий вираз, наприклад, той, що ти сформулював для обчислення кількості курчат: 2 + + 3 + 2 + 1+ 4,а якщо потрібно буде додати два числа, значення яких наперед не відомі, то ми це запишемо так: а + Ь, де а —перший доданок, b — другий доданок, а а + Ь — їх сума. Сталі величини теж інколи позначають буквами, особливо часто це зустрічається в запису виразів, які називають формулами. Формулами, а не формами! Ти що, вже дрімаєш? Розпарився на сонечку?

Барсик, не відчуваючи провини, мовчки про­тер очі, пригладив вуса і чесно зізнався:

  • Я не знаю, що таке формула...
  • Формула — це вираз, що показує залеж­ність однієї величини від інших. Записують фор­мулу сталими і змінними. Вона містить знак «до­рівнює», — пояснив Маркіз, — наприклад, відомі

формули S = vt, V = abc для обчислення суми двох доданків можна записати форму­лу с = а +в.

  • Тут змінні а і в означають доданки, а с — позначає їх суму? — запитав Барсик. — А де ж у формулі сталі величини?
  • Не кожна формула містить сталі. Напри­клад, у формулі довжини кола С = R  — стала величина, що показує, у скільки разів довжина кола більша за його діаметр, — пояснив Маркіз.
  • А діаметр кола — це два його радіуси. Так? Тому у формулі є ще й число 2. Правда ж? — ра­дісно застрибав Барсик.
  • Так, так, — відповів Маркіз, — тому продо­вжимо, слухай і запам’ятовуй. У блоці описів для запису сталих величин використовують службове слово const, наприклад, const п = 7; name = Бар­сик, 7 днів у тижні, ім’я — Барсик, а для опису змінних — службове слово var. Повтори.
  • У блоці описів для опису сталих величин, — почав Барсик, як зразковий учень, — пишуть const, а для опису змінних — var.

А тепер поговоримо про типи змінних, — кивнувши на знак згоди, продовжив Маркіз: —Змінні бувають числові і рядкові. Числові вико­ристовують для позначення цілих або дробових чисел, рядкові позначають окремі символи, слова або й речення. Для того щоб вказати, що число а ціле, використовують службове слово Integer, а якщо дробове — то це число типу Real, рядкові величини величини типу String. Наприклад:

var а, b: Integer; с: Real; Bars:String;

Поясни, як ти зрозумів цей запис.

  • Та «легко», — почав жартома Барсик, але вло­вивши серйозний погляд товариша, змінив тон. — Блок опису змінних: змінні а і в цілого типу, число с — дробове, змінна Bars — слово.
  • Непогано, — скупо похвалив його Маркіз. — Що ж, тепер напишемо програму, а випробуємо її за нагоди на комп’ютері. Я писатиму, а ти мовчки читай і подумки коментуй прочитане.
  • Отож, дивись, читай і думай, — відповів Маркіз і написав:

 

Program Summa;

var a,b,c: Integer;

begin

write('Введіть перший доданок'); read(а);

write ('Введіть другий доданок') -;

read(b);

с:=а+в;

write('їх сума',с);

end.

 

Поки Маркіз писав, Барсик бурмотів про себе:

  • Перший рядок — заголовок програми, про­грама називається Сума, отже, будемо щось дода­вати. Другий рядок — опис змінних, їх три, і всі вони цілі числа. Далі — початок програми. Даємо команду «Пиши ’’Введіть перший доданок”», а далі — якесь незнайоме слово. Вічно якісь за­гадки. Потім — знову команда «Пиши ’’Введіть другий доданок”» і знову те саме невідоме слово. О, на тобі, якась незвична формула: і двокрапка, і знак рівності. Ще раз команда «Пиши ”їх сума”» і ще до чогось змінна с. 0, нарешті, кінець про­грами, бо є службове слово «Кінець» і крапка.

Маркіз усе те чув, тому, закінчивши писати, почав пояснювати:

  • Ця програма буде обчислювати суму двох цілих чисел, як ти здогадався, це числа а і в. Значення їх можуть бути будь-які цілі числа. Комп’ютер напише «Введіть перший доданок» і зупиниться, чекатиме, поки ти не введеш з кла­віатури якесь число і не натиснеш клавішу Enter. Команда Read(a) означає «Читай значення цілочисельної змінної а». Те, що а — ціле число, комп’ютер знає з блоку описів, а читати значення змінних у цьому випадку він може з клавіатури. Отже, ти на клавіатурі набираєш якесь ціле чис­ло, а щоб комп’ютер зрозумів, що ти закінчив на­бір і зчитав це число, потрібно натиснути клавішу Enter. Після введення значення другого доданка була незрозуміла тобі формула? Та це не формула. Цей запис читають так: «Змінній с присвоїти зна­чення суми а + Ь». П’ятий рядок програми — ко­манда присвоювання значення змінній с, що мож­на трактувати так: до значення змінної а додати значення змінної Ь, а результат присвоїти змін­ній с . Запам’ятай: «присвоїти значення  — це не те саме, що «дорівнює». У деяких наших програ­мах буде зустрічатися команда а: =a+d чи і: =і + 1, що з точки зору математики є повним абсурдом, а ось у програмах це звучить, наприклад, так: «змінній а присвоїти значення на d більше від попереднього» чи «значення змінної і збільшити на 1». Таким чином, на сьогодні маємо дві нові ко­манди: ввести значення змінної та змінній при­своїти значення. Крім того, вміємо описати змін­ні, що використовує програма. А тепер, поки наші господарі все ще чекають, доки не зійшла роса, постарайся все це осмислити і запам’ятати.

Тільки тепер Маркіз подумав, що так довго він ще не говорив, тому й вирішив перепочити, та й Барсикові час дати таку можливість. Останньо­му все почуте здалося зрозумілим, і він горів від нетерпіння — скоріше б вже побачити, як же воно буде виконуватися комп’ютером, невже все буде так, як говорить Маркіз? Ех, чого ж це господарі так довго збираються? А вголос почав доповідати:

Записуємо програму. Запускаємо на вико­нання. Комп’ютер напише: «Введіть перший до­данок» і буде чекати, що ж я введу. Я на клавіату­рі наберу число, наприклад, 12 і натисну клавішу Enter. Комп’ютер зчитає це число і напише: «Вве­діть другий доданок». Я наберу на клавіатурі, ска­жімо, 6 і натисну Enter. Комп’ютер виконає дода­вання 12 + 6 і значення суми 18 присвоїть

с, після чого напише «їх сума», кома, 18, а вже тоді з’явиться табличка з повідомленням «Про­грама успішно виконана». Так?

  • Так, та не так. Виконуючи команду write ('їх сума ', с);, комп’ютер напише «їх сума 18» без коми, про яку ти говорив, а кома розділяє ар­гументи процедури виведення. У цьому прикладі в дужках записано два аргументи, які слід вивес­ти: рядкова константа «їх сума», записана в дуж­ках, та значення змінної с. Запам’ятай: аргумен­ти (величини, що записані в дужках після імені процедури) розділяються комами, скільки б їх не було, а команди (ми їх писали в стовпчик, хоч можна було б і в рядок) — знаком «крапка з ко­мою», — повчально відповів Маркіз, а себе зловив на думці, що він дедалі більше входить у роль учителя. І чого б це?

Дядько Микола, який увесь цей час порався на подвір’ї, ходив до хати на сніданок, знову щось робив по господарству, нарешті звернув увагу і на наших знайомих.

  • Чого б це ви гралися в піску, — жартома за­питав він, — коли комп’ютер простоює?

Цього було досить, щоб наші друзі стрімго­лов кинулися до хати. Маркіз уперед, Барсик — за ним. На порозі тітка Люда, яка саме виносила майбутнім програмістам сніданок, мало не пере­чепилася через Маркіза. Барсик нерішуче зупи­нився. «До комп’ютера страх як тягне, — поду­мав він, — і сніданок пропускати не можна. Він же без догляду не встоїть — кури вмить розтяг­нуть все, що є, одна юшка зостанеться». На його щастя, Маркіз теж вирішив підкріпитися, тому заняття було перерване сніданком. Однією нау­кою ситим не будеш.

Маркіз наситився першим і, задоволено обли­зуючись, запитально глянув на товариша. Барсик зрозумів, що і йому слід закінчувати. Так, мовч­ки переглядаючись, вони дійшли до порогу хати.

  • Може, вам комп’ютер увімкнути? — запи­тала тітка Люда, яка знову зустрілася їм на тому ж порозі. Маркіз лише заперечливо похитав голо­вою і першим переступив поріг.

Після того як комп’ютер було ввімкнено і дру­зі влаштувалися у кріслі біля нього, Маркіз за­вантажив середовище програмування і швидень­ко набрав програму, текст якої було складено ще на купі піску. Барсик спробував був заявити, що він дуже хоче сам писати, на що Маркіз слуш­но зауважив, що він це зробить швидше і без по­милок.

  • А тепер дивись, — проговорив Маркіз, кла­цаючи мишкою по синьому трикутнику панелі ін­струментів.

Комп’ютер, як і сподівався Барсик, написав у вікні результатів «Введіть перший доданок», а у вікні програми на рядку read (а) ; з’явилася зелена смужка. «Комп’ютер чекає введення яко­гось числа, — здогадався він, — і світло зелене, отже, можна рухатися далі. Можна чи ні?» — німе питання світилося в його погляді.

  • Чого ж ти ще чекаєш? Вводь якесь число, — підганяв його Маркіз.

Барсик спочатку розгубився, та оскільки він сидів у кріслі праворуч від Маркіза, на додатко­вому полі клавіш сміливо набрав цифри 1, за нею 2 і натиснув Enter. Комп’ютер мовчки «проковт­нув» введене число і вивів у вікні результатів «Введіть другий доданок». Зелена смужка пере­стрибнула на рядок read(b) ;. Тепер Барсик вже не розгубився, а як досвідчений комп’ютерщик сміливо набрав цифри 4 і 6 та знову натиснув Enter. Комп’ютер проковтнув ще й це число, мит­тєво у вікні результатів написав «їх сума 58» і ви­кинув віконце-табличку: «Програма успішно ви­конана. OK».

  • Бачив?-Що скажеш? Усе зрозумів? — почав допитувати його Маркіз.
  • Бачив, напевно, не все..., але, здається мені, щось зрозумів, — трохи невпевнено відповів Барсик.
  • А тепер дещо змінимо в нашій програмі, — сказав Маркіз і почав щось витирати і перепису­вати.

Барсикові кортіло ще і ще раз позапускати програму, вводити інші числа, але Маркіз вже встиг добряче зіпсувати таку хорошу програму.

  • Ти пам’ятаєш текст попередньої програ­ми? — запитав кіт. — Подивись, як я її модифікував.

«Ну і слівця ж у тебе», — все ще невдоволено подумав Барсик і почав читати:

 

Program Summa;

var a,b,c: Integer;

begin

write('Введіть через пропуск два чис

ла' ) ;

read(a,b);

с:=а+Ь;

write('їх сума ', с) ;

end.

 

Що скажеш? — нетерпляче почав був Мар­кіз, але не втримався і почав пояснювати: — Тепер доданки можна вводити один за одним через про­пуск, не натискуючи клавішу Enter після кож­ного з чисел, а тільки один раз •— у кінці набору. А якщо навіть, за звичкою, після набору першо­го числа і натиснеш, комп’ютер все одно чекатиме введення другого числа. Ось так. І програма ста­ла коротшою.

Барсик хотів зауважити, що та, перша, була кращою і зрозумілішою йому, але тільки запитав:

  • То команда введення значень read — теж процедура? І можна в дужках записувати навіть два аргументи?
  • І два, і три, і десять, аби вони були описа­ні у блоці описів, — задоволено відповів Маркіз і додав. — Запускай! Я хочу, щоб ти переконався, що ця програма працює не гірше від попередньої.

Барсик відважно клацнув по кнопці пуску програми (синьому трикутничку). Комп’ютер у ві­кні результатів, як і очікувалось, написав: «Вве­діть через пропуск два числа» і встановив зеле­ну смужку на команді read (а, Ь) ;, а сам чекав введення вже двох чисел. Тепер Барсик вирішив вводити лише одноцифрові числа, тому натиснув клавішу з цифрою 5, потім довгу клавішу пропус­ку. Зелена смужка у вікні програми навіть не по­ворухнулась. «Чекає на друге число», — подумав він і натиснув клавішу з цифрою 4, а потім, усміх­нувшись сам собі, — клавішу Enter. Що б ви ду­мали, комп’ютер, вивів: «їх сума 9» і зразу ж ви­кинув табличку: «Програма успішно виконана. ОК.

 

Тепер ти зможеш сам написати програму, яка обчислювала б добуток двох чисел, — майже урочисто розпочав він і додав: — добуток — ре­зультат дії множення. А ти вмієш множити? — вловивши поглядом стверджувальний кивок това­риша, продовжив: — Нехай перший множник буде а, другий множник — Ь, а їх добуток — с. У програмуванні знак дії множення — клавіші Shift і «8», ще кажуть «зірочка». Вперед, вперед, мій юний друже.

Барсик, нічого не підозрюючи, натиснув на

кнопку панелі інструментів — і сталося непе- редбачуване: комп’ютер викинув повідомлення у вигляді віконця з кнопками.

  • Що ж тепер мені робити? — розпачливо за­питав Барсик і звільнив місце біля комп’ютера.
  • Комп’ютер пропонує зберегти нашу програ­му. Що будемо робити — зберігати чи ні? -т- хитро примружився Маркіз.
  • Звичайно, зберігати, — не роздумуючи від­повів Барсик, — а то як?

Маркіз клацнув по кнопці Да і відкрилося ві­кно Сохранить как..., в нижньому білому рядку якого від нетерпіння мерехтів текстовий курсор. Кіт написав слово «Сума» і клацнув у правому нижньому кутку вікна по кнопці Сохранить. На­решті відкрилась чиста сторінка вікна програм і Барсик почав писати:

 

Program Dobutoc;

var a,b,c: Integer;

begin

write('Введіть через пропуск два чис­ла' ) ;

read(a,b); с:=a*b;

write('їх добуток ',c);

end.

 

   То тільки на папері все чисто і правильно, а якби ви знали, скільки часу, зусиль і старання потрібно було Барсикові, щоб написати цих 8 ряд­ків! Написати їх він написав, але щоразу, коли за­пускав програму на виконання, з’являвся черво­ний рядок і повідомлення про помилку. Маркіз як міг, допомагав другові у цій скруті. Тільки спіль­ними зусиллями вдалося налагодити програму, і вона запрацювала. Барсик вводив різні числа, комп’ютер, тільки завдяки цій програмі, обчис­лював їх добуток і, на диво, жодного разу не по­милився. Маркіз не втручався: «Нехай малий по­тішиться...»

  • Давай напишемо ще одну програму, — че­рез деякий час запропонував вже сам Барсик. — Яка б віднімала від одного числа інше.
  • Результат дії віднімання називається різни­цею, — уточнив Маркіз і запитав: — Ти вже про­думав текст майбутньої програми? Звичайно, — запевнив його Барсик. — Потрібно змінити ім’я програми, команду при­своювання записати так: с:=а-Ь;, а в процеду­рі виведення результатів написати «їх різниця». Ось і все. Правда? Тільки ти, будь ласка, збере­жи програму Dobutoc, бо я ще до пуття не вмію це робити.
  • Якщо, як ти кажеш, ці програми мало чим відрізняються одна від одної, то програму Dobutoc збережемо у файлі, ім’я якого теж «Добуток», — розмірковував Маркіз, — ось дивись: клацаємо по команді Файл', у списку, що відкрився, клацаємо по команді Сохранить как..., у нижньому рядку вікна Сохранить, який називається Имя файла (тут навіть текстовий курсор вже стоїть) пишемо слово Добуток і клацаємо по кнопці Сохранить. Твоя програма Dobutoc вже зберігається на він­честері комп’ютера, а з текстом програми, яка за­лишилася у вікні програм середовища ALGO, мо­жеш робити все, що завгодно.
  • Ти диви... як зручно! — вигукнув Барсик і через кілька хвилин програма вже мала ви­гляд:

 

Program Riznyca;

var a,b,c: Integer;

begin

write('Введіть через пропуск два числа');

read(a,b);

c:=a-b;

write('їх різниця ',с);

end.

Цього разу обійшлося без помилок, і Барсик, з мовчазної згоди Маркіза, почав експлуатувати програму. Ні, він не вводив величезні числа, він писав тільки те, що сам міг обчислити. Програ­ма працювала чудово. Барсик був безмежно задо­волений, та знову сталося непередбачуване. Він, скоріше за все через неуважність, ввів числа 3 і 5 і, як завжди, натиснув Enter. Комп’ютер, не дов­го думаючи, вивів число —2, чого Барсик від нього аж ніяк не очікував. Що ж це таке? Різниця між числами 3 і 5 складає 2 одиниці — це навіть кур­чата знають. З на 2 менше, ніж 5; 5 на 2 більше, ніж 3. Хіба не так? Щось воно не те. Барсик запи­тально глянув на Маркіза.

Тут не має помилки, — впевнено відповів на німе запитання Кіт, — ти ж від меншого числа віднімав більше — ось і отримав від’ємне число, — читаючи по очах нерозуміння товариша, продо­вжив: — Так, так, якщо від меншого числа відня­ти більше, то різниця буде від’ємною. Невже ти не так і дробові? Пам’ятаєш, узимку дядя Микола Артемові на віконному термометрі показував? Ти ж тоді теж під ногами крутився. Ну, пригадай, як дядько Микола пояснював: «Якщо зараз, вдень проти сонця, температура +3°, а до вечора пони­зиться на 5°, то які будуть покази термометра?» Що буде показувати термометр? Подумав? Гово­ри вже.

— Термометр покаже 2° морозу, — невпевне­но почав Барсик.

  • А як ти визначив, що то буде 2° морозу, а не тепла? — не вгавав Маркіз.
  • Бо стовпчик термометра тоді буде нижче нульової позначки, — Барсик не розумів, до чого тут термометр. Може, Маркіз перегрівся?
  • Так ось, ті числа шкали термометра, які за­писані нижче нульової позначки, і є від’ємними, а ті, котрі вище нуля — додатні, а число 0 розді­ляє на шкалі додатні і від’ємні числа. Запам’ятай і усвідом це.
  • Якщо ж ми покладемо термометр на стіл чи на підлогу (уявляєш), то шкала термометра — це, люди кажуть, числовий відрізок, тобто відрі­зок числової прямої, на якій обов’язково пови­нен бути початок — точка, що позначає число 0, вказано напрямок зростання та відкладено оди­ничний відрізок, довжина якого дорівнює одини­ці виміру...
  • Одиничний відрізок на термометрі — це поділка величиною в один градус? —  перебив його Барсик. — Напрям зростання на термометрі я уявляю — це вгору, а якщо термометр лежить, то куди зростати?
  • Люди домовилися, що напрямок зростання на горизонтальній числовій прямій — вправо, як поділки на лінійці, — відповів Маркіз.
  • А на вертикальній — вгору? — знову запи­тав Барсик і вже впевнено заявив: — Ну, звичай­но, вгору! А як же інакше — все росте вгору: і де­рева, і трава...

Маркіз хотів навести контрприклад, що ко­рінь дерева, морква, буряк ростуть вниз, але вирі­шив не заплутувати меншого товариша, тому лиш кивнув головою і продовжив:

  • Числа, які знаходяться на числовій прямій правіше від нуля, додатні.
  • А ті, які лівіше від нуля, від’ємні? Так? — знову випередив його Барсик. — А щоб по­казати, що число від’ємне, перед ним ставлять знак «-» і читають його знак «мінус», а потім саме число?
  • Так. Так. А якщо ти, — передражнив його Маркіз, — усе зрозумів, то збережи програ­му Riznyca з іменем файла «Різниця». Якщо па­м’ятаєш, зроби сам.

Барсик, поглядаючи на товариша, невпевнено почав виконувати дії зі збереження програми.

  Чим ближче до обіду, тим повільніше працює голова. Це  правило сформулював Барсік. Маркіз невдоволено фиркнув, закрив середовище програмування, вимкнув комп’ютер і подався на двір слідом за Барсіком…

   Попивши води, Маркіз подався в тінь під горі­хом, але на півдорозі його покликав Барсик, який щось швидко дописував на піску:

— Я тут склав був програму ділення двох чи­сел, а ось як записати знак ділення — не знаю.

                Слеш у режимі латинського алфавіту, остан­ня справа клавіша третього ряду, а результат ді­лення називається частка, — машинально відпо­вів Маркіз і, ніби прокинувшись від своїх лінивих роздумів, зацікавлено повернув до купи піску, де продовжував вовтузитись Барсик.

Перше, що він побачив, був оновлений текст програми:

 

Program Dilennja;

var a,b,c: Integer;

begin

write('Введіть через пропуск два числа');

read(a,b);

с:=a/b;

write('їх частка ', с) ;

end.

 

  • Ти, виявляється, молодець, — похвалив товариша Маркіз. — Ти й ділити вмієш? Ніколи й не думав, але цю програму комп’ютер не захоче виконувати, — і вже хотів був іти, — сієста все- таки не відміняється, та й обід не за горами... — додав жартома.

Але Барсик не міг залишати питання відкри­тим:

  • Як так — не' захоче виконувати? Перші три виконував, — тут сяйнула здогадка, — а може, він ділити не вміє?
  • Ділити комп’ютер уміє, — запевнив Мар­кіз. — Справа в тому, що при діленні цілих чи­сел частка не завжди ціле число. Сума двох цілих чисел -— ціле число, різниця — ціле, добуток — ціле, а от частка — інколи ціле, інколи дробове. Наприклад, дядько Микола дає нам три рибини на двох. Як порівно їх розділити на двох нас?
  • Кожен отримає по одній рибині... — повіль­но роздумуючи, промовив Барсик.
  • Так ми з’їмо дві рибини, а як бути з тре­тьою? — усміхаючись запитав Маркіз.
  • А третя дістанеться тому, хто першим з’їв першу, — миттєво знайшов відповідь Барсик.
  • Але ж умова була —- всім порівну, — не зда­вався Маркіз, — третю доведеться ділити навпіл. Так ми будемо мати по півтори рибини: по одній і ще по половині тієї злощасної третьої. Отже, частка від ділення в цьому прикладі — число дро­бове, а ще кажуть «раціональне», «дійсне», тому змінна с — змінна дійсного типу, типу Real. Зро­зумів?
  • Дядько Микола ніколи не дає нам риби, не порахувавши. Він усе зробить, щоб було порівну, — зауважив Барсик, на що Маркіз відповів:

            А тітка Люда сосиску поділить навпіл, щоб було всім порівну. Та забудь про приклад, краще внеси зміни у свою програму. Чому ж ти вагаєш­ся? Дивись, — і сам вніс такі зміни:

Program Dilennja;

Var

a,b: Integer; с: Real;

begin

 write('Введіть через пропуск два числа');

read(а,b);

с:=a/b;

write('їх частка ', с) ;

end.

  • Тепер зрозумів, що від тебе вимагалось?
  • Зрозумів, зрозумів, — запевнив Барсик. — Я не знав, як описати змінні — у стовпчик чи в ря­док. А тепер зрозумів: кожен тип змінних опису­ється окремим рядком.
  • Залишилось випробувати цю програму на комп’ютері, — сказав Маркіз і, примруживши очі чи то від сонця, чи то від лукавства, додав: — але можу наперед розчарувати — виведення результа­тів не задовольнять тебе. Ось побачиш.

Інтрига просто проковтнула Барсика. Непо­мітно для себе, не відчуваючи смаку, він з’їв обід. Усі його думки були спрямовані на одне: «Коли вже мояша буде попрацювати на комп’ютері? Ну коли вже...» І ця мить нарешті настала. Тітка Люда, виносячи помиї, змилувалася над нашими знайомими:

  • Та йдіть вже до хати, а то чисто знудилися без своїх програм.

Вдруге просити не довелося. Барсик, а за ним Маркіз кинулися до кімнати і сіли в крісло. Бар­сик увімкнув комп’ютер (як же довго цей Windows завантажується!), завантажив середовище програ­мування, завантажив програму Dobutoc, вніс змі­ни, щоб програма ділила числа, запустив про­граму, ввів числа 6 і 2, та замість очікуваного, результату 3 комп’ютер написав купу якихось чи­сел. Він запитально глянув на Маркіза. Погла­джуючи в задумі вуса, той почав:

  • Тепер час поговорити про формат виведен­ня дійсного числа на екран. Зараз результат за­писано у стандартному вигляді дійсного числа, а щоб виведення здійснювалося у звичній фор­мі, процедуру виведення результату запишемо так: write('їх частка ',с:5:2);. Тут число 5 означає, що для виведення значення змінної с ми відвели 5 знаків, число 2 — число десяткових знаків, тобто з точністю до сотих. Зрозумів? Ану, запускай. Далі все пішло як по маслу. Барсик навіть сам сформулював правила ділення чисел з одна­ковими і різними знаками, зберіг текст програми у файлі під іменем «Ділення» і зі словами Мар­кіза «Вважаю, що на сьогодні з тебе досить» дру­гий день занять, можна вважати, успішно завер­шився. Насправді Барсик і сам був не проти вже віддатися звичним справам, та й час вже м’язи розім’яти. Спільними зусиллями було закрито всі вікна програм і вимкнено комп’ютер. Друзі гай­нули надвір. Було раннє надвечір’я...