Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
9.Методичка ИНФОРМАТИКА_QB.09.doc
Скачиваний:
12
Добавлен:
11.11.2019
Размер:
654.85 Кб
Скачать

1 Вариант: 2 вариант:

IF Z<0 THEN IF Z<0 THEN

F=(Z-5)/Z^2 F=(Z-5)/Z^2

ELSE IF Z<=1 THEN IF Z<=1 AND Z>=0 THEN

F=Z^2-1 F=Z^2-1

ELSE IF Z>1 THEN

F=1/(1-Z) F=1/(1-Z)

END IF PRINT "F=";F

PRINT "F=";F END

END

Пример 7:

IF R>0 THEN IF Р>0 THEN SP=SP+1 ELSE SO=SO+1

В этом примере:

при R>0 и Р>0 выполняется оператор SP=SР+1;

при R> 0 и Р0 выполняется оператор SO=SO+1;

при R0 выполняется оператор, следующий за оператором IF.

Пример 8:

IF R>0 AND А=5 THEN SP=SP+1 ELSE SO=SO+1

В этом примере:

при R>0 и А=5 выполняется оператор SP=SР+1;

при R<= 0 или А<>5 выполняется оператор SO=SO+1.

Оператор множественного выбора имеет формат:

SELECT CASE арифм_выражение или симв_выражение

CASE условие1

< блок операторов1>

CASE условие2

<блок операторов2>

……………….

[CASE ELSE

<блок операторовn>]

END SELECT

Алгоритм этого оператора заключается в следующем: 1) вычисляется значение выражения, записанного в SELECT CASE; 2) проверяется, удовлетворяет ли это значение одному из указанных в CASE условий; 3) если значение удовлетворяет какому-то условию, выполняется блок операторов, следующий за данным CASE. Константы в условии должны быть того же типа, что и выражение в SELECT CASE. Условие оператора CASE можно указать в одном из трех форматов:

  1. CASE константа 1, константа 2, …

  2. CASE IS знак_отношения константа

  3. CASE константа1 TO константа2

3.3. Операторы цикла

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

Циклы с параметром FOR имеют вид:

FOR_переменная = начальное значение_TO_конечное значение[_STEP_приращение]

Операторы тела цикла

NEXT_[переменная]

Переменная – управляющая переменная цикла, начальное значение, конечное значение, приращение – числовые выражения, определяющие начальное и конечное значения управляющей переменной и шаг ее приращения при повторении цикла (приращение может быть отрицательным или положительным действительным или целым числом). Если шаг не задан, то по умолчанию значение приращения равно +1. Значения выражений, определяющих начальное, конечное значения, приращения не изменяются в процессе выполнения цикла. Каждому оператору FOR должен соответствовать оператор NEXT.

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

Пример 9: Заполнить одномерный массив из пятнадцати элементов целыми случайными числами, значения которых лежат в интервале от –35 до 120, найти количество отрицательных элементов и их сумму.

DIM В(15)

SUM=0: KOL=0

FOR I=1 TO 15

В(I)=INT(RND*155)-35

IF B(I)<0 THEN SUM=SUM+B(I): KOL=KOL+1

NEXT I

В этом примере операторы присваивания SUM=0 и KOL=0 служат для задания начальных значений суммы и количества отрицательных элементов.

Циклы могут быть вложенными друг в друга в любом сочетании, но внутренние циклы должны целиком помещаться внутри внешних циклов. Если вложены друг в друга два цикла FOR…NEXT, то они должны иметь различные управляющие переменные.

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

Пример 10: Задать значения элементов двумерного массива и распечатать его. В данном примере внешний цикл имеет управляющую переменную I, внутренний цикл имеет управляющую переменную J.

DIM А(5,8)

FOR I=1 TO 5

FOR J=1 TO 8

А(I,J)=INT(RND*200)-50

PRINT А(I,J);

NEXT J

PRINT

NEXT I

END

Циклы с предусловием начинаются оператором WHILE:

WHILE_выражение

Операторы тела цикла

WEND

Выражение – любое логическое выражение. Заканчивается выполнение цикла с предусловием оператором WEND, который задается без операндов. При выполнении цикла с предусловием, вычисляется значение выражения в операторе WHILE. Если это значение «истина», то выполняются операторы цикла, следующие за оператором WHILE, до тех пор, пока не будет встречен оператор WEND. После этого управление передается оператору WHILE. Работа цикла будет завершена тогда, когда логическое выражение в операторе WHILE будет «ложь», в этом случае управление будет передано оператору, следующему за оператором WEND.

Пример 11: Вычислить функцию y=sin(x) при изменении x от 0,1 до 2 с шагом 0,01, найти значение х, соответствующее максимуму функции на заданном интервале.

X=0.1

MAX= - 1000

XMAX=0.1

WHILE X<=2

Y=SIN(X)

IF Y>MAX THEN MAX=Y: XMAX=X

PRINT X, Y

X=X+0.01

WEND

PRINT MAX, XMAX

END

Циклы с постусловием начинаются оператором REPEAT:

REPEAT

Операторы тела цикла

UNTIL_выражение

Выражение – любое логическое выражение. При выполнении цикла c постусловием, сначала выполняются операторы тела цикла и вычисляется значение выражения в операторе UNTIL. Если это значение «ложь», то выполняются операторы цикла, следующие за оператором REPEAT, до тех пор, пока не будет встречен оператор UNTIL. Работа цикла будет завершена тогда, когда логическое выражение в операторе UNTIL будет ««истина», в этом случае управление будет передано оператору, следующему за оператором UNTIL.

Пример 12: Вычислить функцию y=sin(x) при изменении x от 0,1 до 2 с шагом 0,01, найти значение х, соответствующее максимуму функции на заданном интервале.

X=0.1

MAX= - 1000

XMAX=0.1

REPEAT

Y=SIN(X)

IF Y>MAX THEN MAX=Y: XMAX=X

PRINT X, Y

X=X+0.01

UNTIL X>2

PRINT MAX, XMAX

END

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]