Організація найпростіших меню у бейсик - програмах. Складніші конструкції використання оператора IF. THEN
На занятті 5 були розглянуті найпростіші конструкції реалізації алгоритмів, що розгалужуються. Розглянемо складніші конструкції із запровадженням нових понять та операторів.
Типові завдання: складання тренажерів, тестів, найпростіших меню в програмах бейсік.
Почнемо із завдання: першокласнику необхідно добре запам'ятати таблицю множення. Складаємо для нього спеціальний тренажер.
Програма може мати такий вигляд.
INPUT "Скільки прикладів тобі задати";
(Введемо поняття ЛІЧИЛЬНИКА. Це ціла змінна, яка збільшує своє значення як правило, на одиницю при виконанні певних умов)
k = 0:'**Обнулення лічильника невірних відповідей
k1 = 0:'**Обнулення лічильника вірних відповідей
5 a = 1 + INT (10 * RND): b = 1 + INT (10 * RND): з = a * b
'** формування випадкових цілих чисел та розрахунок їх твору
10? a; "x"; b; = “;:INPUT m:’**друк запитання та запит відповіді
?”Невірно, спробуй ще”
IF k 100 THEN 15
(Формування складових із перевіркою умови: чи не перевищує сума числа 100)
k = k + 1'***Збільшення лічильника прикладів на 1
PRINT a; a$; b; "="; : INPUT c: IF c = a + b THEN kp = kp + 1
(Збільшення лічильника правильних відповідей)
50 a = INT (10 + 90 * RND): b = INT (10 + 80 * RND)
IF a .9 THEN oc = 5
IF kp/n.75 THEN oc = 4
IF kp / n.5 THEN oc = 3
IF t$=”1” THEN 110 ELSE IF t$=”2” THEN 120
IF t$=”3” THEN 130 ELSE IF t$=”4” THEN 140
IF t$=”5” THEN 150 ELSE IF t$=”6” THEN 160 ELSE 100
Необхідно відзначити, що при організації меню або інших фрагментів вибору використання літерних клавіш іноді призводить початківців до природних проблем, вони забувають, що під кожною4 різних символів.
?”Продовжити роботу (Д) або вийти з програми (В), натисніть відповідну клавішу”
IF t$=”Д” OR t$=”д” OR t$=”L” OR t$=”l” THEN 200
IF t$=”В” OR t$=”в” OR t$=”D” OR t$=”d” THEN STOP ELSE 100
Фрагмент "реагує" тільки на вказані символи, але така конструкція не дуже зручна.
5.Програма, яка запитує неповне ім'я, а видає повне, може виглядати, наприклад, так:
10 CLS: PRINT TAB(35); "Для друзів": PRINT
PRINT TAB(15); "Введіть своє ім'я з великої літери не повне": PRINT
PRINT TAB(20); : INPUT a$
IF a$ = "Миша" THEN PRINT b$; "Михайло"
IF a$ = "Іра" THEN PRINT b$; " Ірина"
IF a$ = "Леха" THEN PRINT b$; " Олексій"
IF a$ = "Аня" THEN PRINT b$; " Ганна"
IF a$ = "Женя" THEN PRINT b$; "Євген"
PRINT "Я тебе не знаю": PRINT
PRINT TAB(15); "Якщо хочеш спробувати ще введи 1"
PRINT TAB(15); "Якщо хочеш піти введи 2"
IF a = 1 THEN 10 ELSE IF a = 2 THEN STOP
Як домашнє завдання запишіть тексти програм із більш простими конструкціями на закріплення IF..THEN.
1. Дані три позитивні числа. Чи можуть ці числа виражати довжини сторін трикутника? Якщо так, то визначте вид цього трикутника: гострокутний, прямокутний, тупокутний
2.Дані 2 точки у прямокутній системі координат. Визначити, яка з точок ближче до початку координат.
3.Точка задана своїми координатами у прямокутній системі координат. Визначити: якій чверті, чи якійсь координатній осі належить ця точка.
4. Дотепно реалізуйте фрагмент української казки про витязя, який на коні перед каменем із написом: ліворуч підеш.. праворуч підеш.. прямо підеш.
5.Дано комплекснечисло z = a + bi. Знайдіть його модуль та аргумент. Пам'ятайте, що аргумент комплексного числа належить інтервалу
6. Даний квадрат з вершинами в точках (-1; -1); (-1; 1); (1; -1); (1; 1). До нього вписано коло одиничного радіусу. Генеруйте точки, що належать квадрату, підраховуйте їх число, а також підраховуйте кількість точок, що належать колу. Через кожну 1000 точок розраховуйте відношення точок, що належать колу до всіх точок, це відношення множте на площу квадрата, тобто. на 4, та видавайте повідомлення. Ви будете здивовані результатом!
7.Складіть меню, що містить теми курсу математики, які Ви вивчили у першому семестрі. Намагайтеся згадати, про що йшлося в кожній з тем.
8.Відомо, що й прирощення функції у точці позитивно, то ця функція у цій точці зростає, інакше – зменшується. Надайте відповідне повідомлення.
9. Переробте тренажер (Програма 6.1) та отримайте з перевірочного тесту з виставленням оцінки.
10.Занимательная завдання, що міститься у всіх науково-популярних виданнях. Нехай Ваша програма реалізує гру "Вгадай число". Програма генерує двозначне (тризначне) натуральне число і пропонує користувачеві вгадати це число. Граючий вводить свої здогади, програма порівнює і видає одне з повідомлень: "Недолет", "Переліт" або "Молодець!" Вгадав із _ спроб”.
Розробте вдома 2-3 із запропонованих завдань, запишіть їх тексти, по можливості розмістіть на магнітному носії, щоб було зручно перевірити Вашу роботу.
Що нового Ви дізналися, які вміння та навички набули на занятті №6?
познайомилися з більш складними програмами структур, що розгалужуються, на прикладах;
засвоїли та закріпили на практиці формати оператора IF..THEN;
познайомилися з методикою організації найпростіших меню QB;
ознайомилися з оператором ON, функцією INKEY$ при організації структур, що розгалужуються;
здобули навички в умінні програмно реалізувати нескладні текстові завдання.