Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Инф VBA

.pdf
Скачиваний:
31
Добавлен:
29.03.2016
Размер:
1.88 Mб
Скачать

20

3.3 Циклические алгоритмы

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

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

Циклические конструкции бывают трех видов:

a)циклы с параметром (или со счетчиком);

b)циклы с предусловием;

c)циклы с постусловием.

Циклы со счетчиком (с параметром)

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

Блок-схема циклического алгоритма с параметром:

i iнач

Нет

i iкон

Да

Тело цикла

i i h

Рис.5

Перед выполнением первого шага цикла счетчику цикла i должно быть присвоено начальное значение – некоторое число iнач . Если величина счетчика

Рис. 6
счетчик цикла i, затем его и шаг счетчика h. Если шаг h

21

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

Существует другая форма блок-схем для циклов с параметрами.

i iнач, iкон , h

Тело цикла

В заголовке счетного цикла указывается начальное значение iнач , конечное значение iкон

равен 1, то его можно не указывать.

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

Циклы с предусловием

Циклы с предусловием чаще всего используют тогда, когда неизвестно число повторений цикла. Циклы с предусловием – это такие циклы, в которых до начала выполнения тела цикла проверяется условие выполнения следующего шага цикла. Если значение этого условия истинно (т.е. условие выполняется), то выполняется тело цикла. В теле цикла должно изменяться значение, по крайней мере, одной переменной, которая влияет на значение условия (иначе произойдет «зацикливание»). Далее опять проверяется условие выполнения цикла, и если значение условия ложно, то осуществляется выход из цикла.

22

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

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

Особенность этого типа цикла в том, что тело цикла может не выполниться ни разу, если условие первоначально ложно в первом варианте

(или истинно во втором).

Блок-схемы циклов с предусловием:

 

 

Условие

 

Нет

 

 

 

Условие

 

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

работы цикла

 

 

 

 

выхода из цикла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

 

 

Нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тело цикла

 

 

 

 

 

 

Тело цикла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 7

Циклы с постусловием

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

Блок-схемы циклов с постусловием:

23

 

 

 

 

 

 

 

 

Тело цикла

 

 

 

Тело цикла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Условие

Нет

Условие

Да

работы цикла

 

выхода из цикла

 

Да

 

Нет

 

Рис.8

Сло ные циклы

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

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

Контрольные вопросы к главе 3.

1.Алгоритм называется линейным, если

A.он составлен так, что его выполнение предполагает многократное повторение одних и тех же действий;

B.ход его выполнения зависит от истинности тех или иных условий;

C.его команды выполняются в порядке их естественного следования друг за другом;

D.он представлен в табличной форме;

E.он включает в себя вспомогательные алгоритм.

2. .Дан алгоритм:

24

Используемые операторы: «:=» – присваивание, «;» – конец оператора, «IF»

– «если», «THEN» – «то», «BEGIN» и «END» – группировка операторов для их совместного выполнения или невыполнения.

После выполнения данного алгоритма в переменной A будет значение…

A.A=24

B.A=25

C.A=30

D.A=5

E.A=15

3.Какой из алгоритмов является циклом с предусловием?

 

 

B

 

C

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Сколько раз будет выведено число Y?

25

A.5

B.9

C.7

D.12

E.10

5.Какой тип алгоритма должен быть выбран для нахождения корней квадратного уравнения?

A.Циклический

B.Линейный

C.Сложные циклы

D.Разветвляющийся

26

6. Условие 2 задает в алгоритме

A.цикл с предусловием

B.цикл с параметром

C.цикл с постусловием

D.полное ветвление

E.неполное ветвление

7.Дана схема алгоритма:

С помощью операции a mod b вычисляют остаток от деления числа a на b,

27

операция a div b позволяет определить целую часть от деления числа а на b. Найти значение переменной s, если n=8975 , m=4.

A.28

B.29

C.14

D.2520

E.25

8.Алгоритм задан схемой:

Пусть x=8, y=23, z=15. Найти значение переменных a, b, c.

A.a=23, b=15, c=8

B.a=8, b=15, c=23

C.a=15, b=23, c=8

D.a=8, b=23, c=15

E.a=8, b=8, c=8

9.Имеются операторы: a:=10; if (a>12) or (a<12) then a:=a+3

28

Здесь: «:=» – присваивание, «;» – конец оператора, «IF» – «если», «THEN» –

«то», «OR» – операция «ИЛИ». После их выполнения какое значение примет

переменная a?

A.12

B.10

C.13

D.34

E.0

10.В данной блок-схеме алгоритмическую конструкцию обхода задает условие

A.ни одно из этих условий

B.x <= y

C.x <= y

D.y < 16

E.y < 16

29

ГЛАВА 4. Эволюция и классификация языков программирования.

Основные понятия языков программирования

4.1 Основные понятия

Программа – это логически упорядоченная последовательность команд необходимая для управления компьютером.

Язык программирования это формальный язык, предназначенный для написания компьютерных программ. Он отличается от естественных языков ограниченным числом слов, значение которых понятно компьютеру, и

строгими правилами записи команд (операторов). Совокупность требований для записи команд образуют синтаксис языка, а смысл каждой команды –

семантику языка.

Парадигма программирования — это некий набор правил, который определяет стиль написания программ. Парадигма программирования не определяется однозначно языком программирования; практически все современные языки программирования в той или иной мере допускают использование различных парадигм.

Описать идентификатор – это значит указать тип связанного с ним объекта программы (константы или переменной). Тип определяет, во-первых,

способ внутреннего для компьютера представления объекта и, во-вторых,

действия, которые разрешается над ним выполнять. Наиболее широко используемые типы данных:- INTEGER – целочисленные данные, REAL –

вещественные данные. CHAR – символ. STRING – строка символов.

Присваивание — это механизм в программировании, позволяющий динамически изменять связи объектов данных (переменных) с их значениями.

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