Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual Basic.doc
Скачиваний:
24
Добавлен:
21.02.2016
Размер:
15.63 Mб
Скачать

2.2.2 Оператор циклу Do While . . . Loop

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

Загальна форма оператора:

Do While <Умова>

<Блок_операторів>

Loop

Процес виконання оператора Do While . . . Loop такий:

  1. Перевіряється на істинність деяка логічна умова.

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

При використанні циклу Do While . . . Loop потрібно, на відміну від оператора For...Next, усередині циклу змінювати значення змінної - лічильника циклу.

У програмі визначення суми на рахунку після декількох років при певному банківському відсотку може бути використаний замість оператора For...Next оператор Do While . . . Loop. У цьому випадку алгоритм виконання програми не зміниться. Процедура cmdSolve _Click() прийме такий вид:

Private Sub cmdSolve _Click()

SPV = Val(txtSPV.Text)

V = Val(txtV.Text)

P = Val(txtP.Text)

SR = SPV

i = 1

Do While i<= P

SR = SR*(100+V)/100

i = i+1

Loop

lblSR.Caption = Str(SR)

End Sub

2.2.3 Оператор циклу Do. . . Loop While

У циклі цього типу оператори, що входять у тіло циклу виконуються обов’язково хоча б один раз, після цього відбувається перевірка умови і, якщо умова не істинна, керування передається наступному після рядка Loop оператору - цикл завершується. При істинності умови, починається наступна ітерація циклу.

Загальна форма оператора:

Do

Блок_операторів

Loop While Умова

Якщо спробувати вирішити задачу визначення суми ряду чисел із використанням оператора Do. . . Loop While, алгоритм виконання програми зміниться (рис.2.6).

Рисунок 2.6 - Блок-схема розв’язання задачі обчислення суми на рахунку з використанням оператора Do ... Loop While

Процедура cmdSolve _Click() прийме такий вид:

Private Sub cmdSolve_Click()

SPV = Val(txtSPV.Text)

V = Val(txtV.Text)

P = Val(txtP.Text)

SR = SPV

i = 1

Do

SR = SR*(100+V)/100

i = i+1

Loop While i<= P

lblSR.Caption = Str(SR)

End Sub

2.3 Контрольні запитання

  1. Що таке розгалужений обчислювальний процес?

  2. Чим оператор If відрізняється від оператора Select Case?

  3. Які обчислювальні процеси можна організувати за допомогою оператора Select Case?

  4. Який обчислювальний процес називають циклічним?

  5. Чому оператор Do ... Loop While називають циклом із після умовою?

  6. У чому полягає відмінність оператора циклу For … Next від оператора Do While … Loop?

2.4 Практичні завдання

Завдання

Розробити програму за індивідуальним варіантом. При розробці програми слід створити форму, програмний код, перевірити дію програми. Далі необхідно зберегти програму на магнітному диску, надрукувати форму та код програми. Звіт про роботу повинен вміщувати:

  • блок-схему алгоритмічного процесу розв’язання задачі;

  • роздруковану форму програми;

  • роздрукований код програми.

Варіант №1

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

Програма повинна реагувати, якщо користувач введе від’ємні або рівні 0 значення суми місячного внеску та банківського відсотку.

Рекомендація! При оголошенні змінних доцільно використовувати грошовий тип Currency.

Рисунок 2.7 - Вікно програм.

Варіант №2

Створити програму, за допомогою якої можна визначити добуток цілих чисел від 1 до Х, значення Х вводиться за допомогою клавіатури. Обчислення не повинно виконуватись тоді, коли введено від’ємне число або 0.

а)

б)

Рисунок 2.8 - Вікно програми

а) вид з вікна з результатом обчислення добутку натуральних чисел;

б) вид із повідомленням про помилку – введення від’ємного числа або 0.

При візуальній розробці програми, щоб помістити формулу розрахунку функції в форму, слід використовувати елемент “Об’єкт OLE” , після розташування об’єкту в формі вибрати у вікні діалогу Microsoft Equation, ввести формулу.

Варіант №3

Розробити програму розрахунку суми доходу від реалізації товару, який отримає підприємство. Користувач програми повинен мати змогу ввести найменування товару, закупівельну ціну товару (Ст), кількість отриманого товару (Кт), номер товарної групи. Сума придбання товару дорівнює:

.

Для товарів різних груп діють різні відсотки нарахування торговельної націнки, від якої залежить доход. Так доход від реалізації одягу складає 15% від суми придбання товару (Sт), взуття – 20%, канцелярських товарів – 10%, парфумерних товарів – 22%, товарів інших груп – 8%.

Рисунок 2.9 - Вікно програми

Варіант №4

Розробити програму, яка дозволяє визначити залишкову вартість основних засобів після певного періоду експлуатації. Щомісяця вартість основних засобів зменшується на суму амортизаційних відрахувань. При роботі програми слід ввести первинну вартість основного засобу, період експлуатації, відсоток амортизаційних відрахувань (Ав). Щомісяця виконується розрахунок залишкової вартості за алгоритмом: Вз * Ав / 100.

Рисунок 2.10 - Вікно програми

