- •Алгоритмічні мови та програмування Методичні вказівки
- •Алгоритмічні мови та програмування Методичні вказівки
- •03056, Київ, вул..Політехнічна, 12, корп. 17
- •Порядок виконання роботи
- •Загальні відомості для виконання лабораторної роботи
- •0X число (шістнадцяткове),
- •0 Число(число (вісімкове),
- •Результат виконання
- •Порядок виконання роботи
- •Порядок виконання роботи
- •Порядок виконання роботи
- •Додаток 1
- •Додаток 2
- •Порядок виконання роботи
- •Порядок виконання роботи
- •Доступ до елемента масиву
- •Запис вектора у стовпець (рядок) масиву
- •Зміна стовпців масиву
- •Додаткові засоби
- •Теоретична частина
- •Порядок виконання роботи
- •Теоретична частина
- •Порядок виконання роботи
- •Додаток
- •Порядок виконання роботи
- •Результати виконання програми
- •Результати виконання програми
- •Порядок виконання роботи
- •Добирання формул за дослiдними даними згiдно методу найменших квадратiв
- •Порядок виконання роботи
- •Порядок виконання роботи
- •Додаток 1
- •Додаток 2
- •Додаток 3
- •Порядок виконання роботи
- •//Функція
- •//Динамічні масиви
- •Порядок виконання роботи
- •Порядок виконання роботи
- •Порядок виконання роботи
- •Порядок виконання роботи
Порядок виконання роботи
А.При п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.