Мегаобучалка Главная | О нас | Обратная связь


Программы линейной структуры



2019-07-03 885 Обсуждений (0)
Программы линейной структуры 0.00 из 5.00 0 оценок




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

Пример 1. Составить схему линейного алгоритма вычисления значения:

Для начала построения блок-схемы алгоритма опишем последовательность действий, необходимых для решения данной задачи:

Ø начало

Ø ввод чисел a,b

Ø вычисление х

Ø вычисление y

Ø вывод результата

Ø конец

Составляем блок-схему алгоритма, используя соответствующие блоки.

Оператор-комментарий. Для облегчения восприятия и большейнаглядности программы в нее целесообразно включать комментарии, которые поясняют работу отдельных частей программы, характеризуют используемые переменные и т.д. Для записи комментариев используется оператор REM (REMARK) или знак ( ‘ ).

В этом операторе за словом REM могут быть записаны любые символы VISUAL BASIC.Включение операторовREMв программу никак невлияет на ее выполнение.

Операторы ввода и вывода. Оператор ввода служит для задания исходных данных при выполнении программы. Операторы вывода позволяют получить результаты выполнения программы. Ввод и вывод может осуществляться в нескольких формах: обмен данными между программой и ячейками Excel и между программой и стандартным окном Windows.

Ввод и вывод с ячейками Excel показаны на следующих примерах:

a = Cells(1, 2) –ввод значения переменнойaиз ячейкиB1;

Cells(1, 2)= a – вывод значения переменной a в ячейку B1;

Ввод и вывод при помощи стандартного окна Windows показаны на следующих примерах:

a =InputBox("введите а=") –ввод значения для переменнойa.

 

Сообщение "введите а" появляется в окне для подсказки, чтобы знать, для какой переменной требуется ввести его значение. Здесь в качестве значения для переменной “a” введено число 10.

MsgBox ("а=" & a ) –вывод сообщения"а="и значения переменной а.

 

Операторы ветвление в VBA

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

Оператор безусловного перехода.

Общий вид оператора GO TO m, гдеmметка.Этот оператор передает управление первомуоператору в строке с меткой m.

Условные операторы

Эта алгоритмическая структура представляет разветвление алгоритма в зависимости от значения (истинности или ложности) некоторого условия. В общем виде конструкция выглядит так:

<если> <условие> <то> <действия1> <иначе> <действия2>,

и читается как «если условие истинно, то выполнить действия1, иначе (если условие ложно), выполнить действия2». Слова «если», «то», «иначе» в разных языках могут иметь разный синтаксис, но в большинстве языков это «if», «then», «else». В VBA синтаксис условного оператора:

If <условие> Then <действия1> Else <действия2> End If

Условный оператор может быть неполным, без ветки <иначе> <действия2>. Тогда, если условие ложно, управление передается следующему в общей последовательности оператору. На блок-схемах эти два случая изображаются так:

 

Здесь знаки «+» и «-» обозначают «да» (условие выполняется) и «нет» (условие не выполняется). Например, вычисление y, заданной формулой:

На языке программирования VBA эта конструкция выглядит так:

If x<0 Then

y=x*x

Else

y = x +1

End If

Обратите внимание, что операторы после Then(ветка «+») и Else (ветка «-») начинаются с новой строки, а сам условный оператор заканчивается фразой End If – признаком конца конструкции ветвления.

Каждая из ветвей условного оператора может содержать произвольное количество операторов, среди которых могут быть снова ветвления (вложенные «если»). Например, следующая программа:

x=10

If x>5 Then

x=x-5

Else

If x>7 Then

   x=x+4: y=x

Else

  x=x*x-1: y=x+8

End If

End If

Возможна одновременная проверка нескольких условий, соединенных словами: OR - условие считается выполненным, если выполняется хотя бы одно из проверяемых условий; AND - условие выполнено, если выполняются все проверяемые условия одновременно; XOR - условие выполнено, если выполняется ровно одно из двух проверяемых условий.

 

Пример 2. Составить блок-схему разветвляющего алгоритма вычисления значения:

   

Оператор циклической структуры на VBA

Программы циклической структуры это такие программы, в которых какая-то группа операторов многократно повторяется. Эта группа операторов, оформленная специальным образом, называется циклом. Количество повторений определяется либо параметрами цикла, либо условием, заданным вне цикла. Многократное повторение выполняется за счет передачи управления на начало этой группы операторов. Циклические алгоритмы применяются при решении задач на табулирование функций (составление таблицы значений функции), на вычисление суммы и произведений, при обработке массивов.

Цикл с предусловием. Заголовок этого цикла содержит условие, которое

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

Циклы с предусловием называют обычно циклами типа While или циклами ПОКА (работает, пока условие выполняется). Синтаксис этих циклов в VBA:

While <Условие> <Тело цикла> Wend

или

Do While <Условие> <Тело цикла> Loop)

Например, исполнение фрагмента программы:

a = 7

While a > 0

a = a – 1

Wend

даст в результате значение а=0, т.к. тело цикла a = a–1 выполнялось столько раз, сколько выполнялось условие a>0. Последний раз оно выполнилось, когда a=1, в результате a=1–1=0. Проверка условия (0>0) показала «ложь» и управление передалось операторам, следующим за Wend (граница цикла While). Таким образом, значение а осталось равным 0. Если заменить первый оператор фрагмента a=7 на a=0, то цикл не выполнится ни разу, т.к. условие a>0 ложно.

