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

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

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

1.Ознайомитися із засобами виведення на екран символів за їх кодами та особливостями виведення значень змінних (Додаток).

2.Створити програму , у якій для вибраної самостійно функції y = f(x) обчислити послідовність її значень в залежності від зміни аргументу х від xstart до xend із кроком dx (x = xstart + i* dx , i =0 …n-1 , n – кількість відліків , n = (xend – xstart)/dx +1 ) або для заданої кількості відліків n (dx=(xend- xstart)/(n – 1) ) та записати у створену за допомогою псевдографіки таблицю з трьома колонками: номер відліку , значення аргументу , значення функції (необхідні дані для побудови нижче у таблиці).

3.Підготувати проект звіту.

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

1.Виконати підготовлену програму .

2.У системі Mathcad 14 вивести на екран таблицю функції та порівняти результати обох таблиць.

Змiст звiту:

1.Програма.

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

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

Таблиця даних для побудови таблиці функції

Варіант

Ширина колонки (символів)

Варіант

Ширина колонки (символів)

"номер відліку"

"аргумент"

"значення функції"

"номер відліку”

"аргумент"

"значення функції"

1

5

20

25

2

8

23

23

3

7

24

29

4

12

26

27

5

5

18

21

6

6

25

25

7

10

27

24

8

6

29

26

9

3

22

28

10

7

21

21

11

4

21

21

12

9

24

24

13

7

29

19

14

4

28

28

15

5

26

23

16

11

22

26

17

6

24

24

18

5

21

25

19

11

28

28

20

9

23

29

21

7

21

22

22

4

27

22

23

5

19

20

24

9

25

23

25

9

23

22

26

8

26

27

27

8

24

24

28

7

25

25

29

4

24

25

30

5

26

26

Виведення таблиці функції у Mathcad

1.Створення послідовності значень аргументу функції

