Послідовність виконання роботи 4 страница Хід роботи 2.1 Постановка задачі Обчислити , де елементи масиву . Елементи масиву ввести довільні. 2.2 Графічний алгоритм показаний на рис. 12.1 2.3 Таблиця ідентифікації змінних Змінна | S | Xi | Ідентифікатор | s | X[i] | Рисунок 12.1 – Графічний алгоритм 2.4 Програма мовою Pascal та результати обчислень Program NS{накопичення суми}; Var s:real; i:integer; x:array[1..20] of real; Begin writeln('Введіть значення елементів масиву Х: '); ; for i:=1 to 20 do begin write('X[',i:2,']='); readln(x[i]); end; s:=0; for i:=1 to 20 do s:=s+sqr(x[i]); writeln('РЕЗУЛЬТАТИ РОЗРАХУНКУ:'); writeln('Сума =',s:6:2); end. РЕЗУЛЬТАТИ РОЗРАХУНКУ: Сума = 8400.00 3 Контрольні запитання 1. Яка структура алгоритму накопичення суми? 2. Яка структура алгоритму накопичення добутку? 3. Чому змінній, в якій накопичується добуток, перед його обчисленням присвоюють одиницю? 4. Яка структура алгоритму знаходження парних чисел; чисел, кратних трьом, п’яти? 5. Побудуйте розгалуження за допомогою логічного умовного оператора. 6. Як побудувати програму накопичення суми і добутку, користуючись циклічними структурами з передумовою, з післяумовою? Варіанти завдань наведені нище: 12.1. Обчислити значення функції  Аргумент х змінюється від початкового значення 1,3 до кінцевого значення -14,3. Кількість значень аргумента n=9; a=1,32. 12.2. Обчислити значення функції  Аргумент z змінюється від початкового значення 1,2 з кроком 0,25 до кінцевого 4,2; х=8,35; а=3,214. 12.3. Дано одновимірний масив з 25 чисел. Знайти суму перших непарних 11 чисел. 12.4. Дано одновимірний масив Y, який складається з 15 елементів. Обчислити функцію  12.5. Дано одновимірний масив С, який складається з 15 елементів. Обчислити і надрукувати добуток додатних і суму від’ємних елементів. 12.6. Дано одновимірний масив С, який складається з 12 елементів. Обчислити всі значення функції, а також суму значень функцій для від’ємних елементів масиву:  12.7. Дано одновимірний масив А, який складається з 18 елементів. Обчислити і надрукувати суму від’ємних парних елементів. 12.8. Дано одновимірний масив Т, який складається з 18 елементів. Обчислити і надрукувати добуток перших 7 елементів і суми наступних елементів, які знаходяться на парних позиціях. 12.9. Дано одновимірний масив С, який складається з 15 елементів. Обчислити і надрукувати добуток непарних елементів і їх кількість. 12.10. Дано одновимірний масив Y, який складається з 14 елементів. Обчислити і надрукувати суму перших 8 елементів і добуток наступних елементів, які діляться на 3 з остачею 2. 12.11. Дано два одновимірні масиви чисел Х і Т, кожний з яких складається з 12 елементів. Обчислити:  12.12. Знайти середнє арифметичне з модулів обчислених значень функції  12.13. Дано два одновимірні вектори Х і Т, кожний з яких складається з 10 елементів. Обчислити їх скалярний добуток. 12.14. Обчислити значення  де аі, bі визначаються за формулами   12.15. Дано одновимірний масив М, який складається з 18 елементів. Обчислити кількість від’ємних елементів і їх суму. 12.16. Обчислити  12.17. Дано одновимірний масив С, який складається з 16 елементів. Обчислити середнє арифметичне значення парних елементів масиву, які діляться на 3 з остачею 1. 12.18. Дано одновимірний масив Р, який складається з 12 елементів. Обчислити суму модулів всіх від’ємних елементів більших від числа А (А=1,25). Число А ввести з клавіатури. 12.19. Дано одновимірний масив В, який складається з 12 елементів. Обчислити добуток елементів масиву, які не дорівнюють нулю, значення яких знаходяться в межах А<B(I)<C, і їх кількість. Значення А і С ввести з клавіатури. 12.20. Дано цілочисловий одновимірний масив А, який складається з 14 елементів. Обчислити і надрукувати суму парних елементів, які знаходяться на непарних позиціях, і їх кількість. 12.21. Обчислити значення функції , причому b змінюється від 0,9 до 1,7 з кроком 0,2. Знайти середнє значення різниці між елементами обчисленого вектора А і заданого вектора С, який складається з 5 елементів, за формулою  12.22. Обчислити скалярний добуток векторів X, Y. Вектор заданий, а значення елементів вектора Х обчислити за формулою  12.23. Дано координати 12 свердловин (хі, уі, і=1,2,...,12) і координати групового пункту збору нафти хп, уп. Визначити віддаль від кожної свердловини до групового пункту і суму цих віддалей. 12.24. На складі є 12 одиниць обладнання, відома вартість кожної одиниці. Визначити сумарну вартість обладнання і середнє значення вартості одиниці обладнання і відхилення вартості кожної одиниці від середньої. 12.25. В цеху встановлено 15 одиниць обладнання, кожне з яких відпрацювало термін (від 5 до 15 років ), відома вартість кожної одиниці обладнання. Визначити сумарну вартість, кількість одиниць обладнання, що працювало більше 10 років, і його вартість. 12.26. Обчислити суму за формулою:  Результат обчислень вивести на друк. ЛАБОРАТОРНА РОБОТА № 13 Тема: Turbo Pascal.Алгоритми і програми для обробки двовимірних масивів. Мета: Формування умінь створення програм, які містять двовимірні масиви на алгоритмічній мові високого рівня Turbo Pascal. Теоретичні відомості Масив – це впорядкований скінченний набір даних одного типу, які зберігаються в послідовно розташованих комірках оперативної пам’яті і мають спільну назву. Назву масиву задає користувач. Двовимірний масив даних – це таблиця, що складається з декількох рядків і стовпців. Елементи масиву визначаються іменем масиву та двома індексами: перший індекс означає номер рядка, а другий – номер стовпця, на перетині яких стоїть елемент. Доступ до елемента масиву здійснюється через назву масиву і номер елемента. Щоб опрацювати елементи двовимірного масиву, використовують команди вкладених циклів. Хід роботи 2.1 Постановка задачі Дано квадратну матрицю . Обчислити добуток елементів над головною діагоналлю матриці та визначити їхню кількість. 2.2 Графічний алгоритм показаний на рис. 13.1. 2.3 Таблиця ідентифікації змінних Змінна | a | N | d | k | Ідентифікатор | a | n | d | k | 2.4 Програма мовою Pascal та результати обчислень Program DM{Двовимірні масиви}; const n=4; Var d:real; i,j,k:integer; a:array[1..n,1..n] of real; Begin writeln('Введіть елементи масиву'); for i:=1 to n do for j:=1 to n do begin writeln('a[',i,',',j,']='); read(a[i,j]) end; writeln('Вихідні дані:'); for i:=1 to n do begin for j:=1 to n do write(' ',a[i,j]:4:2); writeln; end; d:=1; k:=0; ні так Рисунок 13.1 – Графічний алгоритм for i:=1 to n do for j:=1 to n do if i<j then begin d:=d*a[i,j]; k:=k+1 end; writeln('РЕЗУЛЬТАТИ ОБЧИСЛЕНЬ:'); writeln('Добуток елементів масиву над головною діагоналлю = ',d:5:2); writeln('Кількість елементів масиву над головною діагоналлю = ',k:3); end. Вихідні дані: 4.00 7.00 3.00 2.00 8.00 3.00 7.00 5.00 4.00 5.00 7.00 4.00 2.00 7.00 4.00 2.00 РЕЗУЛЬТАТИ ОБЧИСЛЕНЬ: Добуток елементів масиву над головною діагоналлю = 5880.00 Кількість елементів масиву над головною діагоналлю = 6 3 Контрольні запитання 1. Як оголошується двовимірний масив? 2. Яким способом можна записати значення індексів елементів? 3. Який порядок зміни індексів елементів двовимірного масиву? 4. Які способи введення елементів двовимірного масиву ви знаєте? 5. В чому полягає різниця між перебором елементів двовимірного масиву по рядках і по стовпцях? Варіанти завдань наведені нище: 13.1. Дано матрицю А розміром 4х5. Визначити кількість елементів в кожному рядку матриці А, модуль яких дорівнює порядковому номеру елемента в рядку. На друк вивести кількість таких елементів для кожного рядка. 13.2. Дано матриці А і В розміром 6х6 кожна. Знайти елементи матриці С як півсуму відповідних елементів матриць А і В. 13.3. Знайти елементи в кожному стовпці матриці G розміром 7х4, які більші числа А і менші числа С. Визначити кількість таких елементів. Числа А=-2 і С=3,5 ввести з клавіатури. 13.4. Обчислити  Аргумент х змінюється від початкового значення 5,2 до кінцевого значення 8,3 з кроком 0,75. Вектор В складається з 8 елементів (додатні дійсні числа). 13.5. Дано матрицю Е розміром 4х6. Сформувати матрицю Q, значення елементів кожного стовпця якої обчислюється як різниця відповідних елементів двох суміжних стовпців матриці Е. 13.6. Дано матрицю Т розміром 6х5. Поділити елементи кожного стовпця на останній елемент стовпця. Перетворену матрицю надрукувати. 13.7. Дано матрицю А розміром 6х7. Для кожного рядка матриці обчислити суму елементів, значення яких перевищує задане число С. С=18,6. 13.8. Дано матрицю А розміром 6х6. Замінити в матриці елементи головної діагоналі нулями. 13.9. Дано матрицю С розміром nxn. Знайти і надрукувати індекси тих елементів матриці С, для яких cij=cji, а також підрахувати кількість таких елементів. 13.10. Дано матрицю А розміром 8х7. Поділити кожний елемент стовпця на елемент цього стовпця, розташований на головній діагоналі, якщо цей елемент не дорівнює нулю. 13.11. Масив С дійсних чисел має 5 рядків і 11 стовпців. Присвоїти значення найменшого елемента масиву змінній М1, номер рядка, де розташований цей елемент змінній Т, номер стовпця - змінній С. 13.12. Одновимірний масив А складається з 30 елементів. Знайти та надрукувати числа, які зустрічаються в масиві більше одного разу. 13.13. Для кожного рядка заданої матриці А розміром 8х5 знайти та надрукувати номери стовпців, які містять нульові елементи, і їх кількість. 13.14. Дано матрицю В розміром 5х6. Поділити елементи кожного рядка на елемент, розташований в третьому стовпці цього рядка. 13.15. Дано квадратну матрицю А 6-го порядку. Знайти суму елементів матриці, які розміщені в рядках з від’ємним елементом на головній діагоналі. Обчислити кількість таких рядків. 13.16. Обчислити елементи вектора В, кожний з яких дорівнює скалярному добутку суми елементів рядків матриці Q розміром 5х6 на векторі Х, який складається з 6 елементів. Вказівка:  13.17. Дано двовимірний масив В розміром 15х15. Обчисли-ти суму абсолютних значень елементів масиву, виключивши з неї діагональні елементи: i, j=1,2,3,...,15. 13.18. Дано матрицю Т розміром 6х7. Знайти максимальний і мінімальний елементи для кожного стовпця матриці Т. 13.19. Дано квадратну матрицю А n-го порядку (n<10). Утворити матрицю n-1 порядку шляхом вилучення з матриці А рядка і стовпця, які розміщені на перетині місцезнаходження мінімального елемента матриці А. Вивести на друк дві матриці і значення мінімального елемента матриці. 13.20. Дано дві цілочислові квадратні матриці 4-го порядку. Одержати нову матрицю шляхом віднімання від елементів кожного стовпця першої матриці суми елементів відповідних рядків другої матриці. 13.21. Дано матрицю розміром МхN. Сформувати з цієї матриці вектор за правилом: перші N елементів вектора - це елементи матриці першого рядка, другі N елементів - елементи другого рядка і т.д. (М=4; N=6). 13.22. Дано матрицю С розміром МхN. Поміняти перший елемент кожного стовпця матриці С з максимальним елементом цього стовпця, другий елемент цього стовпця з мінімальним елементом цього стовпця. Вивести на друк задану і новоутворену матриці. 13.23. Дано матрицю А( 3,4). Вивести на друк матрицю і номери стовпців і рядків, де знаходяться третій і п’ятий парні елементи цієї матриці. 13.24. Дано прямокутну матрицю МхN. Одержати нову матрицю шляхом ділення всіх елементів заданої матриці на елемент, найбільший за абсолютною величиною. На друк вивести нову матрицю і максимальний елемент за абсолютною величиною. 13.25. Обчислити значення  Аргумент Х змінюється від початкового значення 6 до кінцевого значення 18 з кроком 2, вектор А складається з 6 елементів. А={-2,6; 3,2; -4; 2,8; 8,1; -1,8}. ЛАБОРАТОРНА РОБОТА № 14 Тема: Turbo Pascal.Алгоритми і програми з використанням підпрограм-функцій. Мета: Формування умінь створення програм з використанням підпрограм-функцій алгоритмічною мовою високого рівня Turbo Pascal. Теоретичні відомості Підпрограми призначені для реалізації алгоритмів опрацювання окремих частин (модулів) деякої складної задачі, які можуть взаємодіяти між собою. Кожна підпрограма описується один раз і при необхідності до неї можна багаторазово звертатись. Розрізняють два види підпрограм – підпрограми-функції і підпрограми-процедури. Функції використовуються для обчислення одного значення і мають вигляд : function <назва>(<список формальних параметрів>): <тип функції>; <розділи описів і оголошень функції>; Begin <розділ команд функції, де має бути така команда: назва:= вираз> end; У розділі команд функції має бути команда присвоєння значення деякого виразу назві функції. Результат функції повертається в основну програму через її назву. Виклик функції здійснюється таким чином: <назва>(<список формальних параметрів>). Хід роботи 2.1 Постановка задачі Скласти графічний алгоритм і програму для обчислення значення функції , де ; ; , використовуючи функцію . 2.2 Графічний алгоритм показаний на рис. 14.1: а) графічний алгоритм основної програми; б) графічний алгоритм підпрограми-функції SUM . 2.3 Таблиця ідентифікації змінних Змінна | Ідентифікатор | x | x | y | y | t | t[i] | q | q[i] | NR | NR | NT | NT | NQ | NQ | 2.4 Програма мовою Pascal та результати обчислень Program PF{Підпрограми функції}; Const n=100; x=3.2; Type vect= array[1..n] of real; Var i,NR,NT,NQ:integer; t,q:vect; y:real; Function SUM(mas:vect;k,mm:integer):real; Var s:real; j:integer; б) а) Рисунок 14.1 –1 Графічний алгоритм Begin s:=0; for j:=k to mm do s:=s+mas[j]; SUM:=s end; Begin writeln('Введіть значення NR,NT,NQ'); read(NR,NT,NQ); writeln('Введіть елементи масиву t '); for i:=1 to NT do read(t[i]); writeln('Введіть елементи масиву q '); for i:=1 to NQ do read(q[i]); y:=SUM(t,1,NR)*x*x+SUM(t,NR+1,NT)*x+SUM(q,1,NQ); writeln('РЕЗУЛЬТАТИ ОБЧИСЛЕНЬ:'); write('y=',y:6:3) end. РЕЗУЛЬТАТИ ОБЧИСЛЕНЬ: у= 117.680 3 Контрольні запитання 1. Коли доцільно використовувати підпрограми-функції? 2. Що таке фактичні і формальні параметри? 3. Які функції називають рекурсивними? 4. Як формується звертання до підпрограм-функцій мовою Pascal? 5. Як здійснюється передача обчисленого значення функції в головну програму? Варіанти завдань наведені нище: 14.1. Скласти процедуру-функцію,яка обчислює значення х аргумента монотонної функції,при якому f(x)=0, згідно формули:  Очевидно:  14.2. Скласти процедуру-функцію,яка визначає довжину відрізка на площині за заданими полярними координатами його вершин згідно формули :  Використовуючи цю процедуру,скласти програму, яка вводить полярні координати вершин трикутника і друкує його периметр. Вершини: . 14.3. Оформити у вигляді процедури-функції обчислення бінома :  де із заданою точністю . 14.4. Нехай функція y(x) задана таблицею: Xi | X1 | X2 | X3 | X4 | ... | X20 | Yi | Y1 | Y2 | Y3 | Y4 | ... | Y20 | Скласти опис процедури-функції для обчислення значення цієї функції в довільній точці згідно формули лінійної інтерполяції: , де . 14.5. Скласти програму для обчислення означеного інтегралу:  згідно методу трапецій , де -крок інтегрування, а=2, b=3, n-число інтервалів; -підінтегральна функція. Обчислення підінтегральної функції оформити як процедуру-функцію. 14.6. Задані дійсні a i b. Отримати , де . Обчислення функції f(x;y) оформити у вигляді процедури-функції. 14.7. Обчислити ймовірність появи випадкової події рівно m разів в n незалежних дослідах згідно формули Бернуллі: , де , q=1-p, m ,n - цілі додатні числа, р -дійсне додатнє число з інтервалу (0;1) . Знаходження факторіалу оформити у вигляді підпрограми-функції. 14.8. Оформити обчислення значення інтегральної функції Ф(x), використовуючи наближену формулу (x>0):  у вигляді процедури-функції. 14.9. Отримати послідовнісь п'ятнадцяти псевдовипадкових чисел в інтервалі (0;1) згідно формули:  де F{ } - символ взяття дробової частини від виразу у фігурних дужках. За α0 взяти будь-який десятковий дріб. Знаходження чергового αk (k=1,2,...) оформити у вигляді процедури-функції. 14.10. Описати процедуру-фнкцію для обчислення . Число n , дійсні U, V і елементи дійсного вектора А вибрати самостійно. Скласти програму для обчислення величини . 14.11. Скласти програму обчислення розміщення згідно наближеної формули: . Обчислення ln(x!) оформити у вигляді процедури-функції. 14.12. Знайти значення величини , де |z|, |y|<1 При цьому обчислення arcsin(x) оформити у вигляді підпрограми-функції згідно формули:  14.13. Скласти програму для визначення величини , де а=1, b=32 . Oбчислення інтегралу оформити у вигляді підпрограми-функції , використовуючи метод Сімпсона: , де h=(b-a)/n=0,5. 14.14. Нехай А - двовимірний масив розміром nxn. Описати як функцію-процедуру обчислення суми абсолютних значень елементів k-го рядка , виключивши при цьому діагональний елемент , тобто . Величину n i елементи матриці А вибрати самостійно. 14.15. Майстерня отримала замовлення на виготовлення циліндричних бочок різної висоти, але діаметр основи кожної з них d=80 см. Скласти програму для визначення кількості бляхи (в квадратних одиницях ); потрібної для випуску 10 бочок висотою 1 м, 15 бочок – 0,9 м , 20 бочок – 0,7 м. Повна поверхня циліндра дорівнює: , де R - радіус основи. Обчислити як процедуру-функцію. 14.16. В змаганнях з баскетболу приймають участь 5 команд, в кожній з них - 10 спортсменів. Зріст кожного юнака задано. Сформувати команду в яку входитимуть найвищі баскетболісти від кожного колективу. Їх вибір здійснити, використовуючи процедуру-функцію. У випадку однакового зросту, заявити будь-кого. 14.17. Взимку 8 дітей ліпили снігові кулі. Скільки снігу (в м3) необхідно для підготовки кожної з них, якощо процес їх виготовлення припинявся, коли куля ставала за висотою рівною зросту дитини. Кількість снігу визначати як процедуру-функцію. Об'єм сфери дорівнює: . 14.18. Заипсати програму обчислення величини . Обчислення кореня кубічного згідно ітераційної формули  оформити у вигляді процедури-функції. X=5, Y0 =2. 14.19. Скласти програму обчислення , де . Обчислення функції (синус інтегральний) з точністю оформити у вигляді процедури-функції. . 14.20. Задано дві матриці A(3,3) i B(4,4). Знайти суму добутків додатніх елементів кожної матриці, які лежать нижче головної діагоналі. Обчислення такого добутку оформити у вигляді процедури-функції. 14.21. Написати програму для обчислення , де QJ -кількисть елементів векторів X(15) i Y(19), які кратні числу 3. Знаходження Q (j=1.2) оформити у вигляді процедури-функції. 14.22. Визначити суму мінімальних серед додатніх елементів в стовпцях масиву B(А,А). Обчислення такого мінімального елемента в стовпці оформити у вигляді процедури-функції. 14.23. Обчислити , , де X змінюється від Xn =0 до XK =1,57 з кроком h=0,1. Обчислення фнкції sh(x) виконати у вигляді процедури-функції, використовуючи формулу . 14.24. Записати процедуру-функцію для обчислення скалярного добутку двох векторів. Використовуючи її, скласти програму для знаходження добутків: . 14.25. Обчислити значення величини , де . При цьому обчислення arccosX оформити у вигляді підпрограми-функції згідно формули . ЛАБОРАТОРНА РОБОТА № 15 Тема: Turbo Pascal.Алгоритми і програми з використанням підпрограм-процедур. |