Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CHAPTER2.DOC
Скачиваний:
22
Добавлен:
20.03.2015
Размер:
574.98 Кб
Скачать

Приклад 3.

Етапи

Рядки програми

1

10 PRINT “Розрахунок миттєвої амплітуди коливань”

2

20 А = 0.1: V = 5E-1: РІ = 3.14159265

25 І = 0

3

30 READ t, K

35 I = I + 1

40 DATA 0.2, 0.1, 0.2, 0.3, .2, .5, 2Е–1, .7, .2, .9

42 DATA 0.4, 0.1, 0.4, 0.3, .4, .5, 4Е–1, 7.4, .9

44 DATA 0.6, 0.1, 0.6, 0.3, .6, .5, 6Е–1, 7.6, .9

46 DATA 0.8, 0.1, 0.8, 0.3, .8, .5, 8Е–1, 8.8, .9

48 DATA 1, 0.1, 1, .3, 1, .5, 1, .7, 1, .9

4

50 W = 2*PI*V: B = K*t

60 X = A*EXP(–B)*COS(W*t)

5

70 PRINT “X=”; X

75 IF t<=1 AND I<25 THEN GOTO 30

6

80 END

Можна створювати циклічні програми, для утворення циклів в яких, окрім операторів READ i DATA, використовуються оператори FOR i NEXT.

Перший і другий етапи складання таких програм будуть аналогічні попереднім прикладам. Третій етап –введення змінних–буде оформлений інакше (приклад 4).

У рядку 30 пишеться заголовок циклу по змінній t(час), а у рядку 40 заголовок внутрішнього циклу по зміннійК. У рядку 72 спочатку повинен бути закритий внутрішній цикл (по зміннійК), а у рядку 75 закривається зовнішній цикл (по зміннійt).

Як буде працювати така програма?

Як тільки програма буде введена в ОП ЕОМ, її необхідно запус­ти­ти командою RUN. При цьому інтерпрета­тор починає читати кож­ний рядок програми. Прочитавши рядок 30, інтерпретатор запам’я­тає все те, що лежить нижче оператора FOR t і вище оператора NEXT t, необхідно виконати 5 разів. При цьому зміннаtбуде зміню­ва­тись від 0.2 до 1счерез кожні 0.2с. Прочитавши рядок 40, інтер­пре­татор змінює зміннуК також 5 разів (від 0.1 до 0.9 через 0.2).

Приклад 4.

Етапи

Рядки програм

1

10 PRINT “Розрахунок миттєвої амплітуди коливань”

2

20 A = 0.1: V = 5E–1: PI = 3.14159265

3

30 FOR t = 1 TO 1 STEP 0.2

40 FOR K = 0.1 TO 0.9 STEP 0.2

4

50 W = 2*PI*V: B = K*t

60 X = A*EXP (–B)*COS(W*t)

5

70 PRINT “ X =”; X

72 NEXT K

75 NEXT t

6

80 END

Як тільки інтерпретатор прочитає рядок 30, то змінна tбуде дорівнювати 0.2. Прочитавши рядок 40, інтерпретатор присвоїть зміннійКзначення 0.1. Виконуються IV і V етапи програми і, прочитавши рядок 72, інтерпретатор присвоює зміннійКнаступне значення (0.1 + 0.2 = 0.3). Знову будуть виконуватись IV i V етапи програми і оператор NEXT K знову змінює значення змінноїK. Так буде продовжуватись протягом п’яти циклів.Протягом кожного циклу обчислю­ється функція (рядки 50 і 60) і віддруковується результат (рядок 70) доти, поки оператор NEXT присвоїть зміннійК значення 0.9 і пройде цикл із цим значеннямК.

Після цього оператор NEXT К працювати не буде, оскіль­ки в заголовку циклу по Квказано, що значення змін­ноїКне може бути більше 0.9. Після цього інтерпретатор читає наступний (після 72) рядок програми, в якій присвоює зміннійtнаступне значення, рівне 0.4. І знову внутрішній цикл буде виконуватись 5 разів.

Таким чином, до кожного значення змінної tбуде розраховуватись 5 значень функціїXз різними значеннями змін­ноїК. Загальна кількість розрахованих значень функціїXстановитиме 55 = 25.

Порівняння даної програми з попередньою дозволяє сказати, що вона оформлена простіше. Так оформити програму можна в тому випадку, якщо змінні tіKзмінюються регулярно.

Якщо одна з цих змінних (наприклад, t) змінюється нерегулярно (0.1, 0.3, 0.4, 0.7, 1), то програма буде мати такий вигляд (приклад 5).

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