Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ci_03_first_program_conspect_ukr.doc
Скачиваний:
2
Добавлен:
13.07.2019
Размер:
91.14 Кб
Скачать

C++: Лекція 3

Розробка і|та| модифікація програм

Комп'ютерні програми - це набір інструкцій, що пояснюють|тлумачать| комп'ютеру, як вирішувати ту або іншу задачу.

Програма C_SAL.CPP виводить на екран картинку - гімнаста (назвемо|накликатимемо| його Сел).

Код програми :

#include "franca.h"

athlete Sal;

void mainprog()

{

Sal.ready();

Sal.say("Hi"!);

}

#include - цей рядок повідомляє компілятор (точніше його складову частину - препроцесор), що він повинен вставити в це місце інші рядки, що знаходяться у файлі franca.h, розташованому|схильному| в тому каталозі, де знаходяться|перебувають| файли проекту (C:\FRANCA ). Цю інструкцію називають директивою.

athlete Sal - це спеціальний об'єкт. У файлі franca.h задається особливий тип або клас об'єктів, який ми назвемо athlete (гімнаст). Таким чином, цей рядок пояснює компілятору, що Sal (Сел) - це об'єкт класу athlete.

void mainprog() - початок|начало| опису основної послідовності дій, яку ви задаєте своєму комп'ютеру. Ці дії складаються з|із| інструкцій, що розташовані|укладених| між фігурними дужками ({}).

Насправді основна послідовність дій позначається функцією main() або winmain(). Ім'я mainprog() використовується тільки|лише| для навчання.

Sal.ready() - це рядок вказує|указує| Сэлу підготуватися до виконання вправ. Для цього ми посилаємо повідомлення|сполучення| ready об'єкту Sal. Формат пересилки повідомлення|сполучення| складається з|із| імен об'єкту (Sal) і|та| повідомлення|сполучення| (ready), між якими ставиться крапка, а слідом за ім'ям повідомлення|сполучення| розташовуються круглі дужки. Sal.say("Hi"!) - це інше повідомлення|сполучення|, посилане Сэлу.

Sal.say("Hi!") - це рядок вказує|указує| Сэлу сказати "Hi" (привіт). На екрані буде виїдено повідомлення|сполучення| "Hi".

Відправка повідомлень|сполучень|

Спробуємо написати свою програму. Для цього будемо наказувати комп'ютеру працювати з|із| так званими об'єктами (objects).

Об'єкта Sal можна спостерігати на екрані в декількох позиціях (так запрограмував розробник програм) :

  • ready (готов)

  • up (руки вгору|угору|)

  • left (руки вліво)

  • right (руки вправо)

При відправці об'єкту Sal відповідного повідомлення|сполучення| він займатиме|посідатиме| необхідну позицію. Ми створили нашого гімнаста таким, що він розуміє тільки|лише| повідомлення|сполучення| ready, up, left і right , та |та| реагує на них, займаючи|посідати| задану в повідомленні|сполученні| позицію.

Інструкції

Інструкції (statements) - це вказівки вашому комп'ютеру. Деякі інструкції є повідомлення|сполучення| об'єктів.

