Лабораторна робота №16. Тема:...

12
Лабораторна робота №16. Тема: Цикли Теоретичні відомості Цикл з лічильником Цикл це послідовність операторів, що може виконуватися більше одного разу. Він використовується при розв'язуванні таких задач, де необхідно повторити деяку послідовність команд більше одного разу. Відомі два типи команди повторення, що суттєво розрізняються: - цикл з відомою заздалегідь кількістю повторів; - цикл з невідомою кількістю повторів. Оператор повтору For…Next. Цей оператор повторення інакше називається циклом з параметром (або лічильником). Він складається із заголовка та тіла циклу. Мовою Visual Basic цикл з лічильником записується наступним чином: For параметр = початкове значення То кінцеве значення [Step величина кроку] Оператори тіла циклу Next [параметр] Вказувати після Next параметр циклу необов’язково, але це розуміння кодової частини при вкладених циклах. Цей оператор забезпечує виконання тіла циклу доти, поки не будуть перебрані всі значення параметра циклу від початкового до кінцевого. Параметр циклу, його початкове і кінцеве значення повинні належати до одного типу даних. Робота циклу здійснюється за такою схемою: Параметр циклу одержує початкове значення; Робиться перевірка, чи не перевищує значення параметра кінцевого значення; Якщо не перевищує, то виконується тіло циклу, якщо перевищує, тоді програма виходить з циклу та переходить на команду після Next. Якщо Step описано, то параметр циклу збільшується чи зменшується на величину кроку, якщо Step відсутнє, то параметр збільшується на 1. Цикл з післяумовою Мовою блок-схем цей цикл описується наступним чином: заголовок Тіло циклу Тіло циклу умова ні так

Transcript of Лабораторна робота №16. Тема:...

Page 1: Лабораторна робота №16. Тема: Циклиkukh.ho.ua/kurs/PZK/lr16.pdfМовою Visual asic цикл з лічильником записується наступним

Лабораторна робота №16. Тема: Цикли

Теоретичні відомості Цикл з лічильником

Цикл — це послідовність операторів, що може виконуватися більше одного разу. Він використовується при розв'язуванні таких задач, де необхідно повторити деяку послідовність команд більше одного разу.

Відомі два типи команди повторення, що суттєво розрізняються: - цикл з відомою заздалегідь кількістю повторів; - цикл з невідомою кількістю повторів.

Оператор повтору For…Next. Цей оператор повторення інакше називається циклом з параметром (або лічильником). Він складається

із заголовка та тіла циклу.

Мовою Visual Basic цикл з лічильником записується наступним чином: For параметр = початкове значення То кінцеве значення [Step величина кроку]

Оператори тіла циклу Next [параметр] Вказувати після Next параметр циклу необов’язково, але це розуміння кодової частини при вкладених

циклах. Цей оператор забезпечує виконання тіла циклу доти, поки не будуть перебрані всі значення параметра

циклу від початкового до кінцевого. Параметр циклу, його початкове і кінцеве значення повинні належати до одного типу даних.

Робота циклу здійснюється за такою схемою:

Параметр циклу одержує початкове значення;

Робиться перевірка, чи не перевищує значення параметра кінцевого значення;

Якщо не перевищує, то виконується тіло циклу, якщо перевищує, тоді програма виходить з циклу та переходить на команду після Next.

Якщо Step описано, то параметр циклу збільшується чи зменшується на величину кроку, якщо Step відсутнє, то параметр збільшується на 1.

Цикл з післяумовою

Мовою блок-схем цей цикл описується наступним чином:

заголовок

Тіло

циклу

Тіло циклу

умова ні так

Page 2: Лабораторна робота №16. Тема: Циклиkukh.ho.ua/kurs/PZK/lr16.pdfМовою Visual asic цикл з лічильником записується наступним

Умова — вираз булевого типу. Про умови ми з вами вже говорили в темі "Організація розгалуження" і всі особливості їх застосування та оформлення в цій команді нічим не відрізняються від попереднього випадку.

