- •З дисципліни “Системне програмування”
- •Мета виконання лабораторно-практичних робіт
- •Порядок виконання лабораторно-практичних робіт
- •Оформлення звітів про виконання лабораторно-практичних робіт
- •Лабораторна робота № 1
- •1 Короткі теоретичні відомості
- •1.4 Основні типи даних. Основні типи даних наведено в таблиці.
- •1.5 Операції.
- •Int printf (фороматний рядок, [, argument, ...]);
- •2 Питання вхідного контролю
- •3 Постановка завдання
- •4 Варіанти індивідуальних завдань
- •5 Методичні вказівки
- •6 Приклад розв’язку завдання
- •7 Питання вихідного контролю
- •Лабораторна робота № 2
- •1 Короткі теоретичні відомості Умовний оператор if. Уморвний оператор – це оператор, який виконується в залежності від виконання деякої умови.
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 3
- •Оператор циклу while. Цикл while – це ітераційний цикл із передумовою. Це оператор циклу, який працює до тих пір, поки деяка умова буде істинною.
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 4
- •1 Короткі теоретичні відомості
- •1.2 Опис масивів. Ім’я масиву це звичайний ідентифікатор. Він має бути унікальним, за ним іде розмірність. Розмір масиву може бути як літеральна константа, так і символьна.
- •Int array[a];
- •Int array[12];
- •Int array[a];
- •1.5 Одновимірні масиви. Одномірні масиви. Одномірний масив має один індекс.. Індекс – це номер в квадратних дужках після імені масиву.
- •2 Питання вхідного контролю
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад розв’язку завдання
- •5 Питання вихідного контролю
- •Лабораторна робота № 5
- •1 Короткі теоретичні відомості
- •2 Постановка завдання.
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Контрольні запитання
- •Лабораторна робота № 6
- •1 Короткі теоретичні відомості
- •2 Питання вхідного контролю
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад розв’язку завдання
- •6 Питання вихідного контролю
- •Лабораторна робота № 7
- •1 Короткі теоретичні відомості
- •Int putchar(int c);
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 8
- •1 Короткі теоретичні відомості
- •2 Постановка задачі
- •3 Варіанти індивідуальних завдань
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 9
- •1 Короткі теоретичні відомості
- •2 Питання вхідного контролю
- •3 Постановка завдання
- •4 Варіанти індивідуальних завдань
- •5 Методичні вказівки
- •6 Приклад розв’язку завдання
- •7 Питання вихідного контролю
- •Лабораторна робота № 10
- •1 Короткі теоретичні відомості
- •2 Питання вхідного контролю
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад розв’язку завдання
- •6 Питання вихідного контролю
- •Лабораторна робота № 11
- •1 Короткі теоретичні відомості
- •2 Питання вхідного контролю
- •3 Постановка завдання
- •4 Варіанти індивідуальних завдань
- •5 Методичні вказівки
- •6 Приклад розв’язку завдання
- •7 Питання вихідного контролю
- •Практична робота № 1
- •1 Короткі теоретичні відомості
- •1.1 Умовний оператор if. Уморвний оператор – це оператор, який виконується в залежності від виконання деякої умови.
- •Оператор виконує наступні дії:
- •Приклад: Написати програму, яка виводить на екран числа від 1 до 7.
- •Оператор while виконує наступні дії:
- •Приклад: Вивести на екран додатні числа менші від 10.
- •Оператор виконує наступні дії:
- •2 Питання вхідного контролю
- •3 Постановка завдання на використання оператора switch
- •4 Варіанти індивідуальних завдань на використання оператора switch
- •5 Варіанти індивідуальних завдань на оператори циклів
- •6 Методичні вказівки
- •7 Приклад розв’язку завдання
- •8 Питання вихідного контролю
- •Практична робота № 2
- •1 Короткі теоретичні відомості
- •Void func( ) /*нічого не повертає*/
- •2 Варіанти індивідуальних завдань:
- •3 Методичні вказівки
- •4 Приклад виконання практичної роботи
- •5 Контрольні запитання
- •Практична робота № 3
- •1 Короткі теоретичні відомості
- •Int putchar(int c);
- •2 Питання вхідного контролю
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад розв’язку завдання
- •6 Питання вихідного контролю
- •Практична робота № 4
- •1 Короткі теоретичні відомості
- •2 Питання вхідного контролю
- •3 Постановка завдання
- •4 Варіанти індивідуальних завдань
- •5 Методичні вказівки
- •6 Приклад розв’язку завдання
- •7 Питання вихідного контролю
- •Список рекомендованої літератури
3 Методичні вказівки
Перед написанням програми ще раз переглянути теоретичний матеріал і приклади програм, що ілюструють особливості обробки символьної інформації у С-програмах. Окрему увагу звернути на способи задання рядків.
Для роботи з бібліотечними функціями для обробки символьної інформації підключити бібліотечний файл string.h.
Уважно прочитати умову задачі індивідуального завдання, продумати алгоритм її розв'язку, вибрати потрібну бібліотечну функцію для роботи з символьними рядками.
Відкомпілювати програму і виконати її. Зафіксувати результати кожної реалізації.
Оформити звіт з лабораторної роботи, дотримуючись вимог щодо його змісту.
4 Контрольні запитання
Що називається символом?
Що таке рядок в мові С?
Чи потрібно описувати символи?
Як вивести на екран числові коди символів F, G, <, g, ?
Що називається символьною константою?
Як задаються символьні змінні?
Чи можна задавати символьні змінні при описі?
За допомогою якої функції вводяться рядки з клавіатури?
Який синтаксис функції puts()?
За допомогою якої функції виводяться рядки на екран?
За допомогою якої функції вводяться символи з клавіатури?
За допомогою якої функції виводяться символи на екран?
Лабораторна робота № 8
Тема: Складання програм на використання структур даних
Мета роботи: Вивчити способи опису і ініціалізації структур та масивів структур та здобути практичні навики роботи з ними.
1 Короткі теоретичні відомості
Структури це складні конструкції даних на мові С. Структура являє собою нестандартний об’єкт для зберігання різних даних.
Прості структури. Опис і визначення структур. Структура - це сукупність декількох змінних під одним іменем., які розглядаються як одне ціле. На відміну від масивів змінні в структурах можуть мати різні типи. Змінні в структурі називаються її членами або полями. Структури можуть містити дані будь-яких типів, в тому числі масиви і інші структури.
Наприклад, координати точки містять горизонтальну і вертикальну складові, тому
Struct coord
{ int x;
iny y; }
Ключове слово Struct вказує початок визначення структури. За ним іде ім’я структури., його ще називають іменем структурованого типу, або міткою. Після мітки йде відкриваюча душка, після неї список змінних, полів структури. Кожний елемент структури повинен бути описаний зі своїм іменем і типом. В наведеному прикладі структура coord містить два цілочисельні поля. Опис структури ще не створює об’єкта-структури або її змінних, тобто при цьому не виділяється пам’ять для фактичної структури. Описати структуру фактично можна двома способами
Список імен змінних ставиться після визначення структури
Struct coord
{ int x;
iny y; } x1, y1;
В цьому операторі визначається структурний тип coord і описуються дві структури цього типу x1, y1. Ці дві структури є екземплярами типу coord - кожна з них містьть дві цілочисельні змінні x і y. При такому способі визначення структурного типу суміщається з описом його екземплярів.
Опис екземплярів поміщається окремо від визначення типу. Приклад
Struct coord
{ int x;
iny y; }
оператори;
Struct coord x1, y1;
Звернення до полів структури. Окремі елементи структури можуть використовуватися як прості змінні. Щоб одержати їх значення з структури, використовується знак операції звернення до елементів структури. (.). , який являє собою крапку між іменем структури і іменем елемента поля. Щоб структура x1 містила координати x=50 і y=100, треба записати.
x1.x=50;
x1.y=100;
Вивід елементів структури y1:
printf(«
%d, %d», y1.x, y1.y);
Перевага структур та, що копіювати інформацію з одної структури в іншу можна простим присвоюванням.
х1=y1; Цей оператор еквівалентний двом операторам
x1.x=y1.x; x1.y=y1.y;
Якщо в програмі використовуються складні структури з великою кількістю елементів, то такий запис може зекономити багато часу і місця. Приклад програми
#include <stdio.h>
#include <stdlib.h>
int length, width;
long area;
struct coord{
int x; /* Тіло структури*/
int y;
} k /*описаний екземпляр структури coord - змінна k типу структури */;
void main(){
k.x = 12;
k.y = 15;
printf("\Координати точки : (%d, %d).",
k.x, k.y); }
/* Результат Координати точки : (12, 14). */
Це можна було записати
struct coord k;
Ключове слово struct. (синтаксис).
Struct мітка {
елементи структури;
/* Додаткові оператори */
} екземпляр;
З допомогою ключового слова struct визначаються структурні типи і описуються структури. Елементами структури є прості змінні, вказівники і інші структури.
Приклад 1.
/*Визначення шаблону структури під іменем s1*/
struct s1 {
int a1;
char a2;
short a3;
int a4; }
/* Використання шаблону для опису структури nst1*/
struct s1 nst1;