Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сука лаби.docx
Скачиваний:
17
Добавлен:
12.05.2015
Размер:
848.39 Кб
Скачать

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

А.При пiдготовцi:

Створити програму для вивчення взаємних перетворень базових типiв, у якiй:

1.iз наперед створеного файлу А.DAT читаються початковi значення таких простих змiнних:

unsigned char x1 ; signed char x2 ;

unsigned short x3; signed short x4 ;

unsigned long x5 ; signed long x6 ;

float x7 ; double x8 ; long double x9 ;

2. об’являються додаткові прості змінні :

unsigned char x11 ; signed char x21 ;

unsigned short x31; signed short x41 ;

unsigned long x51 ; signed long x61;

float x71 ; double x81; long double x91 ;

3.виконуються послідовно такi оператори присвоювання:

x81 = x9; x71 = x9; x51 = x7; x41 = x5; x11 = x4; x21 = x5;

x31 = x2; x61 = x41; x9 = x6; x3 = x7; x4 = x8; x5 = x2;

x7 = x8; x8 = x2; x2 = x1; x1 = x6; x6 = x31;

4.пiсля кожного оператора присвоювання органiзується виведення результату на екран та у файл T.DAT , як наприклад для x81=x9;

на екран

cout <<" \n double x81="<<x81<<" вiд long double x9="<<x9;

Це дае можливiсть легко зробити належнi висновки.

ПРИМIТКИ

Cпочатку значення змiнних Xi вибирати близькими до iх найбiльш можливих значень,наприклад, х1 = 250 , х7 = 1.5е36.

В.У лабораторii:

1.Cтворити файл A.DAT та зафiксувати у ньому пiдготовленi початковi значення змiнних.

2.Ввести програму у ПК .Змiнювати початковi значення змiнних для отримання рiзних випадкiв перетворення типiв та для успiшного завершення програми.

Змiст звiту:

1.Програма.

2.Результати виконання з поясненнями перетворення типiв.

3.Висновки по роботi.

Додаток

Приклад програми (файл lab3.cpp)

#include <iostream.h>

#include <fstream.h> //б-ка введення/виведення ( файли )

#include <conio.h>

int main()

{

//опис типів змінних

unsigned char x1, x11;

signed char x2, x21;

unsigned short x3, x31;

signed short x4, x41;

unsigned long x5, x51;

signed long x6, x61;

float x7, x71;

double x8, x81;

long double x9, x91;

//встановлення файлів для читання та запису

ifstream IN("l:\\A.dat"); //об'ява файлу A.dat для читання

ofstream OUT("l:\\T.dat", ios::app);//об'ява файлу T.dat для запису

clrscr(); //очищення екрану

// читання значень змінних через буфер IN із файлу A.dat

IN>>x1>>x2>>x3>>x4>>x5>>x6>>x7>>x8>>x9; //читання

IN.close(); //закриття файлу

//виведення введених значень змiнних на екран

cout.precision(20); //точнiсть - кiлькiсть розрядiв пiсля крапки

cout<< "x1="<<x1<<" x2="<<x2<<" x3="<<x3<<" x4="<<x4;

cout<< "\n x5="<<x5<<" x6="<<x6<<" x7="<<x7<<"\n x8="<<x8<<" x9="<<x9<<endl;

//місце для вставки потрібних операторів

// приклад

//результати перетворення типів даних

x81 = x9;

cout << "\n double x81=" << x81<< " from long double x9=" << x9;

OUT << "\n double x81=" << x81<< " from long double x9=" << x9;

x71 = x9;

cout << "\n\n float x71=" <<x71<< " from long double x9=" << x9; OUT << "\n double x71=" << x71<< " from long double x9=" << x9;

x41 = x5;

cout << "\n\n signed short x41=" << x41<< " from unsigned long x5="<<x5;

OUT << "\n\n signed short x41=" <<x41<< “ from unsigned long x5="<<x5;

//завантаження результатів із буфера OUT у файл T.dat

OUT.close(); //закриття файлу

getch(); return 0;

}

Додаток

(деякі міркування щодо перетворення типів у виразах присвоювання)

1.Тип зі знаком  тип без знака == від’ємні значення стають додатними

2. short (int) àchar == відкидання старших бітів ,зміна значення

à long == збереження значення , зміна формату

à unsigned short == зміна від’ємного значення

à unsigned long == зміна від’ємного значення, зміна формату

à float == зміна формату

à double == зміна формату .

3. unsigned short à char == зміна значення

à short == зміна значення ,якщо 1 у 15-ому розряді

à long == без зміни значення , зміна формату

à unsigned long == без зміни значення , зміна формату

à float == без зміни значення , зміна формату

à double == без зміни значення , зміна формату

4. long à char == зміна значення , зміна формату

à short == зміна значень , які >32767 або <-32768

à unsigned short == зміна значень

à unsigned long == від’ємні значення стають додатними

à float == зміна формату , можлива втрата точності

à double == + зміна формату

5. float à short == зміна значення (переповнення) ,втрата дробової частини та точності

à long == зміна значення (переповнення) ,втрата дробової частини

à unsigned short == зміна значення (переповнення) ,втрата дробової частини та точності , від’ємні значення стають додатними

à unsigned long == зміна значення (переповнення) ,втрата дробової частини та точності, від’ємні значення стають додатними

àdouble == зміна формату

6. double àshort == зміна значення (переповнення) ,втрата дробової частини та точності

àunsigned short == зміна значення (переповнення) ,втрата дробової частини та точності , від’ємні значення стають додатними

à long == зміна значення (переповнення) ,втрата дробової частини

à unsigned long == зміна значення (переповнення) ,втрата дробової частини та точності , від’ємні значення стають додатними

àfloat == зміна значень (переповнення) ,які > 1038 або <10-38 , втрата точності

Лабораторна робота №4.

СТВОРЕННЯ ТАБЛИЦІ ФУНКЦІЇ

Мета роботи: вивчення створення таблиць з використанням символів псевдографіки та виведення у них значень функцій та їх аргументів.