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

6.  Цена на товар в фирменном магазине превышает себестоимость на 2 %, а во всех других – на 5 %. Определить цену товара в зависимости от магазина, если известна его себестоимость.

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

8.  Определить заработную плату рабочего (ЗП), учитывая его разряд по специальности (Р) и стаж работы (С).

ЗП = О * Крс,

где О – оклад рабочего, грн.;

Крс – коэффициент, который учитывает разряд рабочего и стаж его работы (в годах),

9.  Предприятию устанавливается норма (Н) на потребление электроэнергии. Определить плату предприятия Пл за пользование электроэнергией, если при соблюдении нормы цена за 1 квт составляет Ц1 коп. Если норма превышена, но не более чем на 20 %, то за каждый сверхнормативный киловатт цена составляет Ц2 коп., если же больше, чем на 20 %, то дополнительно накладывается штраф в размере Ш грн.

10.   При почасовой оплате работы сверхурочная работа оплачивается по удвоенной тарифной ставке. Определить заработок рабочего за день, если он работал в период от Время1 до Время2. Нормальная смена длится 8 часов, почасовая тарифная ставка составляет Т грн.

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

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

2.  Каково назначение условного оператора?

3.  Сравните по назначению однострочную и блочную формы условного оператора?

4.  Постройте схемы алгоритмов для всех трех модификаций блочной формы условного оператора.

5.  Сравните условный оператор и оператор выбора.

6.  С какой целью в рассмотренном проекте “Отклонение” можно применить функцию MsgBox?

7.  Какие функции преобразования типов данных использованы в коде проекта “Отклонение”? С какой целью?

8.  Почему в коде проекта “Отклонение” объявлены две похожие переменные sngОтклонение и strОтклонение? Без какой из них можно было бы обойтись?

9.  В коде проекта “Отклонение” применяется расширенная модификация условного оператора. Запишите этот фрагмент кода с помощью обычной модификации условного оператора.

10.  Какие операции использовались при формировании значения переменной strОтклонение? С какой целью применялась функция Format?

11.  Какой результат имеет сравнение sngПроцент >100? Укажите его тип и значение в зависимости от значения сменной sngПроцент.

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

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

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

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

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

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

Операторы цикла предназначены для повторения выполнения группы операторов (тела цикла).

Если число повторений известное заранее (до начала повторений), то лучше использовать оператор цикла со счетчиком, в противном случае – оператор условного цикла.

Условный цикл получил свое название в силу того, что при каждом повторении проверяется выполнение условия, и в зависимости от результатов проверки принимается решение о дальнейших действиях. Условный цикл с верхним окончанием имеет вид:

Do {While | Until} <условие>

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

Loop

Конструкция {While | Until} означает, что используется только одно из ключевых слов: или While (Пока), или Until (КР)

Этот оператор цикла выполняется следующим образом. Сначала проверяется условие. Если оно удовлетворяется и перед ним стоит ключевое слово While, то выполняются операторы тела цикла, после чего весь процесс повторяется. Повторения продолжаются до тех пор, пока условие удовлетворяется. Если условие не удовлетворяется, то происходит переход к оператору, следующему за оператором цикла (после слова Loop).

Ключевое слово Until имеет противоположный смысл. Повторения в цикле продолжаются к удовлетворения условия. Если же оно удовлетворяется, то происходит выход из цикла.

Условный цикл с нижним окончанием имеет вид

Do

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

Loop {While | Until} условие

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

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

Вычислительный процесс, описываемый алгоритмом на базе цикла с предусловием, в программе на VB представляется оператором

Do While <условие>

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

Loop

а на базе цикла с постусловием – оператором

Do

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

Loop Until <условие>

Среди операторов тела цикла может встретиться оператор Exit Do, который обеспечивает немедленный выход из цикла (до достижения ключевого слова Loop).

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

цикла с верхним окончанием

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

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

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

Стоимость купленного товара определяется по формуле

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

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

где n=0, 1, 2,…

Количество покупок n заранее не известно и определяется в процессе знакомства с товаром.

Случай, когда не было совершено ни одной покупки, соответствует n = 0.

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

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

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