Блок-схема этого оператора:

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

Цикл с постусловием. В таких циклах условие проверяется после того, как операторы тела цикла хотя бы раз отработают. Блок схема этого цикла такова:

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

Циклы с постусловием называют Until-циклами, циклами ПОКА НЕ или циклами ДО (работают до того, как условие выполнится). Синтаксис этих циклов в VBA:

Do <Тело цикла> Loop Until <Условие>.

Программа предыдущего примера, но с Until-циклом:

a = 7

Do

a = a – 1

Loop Until a < 0

даст другой результат: а=-1, т.к. после того, как значение а стало равным 0, тело цикла отработало еще раз (условие a<0 еще не выполнилось).

Если заменить первый оператор фрагмента a=7 на a=0, то этот оператор цикла сработает, т.к. до проверки условия выполнится a=a–1, и уже после этого произойдет выход из цикла (значение а станет -1, поэтому условие завершения a<0 станет верным). При использовании рассмотренных циклов необходимо помнить, что в теле цикла должны быть операторы, которые влияют на значение условия и, в конце концов, приведут к изменению его значения.

Цикл с параметром. Эти циклы используются тогда, когда число повторений известно заранее – количество шагов задано, например, 20, 100, N, или может быть вычислено как результат какого-либо выражения до исполнения цикла. Параметром в цикле является счетчик шагов.

Счетчик (это значение специально выделенной переменной) может изменяться на единицу с каждым шагом или получать некоторое заданное приращение, например, 0.15. Цикл тогда исполняется до тех пор, пока значение счетчика не достигнет указанного в заголовке цикла значения. Циклы с параметром называют часто циклами типа For, т.к. в большинстве языков программирования их заголовок начинается со слова For. Для VBA синтаксис этого цикла:

For <переменная-счетчик> = <начальное значение> To <конечное значение>

<Тело цикла>

Next

или, если используется счетчик с приращением значения, отличным от 1:

For <переменная-счетчик> = <начальное значение> To <конечное значение>

Step <приращение>

<Тело цикла>

Next

Здесь переменная-счетчик – это имя переменной, взятой для счета шагов; начальное значение, конечное значение – выражения, в частности, целые числа или переменные, значения которых берутся в качестве начала и, соответственно, конца отсчета повторений тела цикла, приращение – выражение, значение которого на каждом шаге добавляется к счетчику цикла (приращение может быть и отрицательной величиной, тогда оно вычитается из счетчика и начальное значение в этом случае должно быть больше конечного).

Обозначим начальное значение счетчика i как i0, конечное значение – N, приращение – h. Тогда блок-схема этого оператора имеет вид:

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

После каждого шага цикла к счетчику добавляется 1, если приращение не указано, или значение приращения, если оно указано. Условие на счетчик после этого проверяется и, если конечное значение не превышено, тело цикла вновь исполняется. После присваивания счетчику начального значения условие также проверяется. Пример использования цикла - For в программе VBA:

k = 2: m = 4

For i = k + 1 To m * 2 + 1 Step 0.5

k = k + i

Next

Этот цикл выполняется, начиная со значения счетчика i, равного 3-м, и продолжается, пока счетчик не превзойдет величину 9 (4*2+1=9); на каждом шаге значение счетчика увеличивается на 0.5, поэтому число шагов будет не 7, а 13. В результате значение k = 80. Несмотря на то, что значение k на каждом шаге меняется, начальное значение k+1=3 не пересчитывается и к нему исполнение цикла не возвращается.

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

В языке VBA оператором досрочного выхода является Exit, причем в циклах For он имеет вид Exit For, а в циклах, начинающихся с Do, он имеет вид Exit Do. Например, программа

a = 7

Do

a = a – 1

If a = 5 Then

Exit Do

End If

Loop Until a < 0

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

k = 2

m = 4

For i = k + 1 To m * 2 + 1 Step 0.5

k = k + i

If k = 5 Then

  Exit For

End If

Next

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

Пример программы с вложенными циклами в VBA:

For i = 1 To 7

For j = 1 To 5

     If i <= j Then

        Cells(i, j) = 1

     End If

Next

Next

Пример 3.Составить блок-схему алгоритма нахождения суммы пяти чисел. Здесь в качестве переменной цикла используется переменная i с начальным значением, равным единице, и конечным значением, равным 5, и шагом, равным единице. В этом цикле проверка условия выхода из цикла выполняется в конце цикла. При этом тело цикла повторится пять раз.

Для начала построения блок-схемы алгоритма опишем последовательность действий, необходимых для решения данной задачи:

Ø начальное значение суммы S равно 0; i – номер очередного числа x;

Ø ввод очередного значения x;

Ø добавление к сумме S очередного числа х;

Ø увеличение номера очередного числа на 1;

Ø проверка условия «Перебраны все значения x?»;

Ø Вывод результата суммирования;

Ø конец

3.МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО РАЗРАБОТКЕ программ в среде Visual Basic for Applications

Использование макросов в MS Excel

Макрос – это программа, записанная на встроенном языке макропрограммирования Visual Basic. Для создания и редактирования макросов используется редактор VBA, интегрированный в MS Excel.



2019-07-03 885 Обсуждений (0)
Программы линейной структуры 0.00 из 5.00 0 оценок









Обсуждение в статье: Программы линейной структуры

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (885)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)