Professional Documents
Culture Documents
Методичні Вказівки До Лр - ktтап - ч2
Методичні Вказівки До Лр - ktтап - ч2
МЕТОДИЧНІ ВКАЗІВКИ
до виконання лабораторних робіт
з дисципліни «Комп'ютерні технології та програмування. Частина 2» для
студентів денної та заочної форм навчання всіх спеціальностей
Покровськ – 2020
УДК 004(072)
М 54
ВСТУП……………………………………………………………………………… 4
1. Лабораторна робота №1. Одновимірні масиви……..…………………………..6
2. Лабораторна робота №2. Двовимірні масиви…………………………..............15
3. Лабораторна робота №3. Рядки та робота з файлами……………………........24
4. Лабораторна робота №4. Вирішення рівнянь алгебри і систем……………....37
5. Лабораторна робота №5. Програмування з використанням логічних функцій
…………………………………………………………………………………….48
6. Лабораторна робота №6. Розробка консольного меню……………………….56
7. Лабораторна робота №7. Робота з графікою…………………………………..66
8. Лабораторна робота №8. Розрахунок значень функцій на заданому інтервалі
…………………………………………………………………………………….73
СПИСОК РЕКОМЕНДОВАНОЇ ЛІТЕРАТУРИ………………………………….80
ВСТУП
4
З кожної виконаної роботи, що пов’язана із вивченням мови
програмування Сі складається звіт, що повинен включати в себе: мету роботи,
текст завдань за варіантом, блок-схеми алгоритмів, лістинги програм,
результати тестування роботи програм при різних вхідних даних (тести повинні
покривати всі гілки алгоритму), висновки.
З кожної виконаної роботи, що пов’язана із вивченням пакету прикладних
програм MathCAD та програми Excel складається звіт, що повинен включати в
себе: мету роботи, текст завдань за варіантом, результати виконання завдань
(текст коду, графік, електронна таблиця, словесний опис у разі необхідності),
висновки.
На титульному аркуші всіх лабораторних робіт вказується дисципліна,
тема лабораторної роботи й автор звіту.
5
ЛАБОРАТОРНА РОБОТА №1
ОДНОВИМІРНІ МАСИВИ
6
Індекс елементів масива починається з 0 (нуль); останній індекс дорівнює
К-1, тобто число елементів масива на 1 більше від індексу останнього елемента
масива.
int A[10];
А 0 1 2 3 4 5 6 7 8 9
srand(time(NULL));
rand() % довжина_діапазона + зсув
7
Приклад. Знайти суму від'ємних елементів масиву цілих чисел. Введення
елементів організувати з клавіатури в діапазоні [-2; 14].
Лістинг програми
#include <stdio.h>
#include <locale.h>
int main()
{
setlocale (LC_CTYPE, "ukr");
int i,N,sum=0;
if(!sum)
printf("Немає елементів < 0");
else
printf("\nСумма від'ємних елементів масиву:%d",sum);
getch();
return 0;
}
8
1
початок
i=0,1...N
sum=0
-
mass[i]<0
N
+
Введіть
елементи sum+=mass[i];
масиву у
диапазоні [-
2; 14]
-
i=0,1...N !sum
1
+
Немає
елементів sum
mass[i]
<0
кінець
Лістинг програми
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
int main()
{
setlocale (LC_CTYPE, "ukr");
9
int i=0,j,N;
srand(time(NULL));
for (i=0; i<N; i++) // заповнення масиву випадковими числами (8-(-4)+1=13)
{
mass[i]=rand()%13-4;
}
printf("\nПочатковий масив\n");
for(i=0;i<N;i++) // виведення масиву
printf("%d\t",mass[i]);
i=0;
while(i<N) // перебір елементів і видалення від'ємних елементів
{
if(mass[i]<0)
{
for(j=i;j<N-1;j++)
{
mass[j]=mass[j+1];
}
N--;
}
else
i++;
}
printf("\nЗмінений масив\n");
for(i=0;i<N;i++) // виведення зміненого масиву
printf("%d\t",mass[i]);
getch();
return 0;
}
10
1
початок
i=0;
2
N
Змінений
масив
i<N 2
i=0,1...N
-
i=0,1...N
mass[i]<0
mass[i]=rand()%13-4;
+
mass[i]
j=i,1...N-1 i++;
Початковий
масив
кінець
i=0,1...N mass[j]=mass[j+1];
mass[i]
N--;
Порядок виконання
1. Скласти блок-схему алгоритму, написати й налагодити програму для
завдання №1.
2. Скласти блок-схему алгоритму, написати й налагодити програму для
завдання №2.
Варіанти завдань (1-2) наведено в табл. 1.1.
11
Таблиця 1.1 – Варіанти завдань
Завдання №1 Завдання №2
Варіант Діапазон Введення елементів з Введення елементів
клавіатури випадковим чином у діапазоні
1 [-1;10] 9 14
2 [-50;50] 13 11
3 [-10;12] 5 20
4 [-5;15] 8 19
5 [-2;14] 7 10
6 [-7;7] 19 9
7 [-20;10] 2 13
8 [-5;16] 4 8
9 [-13;3] 20 4
10 [-12;10] 5 20
11 [-5;50] 2 15
12 [-1;12] 18 14
13 [-5;15] 18 5
14 [-2;14] 7 10
15 [-7;7] 7 19
16 [-20;10] 20 16
17 [-5;16] 3 13
18 [-13;3] 6 20
19 [-1;10] 10 17
20 [-5;50] 11 5
21 [-1;12] 4 9
22 [-5;8] 10 3
23 [-20;1] 5 12
24 [-7;17] 3 12
25 [-1;16] 4 16
До завдань 1,2
1. У масиві цілих чисел X (N) визначити кількість елементів менших
середнього арифметичного значення.
2. Визначити чи містить заданий масив групи елементів, розташовані в
порядку зростання їх значень.
3. У заданому масиві цілих чисел знайти першу серію поспіль стоять
непарних елементів.
12
4. Видалити з масиву цілих чисел перші п'ять простих чисел. Знайти
різницю між максимальними та мінімальними елементами масиву до і після
видалення.
5. Видалити з масиву останню групу елементів, що представляють
собою знакозмінний ряд.
6. Визначити кількість простих чисел в масиві.
7. Впорядкувати за зменшенням масив X, вставити в масив X
максимальне і мінімальне просте число цілого масиву Y, зберігши
впорядкованість масиву.
8. Задано масив натуральних чисел X. Видалити з нього 2 найбільших і
найменших елемента.
9. Задано масив Y. Якщо він впорядковано, залишити його без зміни.
Якщо масив не впорядковано, то упорядкувати його за зростанням (якщо
мінімальний елемент розташовано до максимального) чи зменшенням (якщо
мінімальний елемент розташовано після максимального).
10. Заданий масив Z. впорядкувати за зменшенням елементи, що
розташовані між максимальним і мінімальними елементами.
11. Задано масив натуральних чисел. Видалити з масиву два найбільших
простих числа.
12. Знайти суму елементів масиву між двома першими нулями. Якщо
двох нулів немає в масиві, то вивести нуль.
13. З масиву X (N) видалити три найбільших простих числа.
14. У масиві цілих чисел поміняти місцями передостаннє просте число і
максимальне. Видати повідомлення, якщо таких чисел немає.
15. З масиву цілих чисел X (N) видалити елементи, сума цифр яких
дорівнює 12.
16. З масиву X (N) видалити три найменших простих числа.
17. Впорядкувати по зростанню масив X, вставити в масив X
максимальне і мінімальне просте число цілого масиву Y, зберігши
впорядкованість масиву.
13
18. Видалити з масиву першу групу елементів, що представляють собою
знакозмінний ряд.
19. З масиву цілих чисел X (N) видалити елементи, сума цифр яких
менше 4.
20. Визначити чи містить заданий масив групи елементів, що
розташовані в порядку убування їх значень.
Зміст звіту
1. Мета роботи.
2. Блок-схема, лістинг програми та результати роботи програми до
завдання №1.
3. Блок-схема, лістинг програми та результати роботи програми до
завдання №2.
4. Висновки.
Контрольні питання
1. Що таке масив? Якими поняттями він характеризується?
2. Яким чином здійснюється ініціалізація одновимірного масиву?
3. Яким чином реалізувати генерацію випадкових чисел у заданому
диапазоні?
14
ЛАБОРАТОРНА РОБОТА №2
ДВОВИМІРНІ МАСИВИ
15
1) int arr[5][3];
2) int arr[5][3] = { {4, 7, 8}, {9, 66, -1}, {5, -5, 0}, {3, -3, 30}, {1, 1, 1} };
В останньому випадку подання масиву показано на рис. 2.2.
4 7 8
9 66 -1
5 -5 0
3 -3 30
1 1 1
i<j i+j<n-1
i=j i+j=n-1
i>j i+j>n-1
16
Приклад. Знайти суму елементів матриці mass(N,N), що лежать вище
головної діагоналі. Введення елементів організувати випадковим чином в
діапазоні [5; 15].
Лістинг програми
#include <conio.h> //виведення початкового масиву
#include <stdio.h> for(i=0;i<N;i++)
#include <windows.h> {
#include <locale.h> for(j=0;j<N;j++)
int main () printf("%d\t",mass[i][j]);
{ printf("\n");
setlocale (LC_CTYPE, "ukr"); }
int i,j,N,sum; //знаходження суми елементів вище
printf("Введіть розмір матриці N:"); головної диагоналі
scanf("%d",&N); sum=0;
int mass[N][N];//оголошення for(i=0;i<N;i++)
двомірного масиву {
//заповнення масиву випадковими for(j=0;j<N;j++)
числами {
srand(time(NULL)); if(j>i)
for(i=0;i<N;i++) sum+=mass[i][j];
{ }
for(j=0;j<N;j++) }
mass[i][j]=rand()%11+5; printf("\nsum = %d\n",sum);
} system("pause");
return 0;
}
Лістинг програми
#include <conio.h>
#include <stdio.h>
#include <windows.h>
#include <locale.h>
int main()
{
setlocale (LC_CTYPE, "ukr");
int i,j,N,min,max;
printf("Введіть розмірність матриці N:");
17
scanf("%d",&N);
int mass[N][N];//оголошення двомірного масиву
//заповнення масиву числами
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
printf("mass[%d][%d]=",i,j);
scanf("%d",&mass[i][j]);
}
}
// виведення початкового масиву
printf("\nпочатковий масив\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%d\t",mass[i][j]); printf("\n");
}
//послідовно перебираємо всі стовпці матриці.
for(j=0;j<N;j++)
{
//максимальним і мінімальним оголошуємо перший
//елемент поточного (j-го) стовпця матриці
max=mass[0][j];
min=mass[0][j];
//послідовно перебираємо всі елементи в поточному (j-му) стовпці матриці.
for(i=1;i<N;i++)
{
if (mass[i][j]>max) max=mass[i][j];
if (mass[i][j]<min) min=mass[i][j];
}
//у останній елемент стовпця записуємо різницю між максимальним і
мінімальним елементами стовпчика.
mass[N-1][j]=max-min;
}
// виведення зміненого масиву
printf("\nзмінений масив\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%d\t",mass[i][j]);
printf("\n");
}
system("pause");return 0;}
18
1
2
початок
початкови
й масив j=0,1...N
N 4
max=mass[0][j];
i=0,1...N
min=mass[0][j];
mass[N-1][j]=max-
2
i=0,1...N min;
1
j=0,1...N i=1,1...N
3
j=0,1...N
mass[i][j]
-
mass[i][j]>max
mass[i][j] +
max=mass[i][j];
-
mass[i][j]<min
+
min=mass[i][j];
змінений
масив
i=0,1...N
кінець
j=0,1...N
mass[i][j]
Лістинг програми
#include <conio.h> for(i=0;i<N;i++)
#include <stdio.h> {
#include <windows.h> for(j=0;j<N;j++)
#include <locale.h> printf("%d\t",mass[i][j]);
int main () printf("\n");
{ }
setlocale (LC_CTYPE, "ukr"); max=mass[0][0];
int i,j,N,min,max; for(i=0;i<N;i++)
printf("Введіть розмір матриці N:"); {
scanf("%d",&N); for(j=1;j<N;j++)
int mass[N][N];//оголошення {
двомірного масиву if((i==j || j==N-1-i) &&
//заповнення масиву числами mass[i][j]>max)
for(i=0;i<N;i++) max=mass[i][j];
{ }
for(j=0;j<N;j++) }
{ printf("max=%d",max);
printf("mass[%d][%d]=",i,j); getch();
scanf("%d",&mass[i][j]); return 0;
} }
}
Порядок виконання
3. Скласти блок-схему алгоритму, написати й налагодити програму для
завдання №1.
4. Скласти блок-схему алгоритму, написати й налагодити програму для
завдання №2.
Варіанти завдань (1-2) наведено в табл. 2.1.
20
Таблиця 2.1 – Варіанти завдань
Завдання №1 Завдання №2
Варіант Діапазон Введення елементів з Введення елементів
клавіатури випадковим чином у діапазоні
1 [-1;10] 4 8
2 [-50;50] 20 4
3 [-10;12] 19 9
4 [-5;15] 2 13
5 [-2;14] 4 8
6 [-7;7] 20 4
7 [-20;10] 5 20
8 [-5;16] 2 15
9 [-13;3] 18 14
10 [-1;10] 18 5
11 [-5;50] 7 10
12 [-1;12] 7 19
13 [-5;15] 20 16
14 [-2;14] 3 13
15 [-7;7] 6 20
16 [-20;10] 10 17
17 [-5;16] 11 5
18 [-13;3] 9 14
19 [-1;10] 13 11
20 [-5;50] 5 20
21 [-1;12] 8 19
22 [-5;10] 17 7
23 [-20;1] 4 9
24 [-7;17] 10 3
25 [-1;16] 5 12
До завдань 1,2
1. Визначити суму і кількість простих чисел, що розташовано поза
діагоналей матриці А (n, n).
2. Задана матриця A (n, n). Дзеркально відобразити її відносно головної
діагоналі. У реформованій матриці знайти рядки, елементи якої утворюють
спадну або зростаючу послідовність.
21
3. Задана матриця A (n,n). Дзеркально відобразити її щодо побічної
діагоналі.
4. У прямокутної матриці поміняти місцями рядки, що містять
максимальний і мінімальний її елементи.
5. Задана матриця цілих чисел A (n, n). Знайти два найбільших простих
числа.
6. Задана матриця A (n, m). Знайти три найбільших і два найменших
числа.
7. Задана матриця A (n, m). Знайти чотири найменших числа.
8. Знайти середнє арифметичне простих чисел квадратної матриці,
розташованих на діагоналях.
9. Задана матриця A (n, n). Поміняти місцями елементи на головній і
побічної діагоналях.
10. Задана матриця A (n, n). Перший елемент кожного стовпця замінити
середнім арифметичним серед чисел цього стовпчика.
11. Задана матриця A (n, m). Обнулити ту рядок, де знаходиться
найбільше просте число.
12. Всі елементи матриці цілих чисел, які не є простими, замінити
сумою цифр.
13. Задана матриця цілих чисел A (n, n). Всі елементи стовпця, де
знаходиться більше двох простих елементів, замінити різницею між
максимальним і мінімальним елементом матриці.
14. Задана матриця цілих чисел. Знайти номер рядка, де є числа, у яких
чотири дільника.
15. Задана матриця цілих чисел. Обнулити стовпці, де є числа, що
більше заданого числа К.
16. Задана матриця цілих чисел. Обнулити стовпці, з максимальною
кількістю п'ятірок в запису чисел.
17. Задана квадратна матриця цілих чисел. Обнулити рядки з числами,
які утворюють зростаючу послідовність.
22
18. Задана матриця A (n, n). Дзеркально відобразити її відносно головної
діагоналі. У реформованій матриці знайти рядки, елементи яких утворюють
зростаючу послідовність.
19. Задана матриця A (n, m). Знайти чотири найбільших числа.
20. Задана матриця цілих чисел. Знайти номер рядка з найменшим
номером, де є числа, у яких тільки три дільника.
Зміст звіту
1. Мета роботи.
2. Блок-схема, лістинг програми та результати роботи програми до
завдання №1.
3. Блок-схема, лістинг програми та результати роботи програми до
завдання №2.
4. Висновки.
Контрольні питання
1. Що таке двовимірний масив? Навести його структуру. Синтаксис
оголошення.
2. Якими способами здійснюється ініціалізація двовимірного масиву?
Навести приклади обробки масиву.
3. Властивості елементів квадратної матриці, що використовуються
при обробці матриць.
23
ЛАБОРАТОРНА РОБОТА №3
РЯДКИ ТА РОБОТА З ФАЙЛАМИ
main()
{ char a,b,c; printf("Введіть початкові дані"); scanf("%c%c%c",&a,&b,&c); ... }
24
При введенні символи набираються без апострофів і прогалин:
ijk [Enter]
char rsim;
rsim = getchar ();
char ch,ch1,ch2;
ch='a'-'A';
ch1='k';
ch2=ch1-сh;
printf("%c-%d %c-%d\n",ch1,ch1,ch2,ch2);
Результат: Андрєєва
printf(“| %20s|”,fam);
Результат: | Андрєєва С.В.|
Наприклад:
#include <string.h>
int main()
{ char slova[120]; int i, n, k=1;
printf("Введіть речення\n");
gets(slova);
n= strlen(slova);
for(i=0;i<n; i++)
if(slova[i]==' ') k++;
printf("k=%d\n",k);
return 0;}
27
Основні функції обробки рядків. Визначення довжини рядка.
Приклад. Визначити довжину рядка.
Результат: 13 символів.
char st1[10]="Приклад";
char st2[10]="ПPиклад";
int a;
if (strcmp(st1,st2)>0) a=1; else a=2;
Результат: a=1, так як код ‘p’ більше ‘P’
- відкриття потоку
FILE * fopen(імя_файла, режим_відкриття);
28
Функція повертає покажчик на структуру, яка має тип FILE. Цей покажчик
ідентифікує потік в програмі і через нього ми зможемо звертатися до відкритого
файлу.
- закриття файлу
int fclose(покажчик_на_поток);
#include <stdio.h>
int main(void)
{ FILE * fp = fopen("D:\data.txt", "w");
fclose(fp);
return 0; }
Лістинг програми
#include <stdio.h>
int main()
{ char str[255];
int i,let_b, let_s;
29
//введення рядку користувачем
printf("input string: ");
gets(str);
Лістинг програми
#include <stdio.h> while ((ch = fgetc(fp)) != EOF)
#include <string.h> {
int main() if(ch=='+')
{char str[256]; {str[j++] = '+';
int j; str[j++] = '+';
char ch; str[j++] = '+';}
FILE *fp; else
if((fp= fopen("pr_3.txt", "r"))==NULL) {str[j]=ch; j++;}
{perror("Error occured while opening }
pr_3.txt"); }
exit(0);} str[j] = '\0';
else printf("%s",str);
{j = 0; fclose(fp);
return 0;}
30
Початок
fp=
fopen("pr_3.txt",
+ Error
"r"))==NULL
-
j = 0;
str
ch=='+'
-
str[j]=ch;
+ j++;
fclose(fp);
str[j++] = '+';
str[j++] = '+';
str[j++] = '+'; Кінець
Лістинг програми
#include <stdlib.h> if(ch!=' ' && ch!= '.')
#include <stdio.h> str[i++]=ch;
#include <string.h> else
int main() {
{char str[256]; str[i]='\0'; i=0;
int i=0, flag=0; if(flag==0) flag=1;
char ch; else
FILE *fp; {flag=0;printf("%s ",str);}
if((fp = fopen("pr_3.txt", "r"))==NULL) strcpy(str,"");
{perror("Error occured while opening }
pr_3.txt"); exit(0);} }
else fclose(fp);
{ }
while ((ch = fgetc(fp))!= EOF) return 0;
{ }
31
Початок
fp=
fopen("pr_3.txt",
+ Error
"r"))==NULL
-
flag=0;
i=0;
ch = fgetc(fp)) != Кінець
fclose(fp);
EOF
str[i++]=ch;
flag==0
-
+ flag=0;
flag=1;
str
strcpy(str,"");
Порядок виконання
1. Скласти блок-схему алгоритму, написати й налагодити програму для
завдання №1.
2. Скласти блок-схему алгоритму, написати й налагодити програму для
завдання №2.
Варіанти завдань (1-2) наведено в табл. 3.1.
32
Загальні вказівки до всіх завдань:
- текст, що обробляється, міститься в одному рядку та його довжина
складає до 60 символів;
- у загальному випадку слова тексту розділяються між собою одним
пробілом;
- слово - це довільна послідовність символів, відмінних від символів-
роздільників.
33
До завдань 1,2
1. Видалити всі голосні з рядка.
2. Підрахувати кількість слів у рядку.
3. Перевернути кожне парне слово в рядку.
4. Видалити з рядка всі слова, що починаються на голосну букву.
5. У вихідному реченні перед кожним словом поставити знак?.
6. У заданому реченні знайти найкоротше і найдовше слово.
7. Дано непорожня послідовність символів, за якою слідує пробіл.
Побудувати і надрукувати безліч, що складається з цифр 4-8 і знаків
арифметичних дій, які зустрілися в послідовності.
8. Дана непорожня послідовність символів, за якою слідує пробіл.
Побудувати і надрукувати безліч, що складається з розділових знаків (.,;:!?), Які
зустрілися в послідовності.
9. Дана непорожня послідовність цифр і малих латинських букв, за
якою слідує крапка. Визначити, яких букв - голосних (а, е, i, о, u) або
приголосних більше в цій множині.
10. Видалити з тексту все слова, що складаються з однієї літери.
11. У всьому тексті після кожних трьох слів вставити слово "привіт".
12. У всьому тексті все появи слова good взяти в лапки.
13. Дано текст з N символів. Групи символів, розташовані між
пробілами і не містять пробілів всередині себе, називаємо словами. Замінити
прогалини між словами на кому.
14. Дано текст з N символів. Групи символів, розташовані між
прогалинами і не містять пробілів всередині себе, називаємо словами. Знайти
слова, у яких перший і останній символи збігаються.
15. У кожному рядку замінити "1-2-3" на послідовність слів "один",
"два", "три" на "1-2-3".
16. Дано текст, за яким слідує крапка. Замінити всі вхідні в нього
символи a, b, c на d, e, f.
34
17. Дано текст з N символів. Визначити чи є в тексті п'ять йдуть підряд
букв "е".
18. Дано текст з N символів. Визначити найбільшу кількість йдуть
підряд прогалин.
19. Дано текст з N символів. Групи символів, розташовані між
прогалинами і не містять пробілів всередині себе, називаємо словами.
Підрахувати кількість слів, що починаються з літери "b".
20. Дано непорожня послідовність слів з малих літер, між сусідніми
словами - кома, за останнім словом - крапка. Надрукувати в алфавітному порядку
всі голосні літери, які входять в цей текст.
21. Дано непорожня послідовність цифр і малих латинських букв, за
якою слідує крапка. Визначити, впорядковані ці букви в алфавітному порядку.
22. У кожному слові рядка змінити порядок букв на протилежний.
23. Видалити з тексту все слова з парними номерами.
24. Дано непорожня послідовність заголовних латинських букв, за якою
слідує крапка. Побудувати і надрукувати в алфавітному порядку безліч, що
складається з букв А..F і X..Z, які зустрілися в послідовності.
25. Дано текст з N символів. Виключити з тексту групу символів,
розташовану між (). Передбачається, що всередині дужок немає інших дужок.
Зміст звіту
1. Мета роботи.
2. Блок-схема, лістинг програми та результати роботи програми до
завдання №1.
3. Блок-схема, лістинг програми та результати роботи програми до
завдання №2.
4. Висновки.
35
Контрольні питання
1. Символьний тип даних. Особливості. Функції введення-виведення.
2. Що таке рядок? Варіанти ініціалізації рядків. Основні функції
обробки рядкових даних.
3. Відкриття та закриття потоків при роботі з файлами. Функції
введення/виведення в файл (з файлу).
36
ЛАБОРАТОРНА РОБОТА №4
ВИРІШЕННЯ РІВНЯНЬ АЛГЕБРИ І СИСТЕМ
v ( x y) x 2 y v ( 1 1) 3
f ( x) cos( x)
z 5 h ( x) x z h ( 1) 6
37
Обчислення поліноміальних коефіцієнтів. Якщо вираз є поліномом щодо
деякої змінної, то коефіцієнти легко визначаються символьним процесором
MathCAD.
Для того, щоб обчислити поліноміальні коефіцієнти у виразі за допомогою
меню необхідно:
- ввести вираз;
- виділити в ньому ім'я змінної або вираз, для якого потрібно розрахувати
поліноміальні коефіцієнти;
- виконати команду Symbolic/Polynomial Coefficients (Символіка/
Коефіцієнти полінома).
Для того, щоб обчислити поліноміальні коефіцієнти за допомогою
оператора символьного виводу необхідно:
- ввести вираз;
- натиснути кнопку Coeffs на панелі Symbolic (Символіка);
- ввести після вставленого ключового слова coeffs аргумент полінома;
- ввести оператор символьного виводу ->
- натиснути клавішу <Enter>.
Рішення рівнянь. Багато рівнянь і систем з них не мають аналітичного
рішення. Однак вони можуть вирішуватися чисельними методами із заданою
похибкою (не більше значення, заданого системної змінної TOL).
Для пошуку коренів полінома ступеня n MathCAD містить функцію:
polyroots (V). Вона повертає вектор коренів многочлена (полінома) ступеня n,
коефіцієнти якого знаходяться у векторі V, мають довжину, рівну n + 1. Вектор
коефіцієнтів заповнюється в зворотному порядку. Включаючи всі коефіцієнти
многочлена, навіть якщо вони дорівнюють нулю.
За допомогою символьного процесора можна вирішити рівняння з одним
невідомим наступним чином:
- ввести рівняння, користуючись панеллю Booleans (Булеві
оператори) або натиснувши клавіші <Ctrl> + для отримання логічного знака
рівності.
38
- за допомогою миші вибрати змінну, щодо якої вирішується рівняння.
- вибрати в меню Symbolics (Символіка) пункт Variable/Solve
(Змінна / Вирішити).
При вирішенні систем нелінійних рівнянь використовується спеціальний
обчислювальний блок, що відкривається службовим словом Given і має
наступну структуру:
Given
рівняння
обмежувальні умови
вираз з функцією find або miner.
A x b ,
де А - матриця коефіцієнтів системи; b - вектор правих частин.
1.4
10 5 0 5 10
20
f ( x)
40
40
root( f ( x) x 0 3) 1.391
3.732
polyroots( v)
2.236
0.268
2.236
5
5
32
3 2
4 2 5 1 12
3 0 12
A B
1 3
1 0 2 3 22
2 1 2 3 2
9.511
X A
1
B
X
4.533
3.731
1.676
9.511
lsolve ( A B)
4.533
3.731
1.676
1.4283650084695155964 42
Find ( x y)
0.49909992666700318715
z ( t) sin ( t 0.1 ) 0.5 q ( t) acos( 1.5 t) 1
z( t ) 1
q ( t)
10 5 0 5 10
1
2
Порядок виконання
1. Побудувати графік функції f x і приблизно визначити один з коренів
43
Варіанти завдань наведено в табл. 4.1.
x 7x 9x
4 3 2
1 2
3 4
6 1
13x 30; 4 7;
x [0, 1]
3
1 x 2 x2 2 x3 x
sin( y ) 2 x 2.
x1 12 x2 2 x3 x4 17.
2
cos x1 2 x2 6 x3 x4 88;
x 5 x 2 x 3 x 88;
x 4 3x 3 23x 2 1 sin( x 1) y 0,8;
3 4
7 1 1
2 sin
x x 55 х 150; 7 x1 3 x2 7 x3 2 x4 181; sin( y 1) x 1,3.
x [1, 2] 3x1 7 x2 5 x3 2 x4 99.
x1 2 x2 8 x4 7;
x 4 x 7 x 6 x 8;
0.1 x 2 x lnx x 6x 4x 1 sin( x ) 2 y 1;
4 3 2
2 3 4
8
x [1, 2] 10 х 75; x1 x2 5 x3 x4 10; sin( y 1) x 1,3.
2 x1 x2 2 x4 7.
44
Таблиця 4.1 – Варіанти завдань (продовження)
2 x1 2 x2 6 x3 x4 15;
x 2 x x 18;
0.25x 3 x 2 x 4 x 3 17 x 2 2 sin y x 0,4;
3 4
9
x [0, 2] 45 х 100; 4 x1 3x2 x3 5 x4 37; 2 y cosx 1 0.
3x1 5 x2 x3 x4 30.
4 x1 5 x2 7 x3 5 x4 165;
1 x2 2 x x 3 x x 15;
arccos x x 4 5x3 x 2 1 sin( x 2) y 1,5;
1 x
2 3 4
2
10
x [2, 3]
15 х 50; 9 x1 4 x3 x4 194; cos y 2 x 0,5.
x1 x2 2 x3 3 x4 19.
2 x1 8 x2 3x3 2 x4 18;
3x 4 lnx 5 x 4x 2x
4 3 2 x 2 x 3x 2 x 28;
1 cos(x 0,5) y 2;
2 3 4
11
x [2, 4] 20 х 25; x2 x3 x4 10; sin y 2 x 1.
11x2 x3 2 x4 21.
2 x1 x2 4 x3 x4 66;
2 x 6 x x 63;
e x e x 2 x 4 5x 3 7 x 2 2 cos(x 2) y 0;
3 4
12
x [0, 1] 7 х 20; 8 x1 3 x2 6 x3 5 x4 146; sin y 0,5 x 1.
2 x1 7 x2 6 x3 x4 80.
2 x1 3x3 2 x4 16;
2 x x 13x 4 x 213;
1 x tg x x 4 7 x3 7 x 2 1 cos(x 0,5) y 1,
2 3 4
13
x [0, 1] 5 х 100; 3x1 x2 2 x3 x4 72; sin y 0,5 x 1.
x1 12 x3 5 x4 159.
7 x1 7 x2 7 x3 2 x4 5;
1 x sinx 3 x 4 x 5 x 8 x 60;
x 10 x 36 x
4 3 2
1 sin( x ) 2 y 1;
ln(1 x)
2 3 4
14
x [0, 2]
70 х 75; 2 x1 2 x2 2 x3 x4 27; cos( y 0,5) x 2.
2 x1 2 x3 x4 1.
6 x1 9 x2 5 x3 x4 124;
7 x 5 x x 54;
x5 x 0.2 x 4 9 x 3 31x 2 2 2 y sin( x 0,5) 1;
3 4
15
x [1, 2] 59 х 60; 5 x1 5 x2 2 x3 4 x4 83; cos( y ) x 1,5.
3 x1 9 x2 x3 6 x4 45.
2 x1 2 x2 6 x3 x4 15;
x 2 x x 18;
x 4 4 x3 2 x 2 2 sin( x 0.5 y ) x y 2 0;
x sin x 0.25
3 4
16
20 х 25; 4 x1 3x2 x3 5 x4 37; ( y 0.1) x 1;
2 2
3x1 5 x2 x3 x4 30.
4 x1 5 x2 7 x3 5 x4 165;
2 x x 3x x 15;
x 5x 7 x
4 3 2
1 e y0.1x x y 1.4;
x 20 sinx 0
2 3 4
17 2
7 х 20; 9 x1 4 x3 x4 194; 2 y x 4.
2 2
x1 x2 2 x3 3x4 19.
45
Таблиця 4.1 – Варіанти завдань (продовження)
2 x1 8 x2 3 x3 2 x4 18;
x 7x 7x x 2 x 3 x 2 x 28;
1 tg ( x y) x y 0,
4 3 2
x 2 sin5x 0
2 3 4
18
5 х 100; x2 x3 x4 10; 2 y 0.5x 1;
2 2
11x2 x3 2 x4 21.
2 x1 x2 4 x3 x4 66;
2 x 6 x x 63;
1.8 x 2 x 4 10 x 3 36 x 2 2 3 4 tg ( y x) x y 0.3,
19
sin10 x 0 70 х 75; 8 x1 3 x2 6 x3 5 x4 146; y 2 x 2 1.5;
2 x1 7 x2 6 x3 x4 80.
2 x1 3x3 2 x4 16;
2 x x 13x 4 x 213; cos(x 2 y 2 ) x y 0,
x 4 9 x 3 31x 2 1
2 xe 0
2 3 4
20 x
( x y 2) 2
( x y) 2
1;
59 х 60; 3x1 x2 2 x3 x4 72;
0.9
x1 12 x3 5 x4 159.
2 x1 x2 2 x3 3 x4 8;
3 x 3 x 6;
x x 29 x
4 3 2
1 sin( x y) x y 1,
x cos x 0
3
21
71х 140; 2 x1 x2 3 x4 4; x y 0.75;
2 2
x1 2 x2 x3 2 x4 4.
x1 2 x2 3x3 4 x4 22;
2 x 3x x 2 x 17;
x 4 7 x3 9 x 2 1 e. x y e 2 y 2;
x2 cosx 0
2 3 4
22
13х 30; 1x x2 x3 x 4 8 ; ( x 0.52) y 1.
2 2
x1 2 x3 3x4 7.
2 x1 x2 5 x3 x4 4;
x 3x 6 x 7;
x 4 3x3 23x 2 1 e x y x 2 y 1;
x cos x 0
2 4
2
23
55х 150; 2 x2 x3 2 x4 2; ( x 0.5) y 1.
2 2
x1 4 x2 7 x3 6 x4 2.
x1 2 x2 3 x3 4 x4 26;
2 x 3 x 4 x x 34;
x 4 6 x3 4 x 2 1 sinx y 1.32;
x cos x 0
2 3 4
2 2
24
10 х 75; 3 x1 4 x2 x3 2 x4 26; cos y x 0.85.
4 x1 x2 2 x3 3 x4 26.
9 x1 10 x2 7 x3 x4 23;
7 x x 5 x 37;
x 4 x3 17 x 2 1 2 x 3 y 2 1 0;
2 x cos x 0
3 4
25
45х 100; 5 x1 2 x3 x4 22; x y y 4 0.
3
4 x1 x2 2 x3 3 x4 26.
46
Зміст звіту
1. Мета роботи.
2. Графік функції f x і приблизно визначений один з коренів рівняння.
Контрольні питання
1. Навести основні можливості MathCAD.
2. Робота з функціями. Обчислення поліноміальних коефіцієнтів у
MathCAD.
3. Які функції використовуються при вирішенні рівнянь та системи
рівнянь у MathCAD?
4. Графіки яких типів можна побудувати? Який алгоритм побудови
двовимірного графіку у MathCAD?
47
ЛАБОРАТОРНА РОБОТА №5
ПРОГРАМУВАННЯ З ВИКОРИСТАННЯМ
ЛОГІЧНИХ ФУНКЦІЙ
48
На даній панелі є десять команд. Клацання по одній з цих команд створює
в поточній позиції заготовку для відповідної програмної конструкції.
Алгоритм створення програмного модуля наступний:
1. ввести частину виразу, яка буде знаходитися зліва від знака
присвоювання і сам знак присвоювання. При необхідності викликати на екран
панель інструментів Programming (Програмування);
2. натиснути на цій панелі кнопку Add Line (Додати лінію);
3. якщо приблизно відомо, скільки рядків коду міститиме програма,
можна ствоити потрібну кількість ліній повторним натисканням кнопки Add
Line (Додати лінію) відповідне число раз.
4. у місці для введення, що з'явилося, ввести бажаний програмний код,
використовуючи програмні оператори.
Оператор if призначено для організації обчислювальних процесів, що
розгалужуються. Для того, щоб ввести оператор if в програму, необхідно
мишкою клацнути по кнопці if з панелі програмування.
При цьому в програму вставляється заготовка для оператора: if. Загальний
вигляд простого оператора if:
D if L,
де L - логічне вираження; D - оператор, що виконується в разі, якщо умова L
приймає значення «істина».
for i k1..kn
D
або
for i (k1 k2 k3 ... kn)
D
де i - лічильник циклу, змінна, яка змінюється в діапазоні від k1 до kn.
Діапазон зміни лічильника циклу вводиться за допомогою ранжированої змінної
або за допомогою вектора.
D - дії, які виконуються в циклі (тіло циклу).
50
0
0 19.286
1 3.456
2 -4.83
3 -4.437
4 -1.131
5 0.891
Fx1( 3 3 0.5 )
6 1
7 0.328
8 -0.153
9 -0.221
10 -0.088
11 0.023
12 0.048
K1 2
K2 2 2
Uin 1 0.99 1
Uout Uin
2 1 0 1
Uout Uin 0 if Uin 0
2
K1 Uin U1 if Uin 0 4
Uin
K2 Uin U2 if Uin 0
51
3 3
t 0 0.01 10 210 3
3 2
T 1 10
Uout ( t ) 1
2 3 0
6.283 10 Uin( t )
T 1
2
Um 1
3
Uin ( t) Um sin ( t) 0 110
3
210
3
Uout ( t) 0 if Uin ( t) 0
K1 Uin ( t) U1 if Uin ( t) 0
K2 Uin ( t) U2 if Uin ( t) 0 Рисунок 5.3 – Осцилограми вхідної
і вихідної напруг при моделюванні
нелінійного елемента «зони
нечутливості 1» у MathCAD
Порядок виконання
1. Для, х що змінюється від a до b з кроком d обчислити значення
f x і сформувати з цих значень вектор f . Кількість повторень визначається за
формулою:
ba
n 1
d
Описи програми-функції формальні параметри використовуються для
завдання діапазону зміни параметра циклу (змінна х ). Для зміни індексу
елемента масиву f вводиться змінна цілого типу i всередині програми-функції.
Звернення до описаної програми-функції може мати вигляд: f a, b, d .
2. Описати нелінійність типу «зони нечутливості 1». Ця нелінійність
може бути описана залежністю:
52
0, если U ВХ 0;
U OUT U IN К1 U IN U1 , если U ВХ 0;
К U U , если U 0;
2 IN 2 ВХ
0, если U1 U ВХ U 2 ;
U OUT U IN ( K1 1) U in U1 , если U ВХ U1;
( K 1) U U , если U U ;
2 in 2 ВХ 2
3 UВЫХ,B U(t),B
3
UВЫХ
K1
2
2
UВХ
1 1
U1
UВХ,B t,mc
0 0,5 1,0 1,5 2
-1 -0,5 U2 0 0,5 1
-1 1
K2
-2 2
-3
3
53
1,5UВЫХ,B U(t),В
1,0
UВХ
1,0
UВЫХ
0,5
0,5
UВХ,B t,mc
2,0 -1,5 1,0 -0,5 0 0.5 1,0 1,5 2,0 0 0,5 1,0 1,5
2
-0,5
-0,5
-1,0
-1,5 -1,0
Зміст звіту
1. Мета роботи.
2. Обчислення значення f x та формування з отриманних значень вектора
f.
3. Опис нелінійності типу «зони нечутливості 1», графіки передавальної
характеристики, осцилограми вхідної та вихідної напруг.
4. Опис нелінійності типу «зони нечутливості 2», графіки передавальної
характеристики, осцилограми вхідної та вихідної напруг.
5. Висновки.
Контрольні питання
1. Алгоритм створення програмного модуля у MathCAD.
2. Оператор if. Загальний вигляд простого оператора. Принцип роботи.
3. Оператор for. Загальний вигляд. Приклад використання.
55
ЛАБОРАТОРНА РОБОТА №6
РОЗРОБКА КОНСОЛЬНОГО МЕНЮ
Лістинг програми
Написання програми починається з підключення необхідних бібліотек
компілятора:
Обираємо типи змінних. Нам потрібні дві змінні цілого типу для введення
кількості елементів послідовності та для організації лічильника у циклі. Окрім
цього дві змінні з плаваючою комою для введення поточного елементу та
збереження поточної суми:
unsigned int N, i;
56
float sum = 0, x;
system("cls");
system("color 13");
57
Опишемо функцію для другого завдання:
unsigned short a, b, c, L;
system("cls");
system("color 1E");
printf("+===============================+\n");
printf("| a | b | c | L |\n");
printf("+===============================+\n");
58
На кожній ітерації циклу обчислюється значення логічної функції та
виводиться на екран поточні значення змінних та функції у форматі таблиці.
Важливо пам’ятати що ! – це операція заперечення, || - це операція «або», && -
це операція «і» :
printf("+===============================+\n");
system("pause");
}
void about()
{
system("cls");
system("color 1F");
printf("Лабораторна робота\n");
printf("------------------------------------------\n");
printf("Знайти додавання числової послідовності з N довільних дійсних
чисел.\n");
printf("------------------------------------------\n");
printf("Обчислення значення логічного виразу:\n");
printf("L = !(a || c) || (a&&c)\n");
printf("------------------------------------------\n");
system("color 1C");
printf("Автор: студент групи ***, ФІП\n");
system("color 1F"); system("pause");
}
59
Після написання усіх необхідних функції можна братися за написання
основної функції програми:
int main()
{
char ch;
Вмикаємо кирилицю:
do {
system("cls");
system("color 1B");
printf("F2 - Завдання 1\n");
printf("F3 - Завдання 2\n");
printf("F4 – Про програму\n");
printf("================\n");
printf("F9 - Вихід\n");
ch = getch();
60
Далі за допомогою конструкції switch перевіряємо чи була натиснута
необхідна клавіша. Код «60» відповідає кнопці F2. Відповідно «61» - F3, «62»
- F4. За бажанням можна змінити керуючі кнопки замінивши коди клавіш на
інші з таблиці ASCII коду. Наприклад, клавіша Enter має код «13», клавіша Esc
– «27». Якщо код кнопки відповідає необхідному – викликаємо відповідну
функцію. У тексті приведено момент зміни коліру шрифту для «підсвічування»
необхідної інформації:
switch (ch) {
case 60: zadanie1(); break;
case 61: zadanie2(); break;
case 62: about(); break;}
61
При цьому у головній програмі знадобляться ще дві змінних: змінна для
вказівки кількості пунктів меню, змінна для визначення поточної позиції у меню
та масив символьних рядків, що містить назви пунктів меню:
const int maxmenu = 3;
char *st[3] = {"Завдання 1","Завдання 2", "Довідка"};
int im = 0;
62
натиснута стрілка вниз або стрілка вгору, то треба змінити значення позиції у
меню відповідним чином.
Порядок виконання
1. Скласти блок-схему алгоритму, написати й налагодити програму
побудови меню, що складається з 4 пунктів:
1) виконання обчислення для числової послідовності з заданої кількості
елементів (без використання масивів)
2) побудова таблиці істинності логічної функції
3) про програму
4) вихід з програми
2. Скласти теоретичну таблицю істинності логічної функції, порівняти
з отриманою у програмі.
Варіанти завдань наведено в табл. 6.1.
63
Таблиця 6.1 – Варіанти завдань (продовження)
10 вертикальне з додавання L ( a b c) a
управлінням стрілками
11 горизонтальне з середнє L (a b c) (c a)
управлінням стрілками арифметичне
12 цифрове вертикальне множення L (a b) (b c) a
13 цифрове горизонтальне додавання L (a b) (b c a)
14 вертикальне з середнє L a (a b c) a
управлінням буквами арифметичне
15 горизонтальне з множення L a b (c a) a
управлінням буквами
16 цифрове вертикальне додавання L a (c b) c a
17 цифрове горизонтальне середнє L (a b c) c a
арифметичне
18 вертикальне з множення L a b c a a
управлінням стрілками
19 горизонтальне з додавання L a (b c) (c a)
управлінням стрілками
20 цифрове вертикальне середнє L a (b c) a (c a)
арифметичне
21 цифрове горизонтальне множення L a (a b c) a
22 вертикальне з додавання L a (a b) (c a)
управлінням буквами
23 горизонтальне з середнє L a b (b c a)
управлінням буквами арифметичне
24 цифрове вертикальне множення L a b (b c a)
25 цифрове горизонтальне додавання L (a b c) (c a)
Зміст звіту
1. Мета роботи.
2. Блок-схема, лістинг програми та результати роботи програми до
завдання.
3. Теоретична таблиця істинності логічної функції.
4. Висновки.
64
Контрольні питання
1. Чим принципово відрізняється алгоритм розробки цифрового меню
від алгоритму розробки меню з управлінням стрілками.
2. Алгоритм побудови таблиці істинності за допомогою програмних
засобів.
3. За допомогою якої системної функції можна задавати колір фону та
тексту? Опишіть параметри цієї функції.
65
ЛАБОРАТОРНА РОБОТА №7
РОБОТА З ГРАФІКОЮ
Лістинг програми
На початку треба вказати групу бібліотек, що буде використовуватися у
програмі:
66
#include<stdio.h> // бібліотека базових функції вводу-виводу
#include<math.h> // бібліотека для виконання простих математичних операцій
#define _WIN32_WINNT 0x0500 //макрос для вказівки версії виндовс
#include <windows.h> // бібліотека стандартних функцій ОС
#include <conio.h> бібліотека додаткових функцій вводу-виводу
Програми не буде мати своїх функцій, тому далі потрібно об’явити головну
програму:
int main()
{
printf("\n");
printf("\t\t\t\t");
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdOut, FOREGROUND_BLUE);
printf("GRAPH f(x)");
67
Координати положення курсору будемо зберігати в наступних змінних
типу з плаваючою точкою:
double x, y;
int xScale=40,yScale=2;
int x0=100,y0=220;
float xBeg =0, xEnd = 10.0f;
68
COLORREF penColor = RGB(255, 255, 0);
for (x=xBeg;x<=xEnd;x+=0.05f)
{ y= pow(x+1,2)*sin(x-0.3)+6.2;
SetPixel(hDC,x0+xScale*x,y0-yScale*y, penColor);
}
int x1=100,y1=200;
MoveToEx(hDC,x1+xScale*xBeg,y1-yScale*pow((xBeg)+1,2)*sin((xBeg)-0.3)+6.2,
NULL);
for (x=xBeg;x<=xEnd;x+=0.05f)
LineTo(hDC,x1+xScale*x,y1-yScale*pow(x+1,2)*sin(x-0.3)+6.2);
getch();
DeleteObject(Pen);
ReleaseDC(NULL, hDC);
return 0;
}
Порядок виконання
1. Побудувати графік функції f(x), що наведено у табл.6.1, у пакеті
прикладних програм MathCAD в області [0; 10] з кроком 0,05 (значення x задати
за допомогою діапазонної змінної).
2. Скласти програму побудови графіку заданної функції f(x) в області
[0; 10] з кроком 0,05 за допомогою одного зі способів, що вказано у варіанті
завдання.
3. Скласти блок-схему алгоритму завдання.
Варіанти завдань наведено в табл. 7.1.
70
Таблиця 7.1 – Варіанти завдань (продовження)
9 x точка за точкою
2 x 2 8 ( x 1) exp( ) 0.5
2
10 x суцільною лінією
( x 1) sin( x 1) exp( ) 1.2
5
11 (cos( x 1)) 0.2 x ln( x 1) 1.05
2
точка за точкою
12 1.5 x 2 6 ( x 1) cos(1.3 x) exp(0.5 x) 25 суцільною лінією
13 x точка за точкою
4 sin( 1) cos( x) 0.5 ln( x 1) 1.7
2
14 sin( x 0.5) ln(x 3) co s(2 ln( x 1)) 0.45 суцільною лінією
15 x 2 7 x sin( x) exp(3 x) 18.5 точка за точкою
16 ( x 1) 2 cos( x 0.8) 2.7 x 7.2 суцільною лінією
17 x точка за точкою
8.9 cos( x) 2.5 ln( x 3) 2.3 sin( ) 2.4
2
18 0.9 x sin( x) 3.2 x cos( x) 5.5
2
суцільною лінією
19 x sin(1.4 x 0.2) 0.5 cos( x 1) 0.35 точка за точкою
20 sin(2 x 0.1) exp(2 x) x cos( x 1.1) 3 суцільною лінією
21 x точка за точкою
2 x cos( x 1) exp( ) 2.1
2
22 1 суцільною лінією
2 x 2 exp( x) 1.3
x2
23 x точка за точкою
( x 2) cos( x 2) exp( ) 1.5
6
24 ( x 4) sin( x 0.4) 3.3 x 1.5
2
суцільною лінією
25 x точка за точкою
24 sin( 1) cos( x 2) 2 exp(0.1 x)
2
Зміст звіту
1. Мета роботи.
2. Блок-схема, лістинг програми та результати роботи програми до
завдання.
3. Висновки.
71
Контрольні питання
1. За допомогою чого можна використовувати функції Windows API
для керування консольним введенням – виведенням? Як створити проект, що
буде підтримувати графічні функції у CodeBlocks?
2. Що таке дескриптор консольного вікна? Для яких цілей та функцій
він використовується?
3. Що означає та для чого використовується макрос #define
_WIN32_WINNT 0x0500 ?
4. Який алгоритм побудови графіку функції способом – суцільна лінія?
72
ЛАБОРАТОРНА РОБОТА №8
РОЗРАХУНОК ЗНАЧЕНЬ ФУНКЦІЙ НА ЗАДАНОМУ ІНТЕРВАЛІ
73
ЯКЩО (логічний_вираз; значення_якщо_істина; [значення_якщо_неправда]),
де логічний_вираз - ЯКЩО оператор перевіряє (текстові або числові дані
осередки);
значення_якщо_істина - ЯКЩО з'явиться в осередку, коли текст або число
відповідають заданій умові (правдиві);
значення_якщо_неправда - ЯКЩО з'явиться в графі, коли текст або число
НЕ відповідають заданій умові (брехливі).
СУМ (число1;число2;…),
де число1; число2;… – це посилання на комірки або на цілий діапазон.
Порядок виконання
1. Обчислити значення усіх виразів при заданих умовах.
2. Визначити задані значення.
3. Побудувати графіки функцій залежних змінних від незалежних.
Вказівки до роботи:
- Рішення оформити у вигляді таблиці.
- У перший стовпець помістити значення незалежної змінної.
- У наступні стовпчики помістити значення функцій, що
розраховуються.
- Результати одиночних розрахунків поміщати нижче вихідної
таблиці.
- Написати алгоритм, за яким було проведено розрахунки.
Варіанти завдань (1-2) наведено в табл. 8.1.
75
Таблиця 8.1 – Варіанти завдань
Варіант Завдання 1 Умови Завдання 2
5 z 2 , если z 0; – суму всіх F;
F 2 x 7 ; – максимальне
1 z 5, если z 0. x 0,5 значення F;
y S 2 F ; S z ; z x3 3 x . – кількість y>F.
– кількість y>12,5;
5,2 x3 a sin 3x, если x 0; 5 x 5 ; – суму всіх y і середнє
y 2
2 x 5, если x 0. x 0,5 ; значення y;
z y max( y ) a 0,33 – мінімальне значення
величини y.
x 3 cos x, если x 0; – кількість y>c;
z – суму всіх і середнє
c (1 x) , если x 0.
2
1 x 1 ; значення всех y;
3 S
1
z, где N – кількість x 0,1 ; – максимальне
N c 0.5 . значення величини y.
обчислених значень z ;
y z 2S ,
– кількість y>S;
e x cos(x 1), если x 1; 3 x 6;
z – суму і середнє
b ( x x 1), если x 1.
3 2
4 x 0,5 ; значення z>15;
y 4S z b ; S z , b 3. – максимальне
значення величини z.
– кількість y>;
2e 5 cos( 1), если 1 1 6 – суму і середнє
2 , если 1 значення всех ;
3
5 ,
y 4S , S 0,4 . – мінімальне значення
.
2 cos( 2 2), если 0 3 1, – кількість z>6;
0,2 . – суму і середнє
, если 0
3
76
Таблиця 8.1 – Варіанти завдань (продовження)
– кількість 1<t<1;
sin( f 10) e 3, если f 0
0,5 f
– суму і середнє
t
3( f 1) 0,25 f , если f 0
2 2 f 3,5 значення величин
9
; f 0,5 .
S t<0;
yt ; S t;
23 – максимальне
значення величини y.
2 x 5 x 3 3), если x 10 – кількість 1<y<1;
s 1 ; – суму і середнє
( x 1) 2 x, если x 10
3 1 x 3,5
10 значення для y>0;
P x 0,5 .
y sin x ; P t ; – максимальне
20 t 1 значення величини S.
– кількість 0<y<10;
4 x 3 3, если x 0 – сумму y>0;
s
( x 1) 5 sin x 2, если x 0
2 2,5 x 7 – середнє значення
11
y x 5 / P 1 , P s , x 0,5 . змінної S;
s2 – максимальне
значення S
7 x 3,2 x 2 , если 1
– кількість y<1;
s 10 x 5 – суму і середнє
(sin x 2) x, если x 1
2
12 , значення для y>0;
y 4 x P s , где P s x 1 . – мінімальне значення
s 0
величини s.
cos( 2 ) 0,5, если 3 – кількість y>10;
3 2 3 – суму і середнє
13 2 , если 3
, значення всех;
y s f , s , f 2β α 0,2 . – мінімальне значення
1
величини .
3( x 2) 13 11x, если x 0 – кількість 5<y<20;
s – суму всіх значень y;
(4 x 3) 2 6, если x 0 5 x 4,
14 x 0,5 . – середнє і
y s 4 P 2 5 x , P s максимальне значення
s 1 змінної s;
( 1) 7, если 1
2 – кількість f>0;
4 1 – суму і середнє
2 если 1
5
15 , значення всех y;
y s 2 f , s
2
, f 4s 3
0,5 . – мінімальне значення
3 величини y.
2 e 2 x 1 2 sin x, если x 0 1 x 4,5
– кількість R>q;
s – середнє значення
16 4 cos x ( x 18), если x 0 ;
змінної R;
x 0,5 ;
R 2 s P 3q , P s q=0,5.
– максимальне
sq значення величини s.
77
Таблиця 8.1 – Варіанти завдань (продовження)
– кількість 0<d<5;
6 z 4 cos5 z z 3 , если z 0
1 – суму і середнє
q значення переменной
(3z 4 1) 21, если z 0 1 z 2 ,
17 q;
z 0,3
d 6q P 1 , P q , – добуток z>0;
q5 – максимальне
значення величини d.
– кількість 2<t<5;
1,5z 2 4,3 cos z 1, если z 0 – суму значень q;
q z 2
2( e 3z ), если z 0 5 z 5, – середнє значення
18
z 1 . змінної q;
q
1
t 4 z q 3P , P
3
, – мінімальне значення
q4
величини t.
– кількість 1<y<2;
2 z, если z
w 2 4 – середнє значення
2 z, в ост. случаях z , змінної y;
2 2
19 – мінімальне значення
y 5 sin( wz 3) w P , z
. величини w.
P w 12
w3
3,9 z 4 z 1, если z 1
3 – кількість t>P;
q z 4 – суму значень q<1;
5,1(3,4e z ), если z 1
1 z 6 , – середнє значення
, P q
20 4P 2
t 9q z 1 . змінної q;
N q 0 – максимальне
(N – кількість значений q) значення величини t.
– кількість 1<R<2;
2 x 2 sin x, если x 0 – суму значегь R;
s ; 1 x 4,5 ;
4(5 x 12,8), если x 0 – середнє значення
21 x 0,5 ;
змінної s;
R s 3P qx , P s ,
s3
q=0,5.
– максимальне
значення величини R.
0,2 z 4 cos 2 z b, если z 1 – кількість t>b;
q – середнє значення
1, если z 1 5 z 5,
z 1 , змінної t;
t ( z 1) 2 1,2 P , P n q ,
22
q0 b=2. – мінімальне значення
величини t.
(N – кількість значений q)
– кількість y<w;
4 2 cos(t 2 ), если t 2 t ;
– середнє значення
w 2 2
23 2 sin(t ), в ост. случаях змінної y;
2 t ; – мінімальне значення
y w P s , P w , s w,
12
0,5 . величини w.
w 1 w1
78
Таблиця 8.1 – Варіанти завдань (продовження)
– кількість a<y<b;
3e 2 ax, если x 0
0, 2 x
– суму всіх значень s;
s 5 x 4,
2
( x 1) 10b, если x 0 – середнє значення
24 x 0,5 ;
змінної y;
y 3s P max s , P s b 0.3
s 2
– максимальне
значення величини y.
– кількість a<y<d;
3 2c ax2 , если x 1 2 x 10 ; – середнє значення
s x 0,5 ; змінної y;
25 d sin 4 x 1, если x 1
d 3,5 ; – добуток s>d;
y 3s d 3a P , P s
s 3 a 1. – мінімальне значення
величини y.
Зміст звіту
1. Мета роботи.
2. Таблиця виконаних розрахунків.
3. Графіки функцій залежних змінних від незалежних.
4. Алгоритм виконання розрахунків.
5. Висновки.
Контрольні питання
1. Що таке формула та функція у програмі Excel?
2. Алгоритм автоматичного заповнення осередків числами.
3. Логічна функція ЯКЩО та СУМЯКЩО. Синтаксис. Призначення.
4. Алгоритм побудови графіку функції у програмі Excel.
79
СПИСОК РЕКОМЕНДОВАНОЇ ЛІТЕРАТУРИ
80