В цьому циклі спочатку виконується серія команд (тіло циклу), а потім перевіряється умова виходу з циклу. Саме тому ця команда повторення інакше називається циклом із післяумовою. Якщо умова виходу з циклу хибна (false), цикл активізується ще раз, якщо результат істинний (true), відбувається вихід із циклу.

Мовою Visual Basic цикл з післяумовою має такий синтаксис: Do Тіло циклу Loop Until умова

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

виконуватися нескінченно. Цикл з передумовою

Мовою блок-схем цей цикл описується наступним чином:

Оператор Do…While аналогічний оператору Do…Until, але перевірка умови виконання тіла циклу робиться на самому початку оператора, тому цикл інакше називається циклом із передумовою.

Формат опису: Do While умова Тіло циклу Loop Умова — булевий вираз. Перед кожним виконанням тіла циклу обчислюється значення виразу

умови. Якщо результат є істинним (true), тіло циклу виконується, у протилежному випадку відбувається вихід із циклу і перехід до першого після Do…while оператору. Якщо перед першим виконанням циклу значення виразу було хибним (false), то тіло циклу взагалі не виконується і відбувається перехід на наступний оператор.

Як і в попередньому випадку, програміст сам повинен подбати про переприсвоєння значення змінної, що визначає умову виходу з циклу, інакше він буде нескінченним.

У тому випадку, коли необхідно перервати виконання циклу, застосовуються різновиди оператора Exit, що розташовується всередині тіла циклу і виконується у випадку істинності деякої умови. При цьому для циклу з лічильником використовують Exit For, а для циклів з післяумовою та передумовою — Exit Do.

Приклади (фрагменти програм) Приклад 1 (цикл з лічильником) а) Сума 15000 грн. покладена на рахунок в банку. При цьому приріст складає 7% на рік. Скласти алгоритм та програму, який визначає суму, що буде на рахунку через 10 років, якщо гроші не знімались. Sub Main() Dim s As Single Dim k As Byte s = 15000 For k = 1 To 10 s = s + s * 0.07 Next k Console.WriteLine("Сума вкладу через 10 рокiв " & s) Console.ReadLine()

Умова

Тіло

циклу

початок

кінець

S:=15000

k від 1 до 10

S:=S+S*0.07

Page 3: Лабораторна робота №16. Тема: Циклиkukh.ho.ua/kurs/PZK/lr16.pdfМовою Visual asic цикл з лічильником записується наступним

End Sub Протокол №1 виконання програми

б) Сума х грн. покладена на рахунок в банку. При цьому приріст складає 7% на рік. Скласти алгоритм та програму, який визначає суму, що буде на рахунку через 10 років, якщо гроші не знімались. Sub Main() Dim s As Single Dim k As Byte Console.Write("Введiть суму вкладу: ") s = Console.ReadLine() Console.WriteLine() For k = 1 To 10 s = s + s * 0.07 Next k Console.WriteLine("Сума вкладу через 10 рокiв: " & s) Console.ReadLine() End Sub

Протокол №2 виконання програми

с) Скласти таблицю 15 значеннь функції F(x)=x

2 на відрізку [-3; 3] .

(Xi=A+i*H, Н=(В-А)/M, М =15). Dim f, x, a, b, n, h As Single Dim k As Byte a = -3 b = 3 n = 15 h = Math.Abs(a - b) / n For k = 0 To n x = a + k * h f = x ^ 2 Console.WriteLine("x= " & x & " y=" & f) Next k Console.ReadLine()

початок

кінець

k від 1 до 10

S:=S+S*0.07

S

S

Page 4: Лабораторна робота №16. Тема: Циклиkukh.ho.ua/kurs/PZK/lr16.pdfМовою Visual asic цикл з лічильником записується наступним

Приклад 2 (цикл з післяумовою) Знайти найбільший спільний дільник за алгоритмом Евкліда:

Sub Main() Dim a, b, c, r, nsd As Short Console.Write("Введiть 1 число: ") a = Console.ReadLine() Console.Write("Введiть 2 число: ") b = Console.ReadLine() Console.WriteLine() If a < b Then c = a a = b b = c End If Do r = a Mod b a = b b = r Loop Until (r = 0) nsd = a Console.WriteLine("НСД: " & nsd) Console.ReadLine() End Sub

Протокол №1 виконання програми

Протокол №2 виконання програми

Приклад 2.1. Суму 10000 грн поклали в банк. При цьому приріст складає 3% в рік та вважається неперервним. Скласти алгоритм, для обчислення за який проміжок часу вклад подвоїться. Sub Main() Dim S As Single Dim n As Integer S = 10000 n = 0 Do S = S + 0.03 * S n = n + 1 Loop Until S > 20000 Console.Write("Збереження збiльшаться в 2 рази через: " & n) Console.WriteLine(" рокiв") Console.ReadLine() End Sub

Протокол виконання програми

початок

кінець

S:=10000 n:=0

S>20000

S:=S+0.03*S n:=n+1

+

Page 5: Лабораторна робота №16. Тема: Циклиkukh.ho.ua/kurs/PZK/lr16.pdfМовою Visual asic цикл з лічильником записується наступним

Приклад 3 (цикл з передумовою) Використовуючи оператор циклу, обчислити добуток членів ряду із заданою точністю E=10

-3, якщо маємо

загальний член an= (x-n)/xn.

Sub Main() Dim a, e, x, p As Single Dim n As Short Console.WriteLine("Введiть значення") Console.Write("x=") x = Console.ReadLine() Console.Write("n=") n = Console.ReadLine() Console.WriteLine() e = 0.001 : a = (x - n) / x ^ n : p = 1 Do While a > e p = p * a n = n + 1 a = (x - n) / x ^ n Loop Console.WriteLine("Добуток членiв ряду: " & p) Console.ReadLine() End Sub

Протокол №1 виконання програми

Протокол №2 виконання програми

Приклад 3.1.

Резервуар заповнено 100 л водного розчину, що містить 5 кг розчиненого цукру. Притік води в резервуар складає 6 л за хвилину, а витік з резервуару — 5 л за хвилину. Концентрація підтримується рівномірною шляхом постійного змішування. Скласти алгоритм, для обчислення кількості цукру, який буде міститись в резервуарі через 10 хв.

РОЗВ’ЯЗАННЯ: Розіб’ємо відрізок часу довжиною в 10 хв на проміжки по 1 хв. Будемо вважати, що в кінці кожного такого проміжку в резервуар доливається 6 л води та виливається 5 л розчину. Будемо також вважати, що на протязі 1 хв концентрація розчину постійна і змінюється лише в кінці одиничного проміжку. Початковий об’єм розчину збільшується щохвилинно за рахунок притоку 6 л води. При цьому концентрація цукру зменшується і дорівнює відношенню наявного в резервуарі цукру до нового об’єму. З резервуару витікає розчин цукру з швидкістю 5 л за хвилину. Тому, кожну хвилину кількість цукру зменшиться на величину, що обчислюється добутком концентрації цукру на об’єм розчину, що витікає. Нехай V — об’єм розчину, k — концентрація, p — вміст цукру в розчині, t— час в хвилинах. На початку процесу V=100, p=5, t=0. Sub Main() Dim p, k As Single Dim t, v As Integer t = 0 v = 100

початок

кінець

t:=0 V:=100

P:=5

t<=10

V:=V+6 k:=p/V

p:=p+5*k V:+V-5 t:=t+1

+

Page 6: Лабораторна робота №16. Тема: Циклиkukh.ho.ua/kurs/PZK/lr16.pdfМовою Visual asic цикл з лічильником записується наступним

p = 5 Do While t <= 10 v = v + 6 k = p / v p = p - 5 * k v = v - 5 t = t + 1 Loop Console.WriteLine("Через 10хв кiлькiсть цукру складе: " & p) Console.ReadLine() End Sub

Протокол виконання програми

Масиви