Повідомлення - це зрозумілі об'єктам інструкції. Комп'ютер (і його об'єкти) одноразово може виконати тільки|лише| одну інструкцію. У одному рядку можна написати декілька інструкцій підряд, але|та| зрозуміліше розміщувати кожну інструкцію в окремому рядку.

Можна використовувати тільки|лише| ті повідомлення|сполучення|, які розуміє об'єкт. У нашому випадку це повідомлення|сполучення| ready, up, Left і|та| right. Якщо ви попросите Сэла, наприклад, лягти|полягти| на підлогу, то він цього не зробить, оскільки не знає, що означає таке повідомлення|сполучення|!

На мал. показані усі можливі дії Сэла.

Деякі програми можуть працювати з|із| декількома об'єктами. Наприклад, можуть бути два гімнасти: Сел і|та| Салі. Перед тим, як послати|надіслати| повідомлення|сполучення|, необхідно|треба| вказати ім’я об'єкту (ідентифікувати його).

Sal. ready();

Компілятор C++ розрізняє прописні і|та| рядкові букви|літери|. Ім'я Sal і|та| sal - це імена двох різних об'єктів. Тобто|цебто|, необхідно|треба| враховувати чутливість до регістра|реєстру| символів.

Кожна виконувана інструкція у вашій програмі повинна закінчуватися крапкою з комою (є|наявний| ряд|низка| винятків, наприклад інструкції include і|та| void main()).

Щоб послати|надіслати| об'єкту повідомлення|сполучення|, треба послідовно написати ім'я об'єкту, точку|крапку|, само повідомлення|сполучення| (наприклад, ready) і|та| відкриваючи|відчиняє| та|та| закриваючи|зачиняє| дужки (згодом всередину цих дужок ми навчимося що-небудь вставляти). Наприклад:

Sal. ready();

Ця інструкція наказує|пропонує| Сэлу зайняти|посідати| позицію готовності.

Жучки

Щонайменша помилка (на зразок неправильного написання імені, пропуску точки|крапки| і|та| т. д.) примушує|заставляє| комп'ютер видавати повідомлення|сполучення| про помилку або працювати неправильно. Комп'ютер завжди виконує тільки|лише| те, що йому наказано.

На жаргоні програміста такі помилки називаються жучками (bugs).

Клас athlete

Ви можете оголошувати об'єкти класу athlete і|та| використовувати їх у своїх програмах.

Кожен об'єкт займає|посідає| на екрані квадратну комірку. Перший об'єкт займає|посідає| ліву верхню комірку, а кожен наступний оголошуваний вами об'єкт займає|посідає| наступну комірку|комірку|.

Форма цих об'єктів відповідає повідомленням|сполученням|:

ready

up

left

right

Гімнасти вміють "говорити". Щоб це сталося, пошліть|надішліть| гімнастові повідомлення|сполучення| say (вклавши текст повідомлення|сполучення| в круглі дужки і|та| парні лапки).

Аргументи

Аргументи (arguments) дозволяють розширити рамки повідомлень|сполучень|. Наприклад, можна змінювати|зраджувати| швидкість, з|із| якою працюють гімнасти, задаючи число секунд, яке гімнаст повинен знаходитися|перебувати| в тій або іншій позиції. Повідомлення|сполучення| say теж|також| має аргумент, що визначає те, що вимовляє|виголошує| гімнаст.

Рухи можуть виконуватися швидше або повільніше. Щоб ввести|запроваджувати| в повідомлення|сполучення| необхідну швидкість, як аргумент усередині|всередині| дужок, треба просто вказати число секунд.

Приклад. Написати програму, за допомогою якої Сэл залишаться 5 секунд з|із| піднятою лівою рукою, а потім на 8 секунд з піднятими вгору руками:

#include "franca.h"

athlete Sal;

void mainprog()

{

Sal.left(5);

Sal.up(8);

}

Аргументи, відповідні повідомленням|сполученням| ready, up, left і|та| right, можуть бути дробовими. Наприклад

Sal.left(0.5);

Якщо ви не вказали аргумент, то за умовчанням він вважається рівним одній секунді.

Якщо як аргумент ви використовуєте нуль, то комп'ютер виконає операцію максимально швидко.

У повідомленнях|сполученнях| ready, up, Left і|та| right використовуються чисельні аргументи, тобто|цебто| числа, що означають|позначають| значення проміжку часу.

З іншого боку, в повідомленні|сполученні| say можна вказувати|указувати| і символи - послідовність з|із| букв|літер|, цифр і|та| знаків. Символи на екран розташовані в повній|цілковитій| відповідності з|із| тим, як вони задані усередині|всередині| парних лапок.

Якщо ви зберігаєте модифіковану програму, то можете втратити|загубити| оригінал! Щоб цього не сталося, виберіть команду

File >Save As

І дайте файлу нове ім'я.

Примусимо Сэла ще раз щось сказати, наприклад hello:

Sal.say("hello");

Але|та| якщо ми забудемо поставити лапки тобто напишемо

Sal.say(hello);

те це повідомлення|сполучення| спричине помилку, оскільки аргумент hello може виявитися ім'ям якого-небудь|будь-якого| об'єкту і|та| ваш комп'ютер не зрозуміє, що ви від нього хочете: вивести на екран слово "hello" або вміст деякого об'єкту hello. Таким чином, лапки повідомляють комп'ютер, що ви хочете вивести на екран в точності те, що знаходиться|перебуває| усередині|всередині| лапок.

Працюючи в C++, для позначення тексту, що виводиться на екран, ви завжди повинні використовувати лапки.

Оформлення програм на C++

Для того, щоб не лише|не тільки| ви, але і інші могли розібратися у ваших програмах, потрібно дотримуватися деяких правил. Один із способів - вставка коментарів. Вони ігноруються і|та| не впливають на роботу програми. Враховуйте, що об'єм|обсяг| і|та| складність ваших програм будуть увесь час|весь час| рости|зростати|.

У C++ перед коментарям ставиться подвійна коса риска (//), увесь текст за якою в рядку розглядається|розглядує| як коментар.

Наприклад, після додавання|добавляти| коментарів наша перша програма виглядатиме таким чином:

//********************************************************

// Програма C_Sal.CPP

//

// Ця програма показує на екрані гімнаста

// Складена Paulo Franca, 21.08.2011

// Останнє доопрацювання|доробка| 21.08.2011

//

//********************************************************

#include "franca.h"

athlete Sal; // Оголошуємо Сэла як гімнаста

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]