Введіть ім’я аргументу (x) ,натисніть „ : ” ( x:= ) ,введіть початкове значення x (x:=1,) , введіть наступне значення (різниця цих значень створює крок зміни аргументу ( x:=1,1.1) ,натисніть „ ; „ або m..n на табло Matrix

( x:=1,1.1..) , введіть кінцеве значення аргументу x ( x:=1,1.1..2 ) і натисніть Enter.

Можлива така послідовність дій для прикладу у дужках :

Введіть xstart:=1 Enter xnext:=1.1 Enter xend:=2 Enter

x:=xstart,xnext..xend Enter

2. Створення функції

Введіть ім’я функції зі списком аргументів у дужках ( function(z) ) , натисніть „ : ” (function(z):= ) , введіть вираз – тіло функції

( function(z):=z*sin(z) ) і натисніть Enter.

3. Виведення таблиці функції

введіть x= (на екрані колонка значень x ) ,

введіть function(x)= (на екрані колонка значень функції )

function (z) = z*sin(z)

x:=1,1.1..2

Додаток

Виведення таблиць функцій

Використовуючи символи псевдографіки ,можна створити таблицю для виведення графіка функції ( див. таблицю кодів символів ).

Програма виведення таблиці на екран комп’ютера мовою С

(файл table1.c)

#include <stdio.h>

#include <conio.h>

#include <math.h>

int main()

{

int x , y; float z, w; clrscr();

// виведення заголовка таблиці

printf("┌─────────┬─────────┐\n");

printf("│ Z │ SIN(W) │\n");

printf("├─────────┼─────────┤\n");

// розрахунок значень функції

for(z = 0; z < 2.3; z += 0.3)

{

w = sin(z);

// виведення поточного значення функції

printf("│ %5.3f │ %5.2f │\n",z,w);

}

// закриття таблиці

printf("└─────────┴─────────┘\n");

getch();

}

Результат виконання

Z

SIN(W)

0.000

0.00

0.300

0.30

0.600

0.56

0.900

0.78

1.200

0.93

1.500

1.00

1.800

0.97

2.100

0.86

Примітка.

Ширина таблиці дорівнює 21 символу ,вертикальні лінії забирають 3 символи ,на виведення значень залишається 2х9 символів (два пробіли , значення на 5 символів (%5. ) , два пробіли )

Програма виведення таблиці на екран комп’ютера мовою С++

(файл table2.cpp)

#include <iostream.h>

#include <conio.h>

#include <iomanip.h>

int main()

{

clrscr();

/* встановлення параметрів виведення значення функції:5 символів після десяткової крапки ,вирівнювання відносно лівої границі */

cout.precision(5);

cout.setf(ios::left,ios::adjustfield);

// виведення заголовка таблиці

cout<<"┌─────────┬─────────┐\n";

cout<<"│ X │ Y │\n";

cout<<"├─────────┼─────────┤\n";

// розрахунок значень функції

for(int x = 1; x <= 10; x ++)

{

y = x*x-1;

// виведення поточного значення функції

// ширина поля значення - 6 символів

cout<<"│ "<<setw(6)<<x<< "│ "<<setw(6)<<y<<"│\n";

}

// закриття таблиці

cout<<"└─────────┴─────────┘\n";

cin.get();

}

Результат виконання

┌─────────┬─────────┐

│ X │ Y │

├─────────┼─────────┤

│ 1 │ 0 │

│ 2 │ 3 │

│ 3 │ 8 │

│ 4 │ 15 │

│ 5 │ 24 │

│ 6 │ 35 │

│ 7 │ 48 │

│ 8 │ 63 │

│ 9 │ 80 │

│ 10 │ 99 │

└─────────┴─────────┘

Програма виведення таблиці у зовнішній файл мовою С++

(файл table3.cpp)

#include <iostream.h>

#include <conio.h>

#include <iomanip.h>

#include <fstream.h>

#include <math.h> // математична б-ка

int main()

{

clrscr();

float y;

// створення буфера виведення cout1 для файлу ttt.dat

ofstream cout1("….\\ttt.dat");

/* встановлення параметрів виведення значення функції:3 символи після десяткової крапки ,вирівнювання відносно лівої границі */

cout1.precision(3);

cout1.setf(ios::left,ios::adjustfield);

// виведення заголовка таблиці

cout1<<"┌─────────┬─────────┐\n";

cout1<<"│ X │ Y │\n";

cout1<<"├─────────┼─────────┤\n";

// розрахунок значень функції

for(float x = 0; x <= 6.3; x += 0.6 )

{

y = cos(x);

// виведення поточного значення функції

cout1<<"│ "<<setw(6)<<x<< "│ "<<setw(7)<<y<<"│\n";

}

// закриття таблиці

cout1<<"└─────────┴─────────┘\n";

cout1.close(); // закриття буфера та завантаження файлу ttt.dat

return 0;

}

Примітка.

Ширина таблиці дорівнює 21 символу ,вертикальні лінії забирають 3 символи ,на виведення значень залишається 2х9 символів :

для Х -> 3 пробіли , значення з 3 символами після крапки у полі на

6 символів , для Y -> 2 пробіли , значення з 3 символами після крапки у полі на 7 символів .

Результат виконання

Вміст файлу ttt.dat

┌─────────┬─────────┐

│ X │ Y │

├─────────┼─────────┤

│ 0 │ 1 │

│ 0.6 │ 0.825 │

│ 1.2 │ 0.362 │

│ 1.8 │ -0.227 │

│ 2.4 │ -0.737 │

│ 3 │ -0.99 │

│ 3.6 │ -0.897 │

│ 4.2 │ -0.49 │

│ 4.8 │ 0.087 │

│ 5.4 │ 0.635 │

│ 6 │ 0.96 │

└──────── ┴─────────┘

Виведення на екран символу за його кодом

Для виведення символу за його кодом треба одночасно натиснути ALT та набрати код символу з правої частини клавіатури .Наприклад , фігура ┌──┐ отримана послідовністю кодів 218-195-196-191.

Таблиця кодів символів

(альтернативний код)

24= 25= 26= 27= 28= 29= 30= ‑ 31= ­

32= 33= ! 34= " 35= # 36= $ 37= % 38= & 39= '

40= ( 41= ) 42= * 43= + 44= , 45= - 46= . 47= /

48= 0 49= 1 50= 2 51= 3 52= 4 53= 5 54= 6 55= 7

56= 8 57= 9 58= : 59= ; 60= < 61= = 62= > 63= ?

64= @ 65= A 66= B 67= C 68= D 69= E 70= F 71= G

72= H 73= I 74= J 75= K 76= L 77= M 78= N 79= O

80= P 81= Q 82= R 83= S 84= T 85= U 86= V 87= W

88= X 89= Y 90= Z 91= [ 92= \ 93= ] 94= ^ 95= _

96= ` 97= a 98= b 99= c 100= d 101= e 102= f 103= g

104= h 105= i 106= j 107= k 108= l 109= m 110= n 111= o

112= p 113= q 114= r 115= s 116= t 117= u 118= v 119= w

120= x 121= y 122= z 123= { 124= | 125= } 126= ~ 127= 

128= А 129= Б 130= В 131= Г 132= Д 133= Е 134= Ж 135= З

136= И 137= Й 138= К 139= Л 140= М 141= Н 142= О 143= П

144= Р 145= С 146= Т 147= У 148= Ф 149= Х 150= Ц 151= Ч

152= Ш 153= Щ 154= Ъ 155= Ы 156= Ь 157= Э 158= Ю 159= Я

160= а 161= б 162= в 163= г 164= д 165= е 166= ж 167= з

168= и 169= й 170= к 171= л 172= м 173= н 174= о 175= п

176= ░ 177= ▒ 178= ▓ 179= │ 180= ┤ 181= ╡ 182= ╢ 183= ╖

184= ╕ 185= ╣ 186= ║ 187= ╗ 188= ╝ 189= ╜ 190= ╛ 191= ┐

192= └ 193= ┴ 194= ┬ 195= ├ 196= ─ 197= ┼ 198= ╞ 199= ╟

200= ╚ 201= ╔ 202= ╩ 203= ╦ 204= ╠ 205= ═ 206= ╬ 207= ╧

208= ╨ 209= ╤ 210= ╥ 211= ╙ 212= ╘ 213= ╒ 214= ╓ 215= ╫

216= ╪ 217= ┘ 218= ┌ 219= █ 220= ▄ 221= ▌ 222= ▐ 223= ▀

224= р 225= с 226= т 227= у 228= ф 229= х 230= ц 231= ч

232= ш 233= щ 234= ъ 235= ы 236= ь 237= э 238= ю 239= я

240= Ё 241= ё 242= Є 243= є 244= Ї 245= ї 246= Ў 247= ў

248= ° 249= ∙ 250= · 251= √ 252= № 253= ¤ 254= ■

( прямий код )

24= 25= 26= 27= 28= 29= 30= ‑ 31= ­

32= 33= ! 34= " 35= # 36= $ 37= % 38= & 39= '

40= ( 41= ) 42= * 43= + 44= , 45= - 46= . 47= /

48= 0 49= 1 50= 2 51= 3 52= 4 53= 5 54= 6 55= 7

56= 8 57= 9 58= : 59= ; 60= < 61= = 62= > 63= ?

64= @ 65= A 66= B 67= C 68= D 69= E 70= F 71= G

72= H 73= I 74= J 75= K 76= L 77= M 78= N 79= O

80= P 81= Q 82= R 83= S 84= T 85= U 86= V 87= W

88= X 89= Y 90= Z 91= [ 92= \ 93= ] 94= ^ 95= _

96= ` 97= a 98= b 99= c 100= d 101= e 102= f 103= g

104= h 105= i 106= j 107= k 108= l 109= m 110= n 111= o

112= p 113= q 114= r 115= s 116= t 117= u 118= v 119= w

120= x 121= y 122= z 123= { 124= | 125= } 126= ~ 127= 

128= ─ 129= │ 130= ┌ 131= ┐ 132= └ 133= ┘ 134= ├ 135= ┤

136= ┬ 137= ┴ 138= ┼ 139= ▀ 140= ▄ 141= █ 142= ▌ 143= ▐

144= ░ 145= ▒ 146= ▓ 147= ⌠ 148= ■ 149= ∙ 150= √ 151= ≈

152= ≤ 153= ≥ 154=   155= ⌡ 156= ° 157= ² 158= · 159= ÷

160= ═ 161= ║ 162= ╒ 163= ё 164= ╓ 165= ╔ 166= ╕ 167= ╖

168= ╗ 169= ╘ 170= ╙ 171= ╚ 172= ╛ 173= ╜ 174= ╝ 175= ╞

176= ╟ 177= ╠ 178= ╡ 179= Ё 180= ╢ 181= ╣ 182= ╤ 183= ╥

184= ╦ 185= ╧ 186= ╨ 187= ╩ 188= ╪ 189= ╫ 190= ╬ 191= ©

192= ю 193= а 194= б 195= ц 196= д 197= е 198= ф 199= г

200= х 201= и 202= й 203= к 204= л 205= м 206= н 207= о

208= п 209= я 210= р 211= с 212= т 213= у 214= ж 215= в

216= ь 217= ы 218= з 219= ш 220= э 221= щ 222= ч 223= ъ

224= Ю 225= А 226= Б 227= Ц 228= Д 229= Е 230= Ф 231= Г

232= Х 233= И 234= Й 235= К 236= Л 237= М 238= Н 239= О

240= П 241= Я 242= Р 243= С 244= Т 245= У 246= Ж 247= В

248= Ь 249= Ы 250= З 251= Ш 252= Э 253= Щ 254= Ч 255= Ъ

Таблицю можна отримати за допомогою простих програм :

програми на С із записом у файл tablcode.dat

#include <stdio.h>

#include <conio.h>

main()

{

int i;

FILE*OUT=fopen("...\\tablcode.dat","w");

clrscr();

for(i = 0; i < 256; i++)

{

fprintf(OUT,"%d=%c ",i,i);

if(i%10 == 0) fprintf(OUT,"\n");

}

fclose(OUT);return 0;

getch();

}

програми на С++ із записом у файл TBLCODE.dat

#include <iostream.h>

#include <conio.h>

#include <iomanip.h>

#include <fstream.h>

int main()

{

clrscr();

char j; int ix;

ofstream out("...\\TBLCODE.dat");

for (int i=0; i<256; i+=8)

{

for(int x = 0; x < 8 ;x ++)

{

ix = i + x; j = ix;

out << setw(4)<< ix <<"="<<setw(2)<< j;

}

out << endl;

}

out.close();

return 0;

}

Лабораторна робота № 5

ВИВЧЕННЯ РОБОТИ З ФУНКЦІЯМИ

Мета роботи - вивчення засобiв передачi даних у функцiю та отримання результатiв виконання функцiї

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

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

1.Пам’ятаючи, що програма складається із головної функції main() та функцій : введення початкових даних для ініціалізації змінних та масивів, виведення проміжних і кінцевих результатів, обробки даних,

створити програму обробки цілочислових одновимірних масивів , у якій :

а) головна функція виконує виклик функцій згідно алгоритму,

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

в) у першому варіанті обробки даних функція повертає значення основного результату, а отримує усі необхідні початкові дані (завдання у таблиці 1);

г) у другому варіанті обробки даних функція типу void отримує усі необхідні початкові дані та повертає усі потрібні результати через список формальних аргументів;

д) у третьому варіанті обробки даних функція повертає структуру із усіма потрібними результатами та отримує усі необхідні початкові дані;

е) у четвертому варіанті обробки даних функція повертає вказівник на масив із усіма потрібними результатами та отримує усі необхідні початкові дані;

ж) у п’ятому варіанті обробки даних функція типу void отримує усі необхідні початкові дані та масив для заповнення усіма потрібними результатами через список формальних аргументів.

2.Пiдготувати тести для налагоджування програми.

В. У лабораторiї:

1. Виконати програму.

2. Порiвняти результати усіх функцій обробки даних.Зробити належнi висновки.

Змiст звiту:

1. Програма з поясненнями.

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

Висновки порiвнянь результатів.

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