
- •Информатика: предмет и задачи.
- •Формы представления информации в персональном компьютере.
- •Системы счисления.
- •Алгебра высказываний. Логические выражения и таблицы истинности.
- •5. Понятие алгоритма. Свойства алгоритма.
- •Основные элементы блок-схем. Линейные, разветвляющиеся, цикличные, комбинированные алгоритмы.
- •Алгоритмические процедуры и функции, их взаимодействие.
- •Этапы подготовки и решения задач.
- •Основы программирования. Виды языков. Обзор языков программирования высокого уровня.
- •10. Основы визуального программирования.
- •11. Использование переменных и констант.
- •12. Использование структур с условиями.
- •13. Работа с циклами.
- •14. Основы создания интерфейса пользователя.
- •15. Создание макросов.
- •16. Основные характеристики пк и принципы его выбора.
- •17. Структурная схема пк и назначение основных функциональных блоков.
- •18. Назначение основных функциональных узлов микропроцессора.
- •19. Виды и основные характеристики памяти.
- •20. Назначение, разновидности и основные характеристики видеомониторов, принтеров и сканеров.
- •23. Файлы и каталоги на дисках, путь к файлам, атрибуты файлов.
- •24. Компьютерные вирусы, основные симптомы и меры противодействия.
- •25. Классификация антивирусных программ, назначение программ AidsTest, DrWeb, Norton Antivirus.
- •26. Операционная система Windows , преимущества и недостатки, запуск Windows и выход. Рабочий стол Windows , назначение элементов рабочего стола.
- •27. Работа с меню и справочной системой Windows , условные обозначение в меню, системное меню, контекстные меню.
- •28. Windows . Настройки (панель управления, настройка экрана, мыши).
- •29. Windows . Настройка панели задач (создание и удаление папок меню, ярлыков, программ).
- •33. Windows/ работа с дисками, поиск файлов, работа с проводником
- •34. Моделирование как метод познания. Формы представления моделей.
- •35. Формализация. Типы информационных моделей.
- •36. Основные этапы разработки и исследования моделей.
- •37. Excel. Инструментальная среда vba. Проект vba и его структура.
- •38. Понятие алгоритма. Основные алгоритмические конструкции: линейные, ветвления, циклы.
- •39. Системы счисления. Перевод чисел.
- •40. Vba. Панель элементов управления.
- •42. Excel. Сортировка данных. Автоматическое подведение промежуточных итогов.
- •43. Word. Форматирование документов: параметры и способы форматирования символа, абзаца, страницы.
- •44. Макросы. Назначение, запись в Excel, выполнение.
- •45. Excel . Работа с вкладками Число и Выравнивание команды Формат/Ячейка.
13. Работа с циклами.
Программирование – слишком сложный процесс, чтобы его предпринимать ради расчета единственного варианта данных. Как правило, такие расчеты проводят для многих повторяющихся групп данных, т.е. предпринимают неоднократное повторение группы действий – циклы.
Как и для алгоритма ветвления, в VBA для реализации алгоритма цикла предусмотрены различные команды, представленные в табл. 11.5, которые в ряде ситуаций взаимозаменяемы.
Команда |
Условия применения |
For / Next |
Заранее известное количество повторений (итераций). |
Do While |
Повтор, пока выполняется заданное условие. |
Do Until |
Повтор, пока не выполнится заданное условие |
Команда For / Next – предназначена для организации циклов с конечным числом повторений.
For <счетчик> = <начало> To <конец> [Step <шаг>]
<набор команд>
[Exit For]
Next [<счетчик>]
Принцип работы команды состоит в следующем: переменная, используемая для подсчета номера итерации (счетчик) устанавливается в начальное значение. Выполняется набор команд, составляющих тело цикла. По команде Next управление передается снова команде For, в которой счетчик увеличивается на заданный шаг (Step) и проверяется на достижение величины, заданной в значении <конец>. Если это условие выполнится, управление в программе передается на команду, следующую за Next, иначе цикл повторяется.
Имя идентификатора <счетчик> после ключевого слова Next указывают, как правило, в сложных вложенных циклах для визуального контроля.
Инструкции [Exit For] не обязательны и применяются для экстренного выхода из For до достижения конца цикла (число таких альтернативных способов выхода из цикла не ограничено). Инструкция Exit For часто применяется вместе с проверкой некоторого условия (например, If...Then). Эта инструкция передает управление инструкции, непосредственно следующей за инструкцией Next.
Аргумент (Step) может быть как положительным, так и отрицательным. Если шаг не задан, он принимается равным 1.
Пример 1: Найти сумму первых 50 чисел натурального ряда.
Dim i, s As Integer
s = 0
For I = 1 To 50
s = s + I
Next
Пример 2: В массив М2 внесена информация. Обработать N элементов и найти сумму значений четных элементов массива. При достижении заданного число SK выйти из цикла досрочно.
Dim i, S,N As Integer
Dim M2(200) As Integer
…
S = 0
For I = 2 To N Step 2
S=S+M2(i)
If S >=SK Then Exit For
Next
Особый интерес представляют комбинированные алгоритмы, в которых одновременно используются алгоритмы цикла и ветвления.
Пример.
В ячейки А1:А33 внесена информация. В какой строке содержится максимальное значение и чему оно равно.
N = 1: mx = Cells(1, 1)
For k = 2 To 33 If Cells(k, 1) > mx Then N = k: mx = Cells(k, 1) End If Next k Cells(1, 2) = N: Cells(2, 2) = mx |
'Значение первой строки – условный Max. 'Цикл начинается со 2 строки. 'Если элемент превышает условный 'Max, он принимается как новый Max. 'Конец проверки. ' Конец цикла. 'Вывод результатов. |
Отступы слева при наборе операторов применены для улучшения восприятия логики программы. VBA их не требует, ни и не опротестовывает.
При организации вложенных циклов For...Next (один цикл For...Next располагается внутри другого). Счетчик каждого цикла должен иметь уникальное имя. Допускаются следующие конструкции:
For I = 1 To 10
For J = 1 To 10
For K = 1 To 10
...
Next K
Next J
Next I
Команда организации циклов While.
Команда While – предназначена для организации циклов, в которых ведется повторение набора команд, пока соблюдается некоторое условие.
Синтаксис команды допускает варианта ее применения.
1 вариант |
2 вариант |
Do While <условие> <набор команд> [Exit Do] Loop |
While <условие> <набор команд> [Exit Do] Wend |
В любом варианте набор команд, определяющих тело цикла, повторяется до тех пор, пока выполняется заданное в первой строке цикла условие.
Инструкции [Exit Do] не обязательны и применяются для экстренного выхода из цикла до достижения его конца (число таких альтернативных способов выхода из цикла не ограничено). Инструкция Exit Do часто применяется вместе с проверкой некоторого условия (например, If...Then). Эта инструкция передает управление команде, непосредственно следующей за командой Loop (или Wend).
Обратите внимание, что циклы While берут на себя труд проверять ЛЮБОЕ сложное условие выхода из цикла, чего не было в циклах For, но не заботятся ни о каких счетчиках, а значит, об изменении номера текущего элемента массива или строки электронной таблицы должны позаботиться Вы!
Пример 1.
В столбце A заданы целые числа. Определить их сумму, Если количество заполненных строк заранее не известно.
i = 1 Do While Cells(i, 1) <> "" S = S + Cells(i, 1) i = i + 1 Loop |
' Начальное значение счетчика строк. 'Повтор до первой пустой ячейки.
'Приращение счетчика строк. |
Пример 2.
Имеются таблицы продаж и ценник (рис. 11.13). Рассчитать стоимость по каждой продаже, если число строк в таблицах заранее не известно.
Рис. 11.13. Фрагмент рабочего листа Excel.
Один из вариантов макроса имеет вид:
i = 2 While Cells(i, 1) <> "" price = 0: j = 2 Do While Cells(j, 7) <> "" If Cells(i, 1) = Cells(j, 7) Then price = Cells(j, 8) Exit Do End If j = j + 1 Loop If price = 0 Then Cells(i, 4) = "Цены нет!" Else Cells(i, 4) = Cells(i, 3) * price End If i = i + 1 Wend |
Команда организации циклов Until.
Команда Until – предназначена для организации циклов, в которых ведется повторение набора команд, пока не выполнится некоторое условие.
Синтаксис команды:
Do Until <условие>
<набор команд>
[Exit Do]
Loop
Команда Until работает точно так же, как и описанная выше команда While, их принципиальное отличие - в способе проверки условия окончания цикла. Если цикл While повторяется, пока выполняется условие, то цикл Until перестает работать при первом же выполнении условия.
Пример.
Для таблицы продаж, представленной на рис. 11.13, определить дату продажи товара «мандарин».
i = 2 : X="мандарин"
Do Until Cells(i, 1) = X
i = i + 1
Loop
Cells(1, 10) = Cells(i, 2) ' Запись результата в ячейку J1.