Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab-2_2012_changedNew_1.doc
Скачиваний:
2
Добавлен:
21.11.2019
Размер:
142.85 Кб
Скачать

Міністерство освіти І науки України

національний університет “Львівська політехніка”

Кафедра ЕОМ

"Перетворення типів даних"

Методичні вказівки

До лабораторної роботи № 2 з дисципліни

" Програмування. Частина III.

Структури даних та алгоритми "

для студентів напряму

6.050102 “Комп’ютерна інженерія”

Затверджено

на засідання кафедри

Електронні обчислювальні машини”.

Протокол № __ від ________ 2012 р.

Львів – 2012

Методичні вказівки до лабораторної роботи "Перетворення типів даних" з дисципліни “Програмування. Частина IIІ. Структури даних та алгоритми" для підготовки студентів напряму 6.050102 “Комп’ютерна інженерія” / Укл. Т.А.Матвейчук, Л.О.Цигилик – Львів: Видавництво НУ “Львівська політехніка”, 2012 – 9 с.

Укладач: Матвейчук Т.А., ст. викладач каф.ЕОМ

Цигилик Л.О., асистент каф.ЕОМ

Відповідальний

за випуск: Мельник А.О., д-р техн. наук, проф.

Рецензенти: Мороз І.В., ст. викладач каф.ЕОМ

1. Мета роботи

Дослідження методів та засобів явного і неявного перетворення типів даних.

2. Теоретичні відомості

Компілятор мови С++ виконує автоматичне перетворення типів даних, особливо в математичних виразах, коли найчастіше цілочисельний тип перетворюється у тип з плаваючою комою, причому значення типу 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.

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

Але, окрім цього в С++, з'являється можливість і примусового перетворення типу, щоб дозволити явно конвертувати (перетворювати) значення одного типу даних в інший.

3. Порядок виконання роботи

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

2. Згідно з індивідуальним завданням розробити алгоритм розв’язання задачі.

3. Підготувати програмну реалізацію розробленого алгоритму. Засобами вбудованого тексто-вого редактора інтегрованого середовища набрати текст підготовленої програми. Відкомпілювати, налагодити та виконати програму.

4. Протестувати програму згідно зі складеною системою тестів і, при потребі, відкоректувати текст програми. Проаналізувати отримані результати.

5. Написати контрольне опитування по темі.

6. Оформити звіт по роботі.

Без підготовкі до лабораторної роботи (програмної реалізації розробленого алгоритму) студент до роботи не допускається.

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