Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OP_metodychka_RGR.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
735.74 Кб
Скачать

6. Програма з графічним інтерфейсом

Створенню застосування Windows Forms Application, розміщенню компонентів (текстових вікон, кнопок, прапорців) на формі та засобам задавання обробників подій присвячена лабораторна № 2 з дисципліни «Основи програмування». Побудова графічного інтерфейсу програм, що реалізують завдання контрольної роботи полягає в тому, що дані зчитуються з компонентів (типово з текстових полів) і результат обчислень теж відображається у текстових полях. Весь основний код може бути оформлений як обробник певної події, наприклад, події натиснення на кнопку (можна розробити консольне застосування і його код перенести згодом у код методу button1_Click застосування Windows Forms з тією різницею, що дані тут зчитуються без застосування cin та cout).

Основною задачею при переході від консольних застосувань до Windows Forms є перетворення типів даних – дані, які користувач записує у текстові поля, потрібно звести до типу int або double, і навпаки – результат, що є цілого або дійсного типу, необхідно перетворити в рядок для відображення його у текстовому полі.

Для цього застосовуємо клас Convert, що містить наступні потрібні нам методи:

ToString() – перетворює значення довільного числового типу у String.

ToDouble() – перетворює рядок у число типу double.

ToSingle() – перетворює рядок у число типу float.

ToInt32() – перетворює рядок у число типу int.

Приклад. На формі є два текстові поля та кнопка. У поле, помічене словом Number, користувач вводить ціле число. При натисненні кнопки “Double” рядок, записаний у верхнє поле, перетворюється у ціле число, множиться на 2, знову перетворюється у рядок і заноситься в текстове поле, помічене словом “Result”. Код-обробник події натиснення на кнопку:

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

int n;

n = Convert::ToInt32(textBox1->Text);

n = n*2;

textBox2->Text = n.ToString();

}

Результат показаний на рис. 6.

Рис. 6 Перетворення рядка в число і числа в рядок

Варіанти контрольної роботи

Варіант 1

1. Знайти трицифрове число, квадрат якого дорівнює 5-ому степеню суми чисел, визначених його цифрами. З цифр знайденого числа утворити множину А.

2. За допомогою правила Крамера розв’язати СЛАР:

З одержаних розв’язків сформувати множину В.

3. Знайти перетин множин А та В.

4. З клавіатури задається текстовий рядок, що являє собою математичний вираз. Написати програму, яка знаходить у цьому виразі тригонометричні функції і представляє їхні аргументи в радіанах, якщо вони задані цілими числами.

Варіант 2

1. Знайти всі прості числа виду nn + 1, менші за 1019. З цих чисел сформувати множину А.

2. Використовуючи обернену матрицю, розв’язати СЛАР:

З одержаних розв’язків сформувати множину В.

3. Знайти різницю множин А та В.

4. З клавіатури задається текст. Написати програму, яка вилучає з цього тексту зайві пробільні символи (слова мають розділятися лише одним пробілом).

Варіант 3

1. Знайти пари цілих чисел x та y від 1 до 60, для яких (x2+y2)/49 є цілим числом. Зі знайдених чисел сформувати множину А.

2. Використовуючи алгоритм Гауса, розв’язати СЛАР:

З одержаних розв’язків сформувати множину В.

3. Знайти різницю множин В та А.

4. З клавіатури задається текст. Написати програму, яка перевіряє, чи заданий текст відповідає синтаксису одного з циклів у мові С++.

Варіант 4

1. Цифри всіх цілих чисел від 1 до 10, записаних підряд, утворюють число. Викреслити з цього числа 5 цифр так, щоб число, утворене залишеними цифрами, було найменшим. З викреслених цифр утворити множину А.

2. Знайти алгебраїчні доповнення матриці та утворити з них множину В.

3. Знайти об’єднання множин А та В.

4. Дано 10 тестових питань з С++ (варіантів відповідей 4, правильних з них може бути від 0 до 4). Представити цю інформацію у зручному для програмного опрацювання вигляді. Написати програму-тест, яка приймає відповіді користувача та підраховує кількість набраних ним балів. Логіку оцінювання продумати самостійно, з міркувань якнайменшої можливості впливу вгадування на позитивну оцінку.

