Основы программирования на языке Visual Basic, страница 14

5.  Завод выпускает ампулы для шариковых ручек синего и красного цветов партиями по К штук. В данный период изготовляются красные ампулы. Определить, через сколько дней завод приступит к выпуску синих ампул, если к данному моменту изготовлено К1 красных ампул и имеются сведения о ежедневном их выпуске (в разные дни выпуск может быть не одинаковым).

6.  Определить стоимость стальных заготовок, которые отпускаются со склада за месяц. Известны ежесуточный отпуск заготовок (он может быть разным) и стоимость одной заготовки. Ввод и обработку данных выполнять до тех пор, пока количество заготовок на складе не станет меньше аварийного нормативного запаса.

7.  В складском журнале имеются сведения о ежесуточном поступлении (П) и расходе (Р) литья, его нормативном запасе (Зн) и остатке на начало месяца (Он). Определить остаток литья на конец месяца (Ок) по формуле:

ОК = Он + П – Р.

Ввод и обработку данных выполнять до тех пор, пока остаток литья не станет меньшим чем нормативный запас. В критической ситуации вывести соответствующее сообщение.

8.  Телевизор куплен для использования его на протяжении 7 лет. Но заменить телевизор можно раньше, если стоимость ремонтов превысит его цену. Сколько лет прослужил телевизор, если известна стоимость каждого ремонта?

9.  На склад котельной для отопления завезено К тонн угля. Затраты угля зависят от среднесуточной температуры. Хватит ли угля на отопительный сезон, который начинается 15 октября, а завершается 15 апреля? Отопительный сезон может закончиться раньше, если температура воздуха превысит 15 градусов.

10.  У покупателя есть сумма средств S грн. Определить стоимость покупок, если они делаются в процессе знакомства с товаром.

Контрольные вопросы

1.  Каково назначение операторов цикла?

2.  В каких случаях используются операторы условного цикла? Приведите примеры.

3.  Чем различается применение ключевых слов While и Until?

4.   Могут ли ключевые слова While и Until одновременно употребляться в одном операторе цикла?

5.  Нарисуйте схемы алгоритмов для циклических процессов с предусловием и постусловием и рядом запишите соответствующие операторы цикла. Объясните их действие.

6.  Почему в проекте “Стоимость покупок” используется цикл с верхним окончанием, а в проекте “Затраты на год” – с нижним окончанием?

7.  Почему в обоих проектах для ввода данных используется функция InputBox, а не текстовые поля?

8.  Почему на форме “Стоимость покупок” нет ни одного текстового поля, а на форме “Затраты на год” – только одно?

9.  Как в проекте “Стоимость покупок” заменить условие продолжения цикла условием его завершения?

10.  Замените в проекте “Затраты на год” ключевое слово Until ключевым словом While так, чтобы пользователь программы не заметил изменений в ее выполнении.

11.  Почему в проекте “Затраты на год” после оператора цикла записан условный оператор?

12.  С какой целью в обоих проектах используется переменная i? Обязательно ли ее использование?

13.  Придумайте две задачи, в которых бы применялись операторы цикла с верхним и нижним окончанием.

Лабораторная работа № 6

Тема. Проектирование приложения на базе цикла со счетчиком.

Цель: приобрести умения и навыки применения оператора цикла со счетчиком.

Назначение: научиться создавать приложения на базе циклов, число повторений которых известно заранее. Полученные умения являются базовыми для реализации приложений с использованием массивов данных и элементов управления в последующих работах. Они позволят лучше понять сущность циклических процессов, которые встречаются как во время решения различных задач на компьютере, так и в повседневной профессиональной деятельности.

Общие рекомендации

Цикл с счетчиком имеет следующий вид:

For <счетчик> = <начальное значение> То <конечное значение> [Step <шаг>]

<операторы тела цикла>

Next [<счетчик>]

Здесь счетчик – числовая переменная, а начальное, конечное значение и шаг – выражения того же типа, что и счетчик. Если конструкция Step опущена, то подразумевается значение шага, равное +1.

Оператор цикла со счетчиком используется в тех случаях, когда число повторений известно заранее – до начала повторений.

Среди операторов тела цикла может находиться оператор немедленного выхода из цикла Exit For.

Пример решения задачи на базе

условного цикла со счетчиком

Постановка задачи

В магазине имеется n видов товаров, цена и количество каждого из которых известны. Определить общую стоимость всех товаров при проведении переучета в магазине.

Экономико-математическая модель

Общая стоимость товара в магазине определяется по формуле

S = Цена1 * Количество1 + Цена2 * Количество2 + ... +

Ценаi * Количествоi + ... + Ценаn * Количествоn ,

где n – количество видов товара в магазине (заранее известная величина).

Алгоритм решения задачи

Решение данной задачи осуществляется по алгоритму, приведенному на рис. 6.1.

Структура данных

В программе используются те же данные, что и в задаче о покупках.

Интерфейс с пользователем

В отличие от задачи о покупках, в задаче о проведении переучета заранее известно количество всех видов товара. Поэтому эту величину можно ввести с помощью текстового поля txtN на форме.

Ввод цены и количества товара каждого вида выполняется с помощью окон ввода таких же, как и в задаче о покупках. Начало этого процесса можно связать со щелчком на кнопке «Вычислить».

Полученный результат выводится в вогнутую область, которая представлена на форме надписью lblСтоимость.

 


Рис. 6.1. Схема алгоритма определения стоимости

товаров при переучете

Решение задачи выполняется с помощью формы (рис. 6.2).

Рис. 6.2. Форма для решения задачи о переучете

Код программы

В процедуре, которая обрабатывает событие Щелчок на кнопке «Вычислить», используются следующие операторы: