Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB_TO2.doc
Скачиваний:
18
Добавлен:
19.02.2016
Размер:
2.62 Mб
Скачать

Мета виконання лабораторно-практичних робіт

Метою виконання лабораторно-практичних робіт є здобуття студентами практичних навичок програмування мовою С для розв’язування задач та створення програмного забезпечення.

В результатi виконання лабораторно-практичних робіт студенти повиннi знати:

  • алфавіт мови, синтаксис, семантику та технологiю структурного програмування;

  • функціональні можливості мови програмування С;

  • функції стандартних бібліотек;

  • методи та алгоритми програмування типових задач;

вмiти:

  • розробляти модулі програм з використанням сучасних методів та ефективних алгоритмів засобами мови С;

  • виконувати модифікацію програм;

  • здійснювати відлагодження програм з метою виявлення та виправлення помилок;

  • створювати працюючі програми шляхом встановлення їх достовірності за допомогою тестування.

Порядок виконання лабораторно-практичних робіт

Для виконання лабораторно-практичних робіт необхідно:

  • використовуючи конспект лекцій та літературні джерела, вивчити теоретичний матеріал по тематиці роботи;

  • отримати допуск до роботи шляхом відповідей на контрольні запитання за темою лабораторної роботи;

  • написати програму мовою С згідно індивідуального завдання;

  • використовуючи засоби iнтегрованого середовища мови С, записати та відлагодити програму з метою виявлення синтаксичних посмилок;

  • запустити програму на виконання та записати отримані результати;

  • перевірити правильність виконання програми шляхом її тестування, при необхідності внести зміни у програму та виконати її повторний запуск;

  • оформити та захистити звіт про виконану роботу.

Оформлення звітів про виконання лабораторно-практичних робіт

Звіти про виконання лабораторно-прктичних робіт оформляються на бланках формату А4. Після завершення семестру звіти здаються викладачу. Кожен звіт повинен починатись з нової сторінки та містити такі розділи:

  • Номер роботи;

  • Тема роботи;

  • Мета виконання роботи;

  • Постановка задачі згідно індивідуального завдання

  • Текст програми мовою С розв’язку завдання. Програма повинна контролювати правильність введення вхідни даних та мати коментарі до її основних операторів;

  • Результати роботи програми;

  • Пояснення отриманих результатів і аналіз їх правильності;

  • Відповіді на контрольні запитання;

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

Звіт пишеться акуратно та грамотно українською мовою, з дотриманням всіх правил оформлення учбоваї документації.

Лабораторна робота № 1-2

Тема: Знайомство з інтегрованим середовищем мови програмування С. Введення, відлагодження та виконання програми простої структури.

Мета роботи: Ознайомитись з функціональними можливостями інтегрованого середовища мови C, навчитись вводити, відлагоджувати і виконувати програми простої структури, використовуючи засоби середовища C.

1 Короткі теоретичні відомості

Мова СІ створена в 1972 р. Денісом Річі при розробці ОС Unix. Вона проектувалася як інструмент системного програмування з орієнтацією на розробку добре структурованих програм. Мова поєднує в собі, з одного боку, засоби мови програмування високого рівня: опис типів даних, оператори for, while, if і т.ін., а з іншого боку, містить засоби мови типу Асемблер: адресну арифметику, можливість роботи з полями бітів і т.ін.

Структура програми. Програма мовою С має таку структуру:

#директиви препроцесора

. . . . . . . . .

#директиви препроцесора

функція а ( )

оператори

функція в ( )

оператори

void main ( ) { //функція, з якої починається виконання програми

оператори; функція { оператори;}

}

Директиви препроцесора - управляють перетворенням тексту програми до її компіляції. Початкова програма, підготована мовою СІ у вигляді текстового файлу проходить 3 етапи обробки:

  1. препроцесорне перетворення тексту;

  2. компіляція;

  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>

  1. printf ( <форматний рядок>,<список аргументів>);

<форматний рядок> - рядок символів, взятих в лапки, що показує, як повинні бути надруковані аргументи. Наприклад:

printf ( “Значення числа Пі дорівнює %f\n”, pi);

Форматний рядок може містити

  1. символи, що будуть надруковані текстуально;

  2. специфікації перетворення

  3. керуючі символи.

Кожному аргументу відповідає своя специфікація перетворення:

%d - десяткове ціле число;

%f - число із плаваючою крапкою;

%c - символ;

%s - рядок.

\n - керуючий символ новий рядок.

2) scanf ( <форматний рядок>,<список аргументів>);

В ролі аргументів використовуються вказівники. Наприклад:

scanf(“ %d%f ”, &x,&y);

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