- •Лабораторна робота №1
- •Теоретичні відомості
- •Завдання для виконання
- •Int main()
- •Int main()
- •Лабораторна робота №2
- •Теоретичні відомості
- •Void main()
- •Int k,m; //опис змінних
- •Void main()
- •Int k,m; //опис змінних
- •Void main()
- •Int k,m; //опис змінних
- •Void main()
- •Int k,m; //опис змінних
- •Void main()
- •Завдання для виконання
- •Лабораторна робота №3
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main()
- •Void main()
- •Int main()
- •Завдання для виконання
- •Лабораторна робота №4
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main ( )
- •Void main ( )
- •Завдання для виконання
- •Лабораторна робота №5
- •Теоретичні відомості
- •Void main()
- •Void main()
- •Приклади виконання завдання
- •Void main ( )
- •Void main ( )
- •Завдання для виконання
- •Лабораторна робота №6
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main ( )
- •Void main ( )
- •Void main ( )
- •Завдання для виконання
- •Лабораторна робота №7
- •Теоретичні відомості
- •Void fact(int k);
- •Void fact(k);
- •Int *I; //Вказівник - змінна на дані типу int
- •Int k, *vk; //Опис змінної - вказівника *vk
- •Приклади виконання завдання лабораторної роботи
- •Int fact(int n)// Функція, що обчислює n!
- •Void dryk(int Cnm) /* Функція, що виводить на екран значення Cnm */
- •Void main ( )
- •Int Factorial(int n) /*Рекурсивна функція,що обчислює n! */
- •Void main()
- •Void Vs(double &V, double &s, double r)
- •Void main ( )
- •Void Vs(double *V, double *s, double r)
- •Void main ( )
- •Void main()
- •Завдання для виконання
- •Лабораторна робота №8
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main()
- •Void main()
- •Void main()
- •Завдання для виконання
- •Лабораторна робота №9
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void main()
- •If (!feof(f1))
- •Void main()
- •Void main()
- •Void main()
- •Void main ()
- •Void main ()
- •Ifstream in( "vvid" );
- •In.Close();
- •Завдання для виконання
- •Лабораторна робота №10
- •Теоретичні відомості
- •Char st[40]
- •Char st3[100]
- •Char str4[100]
- •Приклади виконання завдання
- •Void main()
- •Void insert (char *str, int p, char c)
- •Void main()
- •Insert(s,n,c);
- •Void main()
- •Завдання для виконання
- •Лабораторна робота 11
- •Теоретичні відомості
- •If(!strcmp(ms[I].Ngr,"m21"))
- •Завдання для виконання
- •Приклади виконання завдання
- •Void main()
- •Лабораторна робота 12
- •Теоретичні відомості
- •Void show_complex() /*вивід комплекснеого числа на екран */
- •Void show_complex();
- •Void complex::show_complex()
- •Void main()
- •Приклади виконання завдання
- •Завдання для виконання
- •Лабораторна робота 13
- •Теоретичні відомості
- •Приклади виконання завдання
- •Void operator --();
- •Void operator --(int);
- •Void show_complex();
- •Завдання для виконання
- •Завдання для самостійного виконання
- •Додаток №2. Базові типи даних
- •Додаток №3. Основні специфікатори формату функції printf
- •Додаток №5. Основні математичні функції бібліотеки math.H
- •Додаток №6.
- •Додаток №7. Можливі специфікатори аргументу mode
- •Додаток №8. Основні функції для роботи із рядковими змінними бібліотеки string.H
- •Додаток №9. Основні функції для роботи із символами бібліотеки ctype.H
- •Література
- •Ткачук Валерій Михайлович
- •Лабораторний практикум
- •76000, М. Івано-Франківськ, вул. С. Бандери, 1
Лабораторна робота 11
Тема роботи: Програмування з використанням структур
Мета роботи: Формування навиків роботи із структурами та розробка алгоритмів їх обробки
Для виконання роботи необхідно знати:
оголошення структур;
використання структурованих даних;
алгоритми обробки структурованих даних;
доступ до полів структури;
масиви структур.
Теоретичні відомості
Структура – це складений тип даних, в якому під одним іменем об’єднано дані різного типу. Окремі дані структури називають полями. Оголошення структурного типу даних виконують за допомогою ключового слова struct за наступним синтаксисом:
struct <імя>
{
Тип_елементу_1 імя_елементу_1;
Тип_елементу_2 імя_елементу_2;
. . .
Тип_елементу_n імя_елементу_n;
};
де:
<імя> - імя структурного типу даних.
Оголошення структури є оператором, тому в кінці її опису обов’язково повинна стояти крапка з комою.
На відміну від інших типів даних опис структури не виділяє місця у пам’яті під збереження елементів структури. Опис визначає лише шаблон, що задає характеристики змінних структури. Для введення змінних типу структура необхідно або після фігурної дужки, що завершує опис структури, вказати список відповідних ідентифікаторів структури, або окремо оголосити змінну як це звичайно робиться. При цьому структурою може бути як звичайна змінна, так і будь-який масив (масив структур) Наприклад:
Оголошення структури date та опис структурних змінних:
// Оголошення структури
struct date {
int day ;
int month ;
int year;
char day_name[15];
char mon_name[14];
}
// Опис структурних змінних
den,dat[100],*sp;
Оголошення структури date та окреме оголошення структурних змінних:
// Оголошення структури
struct date {
int day ;
int month ;
int year;
char day_name[15];
char mon_name[14];
}
. . . .
. . . .
// Опис структурних змінних
date den,dat[100],*sp;
Правила роботи із полями структури аналогічні роботі із змінними відповідного типу. До полів структури можна звертатися через складене ім’я згідно наступного формату:
прямий селектор :
Імя_структури.імя_поля.
Наприклад: доступ до другого поля (month) другого елементу масиву структури date:
dat[1].month=9
доступ до третього поля структури den:
den.year =2011
непрямий селектор:
Вказівник_на_структуру ->імя_поля
Наприклад доступ до другого поля (month):
Sp-> month=9
Для змінних одного і того ж самого структурного типу визначено операцію присвоєння. При цьому виконується копіювання значень відповідних полів: наприклад (для описаної вище структури):
den = dat[1]
Для порівняння двох структур необхідно порівняти відповідні поля цих структур. Обробка структурних даних в цілому аналогічна обробці масивів даних. При цьому тільки необхідно враховувати, що у різних полях структури можуть знаходяться дані різного типу.
Змінна структурного типу може бути як глобальною, так і локальною. Допустимим є використання структури чи її окремих полів як параметра функції. Можна також використовувати вказівники на структуру.