Варіант 5

1. Знайти всі натуральні числа k<50 такі, що вираз 2*36n + k*23n+1 – 1 при всіх n (n<5) ділиться на 7. Сформувати зі знайдених чисел множину А.

2. З клавіатури задається матриця 4*4, що містить елементи від 0 до 5. Обчислити попарні скалярні добутки її стовпців і з них сформувати множину В.

3. Вилучити з множини А її мінімальний елемент, а з множини В – максимальний.

4. З клавіатури задається текст. Написати програму, яка перевіряє, чи заданий текст є функцією С++. Перевірку зробити за такими ознаками: функція має тип повернення, ім’я, що відповідає вимогам, круглі дужки з параметрами, фігурні дужки і оператор return, якщо тип повернення не void. Тіло функції може бути довільним, зокрема пустим.

Варіант 6

1. Для параболи на проміжку [0,1] знайти значення похідної у десяти рівновіддалених точках. Із заокруглених знайдених значень сформувати множину А.

2. Знайти всі мінори матриці і сформувати з них множину В.

3. Видалити з множини А максимальний елемент множини В.

4. З клавіатури задається послідовність символів. Написати програму, яка виводить на екран всі можливі перестановки введених символів, що є приголосними.

Варіант 7

1. Порахувати значення виразу . З перших 6 цифр після крапки сформувати множину А, що не містить повторених елементів.

2. З клавіатури задається матриця розміром 5*7. Всі елементи цієї матриці, що відрізняються від середнього значення всіх елементів більше ніж на 10%, замінити нулями. Сформувати множину В з ненульових елементів матриці.

3. Додати до множини А елемент множини В, найближчий до середнього арифметичного її елементів.

4. З клавіатури задається текст. Написати програму, яка перевіряє, чи заданий текст є записом дійсного числа.

Варіант 8

1. Знайти всі пари простих чисел p і q (обидва числа не перевищують 100), що задовольняють рівність p2 – 2q2 = 1. Зі знайдених чисел сформувати множину А.

2. З клавіатури задається матриця розміром 4*4 та вектор розміром 4*1. Знайти добуток матриці та вектора і з елементів результуючого масиву сформувати множину В.

3. Додати до множини А мінімальний і максимальний елемент множини В.

4. З клавіатури задається текст. Написати програму, яка перевіряє, чи заданий текст може бути описом структури С++.

Варіант 9

1. Не застосовуючи вбудованих функцій, знайти корінь довільного степеня з довільного числа, введеного з клавіатури. З чотирьох перших цифр дробової частини знайденого числа сформувати множину А.

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

3. Видалити з множини А мінімальний елемент множини В.

4. З клавіатури задається послідовність символів. Написати програму, яка виводить на екран всі можливі перестановки введених символів.

Варіант 10

1. З клавіатури вводяться коефіцієнти, що визначають параболу та пряму. Знайти координати точок їх перетину та сформувати з них множину А.

2. Знайти головні мінори введеної з клавіатури матриці цілих чисел від -10 до 10 розміром 5*5 і сформувати з них множину В.

3. Видалити з множини В максимальний елемент множини А.

4. З клавіатури задається послідовність символів. Написати програму, яка виводить на екран всі можливі перестановки введених символів, що не є цифрами.

Варіант 11

1. З клавіатури вводиться послідовність натуральних чисел. Знайти їхній найбільший спільний дільник. Зі знайденого числа та чотирьох найближчих до нього натуральних чисел сформувати множину А.

2. З клавіатури задаються координати 6 векторів у просторі. Знайти їхні попарні векторні добутки і сформувати з координат цих векторних добутків множину В.

3. Видалити з множини В мінімальний елемент множини А.

4. З клавіатури задається послідовність символів. Написати програму, яка виводить на екран всі можливі перестановки введених символів, що не є великими латинськими літерами.

Варіант 12

1. З клавіатури вводиться радіус кола з центром у початку координат. Знайти координати точок перетину кола із графіком гіперболи та сформувати з них множину А.