Поняття масиву. Порядок роботи з масивом Поняття таблиці виникло тоді, коли програмістам знадобилося запам'ятати та обробити великий

набір однотипних даних. Наприклад, якщо ми хочемо знайти середній бал кожного учня класу з інформатики за чверть, нам необхідно знайти суму дуже великої кількості оцінок. Як зберігати всі ці оцінки? Зарезервувати для цього 40 (а може і більше змінних? Це дуже незручно. Ось тут і приходить на допомогу такий структурований тип даних, як таблиця або інакше масив.

Масив — це впорядкована послідовність елементів одного типу, звернення до яких здійснюється за допомогою імені та індексу (тобто порядкового номера елемента). Масив визначається ім'ям (ідентифікатором) і кількістю індексів (номерів), що потрібні для визначення місцезнаходження необхідного елементу масиву. Ім'я масиву є єдиним для всіх його елементів.

В програмуванні кількість індексів таблиці називають його розмірністю, кількість дозволених значень кожного індексу — його діапазоном, а сукупність розмірності та діапазону — формою масиву. Порядок роботи з масивом:

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

2) заповнити необхідними значеннями масив для розв'язування задачі; 3) якщо треба, вивести масив на екран для зорової перевірки роботи з ним; 4) робота з даним масивом; 5) виведення отриманих результатів.

Одновимірний масив Одновимірний масив інакше ще називають лінійним масивом або вектором. Кожному його елементу ставиться

у відповідність один індекс.

Щоб оголосити змінну типу одновимірний масив, використовується такий синтаксис: Dim ім’я масиву (розмір) As тип елементів При оголошені масиву можна описати діапазон індексів за допомогою ключового слова To. Dim ім’я масиву (3 To 5) As тип елементів

Звертання до елементу масиву: ІМ'Я_масиву [його_індекс] Приклад: M[6] - шостий елемент масиву М; A[10] - десятий елемент масиву А; B[i] - і-тий елемент масиву В. Методи заповнення одновимірного масиву: 1) за формулою:

Page 7: Лабораторна робота №16. Тема: Циклиkukh.ho.ua/kurs/PZK/lr16.pdfМовою Visual asic цикл з лічильником записується наступним

Dim a(7) As Short Dim i, n As Byte n = 7 For i = 0 To n a(i) = i * i – 10 {або будь-яка формула}; Next i 2) випадковим чином (генератором випадкових чисел) із проміжку [0, 100]:

Dim a(7) As Short Dim i, n As Byte n = 7 For i = 0 To n a(i) = 100 * Rnd() Next i Методи виведення елементів одновимірного масиву на екран

1) виведення у стовпчик: For i = 0 To n

Console.WriteLine(a(i)) Next i

2) виведення у рядок: For i = 0 To n

Console.Write(a(i)) Console.Write(" ") Next i

Методи сортування масивів Дуже часто при розв'язуванні задач, пов'язаних з обробкою масивів, необхідно виконувати сортування

його елементів за зростанням або спаданням. Такі задачі мають велике практичне значення. Розглянемо деякі з методів, що дозволяють впорядкувати елементи таблиць.

Всі існуючі методи сортування можна поділити на три групи:

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

методи прямого вибору — в масиві вибирається елемент з певними властивостями (наприклад, мінімум або максимум), а потім вибраний елемент становиться на своє місце;

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

Найбільш відомим обмінним сортуванням є метод "бульбашки". В ньому при послідовному проході по масиву порівнюються два сусідніх елементи. Якщо їх розміщення являється неправильним (наприклад, при впорядкуванні за зростанням лівий елемент більший за правий), виконується взаємообмін елементів. Процес повторюється щонайменше N-1 разів, де N — кількість елементів в масиві.

Двовимірні масиви Для опрацювання таблиць, у яких є кілька рядків та кілька стовпців, існує тип даних двовимірний масив. Щоб оголосити змінну типу двовимірний масив, використовується такий синтаксис: Dim ім’я масиву (кількість рядків, кількість стовпців) As тип елементів При оголошені масиву можна описати діапазон індексів за допомогою ключового слова To. Dim ім’я масиву (3 To 5, 1 To 9) As тип елементів

