Методичні вказівки до лабораторних робіт з курсу Програмування
« Назад1. ЛІНІЙНІ ПРОГРАМИСтруктура лінійної програми складається з введення аргумента чи аргументів, присвоєння сталим їх числових значень, обчислення значень функції за заданими залежностями і виведення результатів обчислень. При складанні лінійних програм для прикладів, які наведені в таблиці 1.1, необхідно виконати такий обсяг роботи: - скласти графічний алгоритм; - виконати ідентифікацію змінних; - скласти програму однією або двома мовами, передбачивши введення аргумента і виведення проміжних результатів обчислень, значення аргумента та функції; - налагодити програму; - розв’язати задачу на ЕОМ в діалоговому режимі. Таблиця 1.1 – Варіанти завдань
Приклад. Скласти графічний алгоритм і програму для обчислення . Значення сталих величин: . Значення аргумента: Um=360.6 . Графічний алгоритм наведений на рис. 1.1. Опис форми. Відкриваємо нову форму і на цій формі створюємо такі елементи(Таблиця 1.2): Таблиця 1.2 - Елементи керування і їх властивості
Рис. 1.2 – Інтерфейс програми Програмуємо кнопку „Розрахунок”: Private Sub Command1_Click() Dim R2, P, U1, F, U, Z, R3, R4 as single R2 = 18.95 : R3=20.5 : R4= 31.6 P = 3.142 U1 = Val(Text1.Text) F = P / 16: R1 = R3 + R4 U = Sqr(U1) * Sin(F) Z = (R1 ^ 2 + R2 ^ 2) / (R1 + R2) * U Label8.Caption = F Label9.Caption = R1 Label10.Caption = U Label11.Caption = Z End Sub
Тепер програмуємо кнопки „Скинути” і „Вихід”: Private Sub Command2_Click() Text1.Text = "" Label8.Caption = "" Label9.Caption = "" Label10.Caption = "" Label11.Caption = "" End Sub
Private Sub Command3_Click() End End Sub
Результати: F = 0.196375 R1 = 52.1 U = 3.705136 Z = 160.2784
Питання для самоперевірки. 1. Що таке ідентифікатор? Які правила побудови ідентифікаторів? 2. Які основні оператори введення-виведення даних? 3. Як виконується введення-виведення даних мовами Pascal і С, Visual Basic, Delphi? 4. Який порядок дій в арифметичному виразі? 5. Як задається аргумент стандартної тригонометричної функції? 6. Що таке програма лінійної структури? 7. Якою командою запускається на виконання? 8. Типи даних та їх оголошення?
2. ПРОГРАМИ З РОЗГАЛУЖЕННЯМСтруктура розгалуженої програми складається з введення аргумента, формування умови розгалуження, розрахунку в кожній вітці значення функції відповідно до умови задачі, виведення значення аргумента і обчислення значення функції. При складанні програм з розгалуженням (таблиця 2.1) необхідно: - скласти графічний алгоритм; - ідентифікувати змінні; - скласти однією або двома мовами програму, в якій передбачити введення аргумента і виведення значення обчисленої функції в кожній вітці алгоритму; - розв’язати задачу на ЕОМ в діалоговому режимі. Задачу слід розв’язати для двох значень аргумента, які вказані в умові задачі, що дає можливість тестувати алгоритм. Таблиця 2.1 - Варіанти завдань
Приклад. Скласти графічний алгоритм і програми для обчислення функції a=6.6; b=2.95. Задачу розв’язати для двох значень аргумента х=2.46 і х=4.1. Розв’язок задачі. 1. Графічний алгоритм показаний на рис.2.1 2. Ідентифікація змінних
Опис форми. Відкриваємо нову форму і на цій формі створюємо такі елементи (таблиця 2.1): Таблиця 2.2 - Елементи керування і їх властивості
Рис. 2.2 - Інтерфейс програми Програма з оператором If…Then: Private Sub Command1_Click() Dim A, B, X As DoubleA = 6.6: B = 2.95 X = Val(Text1.Text) If X > A / 2 Then Y = A * X ^ 2 + B * Sin(A / 2) ^ 2 Else If X > A / 3 And X < B Then Y = (B + 1) / 2 + A * Cos(A ^ 3) Else Y = "Функція не існує" End If Label3.Caption = Y End Sub
Private Sub Command2_Click() Text1.Text = "" Label3.Caption = "" End Sub
Private Sub Command3_Click() End End Sub
Програма з оператором Case: Private Sub Command1_Click() Dim A, B, X As Single A = 6.6: B = 2.95 X = Val(Text1.Text) Select Case X Case Is > A / 2 Y = A * X ^ 2 + B * Sin(A / 2) ^ 2 Case Is > A / 3 And X < B Y = (B + 1) / 2 + A * Cos(A ^ 3) Case Else Y = "Функція не існує" End Select Label3.Caption = Y End Sub
Private Sub Command2_Click() Text1.Text = "" Label3.Caption = "" End Sub
Private Sub Command3_Click() End End Sub
Результати: Рис. 2.3 – Результат виконання програми Питання для самоперевірки1. Як працює умовний оператор? 2. Як працює безумовний оператор за обчисленням? 3. Яка різниця між арифметичним і логічним умовними операторами? 4. Чим визначається кількість умовних операторів у програмі? 5. Які логічні фунуції можуть бути використані в умовних операторах? 6. Чим визначається кількість операторів у тілі умовного оператора? 7. Як уникнути надлишкового застосування безумовного оператора? 8. Як отримуються дані логічного типу?
3. ЦИКЛІЧНІ ПРОГРАМИ З РЕГУЛЯРНОЮ ЗМІНОЮ АРГУМЕНТАДля завдань, які описані в таблиці 3, необхідно: - скласти графічний алгоритм, використавши оператор циклу або умовний оператор; - провести ідентифікацію змінних; - скласти програми з використанням оператора циклу і умовного оператора; - розв’язати задачу на ЕОМ в діалоговому режимі; - провести аналіз результатів. Якщо за умовою задачі не заданий один з параметрів циклу (початкове, кінцеве значення параметра або крок зміни), то його необхідно визначити, користуючись залежністю (3.1) де N - кількість циклів; хп,хк - початкове і кінцеве значення параметра циклу; - крок зміни параметра циклу. Таблиця 3.1 - Варіанти завдань
Приклад. Скласти графічний алгоритм і програми обчислень таблиці значень функції y=bx2+ex-1, b=11.83. Аргумент х змінюється від початкового значення х=2.6 з постійним кроком 0.15, кількість значень функції n=8. Графічний алгоритм і програми скласти з використанням оператора циклу та умовного оператора. Опис форми. Відкриваємо нову форму і на цій формі створюємо такі елементи (таблиця 3.3): Таблиця 3.3 - Елементи керування і їх властивості
Рис. 3.3 - Інтерфейс програми Програма. Private Sub Command1_Click() Dim x, y, b as Single b = 11.83 For x = 2.6 To 3.65 Step 0.15 y = b * x ^ 2 + Exp(x - 1) Print "y="; Format(y, "###.####"), "x="; Format(x, "##.##") Next x End Sub
Private Sub Command2_Click() End End Sub Рис. 3.4 – Результат виконання програми Питання для самоперевірки 1. Що таке цикл? Складові частини циклу? 2. Чому в циклічних процесах з регулярною зміною аргумента мовою Pascal необхідно вводити додаткову керуючу змінну? 3. Які дані необхідні для організації циклу? 4. В яких межах змінюється параметр циклу в приведених програмах? 5. Яка різниця в алгоритмах циклів, побудованих за допомогою оператора циклу і за допомогою умовних операторів? 6. Який оператор в наведених програмах контролює умову виходу з циклу? 7. Дайте зрівняльну характеристику програм з використанням умовного оператора і оператора циклу? 8. Які відмінності в організації циклу з післяумовою і передумовою. 6. ОДНОВИМІРНІ МАСИВИДля задач цього розділу необхідно скласти графічний алгоритм, провести ідентифікацію змінних, скласти програму і розв’язати задачу на ЕОМ. 6.1. Дано одновимірний масив Х, який складається з 12 елементів, обчислити Результат вивести у вигляді масиву у. 6.2. Обчислити значення виразу Аргумент х змінюється від 0.8 до 1.7 з кроком 0.05 (радіан). Результати обчислень вивести у вигляді масиву. 6.3. Дано координати точок х1, y1, x2, y2,...,x20,y20 та рівняння прямої y=ax+b; b= -2.1; a=1.34. Сформувати і вивести на друк масив С, який складається з ординат точок, що належать цій пря-мій, і визначити їх кількість. Дано координати точок х1, y1, x2, y2,...,x12,y12. Визначити, чи належать точки заштрихованій фігурі (рис.6.1). 6.5. Дано координати точок х1, y1, x2, y2,...,x15,y15. Сформувати і вивести на друк два масиви: масив А - ординати точок, які знаходяться в першій чверті, і їх кількість; масив В - абсциси точок, які знаходяться в третій чверті, і їх кількість. 6.6. Дано координати точок х1, y1, x2, y2,...,x15,y15. Якщо точка попадає в площину, обмежену колом х2+y2=R2 , то вивести на друк координати цієї точки і повідомлення “ТОЧКА В ПЛОЩИНІ”; якщо точка за межами кола, то вивести на друк координати точки і повідомлення “ТОЧКА ЗА МЕЖАМИ”. R=15. 6.7. Дано цілочисловий одновимірний масив, який складається з 16 елементів. Знайти парні елементи масиву, які більші числа А, і їх кількість. Число А ввести з клавіатури. 6.8. Дано одновимірний масив P, який складається з 16 елемен-тів. Знайти номери тих елементів, модуль яких дорівнює заданому числу А. Число А ввести з клавіатури. 6.9. Дано цілочисловий одновимірний масив T, який скла-дається з 25 елементів. Сформувати два масиви: перший, який складається з додатних елементів масиву T, другий - з від’ємних. 6.10. Дано одновимірний масив P, який складається з 30 еле-ментів. Знайти мінімальний елемент і його порядковий номер. ВС числа, які знаходяться перед мінімальним елементом, поділити на нього. Вивести на друк заданий і новоутворений масиви. 6.11. Дано одновимірний масив P, який складається з 32 елементів. Обчислити значення функції для від’ємних елементів масиву і підрахувати їх кількість. 6.12. Обчислити елементи масиву T, який складається з 8 елементів: 6.13. Дано одновимірний масив В, який складається з 15 елементів. Сформувати вектор А, першим елементом якого є найменше число, а наступні елементи вектора А - числа, які знаходяться за найменшим елементом масиву В. 6.14. Дано одновимірний масив Х, який складається з 15 елементів. Визначити півсуму найбільшого і найменшого елементів масиву. Приклад. Дано одновимірний масив А, який складається з 9 елементів (21; 32.6; 8.3; -4; 12.2; 4.5; 3.8; 7.5; 6.1). Поміняти місцями мінімальний і максимальний елементи, і вивести на друк перетворений масив, а також мінімальний і максимальний елементи. Графічний алгоритм показаний на рис. 6.2. Ідентифікація змінних
Опис форми. Відкриваємо нову форму і на цій формі створюємо такі елементи (таблиця 6.1): Таблиця 6.1 - Елементи керування і їх властивості
Рис. 6.2 – Інтерфейс програми Програма. Private Sub Command1_Click() Dim A(9) As Single For I = 1 To 9 A(I) = Val(InputBox("Будьласка введіть " & I & " Елемент масиву ", "Введення масиву", "")) Grid1.Col = I - 1 'Зробити активним І-ту колонку Grid1.Text = A(I) 'Записати дані в І-ту колонку Next I M1 = A(1) M2 = A(1) For I = 2 To 9 If A(I) < M1 Then M1 = A(I): K = I If A(I) > M2 Then M2 = A(I): N = I Next I A(K) = M2 A(N) = M1 For I = 1 To 9 Grid2.Col = I - 1 Grid2.Text = A(I) Next I Label5.Caption = M1 Label6.Caption = M2 End Sub Рис. 6.3 – Результат виконання програми Питання для самоперевірки 1. Як оголошуються масиви мовами? 2. Для чого оголошуються масиви? 3. Як записується елемент масиву? 4. Які способи введення і виведення одновимірних масивів ви знаєте? 5. Як визначається номер індексу, який заданий арифметичним виразом? 6. Охарактеризуйте основні атрибути масиву. 7. Який алгоритм пошуку найменшого елемента масиву? 8. Чому необхідно ввести додаткову змінну для перестановки місцями елементів масиву? З повагою ІЦ "KURSOVIKS"! |