Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Пример решения задач IIA и IIБ




 

Задача IIA

Вычислить значение функции , где .

REM алг. разветвляющейся стр. II А

DIM A, M, N, R, X, C

INPUT “ A, M, N”; A, M, N

X = (A+M) / N

C = ABS((X +A) ^ 2 / 2 – X)

IF C < > 0 THEN

R = LOG(C) / LOG(5)

PRINT “R=”; R

ELSE

PRINT “решения нет”

END IF

END

 

 

 
 


Задача IIБ Вычислить значение функции

при -2 < x ≤ 5

y = x > 5

0 x ≤ -2

 
 


REM алг. разветвляющейся стр. II

DIM A, X, Y

INPUT “ A, X,”; A, X

IF X >= -2 AND X < 5 THEN

Y = TAN (A * X)

ELSE

IF X > 5 THEN

Y = SIN(2*X) ^ 2

ELSE

Y = 0

END IF

END IF

PRINT “Y =”; Y

END

 

Оператор выбора SELECT CASE

 

Оператор SELECT CASE предназначен для выполнения одного из альтернативных действий, перечисленных в нем. Выбор определяется значением управляющей переменной.

Формат оператора

SELECT CASE переменная

CASE сравнение 1

[ операторы 1 ]

[ CASE сравнение 2

[ операторы 2 ]]

...

[ CASE ELSE

[ операторы ]]

END SELECT

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

 

Если Сравнение 1 – ''истина'', то выполняются операторы 1, после чего, операторы, следующие END SELECT.

Если Сравнение 1 – ''ложь'', проверяется условие следующей ветви CASE.

Если ни одно из условий не выполняется, то выполняются операторы ветви CASE ELSE.

Значение переменной можно оценивать с помощью операторов сравнения, как в случае с условиями. Для этого после CASE используется ключевое слово IS, за которым следуют операции отношения или выражения.

 

Фрагмент программы Исходные данные Результат выполнения программы
CONST Z = 10 Dim C INPUT “C”; C’ SELECT CASE С CASE 1,2 PRINT ’’знач. С = 1 или 2’’ CASE 3 ТО 10 PRINT ’’знач. С в интервале от 3 до 10’’ CASE IS = 11 PRINT ’’значение С = 11’’ CASE IS < Z + 10 PRINT ’’значение С > 11 и < 20’’ CASE ELSE PRINT ’’инф. отсутствует’’ END SELECT при С = 1 значение С = 1 или 2
при С = 5 знач. С в интервале от 3 до 10  
при С = 11   значение С = 11
при С = 15 значение С > 11 и < 20
при С >20 инф. отсутствует

Алгоритмы циклической структуры

 

Цикл – последовательность операторов, выполняемых многократно.

Цикл ''ПОКА'' Цикл ''ДО'' Цикл ''СЧЕТЧИК''

           
 
Начальные присваивания
   
Начальные присваивания
   
Начальные присваивания
 
 

 


 

           
   
   
 
 


-

 
 
Тело цикла

 


Тело цикла
+

Тело цикла

+

-

 

Цикл также можно сформировать с помощью операторов IF THENи GOTO.

Операторы цикла WHILE – WEND (цикл ‘’ПОКА’’)

 

Циклические действия выполняются, пока выполняется определенное условие.

Формат оператора

WHILE условие

Оператор 1

...

Оператор n

WEND

 

Пока выполняется условие, последовательно выполняются операторы 1 ÷ n.

WEND – закрывает цикл.

 

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

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

К моменту первой проверки условия переменные, входящие в оператор, должны быть установлены соответствующим образом

 

Фрагмент программы Результат выполнения программы
Z= - 5 WHILE Z <= 0 T = ABS(Z) Z = Z +1 PRINT ’’T = ’’; T; ''Z=”;Z WEND T = 5 Z = - 4 T = 4 Z = - 3 T = 3 Z = - 2 T = 2 Z = -1 T = 1 Z = 0 T = 0 Z = 1

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

Циклические действия выполняются до тех пор, пока выполняется определенное условие.

Формат оператора

1. Цикл ‘’ДО’’ (выполняется не менее одного раза)

DO

[ оператор 1 ]

... [ EXIT DO ]

[ оператор n ]

LOOP условие

2. Цикл ‘’ПОКА’’ (может не выполняться ни разу)