Звертання до елементу масиву: ІМ'Я_масиву [номер рядка, номер стовпця] Методи заповнення двовимірного масиву: 1) за формулою:

Dim a(2, 3), t As Short Dim i, g, n, m As Byte n = 2 : m = 3 For i = 0 To n For g = 0 To m a(i, g) = i + g Next g

Next i 2) випадковим чином (генератором випадкових чисел) із проміжку [0, 100]:

Dim a(2, 3), t As Short

Page 8: Лабораторна робота №16. Тема: Циклиkukh.ho.ua/kurs/PZK/lr16.pdfМовою Visual asic цикл з лічильником записується наступним

Dim i, g, n, m As Byte n = 2 : m = 3 For i = 0 To n For g = 0 To m a(i, g) = 100 * Rnd() Next g Next i Виведення елементів двовимірного масиву на екран

For i = 0 To n For g = 0 To m Console.Write(a(i, g)) Console.Write(" ") Next g Console.WriteLine()

Next i Приклади (фрагменти програм) Приклад 1 Простіший алгоритм "бульбашки" має наступний вигляд: Dim a(7), t As Short Dim i, g, n As Byte Console.WriteLine(" МЕТОД БУЛЬБАШКИ") Console.WriteLine("Одновимiрний масив до сортування") n = 7 For i = 0 To n a(i) = 100 * Rnd() Next i For i = 0 To n Console.Write(a(i)) Console.Write(" ") Next i Console.WriteLine() Console.WriteLine() Console.WriteLine("Одновимiрний масив пiсля сортування") For i = 0 To n For g = 0 To n - 1 If a(g) > a(g + 1) Then t = a(g) a(g) = a(g + 1) a(g + 1) = t End If Next g Next i For i = 0 To n Console.Write(a(i)) Console.Write(" ") Next i Console.ReadLine()

Протокол №1 виконання програми

Сортування «Методом бульбашки» можна здійснювати в інший спосіб:

For i = 1 To n For g = n To i Step -1 If a(g - 1) > a(g) Then t = a(g - 1)

Page 9: Лабораторна робота №16. Тема: Циклиkukh.ho.ua/kurs/PZK/lr16.pdfМовою Visual asic цикл з лічильником записується наступним

a(g - 1) = a(g) a(g) = t End If Next g Next i Приклад 2 Задано двовимірний масив розмірністю n*n. Знайти суму елементів, які розміщені на допоміжній діагоналі.

Dim a(3, 3), s As Short Dim i, g, n As Byte Console.WriteLine("Масив") Console.WriteLine() n = 3 For i = 0 To n For g = 0 To n a(i, g) = 9 * Rnd() Next g Next i For i = 0 To n For g = 0 To n Console.Write(a(i, g)) Console.Write(" ") Next g Console.WriteLine() Next i Console.WriteLine() Console.Write("Елементи допомiжної дiагоналi: ") s = 0 For i = 0 To n s = s + a(i, n - i) Console.Write(a(i, n - i)) Console.Write(" ") Next i Console.WriteLine() Console.WriteLine() Console.Write("Сума елементiв допомiжної дiагоналi: " & s) Console.ReadLine()

Протокол №1 виконання програми

Page 10: Лабораторна робота №16. Тема: Циклиkukh.ho.ua/kurs/PZK/lr16.pdfМовою Visual asic цикл з лічильником записується наступним

Завдання для виконання 1. Обчислити значення функції F(x) на відрізку [A,B] в точках Xi=A+i*H, де Н=(В-А)/M, М — задане число.

2. Використовуючи оператор циклу, обчислити суму (добуток) членів ряду із заданою точністю E, якщо задано загальний член An.

3. Для кожного етапу розв'язку задачі подати заголовок. Варіанти індивідуальних завдань

№ варіанту

ЗАВДАННЯ_3.1 ЗАВДАННЯ_3.2

Функція A B M An E

1 f(x)=sin x - /2 /2 20 (n-1)/xn 10

-3

2 d(x)=sin 2x - /3 /3 15 2n/x

2n 10

-4

3 g(x)=cos x 0 2 20 (2n-1)/xn 10

-3

4 b(x)=x+sin x - 10 1/2nx 10-5

5 f(x)=sinx+cosx - /4 /4 15 10 /(n+1)x 10-6

6 z(x)=sinx + x2 - /2 /2 10 n/(2x+n) 10

-3

7 f(x)=sin3

x - /2 /2 15 n/xn 10

-4

8 v(x)=sinx cosx, 0 2 20 (2n-1)/x

n 10

-5

9 s(x)=sin x +2, - /4 /2 15 (3n -10) /(3n)! 10

-4

10 c(x)=sinx3 0 /3 10 xn/x

n 10

-3

11 z(x)=sinx – x2 - /3 /3 15 (n+1)/(2x+n) 10

-3

12 f(x)=sin3

x+cos x - /4 /4 15 nx/(xn+5) 10

-4

13 v(x)=sinx – cosx, 0 2 20 (2n+3)/x

n 10

-5

14 s(x)=sin x +2x, - /4 /2 15 (2n +1) /n! 10

-4

15 c(x)=sinx2–5 0 /2 20 (x-n)/x

n 10

-3

Page 11: Лабораторна робота №16. Тема: Циклиkukh.ho.ua/kurs/PZK/lr16.pdfМовою Visual asic цикл з лічильником записується наступним

4. Розв’язати задачі згідно заданого варіанту.

5. Для кожного етапу розв'язку задачі подати заголовок (коментарі). Варіанти індивідуальних завдань Задача 5.1. 1. Барон Мюнхаузен, вийшовши на екологічно чисте полювання, зарядив свою рушницю кісточками вишень.

Після того як він вдало влучив поміж роги оленям, в яких влучило відповідно k1, k2, …, kn кісточок, у них на головах виросли чудові молоді вишеньки. Скільки саджанців зміг подарувати барон Мюнхаузен садівникам-дослідникам, якщо життєздатними виявились 87% саджанців?

2. Дано натуральне число А. Складіть програму, що представляє його у вигляді многочлена. Наприклад, 123 ==>1 * 10^2 + 2 * 10^1 + 3*10^0.

3. Дано дійсні числа a1951, a1952, …, a2000 — кількість опадів (в мм), що випали у місті за останні 50 років минулого століття. Обчислити середню кількість опадів за цей період і щорічне відхилення від середнього значення.

4. Дано дійсні числа a1, a2, …, a30, b1, b2, …, b30. Обчислити (a1 + b30)(a2 + b29)…(a30 + b1). 5. Дано дійсні числа a1, a2, …, a30, b1, b2, …, b30. Обчислити

6. Мама розвела оранжерею кактусів, деякі з яких були колючі, а інші — ні. Маленька донечка Яринка

вирішила, що голки на кактусах — це надто зухвало, і тому старанно поголила їх бритвою. Добре, що у мами залишився записник, в якому всі кактуси були позначені кількістю голочок a1, a2, …, an (якщо рослини без голок, тоді кактуси були позначені 0). Скількох кактусів торкнулася рука юної перукарки? Який кактус постраждав найбільше?

7. Продовжити послідовність чисел a1, a2, a3, …, an до вказаного числа n, де а1=1, а2=1, а3=2, а4=3,…, тобто кожен наступний член послідовності , починаючи з третього, рівний сумі двох попередніх.

8. Дано довільний набір з N дійсних чисел. Перевірити, чи утворює даний набір зростаючу послідовність. Якщо утворює, то надрукувати на екран True, якщо ні — вивести False.

9. В одновимірному масиві цілих чисел визначити кількість різних елементів та однакових елементів.

10. Задано многочлен . Обчислити його значення в деякій

точці .

11. Одновимірний масив цілих чисел впорядкувати по зростанню методом «бульбашки». 12. В одновимірному масиві цілих чисел знайти добуток найменшого та найбільшого елементів та вивести їх

індекси. 13. Середню групу дитячого садочка вивели на прогулянку. Скільки дівчаток і скільки хлопчиків видно з-за

паркану, якщо зріст хлопчиків задається у сантиметрах від'ємними числами, а дівчаток — додатними у вигляді цілих значень a1, a2, …, an? Крім того, у всіх дівчаток на голівках зав'язані бантики заввишки 10 см, а висота паркану H см.

14. В одновимірному масиві цілих чисел знайти середнє арифметичне сум парних та непарних елементів. Задача 5.2. 1. Дана дійсна матриця розміру 6×9. Знайти середнє арифметичне найбільшого і найменшого значень її

елементів. Впорядкувати n-ий її рядок у порядку не спадання його елементів. 2. Дана дійсна матриця розміру 18×n. Знайти значення найбільшого по модулю елемента матриці, а також

індекси якого-небудь елемента А із заданим значенням модуля. Впорядкувати елементи 3-го стовпця матриці по не спаданню значень.

3. Дана дійсна матриця розміру m×n. Знайти суму найбільших значень елементів її рядків. Впорядкувати четвертий рядок по не спаданню значень елементів.

4. Опишіть процедуру, що замінює в даному символьному масиві два елементи виду “т”, “о”, що йдуть один за одним на символи “н”,”і” відповідно.

5. Дана дійсна матриця розміру 5×3. Обміняти рядок n з рядком m. 6. Дано цілочисельну матрицю розміру 3×4. Знайти середнє арифметичне найбільшого і найменшого значень

її елементів. 7. В дійсній квадратній матриці порядку 5 замінити нулями всі значення елементів над головною діагоналлю. 8. Дана дійсна матриця розміру m×n. Знайти суму найбільших значень елементів її рядків. 9. В даній дійсній квадратній матриці порядку n знайти суму елементів рядка, в якому розташований елемент

з найменшим значенням. 10. В даній дійсній матриці розміру 5×5 обміняти місцями стовпець, що містить елемент з найбільшим

значенням, із рядком, що містить елемент з найменшим значенням. 11. Дана дійсна матриця розміру n×m. Транспонувати матрицю. 12. Дано цілочисельну квадратну матрицю порядку 4. Знайти відношення сум елементів діагоналей.

1

1 1 0( ) ...n n

n nP x a x a x a x ax

Page 12: Лабораторна робота №16. Тема: Циклиkukh.ho.ua/kurs/PZK/lr16.pdfМовою Visual asic цикл з лічильником записується наступним

13. За допомогою [xij] i=1,2;j=1,...,n дійсної матриці на площині задано n точок так, що хj,xj — координати j-ої точки. Точки попарно з'єднані відрізками. Знайти довжину найбільшого відрізка. Впорядкувати х1j в порядку зростання елементів.

14. За допомогою [xij] i=1,2;j=1,...,n дійсної матриці на площині задано n точок так, що хj,xj — координати j-ої точки. Точки попарно з'єднані відрізками. Знайти довжину найкоротшого відрізка. Впорядкувати х1j в порядку не зростання елементів.

Вимоги щодо оформлення звіту до лабораторних робіт

В зошиті з лабораторних робіт: 1. Лабораторна робота №n 2. Тема роботи 3. Постановка задачі 4. Математична модель 5. Алгоритм

Друкований звіт: 1. Текст програми (текст програми скопіювати в Word-документ звіту) 2. Протокол виконання програми

Приклад створення протоколу виконання програми

1) Запустити програму та відкрити особистий проект (з програмою). 2) Натиснути на кнопку Начать отладку. 3) Виконати «діалог» програми (введення даних та виведення результату на екран). 4) Вікно результату виконання програми розташувати під текстом програми. 5) Натиснути клавішу Print Screen. 6) Відкрити документ MS Word з тестом звіту. 7) Натиснути комбінацію клавіш Ctrl+V (або Вставка) для вставки екранної копії з буферу обміну в

документ.