- •1.1.2 Структура функцій програми
- •1.1.3 Правила синтаксису
- •1.1.4. Типи даних
- •1.1.5. Функції введення та виведення даних
- •1.2 Приклад програми Умова задачі
- •Особливості використання функцій вводу та виводу
- •1.3 Технологія виконання лабораторної роботи
- •1.4. Варіанти завдань
- •1.5 Контрольні запитання
- •Розгалужені обчислювальні процеси Лабораторна робота 2
- •2.1 Теоретичні відомості
- •2.1.1. Вибір із двох альтернатив
- •2.1.2. Вкладеність конструкцій вибору
- •2.1.3. Операторний блок
- •2.1.4. Поліваріантний вибір
- •2.2. Приклади програм
- •2.3. Варіанти завдань
- •2.4 Контрольні запитання
- •Циклічні обчислювальні процеси Лабораторна робота 3
- •3.1 Теоретичні відомості
- •3.1.1. Цикл із передумовою
- •3.1.2. Цикл із постумовою
- •3.1.3. Цикл із лічильником
- •3.1.4. Переривання та продовження циклу
- •3.2. Приклад алгоритму та програми
- •3.3. Варіанти завдань
- •3.4 Контрольні запитання
- •Цикли з розгалуженням Лабораторна робота 4
- •4.1 Теоретичні відомості
- •4.1.1. Рекурентні співвідношення
- •4.1.2. Функції користувача
- •4.2. Приклад алгоритму та програми
- •Алгоритм задачі
- •Код програми
- •4.3. Варіанти завдань
- •4.4 Контрольні запитання
- •Рекурсивні функції Лабораторна робота 5
- •5.1 Теоретичні відомості
- •5.2. Приклад алгоритму та програми
- •5.3. Варіанти завдань
- •6.1.2. Оголошення та ініціалізація
- •6.1.3. Операції над покажчиками
- •6.1.4. Методи розв’язанні нелінійних рівнянь
- •6.2. Приклад алгоритму та програми
- •6.3. Варіанти завдань
- •6.4 Контрольні запитання
- •Одновимірні масиви Лабораторна робота 7
- •7.1 Теоретичні відомості
- •7.2. Приклад алгоритму та програми
- •Алгоритм програми
- •Код програми
- •7.3. Варіанти завдань
- •7.4 Контрольні запитання
- •Багатовимірні масиви Лабораторна робота 8
- •8.1 Теоретичні відомості
- •8.1.1. Оголошення багатовимірних масивів. Доступ до елементів
- •8.1.2. Базові операції обробки двовимірних масивів
- •8.2. Приклад алгоритму та програми
- •8.3. Варіанти завдань
- •9.1.2. Деякі функції обробки рядків
- •9.2. Приклад алгоритму та програми
- •9.3. Варіанти завдань
- •9.4 Контрольні запитання
- •Структури та масиви структур Лабораторна робота 10
- •10.1 Теоретичні відомості
- •10.2. Приклад алгоритму та програми
- •Алгоритм задачі
- •Приклад коду
- •10.3. Варіанти завдань
- •10.4 Контрольні запитання
9.4 Контрольні запитання
-
Чим відрізняється поточна довжина рядка від його загальної довжини?
-
Як позначається кінець рядка?
-
Як ініціалізувати рядок під час його оголошення?
-
Як здійснити доступ до елемента рядка?
-
Як увести та вивести рядок?
-
Які бібліотечні функції визначені для змінних рядкового типу?
-
Чи можна виконати операції присвоєння рядків?
-
Як реалізуються операції порівняння рядків?
-
У чому особливість застосування функції розкладання рядка на лексеми?
Структури та масиви структур Лабораторна робота 10
10.1 Теоретичні відомості
Структура - це тип даних користувача, який об'єднує дані різних типів. Елементами структури можуть бути дані будь-якого типу. Елементи структури називаються полями.
Оголошення структури задається у такому вигляді:
struct ім'я_типу_структури
{
тип ім'я_змінної;
тип ім'я_змінної;
................ ;
};
Оголошення структури обов'язково закінчується фігурною дужкою }, після якої ставиться крапка з комою.
Оголошення структурного типу не резервує жодного простору в пам'яті, тільки створює новий тип даних, який використовується у процесі оголошенні змінних. Пам'ять для структури резервуватиметься під час оголошення змінної. Для визначення обсягу пам'яті, який резервується для змінної структурного типу, використовується операція sizeof(ім'я_типу_структури).
Структурна змінна оголошується як будь-яка змінна через ім'я або покажчик на тип:
ім'я_типу_структури ім'я_змінної;
ім'я_типу_структури *ім'я_покажчика;
Доступ до елемента структури здійснюється через складене ім'я, яке утворюється за допомогою операції точки через ім'я об'єкта чи посилан-ня:
ім'я_змінної_типу_структури.ім'я_поля_структури
Якщо задано покажчик на структурний тип, то для доступу до елемента структури використовується складене ім'я, яке утворюється за допомогою операції стрілка:
ім'я_покажчика_на_тип_структури -> ім'я_поля_структури
У будь-якій функції можна оголошувати структурну змінну, але оголошення типу структури треба подати як глобальне на початку програми.
Приклад:
#include <iostream>
struct anketa //структурний тип
{
char fio[20]; //поля структури
int year_birth;
float salary;
};
void main(){
anketa student, *pointer_student;
pointer_student = &student;
cin >> student.fio;
cin >> pointer_student-> salary ;
cout << student.fio;
cout << pointer_student->salary ;
}
Структурній змінній можна присвоїти значення іншої структурної змінної, можна передавати як параметри у функцію і повертати в основну програму як результат роботи функції над полями структури. Попередньо оголошений покажчик на структурну змінну передається у функцію під час її виклику, щоб не створювати копії основного об'єкта.
Якщо у функцію передається покажчик на структурну змінну, то у процесі виклику функції параметр замінюється на аргумент, значенням якого є адреса структурної змінної: &ім'я_структурної_змінної
Якщо параметром є структура, то під час виклику функції аргументом є ім'я структурної змінної.
Структурні змінні можна об'єднувати у масиви, кожний елемент якого - це структурна змінна.Оголошення масиву структур:
ім'я_типу_структури ім'я_масиву_структур[кількість елементів];
Доступ до поля масиву структур здійснюється за допомогою індекса елемента: ім'я_масиву_структур[індекс].ім'я_поля
Якщо у функцію передається покажчик на масив структур, то він ініціалізується значенням нульового елемента масиву:
ім'я_типу_структури *ім'я_покажчика; //оголошення покажчика
ім'я_покажчика = &ім'я_масиву_структур[0];