Professional Documents
Culture Documents
Ap PZ 2023 01
Ap PZ 2023 01
Алгоритмізація та програмування
Практичне заняття №1
Тема: Архітектура програм, написанох мовою С++. Програмування лінійних
алгоритмів.
Форма заняття: Практичне заняття
Мета заняття: Засвоєння матеріалу, пов’язаного зі створенням зовнішніх по
відношенню до функції main(), функцій.
Методи навчання: Вивчення матеріалу під керівництвом викладача
Хід заняття:
Теоретичні відомості
Написання ппрограм мовою С++ може відбуватись у різних програмних
середовищах. Якщо передбачається написання програмного проекту консольного
типу, краще користуватись простими середовищами, такими як CodeBlock64, DEV C+
+ або хмарне середовище RepLit.com.
Програма мовою Сі умовно може бути розподілена на три частини:
– блок препроцесингу;
– оголошення змінних на зовнішньому рівні та опис функцій;
– головна функція.
Кожна з цих частин може бути відсутня. Але, якщо є блок препроцесингу, то він
розташовується на початку програми. Після блоку препроцесингу послідовність і
наявність розділів програми може бути змінена.
Блок препроцесингу обробляється і виконується до початку компіляції основної
програми і складається з директив. Директиви починаються зі знака #. Виконання
директив препроцесингу у більшості випадків призводить до модифікації тексту
програми. Наприклад, директива підключення бібліотек:
#include <назва файлу>
. . . . . . . . . .
#include “назва файлу”
означає, що до програми необхідно приєднати текст програми із зазначеного
після неї файлу. Файли, які приєднуються директивою include мають розширення .h і
називаються файлами-заголовками (header-файлами). У них описуються константи,
змінні або функції стандартної бібліотеки мови С++ або створені програмістом. Усі
стандартні бібліотеки мови С++ розташовуються в службовому директорії INCLUDE.
Будь-яка програма призначена для оброблення даних, які подаються в програмі
як змінні або константи. Опис змінних може здійснюватися:
– на внутрішньому рівні – в тілі будь-якої функції програми;
– на зовнішньому – поза будь-якими функціями.
У термінах мови Сі головна програма називається головною функцією, яка може
мати:
2
– тип результату int (повертає цілочислене значення) або void (не повертає жодного
значення);
– зарезервоване ім’я main;
– список параметрів int argc, char* argv[], які використовуються для доступу до
елементів командного рядка, що задаються під час запуску програми на
виконання (argc – кількість аргументів, argv – посилання на список аргументів).
Список параметрів може бути порожнім, тоді він позначається як void.
У функціях рядок return призначений для повернення визначеногорезультату в
зовнішню функцію, яка викликала дану. У випадку головної функції результат
повертається операційній системі, під управлінням якої ця програма була запущена на
виконання. Повернення з функції main нуля (return 0;) означає завершення програми
без помилок.
Приклад. Обчислити роботу електричного струму на ділянці кола за формулою,
int main()
{
double x, y, c; // Оголошення змінних
c = x + y;
cout << "\n c = " << y << endl;
return 0;
}
Результати роботи:
Input х = 84
Input y = 16
c = 100
Приклад 2. Розробити схему алгоритму і створити програму для обчислення
int main()
{
double y, x; // Оголошення змінних
return 0;
}
Результати роботи:
Input х = 2.15
Output y = 1.7292
5
https://replit.com/@hodasevich/2023AandPPZ01#main.cpp
Приклад виконання практичної роботи
1. Повторити матеріал з теми “Алгоритмічна мова С++, її визначення та складові” та
терміни і методи, які використовуються при створенні додаткових функцій.
2. Опанувати теоретичний матеріал.
3. Створити програму, яка реалізує лінійний алгоритм обчислення математичного
виразу.
Приклад виконання завдання. Написати в код виконання обчислення виразу
в середовищі RepLit.
#include <iostream> // A&P_PZ_007_01_02
#include <cmath> // https://replit.com/@hodasevich/2023AandPPZ0102
using namespace std;
int main()
{
double a, b, x, rez;
https://replit.com/@hodasevich/2023AandPPZ0102
Контрольні питання
– Що таке алгоритм і які задачі він вирішує?
– Які типи даних називають простими?
– Учому різниця між простими і складними типами даних?
– Які команди використовують для введення і виведення даних?
– Для чого виконується підключення бібліотек до програмного проекту?
– Що таке програмний фрагмент?
Література та посібники:
1. Lafore Robert. Object-Oriented Programming in C++ Fourth Edition URL :
https://fac.ksu.edu.sa/sites/default/files/ObjectOrientedProgramminginC4thEdition.pdf
2. Азарян А.А., Карабут Н.О., Козикова Т.П., Рибальченко О.Г., Трачук А.А.,
Шаповалова Н.Н. Основи алгоритмізації та програмування: Навчальний посібник.
– Кривий Ріг: Вид-во ОктанПринт, 2014. – 308 с.
3. Булгакова О. С. Алгоритмізація і програмування: теорія та практика : навчальний
посібник для дистанційного навчання / О. С. Булгакова, В. В. Зосімов, Г. В.
Ходякова. – Миколаїв: СПД Румянцева, 2021. – 138 с.
4. Мельник А. Архітектура комп’ютерів : підручник / А. Мельник. – Луцьк :
Волинська обласна друкарня, 2008. – 470 с.
5. Кравець П.О. Об'єктно-орієнтоване програмування / Навчальний посібник. –
Львів: Видавництво Львівської політехніки, 2012. – 624 с.
Довідки
Математичні функції
Запис
Функція
Математика Мова С++
натуральний логарифм ln x log(x)
ступень xy pow(x, y)
квадратний корінь √x sqrt(x)
y
корінь √x pow(x, 1/y)
абсолютне значення (int) |x| abs(x)
абсолютне значення (double) |x| fabs(x)
синус sin x sin(x)
косинус cos x cos(x)
тангенс tg x tan(x)
арксинус arcsin x asin(x)
арккосинус arccos x acos(x)
арктангенс arctg x atan(x)
гіперболічний синус sh x sinh(x)
гіперболічний косинус ch x cosh(x)
гіперболічний тангенс th x tanh(x)
гіперболічний арксинус arcsh x asinh(x)
гіперболічний арккосинус arcch x acosh(x)
гіперболічний арктангенс arcth x atanh(x)
експонента ex exp(x)
8
Типи даних
Тип Розмір Min Max
float 6-7 1.175494351 E – 38 3.402823466 E + 38
double 15-16 2.2250738585072014 e – 308 1.7976931348623158 e + 308
unsigned char 1 0 255
signed char (char) 1 -128 127
unsigned short 2 0 65535
signed short (short) 2 -32768 32767
unsigned int 4 0 4294967296
signed int (int) 4 -2147483648 2147483647
unsigned long 4 0 4294967296
signed long (long) 4 -2147483648 2147483647
unsigned long long 8 0 18446744073709551615
signed long long (long long) 8 -9223372036854775808 9223372036854775807