
- •Загальні методичні вказівки
- •Лабораторна робота № 1 Представлення в пам’яті комп’ютера даних цілих та дійсних типів
- •Тривалість роботи
- •Основні теоретичні положення
- •Порядок виконання роботи та методичні рекомендації щодо виконання роботи
- •Вимоги до оформлення звіту
- •Контрольні запитання
- •2. Знайти внутрішні представлення впк цілих та дійсних типів даних:
- •2.Індивідуальне завдання на лабораторну роботу
- •3.Алгоритм розв’язання задачі.
- •4.Система тестів
- •Лабораторна робота № 2 Перетворення типів даних
- •Вибір індивідуального завдання
- •Тривалість роботи
- •Основні теоретичні положення
- •Порядок виконання роботи та методичні рекомендації щодо виконання роботи
- •Вимоги до оформлення звіту
- •Контрольні запитання
- •Постановка задачі
- •3. Хід роботи Завдання 1
- •Завдання 2
- •4. Додаток
- •Лабораторна робота № 3 Структура даних стек
- •Вибір індивідуального завдання
- •Тривалість роботи
- •Основні теоретичні положення
- •Порядок виконання роботи та методичні рекомендації щодо виконання роботи
- •Вимоги до оформлення звіту
- •Контрольні запитання
- •Постановка задачі
- •3. Динаміка вмісту стеку(або масиву)
- •4. Алгоритм розв’язання задачі
- •5. Результати виконання програми
- •Лабораторна робота № 4 Структура даних черга
- •Вибір індивідуального завдання
- •Тривалість роботи
- •Теоретичні відомості
- •Порядок виконання роботи та методичні рекомендації щодо виконання роботи
- •Вимоги до оформлення звіту
- •Контрольні запитання
- •Постановка задачі
- •3. Динаміка вмісту черги(або деку)
- •4. Алгоритм розв’язання задачі
- •5. Результати виконання програми
- •Лабораторна робота № 5 Структура даних список
- •Вибір індивідуального завдання
- •Тривалість роботи
- •Основні теоретичні положення
- •Порядок виконання роботи та методичні рекомендації щодо виконання роботи
- •Вимоги до оформлення звіту
- •Контрольні запитання
- •2. Постановка задачі
- •3. Алгоритм розв’язання задачі.
- •4. Динаміка вмісту стеку.
- •Результати виконання програми
- •Лабораторна робота № 6 Методи сортування. Алгоритм вибірки
- •Індивідуальне завдання
- •Тривалість роботи
- •Основні теоретичні положення
- •Порядок виконання роботи та методичні рекомендації щодо виконання роботи
- •Вимоги до оформлення звіту
- •Контрольні запитання
- •2. Теоретичні відомості
- •Завдання:
- •Код програми
- •Лабораторна робота № 7 Методи сортування. Алгоритм бульбашки
- •Індивідуальне завдання
- •Тривалість роботи
- •Основні теоретичні положення
- •Порядок виконання роботи та методичні рекомендації щодо виконання роботи
- •Вимоги до оформлення звіту
- •Контрольні запитання
- •2. Теоретичні відомості
- •Завдання:
- •Перелік рекомендованих джерел
Вибір індивідуального завдання
Вибрати назви змінних для дослідження в завданні 2 згідно з варіантом з таблиці:
|
(місяць народження студента) % 4 |
||||
(день народження студента) % 4 |
|
0 |
1 |
2 |
3 |
0 |
v0 , w1 , v3 , w4 |
v1 , w2 , v4 , w5 |
v2 , w3 , v5 , w6 |
v3 , w4, v6 , w7 |
|
1 |
v4 , w5 , v7 , w8 |
v5 , w6 , v0, w1 |
v6 , w7 , v1 , w2 |
v7 , w0, v2 , w3 |
|
2 |
v0 , w2, v4, w7 |
v1 , w3 , v5 , w0 |
v2 , w4 , v6 , w1 |
v3 , w5, v7 , w2 |
|
3 |
v4 , w6 , v0 , w3 |
v5 , w7 , v1, w4 |
v6 , w0, v2 , w5 |
v7 , w1, v3 , w6 |
Тривалість роботи
Вхідний контроль, виконання лабораторної роботи, формування отриманих результатів у формі письмового звіту згідно завдання, аналіз результатів роботи та висновки, захист роботи виконуються протягом двох аудиторних занять.
Основні теоретичні положення
Компілятор мови С++ виконує автоматичне перетворення типів даних, особливо в математичних виразах, коли найчастіше цілочисельний тип перетворюється у тип з плаваючою комою, причому значення типу char та int в арифметичних виразах змішуються: кожний з таких символів автоматично перетворюється в ціле. Взагалі, якщо операнди мають різні типи, перед тим, як виконати операцію, молодший тип "підтягується" до старшого. Результат - старшого типу. Отже,
• char та short перетворюються в int;
• float перетворюється в double;
• якщо один з операндів long double, то і другий перетворюється в long double;
• інакше, якщо один з операндів long, тоді другий перетворюється відповідно до того ж типу, і результат буде long;
• інакше, якщо один з операндів unsigned, тоді другий перетворюється відповідно до того ж типу, і результат буде unsigned.
Приклад:
double ft, sd;
unsigned char ch;
unsigned long in;
int i;
/* ... */
sd = ft*(i+ch*in);
При виконанні оператора присвоювання в даному прикладі правила перетворення типів будуть використані наступним чином. Операнд ch перетворюється до unsigned int. Після цього він перетворюється до типу unsigned long. За цим же принципом і перетворюється до unsigned long і результат операції, що розміщена в круглих дужках буде мати тип unsigned long. Потім він перетворюється до типу double і результат всього виразу буде мати тип double.
Взагалі, тип результату кожної арифметичної операції виразу є тип того операнду, який має у відповідності більш високий тип приведення.
Але, окрім цього в С++, з'являється можливість і примусового перетворення типу, щоб дозволити явно конвертувати (перетворювати) значення одного типу даних в інший.