- •Міністерство транспорту та зв'язку україни
- •Мета виконання лабораторно-практичних робіт
- •Порядок виконання лабораторно-практичних робіт
- •Оформлення звітів про виконання лабораторно-практичних робіт
- •Лабораторна робота № 1-2
- •1 Короткі теоретичні відомості
- •2 Постановка завдання
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Порядок виконання лабораторної роботи
- •7 Контрольні запитання
- •Лабораторна робота № 3 Тема: "Програмування розгалужених обчислювальних процесів з використанням умовних операторів"
- •1 Короткі теоретичні відомості Умовний оператор if. Уморвний оператор – це оператор, який виконується в залежності від виконання деякої умови.
- •Синтаксис оператора
- •2 Постановка завдання
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Контрольні запитання
- •Лабораторна робота № 4
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •Оператор циклу while. Цикл while – це ітераційний цикл із передумовою. Це оператор циклу, який працює до тих пір, поки деяка умова буде істинною.
- •2 Постановка завдання
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Контрольні запитання
- •Лабораторна робота № 6-7
- •1 Короткі теоретичні відомості
- •Int array[a];
- •Int array[12];
- •Int array[a];
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 8
- •2 Постановка завдання
- •3 Приклад виконання лабораторної роботиІндивідуальне завдання
- •4 Контрольні запитання
- •Лабораторна робота № 9
- •1 Короткі теоретичні відомості
- •2 Індивідуальні завдання
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 10
- •1 Короткі теоретичні відомості
- •2 Індивідуальні завдання
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 11-12
- •1 Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань:
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 13-14
- •1 Короткі теоретичні відомості
- •2 Постановка завдання.
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Контрольні запитання
- •Лабораторна робота № 15
- •1 Короткі теоретичні відомості
- •Int putchar(int c);
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 16
- •1 Короткі теоретичні відомості
- •Int strcmp(const chart *str1, const chart *str2);
- •2. Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 17-18
- •1 Короткі теоретичні відомості
- •2 Постановка задачі
- •3 Варіанти індивідуальних завдань
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 19
- •1 Короткі теоретичні відомості
- •2 Завдання практичної роботи
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Контрольні запитання
- •Лабораторна робота № 20
- •1 Короткі теоретичні відомості
- •2. Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 21
- •1 Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 24
- •1 Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 24
- •1. Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Практична робота № 1-2
- •1 Короткі теоретичні відомості
- •Оператор виконує наступні дії:
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Практична робота № 3
- •1 Короткі теоретичні відомості
- •Int array[a];
- •Int array[12];
- •Int array[a];
- •2 Постановка завдання
- •3 Методичні вказівки
- •4 Приклад виконання практичної роботи Завдання
- •Програма розв'язку
- •5 Контрольні запитання
- •Практична робота № 4
- •1 Короткі теоретичні відомості
- •2 Постановка завдання
- •3 Варіанти індивідуальни х завдань
- •4 Методичні вказівки
- •5 Приклад виконання практичної роботи
- •6 Контрольні запитання
- •Практична робота № 5
- •1 Короткі теоретичні відомості
- •Void func( ) /*нічого не повертає*/
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Практична робота № 6
- •1 Короткі теоретичні відомості
- •2 Постановка завдання
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •2 Завдання практичної роботи:
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •Програма розв'язку
- •4 Контрольні запитання
- •Список рекомендованої літератури
Мета виконання лабораторно-практичних робіт
Метою виконання лабораторно-практичних робіт є здобуття студентами практичних навичок програмування мовою С для розв’язування задач та створення програмного забезпечення.
В результатi виконання лабораторно-практичних робіт студенти повиннi знати:
алфавіт мови, синтаксис, семантику та технологiю структурного програмування;
функціональні можливості мови програмування С;
функції стандартних бібліотек;
методи та алгоритми програмування типових задач;
вмiти:
розробляти модулі програм з використанням сучасних методів та ефективних алгоритмів засобами мови С;
виконувати модифікацію програм;
здійснювати відлагодження програм з метою виявлення та виправлення помилок;
створювати працюючі програми шляхом встановлення їх достовірності за допомогою тестування.
Порядок виконання лабораторно-практичних робіт
Для виконання лабораторно-практичних робіт необхідно:
використовуючи конспект лекцій та літературні джерела, вивчити теоретичний матеріал по тематиці роботи;
отримати допуск до роботи шляхом відповідей на контрольні запитання за темою лабораторної роботи;
написати програму мовою С згідно індивідуального завдання;
використовуючи засоби iнтегрованого середовища мови С, записати та відлагодити програму з метою виявлення синтаксичних посмилок;
запустити програму на виконання та записати отримані результати;
перевірити правильність виконання програми шляхом її тестування, при необхідності внести зміни у програму та виконати її повторний запуск;
оформити та захистити звіт про виконану роботу.
Оформлення звітів про виконання лабораторно-практичних робіт
Звіти про виконання лабораторно-прктичних робіт оформляються на бланках формату А4. Після завершення семестру звіти здаються викладачу. Кожен звіт повинен починатись з нової сторінки та містити такі розділи:
Номер роботи;
Тема роботи;
Мета виконання роботи;
Постановка задачі згідно індивідуального завдання
Текст програми мовою С розв’язку завдання. Програма повинна контролювати правильність введення вхідни даних та мати коментарі до її основних операторів;
Результати роботи програми;
Пояснення отриманих результатів і аналіз їх правильності;
Відповіді на контрольні запитання;
Висновки, в яких вказується призначення програми, можливості її застосування, а також навики і знання, які отримано в ході виконання роботи.
Звіт пишеться акуратно та грамотно українською мовою, з дотриманням всіх правил оформлення учбоваї документації.
Лабораторна робота № 1-2
Тема: Знайомство з інтегрованим середовищем мови програмування С. Введення, відлагодження та виконання програми простої структури.
Мета роботи: Ознайомитись з функціональними можливостями інтегрованого середовища мови C, навчитись вводити, відлагоджувати і виконувати програми простої структури, використовуючи засоби середовища C.
1 Короткі теоретичні відомості
Мова СІ створена в 1972 р. Денісом Річі при розробці ОС Unix. Вона проектувалася як інструмент системного програмування з орієнтацією на розробку добре структурованих програм. Мова поєднує в собі, з одного боку, засоби мови програмування високого рівня: опис типів даних, оператори for, while, if і т.ін., а з іншого боку, містить засоби мови типу Асемблер: адресну арифметику, можливість роботи з полями бітів і т.ін.
Структура програми. Програма мовою С має таку структуру:
#директиви препроцесора
. . . . . . . . .
#директиви препроцесора
функція а ( )
оператори
функція в ( )
оператори
void main ( ) { //функція, з якої починається виконання програми
оператори; функція { оператори;}
}
Директиви препроцесора - управляють перетворенням тексту програми до її компіляції. Початкова програма, підготована мовою СІ у вигляді текстового файлу проходить 3 етапи обробки:
препроцесорне перетворення тексту;
компіляція;
компонування (редагування зв'язків або зборка).
Після цих 3 етапів формується виконавчий машинний код програми. Завдання препроцесора - перетворення тексту програми до її компіляції. Правила препроцесорної обробки визначає програміст за допомогою директив препроцесора.
Директива починається з #. Наприклад,
1) #define - вказує правила заміни в тексті. #define ZERO 0.0
Означає, що кожне використання в програмі імені ZERO буде замінятися на 0.0.
2) #include< ім'я заголовкового файлу> - призначена для включення в текст програми тексту з каталогу «Заголовкових файлів», що надходять разом зі стандартними бібліотеками. Кожна бібліотечна функція СІ має відповідний опис в одному із заголовкових файлів. Список заголовкових файлів визначений стандартом мови. Вживання директиви include не підключає відповідну стандартну бібліотеку, а тільки дозволяє вставити в текст програми описи із зазначеного заголовкового файлу. Підключення кодів бібліотеки здійснюється на етапі компонування.. Хоча в заголовкових файлах містяться всі описи стандартних функцій, у код програми включаються тільки ті функції, які використовуються в програмі.
Після виконання препроцесорної обробки в тексті програми не залишається жодної препроцесорної директиви. Програма є набором описів і визначень, і складається з набору функцій. Серед цих функцій завжди повинна бути функція з ім’ям main. Без неї програма не може бути виконана. Перед ім'ям функції міститься інформація про тип значення, що повертається функцією, (тип результату). Якщо функція нічого не повертає, то вказується тип void: void main ( ). Кожна функція, у тому числі й main повинна мати набір параметрів, він може бути порожнім, тоді в дужках вказується (void).
За заголовком функції розташовується тіло функції. Тіло функції - це послідовність визначень, описів й виконавчих операторів, взятих у фігурні дужки. Кожне визначення, опис або оператор закінчується крапкою з комою.
Визначення - вводять об'єкти (об'єкт - це іменована область пам'яті, окремий випадок об'єкту - змінна), необхідні для представлення в програмі даних, що обробляються. Прикладом є
int y = 10 ; //іменована константа
float x ; //змінна
Описи - повідомляють компілятору про властивості й імена об'єктів і функцій, описаних в інших частинах програми.
Оператори - визначають дії програми на кожному кроці її виконання.
Константи й змінні. Константа - це значення, яке не може бути змінене в процесі виконання програми.
Змінні можна змінювати. При заданні значення змінної у відповідну їй область пам'яті записується код цього значення. Доступ до значення можливий через ім'я змінної, а доступ до ділянки пам'яті – через її адресу. Кожна змінна перед використанням у програмі повинна бути визначена, тобто їй повинна бути виділена пам'ять. Розмір ділянки пам'яті, виділеної для змінної й інтерпретація вмістимого залежать від типу, зазначеного у визначенні змінної. Найпростіша форма визначення змінних:
тип список_імен_змінних;
Основні типи даних. Основні типи даних наведено в таблиці.
Назва типу даних |
Ключове слово |
Розмір б |
Діапазон значень |
символьний |
char |
1 |
0. . 255 |
беззнаковий цілий |
unsigned int |
2 |
0. . 65535 |
короткий цілий |
short int |
2 |
-32768 . . 32767 |
беззнаковий короткий цілий |
unsigned short |
2 |
0. . 65535 |
цілий |
int |
2 |
-32768 . . 32767 |
беззнаковий довгий цілий |
unsigned long |
4 |
0. . 4294967295 |
довгий цілий |
long |
4 |
-214748348 . . 2147483647 |
дійсний одинарної точності |
float |
4 |
3.4Е-38 . . 3.4Е+38 |
дійсний подвійної точності |
double |
8 |
1.7Е-308 . . 1.7Е+308 |
дійсний максимальної точності |
long double |
10 |
3.4Е-4932 . . 1.1Е+4932 |
Відповідно до синтаксису мови змінні після визначення за замовчуванням мають невизначені значення. Змінним можна присвоювати початкові значення, явно вказуючи їх у визначеннях:
тип ім'я_змінної = початкове_значення;
Цей прийом називається ініціалізацією.
Приклади:
float pi = 3.14 , cc=1.3456;
unsigned int year = 1999;
Операції.
Унарні операції
-
++
збільшення на одиницю: (інкременту)
префіксна операція - збільшує операнд до його використання,
постфіксна операція збільшує операнд після його використання.
--
зменшення на одиницю: (декременту)
префіксна операція - зменшує операнд до його використання,
постфіксна операція зменшує операнд після його використання.
Бінарні операції.
-
+
бінарний плюс (додавання арифметичних операндів)
-
бінарний мінус (віднімання арифметичних операндів)
*
множення операндів арифметичного типу
/
ділення операндів арифметичного типу (якщо операнди цілочисельні, то виконується цілочисельне ділення)
%
отримання залишку від ділення цілочисельних операндів
Вирази. З констант, змінних, розділювачів і знаків операцій можна конструювати вирази. Кожен вираз складається з одного або декількох операндів, символів операцій й обмежувачів, в ролі яких зазвичай виступають квадратні дужки. Якщо вираз формує ціле або дійсне число, то це арифметичний вираз. В арифметичних виразах можливі операції: + - * / %.
Вирази мови С записуються з використанням множини операцій та з врахуванням їх пріоритетів
Ввід і вивід у мові С. Обмін даними із зовнішнім середовищем програма на стандартному СІ реалізує за допомогою бібліотеки функцій вводу-виводу
#include <stdіo.h>
printf ( <форматний рядок>,<список аргументів>);
<форматний рядок> - рядок символів, взятих в лапки, що показує, як повинні бути надруковані аргументи. Наприклад:
printf ( “Значення числа Пі дорівнює %f\n”, pi);
Форматний рядок може містити
символи, що будуть надруковані текстуально;
специфікації перетворення
керуючі символи.
Кожному аргументу відповідає своя специфікація перетворення:
%d - десяткове ціле число;
%f - число із плаваючою крапкою;
%c - символ;
%s - рядок.
\n - керуючий символ новий рядок.
2) scanf ( <форматний рядок>,<список аргументів>);
В ролі аргументів використовуються вказівники. Наприклад:
scanf(“ %d%f ”, &x,&y);