ПР_Операторы цикла (1)
.docxПрактическая работа
Циклы
Цель работы: изучение операторов цикла
Циклическим называется алгоритм, содержащий группу операторов, выполняемых 0 и более раз.
Группа операторов, выполняемая многократно называется телом цикла
Параметр цикла – переменная, определяющая количество повторений тела цикла.
Итерация цикла есть процесс однократного выполнения операторов тела цикла
Существуют три типа циклических структур
1 Цикл с параметром
2 Циклы с управляющим условием
2.1. Условие проверяется до начала цикла
2.2. Условие проверяется после выполнения тела цикла
Содержание работы
Цикл с параметром 2
Задание 1 Цикл FOR…NEXT 2
Циклы с управляющим условием 2
Условие проверяется до начала цикла 2
Задание 2 Цикл WHILE…Wend 2
Задание 3 Цикл Do WHILE…LOOP 3
Задание 4 Цикл DO UNTIL…LOOP 4
Условие проверяется после выполнения тела цикла 5
Задание 5 Цикл DO…LOOP WHILE 5
Задание 6 Цикл DO…LOOP UNTIL 5
Задание 7 Вложенные циклы 6
Дополнительное задание 7
Самостоятельная работа 10
Цикл с параметром
Задание 1 Цикл FOR…NEXT
Постановка задачи
Используя диалоговое окно MsgBox вывести таблицу ASCII кодов символов латинского алфавита.
Перейти в редактор VBA и набрать следующий код
Циклы с управляющим условием
В циклах с управляющим условием инструкция или группа инструкций повторяется до тех пор, пока не будет выполнено управляющее условие. В зависимости от типа управляющего условия и времени его проверки различаются четыре типа цикла
Условие проверяется до начала цикла
Задание 2 Цикл WHILE…Wend
While условие 'TRUE –выполнение цикла, FALSE – выход из цикла
[Блок Инструкций]
Wend
Постановка задачи
Создать процедуру-подпрограмму, реализующую игру. Бросается игральная кость до тех пор, пока не выпадет 6 очков. При выпадении 6 очков игра заканчивается и выдаётся сообщение, указывающее, сколько попыток было.
Перейти в редактор VBA и набрать следующий код
Выполнить процедуру в пошаговом режиме, контролируя значения переменных в окне отладки (Locals Window)
Задание 3 Цикл Do WHILE…LOOP
Do While условие 'TRUE –выполнение цикла, FALSE – выход из цикла
[Блок Инструкций]
[Exit Do]
[Блок Инструкций]
Loop
Постановка задачи
Создать процедуру-подпрограмму, выполняющую следующий алгоритм:
Ввести с клавиатуры целые числа.
Подсчитать сумму нечётных чисел, вводимых пользователем.
Запомнить строку с введёнными числами.
Вычисления прекращаётся если сумма превышает число, введённое первым (предел суммирования)
Перейти в редактор VBA и набрать следующий код
Запустить процедуру. Проверить правильность счёта.
Задание 4 Цикл DO UNTIL…LOOP
Do Until условие ' FALSE –выполнение цикла, TRUE – выход из цикла
[Блок Инструкций]
[Exit Do]
[Блок Инструкций]
Loop
Постановка задачи
Вывести таблицу ASCII кодов символов латинского алфавита. Скопировать и преобразовать процедуру задания 1
Условие проверяется после выполнения тела цикла
Задание 5 Цикл DO…LOOP WHILE
Do
[Блок Инструкций]
[Exit Do]
[Блок Инструкций]
Loop While условие 'TRUE –выполнение цикла, FALSE – выход из цикла
Постановка задачи
Вычислить сумму чисел в заданном диапазоне.
Выполнить процедуру в пошаговом режиме, контролируя значения переменных в окне отладки (Locals Window)
Задание 6 Цикл DO…LOOP UNTIL
Do
[Блок Инструкций]
[Exit Do]
[Блок Инструкций]
Loop Until условие ' FALSE –выполнение цикла, – TRUE выход из цикла
Постановка задачи
Осуществить ввод пароля в диалоговом окне InputBox. Пользователю предоставляется максимум три попытки ввода, если пароль введён ошибочно три раза, то осуществляется вывод сообщения и выход из процедуры.
Для выполнения задания можно использовать созданную ранее форму Пароль и организовать цикл с помощью оператора DO…LOOP UNTIL. Ниже представлена процедура-подпрограмма без использования формы
Выполнить тестирование процедуры
Задание 7 Вложенные циклы
Вывести таблицу ASCII кодов латинских символов по 8 групп в строке.
Дополнительное задание
Постановка задачи.
Создать процедуры, позволяющие перемещать и масштабировать рисунок, расположенный на форме
Создать новую форму
Создать на Листе кнопку "движение рисунка", а также процедуру обработки события нажатие кнопки, вызывающую созданную форму
Private Sub CommandButton3_Click()
UserForm2.Show
End Sub
На форме создать кнопку "close" закрывающую форму, а также процедуру обработки события нажатие кнопки. Метод Hide закрывает форму
Разместить на форме изображение (элемент управления Image).
Для того, чтобы отображалась картинка воспользоваться свойством Picture элемента управления Image и указать путь к файлу с картинкой кнопка …
Изменить значения следующих свойств:
Свойство Name изображения = ImageFlower
PictureAligment (устанавливает расположение рисунка внутри объекта), 0 – верний левый, 1- верхний правый, 2- в центре, 3 – в нижнем левом, 4- в нижнем правом углу. Установить значение=2
PictureSizeMode (масштабирование рисунка), 0- непомещающиеся в границах объекта части рисунка обрезаются, 1- рисунок масштабируется так, чтобы он занимал всю поверхность объекта, 2- рисунок масштабируется с сохранением относительных размеров так, чтобы он помещался целиком внутри объекта. Установить значение=2
PictureTiling- TRUE (объект покрывается мозаикой из рисунка) и FALSE (в противном случае). Установить значение= FALSE
Создать процедуры перемещения картинки
Для управления перемещением картинки использовать свойства Left и Top картинки Image
Переменная MyTop должна быть объявлена как Puplic (общая) и используется для хранения начального положения картинки
‘ Описание общей переменной в разделе объявлений модуля формы
Public MyTop As Integer
Процедура начальной загрузки формы
Процедура движения на один шаг вверх
Метод Move осуществляет перемещение объекта.
Свойство Top задают/возвращает координату верхней границы элемента управления
Свойство Left задают/возвращает координату левой границы элемента управления
Координаты задаются относительно соответствующих координат формы
Букет летит вверх
Букет падает вниз
Проверить работу созданной формы
Самостоятельно доработать созданную форму
Создать кнопки, позволяющие перемещать картинку по шагам вправо и влево. Для того чтобы картинка не выходила за пределы формы необходимо воспользоваться свойствами UserForm2.Width, imageFlower.Width. Свойство Width возвращает/задает ширину формы и элемента управления.
Создать кнопки, позволяющие увеличивать и уменьшать размер картинки на определённую величину, например=5, при каждом нажатии на соответствующую кнопку. Для того необходимо изменить значение свойства imageFlower.Height (высота картинки) и imageFlower.Width (ширина картинки)
Создать кнопки, позволяющие изменять размер картинки до максимально возможного, используя для этого соответствующие операторы цикла. Смотри вариант «Букет летит вверх» и «Букет падает вниз».
Самостоятельная работа
Для задания циклический алгоритм разработать программы
