- •Обчислювальна техніка та програмування Методичні вказівки
- •Обчислювальна техніка та програмування Методичні вказівки
- •3.Теоретичні відомості
- •4. Завдання до виконання комп’ютерного практикума Завдання 1. Обчислення арифметичного виразу
- •Завдання 2. Обчислення з використання умовного оператору
- •Завдання 3. Обчислення з використання оператору циклу
- •Завдання 4. Обчислення значення функції на вказаному відрізку з певним кроком
- •Завдання 5. Знаходження коренів квадратного рівняння
- •7. Порядок виконання комп’ютерного практикума
- •6.Заходи безпеки при виконанні комп’ютерного практикуму
- •8.Оформлення звіту та порядок його подання
- •9.Контрольні запитання для підготовки до комп’ютерного практикуму :
- •Комп’ютерний практикум 2 Масиви
- •3. Теоретичні відомості
- •3.3. Робота з компонентом StringGrid
- •4. Завдання до виконання комп’ютерного практикума Завдання 1. Введення значень масиву в програмі
- •6.Заходи безпеки при виконанні комп’ютерного практикуму
- •7. Порядок виконання комп’ютерного практикума
- •8.Оформлення звіту та порядок його подання
- •9.Контрольні запитання для підготовки до комп’ютерного практикуму :
- •Комп’ютерний практикум 3 Функції
- •2.Задачі:
- •3.Теоретичні відомості
- •4. Завдання до виконання комп’ютерного практикума Завдання 1. Створення функції користувача для розрахунку арифметичного виразу
- •Завдання 2. Створення функції користувача для обробки масивів
- •6.Заходи безпеки при виконанні комп’ютерного практикуму
- •7. Порядок виконання комп’ютерного практикума
- •8.Оформлення звіту та порядок його подання
- •9.Контрольні запитання для підготовки до комп’ютерного практикуму :
- •Комп’ютерний практикум 4 Файли
- •2.Задачі:
- •3.Теоретичні відомості
- •4. Завдання до виконання комп’ютерного практикума
- •1 Завдання. Запис інформації у файл
- •2 Завдання. Читання та запис масиву з/у файл
- •6.Заходи безпеки при виконанні комп’ютерного практикуму
- •7. Порядок виконання комп’ютерного практикума
- •8.Оформлення звіту та порядок його подання
- •9.Контрольні запитання для підготовки до комп’ютерного практикуму :
- •2. Задачі:
- •3.Теоретичні відомості
- •4. Завдання до виконання комп’ютерного практикума
- •6.Заходи безпеки при виконанні комп’ютерного практикуму
- •7. Порядок виконання комп’ютерного практикума
- •8.Оформлення звіту та порядок його подання
- •9.Контрольні запитання для підготовки до комп’ютерного практикуму :
- •Комп’ютерний практикум 6 Структури даних
- •3.Теоретичні відомості
- •4. Завдання до виконання комп’ютерного практикума
- •6.Заходи безпеки при виконанні комп’ютерного практикуму
- •7. Порядок виконання комп’ютерного практикума
- •8.Оформлення звіту та порядок його подання
- •9.Контрольні запитання для підготовки до комп’ютерного практикуму :
- •Література
3.Теоретичні відомості
Програма мовою С++ складається з проекту до складу якого входять:
файл проекту Project1.bpr,
файл форми Unit1.dfm,
головного файлу проекту Project1.cpp, записаного мовою С++, який підключає всі форми проекту, ресурси і основну функцію обробки проекту WinMain(),
файл програми записаної мовою С++ Unit1.cpp,
заготовочний файл Unit1.h,
об’єктний файл Project1.obj,
об’єктний файл Unit1.obj,
файл ресурсів Project1.res,
файл додатку Project1.exe (виконуючий файл в середовищі Windows).
Як правило, програми будуються за принципом модульності і складаються з множини модулів. Принцип модульності надає можливість:
1) створення надійних додатків,
2) відносно легко коректувати тексти програм.
Чітке дотримання принципу модульності в поєднанні з принципом приховування інформації дозволяє всередині модуля проводити будь-які модифікації, при цьому не втручатися в інші модулі і головну програму.
Всі об’єкти компонентів розміщуються на об’єктах - формах. Для кожної форми, яка проектується, С++ Builder створює окремий модуль. Саме в модулях і відбувається програмування задачі. В обробниках подій об’єктів розміщаються алгоритми.
До складу файлу реалізації входять: опис даних (табл.1.1), операції (табл.1.2), оператори, стандартні функції (табл.1.3) та функції користувача, тобто лексичні одиниці.
Для виконання програми слід підготувати її текст, який зберігається у файлі з розширенням .срр. Цей файл передається на компілювання та усунення синтаксичних помилок, виявлених компілятором. Якщо у файлі після компіляції немає помилок, то створюється об’єктний файл з розширенням .obj, який доповнюється бібліотечними функціями – процес компонування. У результаті цього створюється виконуючий файл програми з розширенням .exe. Схему створення виконуючого модуля наведено на рис.1.1.
Основні функції, які потрібні для роботи у С++ зведені в бібліотеку, затверджену ANSI як стандарт. Бібліотека ділиться на групи функції, наприклад, функції введення-виведення, математичні функції (табл.1.3) і т. ін. Виклик потрібної для використання в конкретній програмі групи функцій виконується завдяки директиві препроцесора #include за існуючим форматом: #include <ім’я_файла.розширення>, де ім’я_файла. розширення – ім’я файла для групи функцій. Директива #include розміщується на початку програми і записується з першої позиції рядка.
Таблиця 1.1 - Основні типи даних
Формат |
Біт |
Діапазон значень |
Назва типу |
Цілі числа |
|||
int |
16 |
-32 768…32 767 |
Ціле |
short int |
16 |
-32 768…32 767 |
Коротке ціле |
unsigned int |
16 |
0…65 535 |
Ціле додатне |
long |
32 |
-2 147 483 648…2 147 483 647 |
Довге ціле |
unsigned long |
32 |
0…4 294 967 295 |
Довге ціле додатне |
Дробові числа |
|||
float |
32 |
3.4Е-38...3,4Е+38 |
Дробове |
double |
64 |
1.7Е-308...1.7Е+308 |
Дробове з подвійною точністю |
long double |
80 |
3.4Е-4932...3.4Е+4932 |
Довге дробове з подвійною точністю |
Символи |
|||
unsigned char |
8 |
0…255 |
Символ |
char |
8 |
-127…127 |
Символ |
Рядки символів |
|||
char * |
Залежить від кількості символів у рядку (масив символів) |
||
AnsiString |
Залежить від кількості символів у рядку (масив символів) |
||
Р
*.cpp
*.h
*.obj
*.lib
*.exe
исунок
1.1 - Схема підготовки виконуючої програми
(.exe - файлу)
Таблиця 1.2 - Операції мови С++
Операція |
Назва |
Приклад |
Особливості |
1 |
2 |
3 |
4 |
Арифметичні |
|||
+ |
Додавання |
a+b |
|
- |
Віднімання |
a-b |
|
* |
Множення |
a*b |
|
/ |
Ділення |
a/b |
Ділення цілих – результат ціле, дробова частина відкидається. Ділення дробових – результат дробовий |
% |
Залишок від ділення цілих чисел |
a%b |
Знак залишку співпадає зі знаком чисельника |
++ |
Інкремент (збільшення на 1) |
++a або а++ |
Перший випадок – a збільшити на 1, а потім виконати дії. Другий – виконати дії, а потім збільшити на 1 |
-- |
Декремент (зменшення на 1) |
--a або а-- |
Перший випадок – a зменшити на 1, а потім виконати дії. Другий – виконати дії, а потім зменшити на 1 |
Логічні |
|||
&& |
І (логічне множення) |
a&&b |
Результат типу int, якщо дорівнює 0 – хибно, 1 – істина (таблиці істинності) |
|| |
АБО (логічне додавання) |
a||b |
- ‘’- |
! |
НЕ (логічне заперечення) |
!a |
- ‘’- |
Відношення (порівняльні) |
|||
= = |
Дорівнює |
a= =b |
Результат типу int, якщо дорівнює 0 – умова не виконується, інакше 1 |
!= |
Не дорівнює |
a!=b |
- ‘’- |
> |
Більше |
a>b |
- ‘’- |
< |
Менше |
a<b |
- ‘’- |
>= |
Не менше |
a>=b |
- ‘’- |
<= |
Не більше |
a<=b |
- ‘’- |
Бітові |
|||
& |
I (кон’юнкція) |
7&5=5 |
Результат отримується за таблицями істинності |
| |
АБО (диз’юнкція) |
7|5=7 |
- ‘’- |
^ |
Подвійне АБО |
7^5=2 |
- ‘’- |
~ |
Заперечення |
~6=1 |
- ‘’- |
Присвоєння |
|||
= |
Присвоєння |
a=b |
Перетворення даних до одного типу відбувається автоматично |
+= |
Присвоєння суми |
a+=b |
a=a+b. Тип short перетворюється в long із збереженням значення. Тип long у short з втратою старших бітів. Тип float y int з відкиданням дробової частини |
- = |
Присвоєння різниці |
a-=b |
a=a-b. – ‘’ - |
* = |
Присвоєння добутку |
a*=b |
a=a*b. – ‘’ - |
/= |
Присвоєння частки |
a/=b |
a=a/b. – ‘’ - |
%= |
Присвоєння залишку від ділення |
a%=b |
a=a%b. – ‘’ - |
Оператори мови С++
1. Порожній оператор.
Синтаксис: ;
2. Складовий оператор (блок).
Синтаксис:
{
[<оператор 1>] [ ] – дії вказані в квадратних дужках не обов’язкові;
... < >– дії вказані в кутових дужках виконуються обов’язково.
[<оператор N>] }
3. Оператор вираз.
Синтаксис: <вираз>;
4. Умовний оператор if.
Синтаксис: if(<вираз>)
<оператор 1>
[ else
<оператор 2>]
5. Оператор покрокового циклу for.
Синтаксис:
for([<початковий вираз>]; [<умовний вираз>]; [<вираз збільшення чи зменшення>])
<оператор>
6. Оператор циклу з передумовою while.
Синтаксис: while (<вираз>)
<оператор>
7. Оператор цикла з постумовою do.
Синтаксис: do
<оператор>
while (<вираз>);
8. Оператор продовження continue.
Синтаксис: continue
9. Оператор-перемикач switch.
Синтаксис: switch(<вираз>)
{[case <константний вираз>:]
[<оператор>]
. . .
[case <константний вираз>:]
[<оператор>]
[ default:
<оператор>] }
10. Оператор розриву break.
Синтаксис: break;
11. Оператор переходу goto.
Синтаксис: goto <мітка>;
. . .
<мітка>:<оператор>
12. Оператор повернення return.
Синтаксис: return [<вираз>]
Таблиця 1.3 - Математичні функції
Назва функції |
Призначення |
Прототип (тип, який повертає функція, назва, аргументи) |
|
1 |
2 |
3 |
|
abs |
Модуль цілого числа x |
int abs (int x) |
|
acos |
Арккосинус кута x |
double acos (double x) |
|
asin |
Арксинус кута x |
double asin (double x) |
|
atan |
Арктангенс кута x |
double atan (double x) |
|
atan2 |
Арктангенс кута y/x |
double atan2 (double y, double x) |
|
ceil |
Знаходження найменшого цілого, яке більше чи дорівнює х |
double ceil (double x) |
|
cos |
Косинус кута x |
double cos (double x) |
|
cosh |
Гіперболічний косинус |
double cosh (double x) |
|
exp |
Експонента (число е в степені х) |
double exp (double x) |
|
fabs |
Абсолютне значення аргумента типу double |
double fabs (double x) |
|
fmod |
Знаходження залишку від ділення x/y |
double fmod (double x, double y) |
|
log |
Обчислення натурального логарифма |
double log (double x) |
|
log10 |
Обчислення логарифма за основою 10 |
double log10(double x) |
|
pow |
Обчислення x в степені y |
double pow (double x, double y) |
|
rand |
Повертає випадкове ціле число в діапазоні від 0 до деякого максимального значення |
int rand (void) |
|
sin |
Синус кута х |
double sin (double x) |
|
sinh |
Гіперболічний синус |
double sinh (double x) |
|
sqrt |
Квадратний корінь х |
double sqrt (double x) |
|
tan |
Тангенс кута х |
double tan (double x) |
|
tanh |
Гіперболічний тангенс |
double tanh (double x) |
|