2. Програмно визначити кількість лінійно незалежних рівнянь у системі

і з коефіцієнтів лінійно незалежних рівнянь сформувати множину В.

3. Знайти перетин доповнення до множини А з множиною В.

4. З клавіатури задається послідовність символів. Написати програму, яка перевіряє, чи ця послідовність є коректним записом часу (в якості роздільника може використовуватися двокрапка чи крапка).

Варіант 13

1. З клавіатури вводяться коефіцієнти, що визначають параболу. Знайти координати точок її перетину з експонентою та сформувати з них множину А.

2. З клавіатури задається матриця розміром 5*5. Знайти всі її мінори 3-го порядку та сформувати з них множину В.

3. Введене з клавіатури число вилучити з множини А, якщо воно є елементом і множини А, і множини В.

4. З клавіатури вводиться текст. Написати програму для підрахунку кількості «смайликів». Під «смайликом» розуміємо послідовність символів, що відповідає наступним вимогам:

Перший символ є «:» або «;»

Далі слідує довільна кількість (зокрема і нуль) символів «-»

Закінчується послідовність одним чи більше символом (,),[,]

Жодні інші символи не допускаються.

Приклади: :), ;-----------[[[[[[[

Варіант 14

1. З клавіатури вводиться радіус кола з центром у початку координат. Знайти координати точок перетину кола із синусоїдою на проміжку від 0 до π та сформувати з них множину А.

2. З клавіатури задаються дві матриці розміром 5*5. Знайти детермінант їхньої суми, а також найменші та найбільші елементи цих матриць. Зі знайдених значень сформувати множину В.

3. Введене з клавіатури число вилучити з множини А, якщо воно є елементом множини А, але не є елементом множини В.

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

Варіант 15

1. З клавіатури вводяться коефіцієнти, що визначають дві параболи. Знайти координати точок їх перетину та сформувати з них множину А.

2. З клавіатури вводяться три квадратні матриці, розмір яких не перевищує N. Знайти перманент кожної з матриць (перманент обчислюється, як детермінант, однак без чергування знаків). Зі знайдених значень сформувати множину В.

3. Утворити множину С з найменших елементів множин А та В.

4. З клавіатури задається послідовність символів. Написати програму, яка виводить на екран всі можливі комбінації з двох символів з множини заданих.

Варіант 16

1. З клавіатури задається натуральне число R. Знайти цілочисельні ординати точок, що потрапляють всередину сфери з радіусом R.

2. З клавіатури задається квадратна матриця розміром, що не перевищує N. Знайти детермінант цієї матриці. З абсолютного значення залишку від ділення заокругленого знайденого числа на 3 і найближчих сусідніх цілих чисел сформувати матрицю В.

3. Перевірити, чи введене з клавіатури число належить різниці множин А і В.

4. З клавіатури задається текстовий рядок, що являє собою коректний арифметичний вираз і може містити арифметичні оператори (+,–, *, /), круглі дужки та цифри. Написати програму, яка обчислює значення виразу.

Варіант 17

1. З клавіатури вводяться коефіцієнти, що визначають параболу. Знайти координати точок її перетину з синусоїдою та сформувати з них множину А.

2. З клавіатури задається матриця розміром 5*5. Знайти всі її мінори 2-го порядку та сформувати з них множину В.

3. Утворити множину С з найбільших елементів множин А та В.

4. З клавіатури задається послідовність символів, що формує вираз типу (a + b + c + … +x)^2. Написати програму, яка представляє цей вираз у вигляді суми.

Варіант 18

1. З клавіатури вводиться радіус кола з центром у початку координат. Знайти координати точок перетину кола з експонентою і сформувати з них множину А.

2. З клавіатури задаються дві матриці розміром 5*5. Знайти детермінант їхнього добутку, а також всі елементи другої матриці, більші за середнє значення першої матриці. Зі знайдених значень сформувати множину В.

3. Знайти доповнення до множини А.

4. З клавіатури задають послідовність символів. Написати програму для пошуку в ній дати поточного року (датою вважаємо запис, де першим вказане число, тоді – місяць і рік (4 чи 2 цифри), а роздільниками є символи «/», «.» або «-»).

Варіант 19

1. З клавіатури вводиться радіуси та координати центрів двох кіл. Знайти координати точок перетину цих кіл і сформувати з них множину А.

2. З клавіатури задається матриця розміром 5*5. Знайти її ранг і середні значення по стовпцях. Зі знайдених заокруглених значень утворити множину В.

3. Знайти доповнення до множини В.

4. З клавіатури задається послідовність символів. Написати програму, яка перевіряє, чи ця послідовність є коректним записом дати (датою вважаємо запис, де першим вказане число, після – місяць, а тоді рік (4 чи 2 цифри), причому роздільниками можуть бути символи «/», «.» і «-»).

Варіант 20

1. З клавіатури задають радіус кола з центром в точці (0,0). Знайти координати точок перетину кола з кубічною параболою та сформувати з них множину А.

2. З клавіатури задається матриця розміром 5*5. Програмно сформувати для неї верхню трикутну матрицю, з елементів якої утворити множину В.

3. Знайти перетин доповнення до множини В з множиною А.

4. З клавіатури задається послідовність символів. Написати програму, що всі числа у цій послідовності заміняє їхнім словесним записом, якщо остання цифра – не 1 (наприклад, 42 записує як сорок два, але 41 залишає без змін).

Варіант 21

1. З клавіатури вводиться радіус кола з центром у початку координат. Знайти координати точок перетину кола із графіком функції у = ln(x) і сформувати з них множину А.

2. З клавіатури задаються 6 наборів коефіцієнтів, що визначають прямі у просторі. Сформувати множину В з абсцис всіх точок перетину цих прямих.

3. Знайти різницю доповнення до множини А і множини В.

4. З клавіатури задається послідовність символів. Написати програму, яка заміняє числове представлення часу в цій послідовності англійськими словами (наприклад, замість 12.05 записує five past twelve).

Варіант 22

1. З клавіатури вводиться радіус і координати центра кола. Знайти координати точок перетину кола із графіком функції у = е-х і сформувати з них множину А.

2. З клавіатури задаються координати 4 векторів у просторі. Вивести на екран кути між усіма парами векторів у градусах і сформувати множину В з тих із них, що потрапляють в діапазон від 1 до 30 градусів.

3. Знайти перетин доповнення до множини В і множини А.

4. З клавіатури задається послідовність символів. Написати програму, яка заміняє натуральні числа в цій послідовності римськими цифрами.

Варіант 23

1. Знайти дійсний корінь кубічного рівняння, заданого своїми коефіцієнтами.

2. З клавіатури задаються координати 3 векторів на площині. Знайти координати перпендикулярних їм векторів і сформувати з них множину В.

3. Перевірити, чи введене з клавіатури число належить множині А.

4. З клавіатури задають послідовність символів. Написати програму для пошуку в цій послідовності львівських поштових індексів (79ххх) та виводу їх на екран.

Варіант 24

1. З клавіатури задаються коефіцієнти, що визначають пряму на площині. Знайти координати точок перетину цієї прямої з гіперболою та сформувати з них множину А.

2. З клавіатури задається послідовність координат точок на площині. Визначити, чи багатокутник, який утворюється шляхом послідовного з’єднання цих точок відрізками, є опуклим. Якщо так, визначити його площу.

3. Перевірити, чи введене з клавіатури число належить множині В.

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

Варіант 25

1. З клавіатури задається число N. Знайти цілочисельні абсциси точок (x, y, z), для яких значення функції z = x2 + y2 не перевищує N.

2. З клавіатури вводяться координати точок, що задають відрізки на площині. Визначити точки перетину цих відрізків і утворити з їхніх абсцис множину В.

3. Перевірити, чи введене з клавіатури число належить множинам А і В одночасно.

4. З клавіатури задається текстовий рядок, що являє собою арифметичний вираз і може складатися з арифметичних операторів (+,–, *, /), круглих дужок і цифр. Написати програму, яка перевіряє коректність виразу. Вираз вважатимемо коректним, якщо в ньому правильно розміщені дужки, бінарні оператори розміщені між операндами, а числа записані лише за допомогою цифр.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]