DO условие

[ оператор 1 ]

... [ EXIT DO ]

[ оператор n ]

LOOP

 

Способы проверки условия:

WHILE – цикл выполняется, пока соблюдается условие (л.в.истина)

UNTIL – цикл осуществляется, только если не выполняется условие (л.в. – ложь)

EXIT DO – преждевременно прерывает выполнение цикла. Работа продолжается с оператора, следующего за LOOP.

 

Цикл DO – LOOP может работать без проверки условий. В этом случае из бесконечного цикла можно выйти с помощью EXIT DO.

 

Пример 1 Пример 2 Пример 3
Z=-10 ’цикл ''ДО'' DO T = ABS(Z) Z = Z +1 PRINT ’’T = ’’; T LOOP WHILE Z <= 0 {или LOOP UNTIL Z >0} Z= - 10 ’цикл ''ПОКА'' DO WHILE Z <= 0 или UNTIL Z > 0} T = ABS(Z) Z = Z +1 PRINT ’’T = ’’; T LOOP Z= - 10 DO T = ABS(Z) Z = Z +1 PRINT ’’T = ’’; T IF Z > 0 THEN EXIT DO END IF LOOP

Операторы цикла FOR – NEXT (цикл со счетчиком)

Этот цикл применяется для циклических вычислений с известным количеством повторений.

Формат оператора

FOR счетчик = N1 TO N2 [ STEP N3 ]

Оператор 1

...

[оператор n]

[ EXIT FOR ]

NEXT счетчик

Счетчик – числовая переменная, изменяющаяся при повторении цикла (управляющая переменная цикла, параметр цикла).

N1 начальное значение счетчика – а.в., задает начальное значение параметра цикла.

N2 -конечное значение счетчика – а.в., задает конечное значение параметра цикла.

N3 шаг – а.в. – приращение параметра цикла. По умолчании - шаг N3 = 1.

EXIT FOR – прерывание цикла. Программа выполняется с оператора, следующего за NEXT.

Пример 1 Пример 2
Z= - 10 ’Табулирование функции FOR Z = - 10 TO 0 T = ABS(Z) PRINT ’’T = ’’; T NEXT Z S = 0‘Вычисление суммы FOR I =1 TO 11 STEP 2 S = S+ (A+I)^2 NEXT I PRINT ’’S = ’’; S

Вложенные циклы

Вычислить значение функции

, , ,

k =1, 2, 3,...,16, i =1, 3, 5,..., 21

REM вложенные циклы

DIM H, M, DL, i, AI, BK, Ci, Yi, S, K

INPUT ''H,M,DL’’; H,M,DL

FOR i = 1 TO 21 STEP 2

Ai = H + I: Ci = M ^ i

S = 0

FOR K = 1 TO 16

BK = DL *K: S = S + BK*Ci

NEXT K

Yi = Ai + S

NEXT i

PRINT ”S=”;S: END

 

 

Пример:

Вычислить значение функции yk = ak + bk3, k = 1, 3, …, 23,

при , xi = x0 + i Δ, i = 1, 2, …, k,

Итерационные циклы

Вычислить значение суммы , пренебречь членами ряда меньшими ε, т.е. , при х = 0,2

REM итерационные циклы

DIM X, i, EPS, F, Fi

INPUT ''X, EPS”; X, EPS

F = 0: i=1

DO

Fi = X^ i / (i+1)^3*(-i) ^(i+1)

F = F + Fi: i = i+1

LOOP WHILE ABS(Fi) >EPS

PRINT ”F=”; F

END

 

1 –й вариант решения (при ε =10 -5)

 

i Fi

 

i1 =1 F1 = + 0.025

i2 =2 F2 = - 0.00148

i3 =3 F3 = +0.000025

i4 =4 F4 = - 0.00000256

 

2 –й вариант решения (при ε =10 -3)

 

i Fi

 

i1 =1 F1 = + 0.025

i2 =2 F2 = - 0.00148

i3 =3 F3 = +0.000025

 





Поделиться с друзьями:


Дата добавления: 2015-11-05; Мы поможем в написании ваших работ!; просмотров: 465 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Сложнее всего начать действовать, все остальное зависит только от упорства. © Амелия Эрхарт
==> читать все изречения...

2160 - | 2048 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.