Варіант №5

Розробити програму, яка дозволяє ввести суму нарахованої заробітної плати за рік співробітникові підприємства, відсоток виконання виробничого завдання, визначити суму премії по результатах роботи за рік. Співробітник отримує премію у розмірі 10% від заробітної плати за рік, якщо план виконано на 100%. Якщо перевиконання плану складає до 5%, то премія нараховується у розмірі 12% від заробітної плати за рік, якщо перевиконання більше 5%, то премія обчислюється як 15% від заробітної плати за рік. Якщо план не виконано, премія не сплачується.

Варіант №6

Розробити програму, яка дозволяє ввести найменування товарної групи, купівельну ціну товару, кількість товару (див. рис.2.9). Програма повинна давати змогу розрахувати ціну продажу товару і суму реалізації з урахуванням того, що торговельна націнка на товари групи “Взуття” складає 15%, групи “Меблі” – 20%, групи “Електротовари” – 18%, інші товари – 22%.

Варіант №7

Розробити програму, яка дозволяє ввести ціле позитивне число Х, розрахувати значення функції У за формулою:

П – добуток чисел від 1 до Х (Х!).

Якщо введено число, яке є від’ємним або дорівнює 0, програма повинна видавати повідомлення про помилку (див. рис.2.8).

Варіант №8

Розробити програму, яка дозволяє ввести суму первинного внеску на рахунок у банку, термін зберігання коштів. Програма повинна давати змогу обчислити суму на рахунку в банку, виходячи з того, що якщо сума первинного внеску складає менше 500 грн., то банківський відсоток дорівнює 14% річних, якщо сума більше 500 грн. і менш ніж 1000 грн., то банківський відсоток 15% річних, більше 1000 грн. – 16% річних. Банківські відсотки нараховуються щомісячно.

Варіант №9

Розробити програму, яка дозволяє ввести оцінки, які отримав певний студент під час складання сесії з дисциплін: вища математика, фізика, інформатика, історія України. Визначити за допомогою програми розмір стипендії, яка нараховується студентові. Якщо всі екзамени складено на “відмінно”, нараховується стипендія в розмірі 100 грн., якщо студент отримав оцінки “відмінно” і “добре”, то стипендія складатиме 80 грн., у інших випадках стипендія не нараховується.

Варіант №10

Розробити програму, яка дозволяє ввести число Х, розрахувати значення функції У за формулою:

Варіант №11

Розробити програму, яка дозволяє ввести дані про роботу торговельного агента: суму реалізації товарів за місяць, кількість самостійно проведених акцій, кількість залучених до співробітництва фірм. Програма повинна давати змогу обчислити суму премії, нарахованої торговельному агенту за проведену роботу. Якщо сума проданого за місяць товару перевищує 2000 гривень, премія нараховується в розмірі 100 гривень, при продажі товару більше ніж на 3000 гривень нараховується премія в розмірі 250 гривень, у випадку, коли агент залучив до співробітництва більше 5 фірм або самостійно провів одну або більше акцій, сума премії зростає на 30%.

Варіант №12

Розробити програму, яка дозволяє ввести суму нарахованої заробітної за рік, відсоток виконання виробничого завдання, кількість раціоналізаторських пропозицій. Програма повинна давати змогу обчислити суму премії співробітникам підприємства. Якщо виконання виробничого завдання складає менше 100%, то премія не нараховується. Коли виробниче завдання виконано на 100%, нараховується премія у розмірі 200 гривень. Якщо виробниче завдання виконано більш ніж на 100%, то до суми премії додається 1% нарахованої заробітної плати за рік за кожний відсоток перевиконання виробничого завдання. Коли виробниче завдання виконано або перевиконано, то при наявності хоча б двох раціоналізаторських пропозицій до суми премії додається 100 гривень.

Варіант №13

Розробити програму, яка дозволяє ввести дані для розрахунку вартості столярного виробу: площа, матеріал (1 – сосна, 2 – бук, 3 – дуб), рівень складності виробу (1 – висока, 2 – середня, 3 – низька). Після натискання на кнопці Розрахунок програма повинна виводити вартість виробу, яка розраховується на основі таких даних: вартість 1 м2 виробу з сосни складає 100 грн., з бука – 140 грн., з дуба – 200 грн.; до вартості виробів з високою складністю застосовується коефіцієнт 1,2, середньою – 1, низькою – 0,8.

Варіант №14

Розробити програму, яка дозволяє ввести суму первинного внеску на рахунок у банку, термін зберігання коштів – 6, 9 або 12 місяців /інше значення є помилкою користувача, слід виводити повідомлення про помилку (див. рис.2.7)/. Програма повинна давати змогу обчислити суму на рахунку в банку, виходячи з того, що якщо кошти зберігаються протягом 6 місяців, то банківський відсоток дорівнює 12% річних, якщо термін збереження коштів 9 місяців, то банківський відсоток 15% річних, 12 місяців – 18% річних. Банківські відсотки нараховуються щомісячно.

Варіант №15

Розробити програму, яка дозволяє ввести число Х, розрахувати значення функції У за формулою: