На языке BASIC

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

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

Операторы цикла. Для организации циклов в BASIC е применяются операторы FOR и NEXT. Общий вид операторов

FOR V = TO STEP

Операторы

NEXT V

где v - любая неиндексированная переменная - управляющая переменная цикла; , , - начальное и конечное значения и шаг изменения управляющей переменной цикла - любые арифметические выражения. Если =1, то конструкцию STEP можно опустить. Операторы, расположенные между операторами FOR и NEXT, образуют тело цикла и выполняются многократно.

Выполнение цикла, образованного операторами FOR и NEXT, заключается в следующем: - переменной V присваивается начальное значение и она сравнивается с конечным значением . Если при положительном шаге удовлетворяется условие , или при отрицательном шаге удовлетворяется условие , то выполняются операторы, расположенные между операторами FOR и NEXT, и по оператору NEXT осуществляется возврат к началу цикла. Значение V изменяется на , т.е. V=V+ , и снова проверяется условие. Если условие удовлетворяется, то тело цикла выполняется повторно. В противном случае происходит выход из цикла и переход к оператору, следующему за NEXT.

Например, следующая программа печатает квадраты натуральных чисел от 4 до 20 с шагом 2.

FOR I = 4 TO 20 STEP 2

PRINT I, I^2

NEXT I

END

Есть и другие операторы цикла. Например,

WHILE условие

Операторы

WEND

Здесь операторы выполняются, пока выполняется условие

Оператор PRINT USING. Дает возможность задать точный образ вывода отдельных элементов списка.

Оператор PRINT USING имеет вид

PRINT USING "формат"; <список>

где формат задает образ распечатки.

При выводе числовых значений предусматривается символ # для каждой выводимой цифры, а также знака числа. Если предполагается вывод с порядком, то для порядка предусматриваются символы ^ ^ ^ ^. Все остальные символы, включая пробелы, обозначают сами себя и выводятся без изменений. Для вывода числа, содержащего дробную часть, в формате задается столько символов #, сколько всего цифра требуется вывести, и точка для отделения цифр целой части от дробной. То есть использование формата позволяет отсечь при печати ненужные цифры. Результат при этом округляется.

Например, оператор

PRINT USING "#.## ##.#"; 5.629, -1.1

печатает строку

5.63 -1.1

Если в формате задан только один образ, то он может использоваться многократно для каждого элемента в списке вывода. При этом вывод каждого следующего элемента будет осуществляться в новую строку.

Пример 4. Составить таблицу значений функции y при изменении значений переменной x на отрезке [-2,2] с шагом h=0,5:

Начало


Рис. 2.3. Блок - схема циклического вычислительного процесса

П рограмма для примера 4 (см. рис. 2.3.):

INPUT "M,N"; M,N

FOR X=-2 TO 2 STEP 0.5

Y=(EXP(-X)+5*M)/(X+N)

PRINT "X="; X, "Y="; Y

NEXT X

END

Пример 5. Составить таблицу значений функции z=f(x;y) при изменении значений переменной x на отрезке [a,b] с шагом h, переменной y на отрезке [c,d] с шагом l: , где a =1, b =2, h =0,2; c =2, d =4, l =0,2.

 
 


Рис. 2.4. Блок - схема циклического вычислительного процесса

Программа для примера 5:

INPUT "M,N"; M,N

PRINT " X/Y ";

FOR Y=2 TO 4 STEP 0.2

PRINT USING "##.##"; Y;

NEXT Y: PRINT

FOR X=1 TO 2 STEP 0.2

PRINT USING "##.##"; X;

FOR Y=2 TO 4 STEP 0.2

Z=(X^2-Y^2+M)/(X^2+Y^2)/N

PRINT USING "##.##"; Z;

NEXT Y: PRINT

NEXT X: PRINT

END

Пример 6. Вычислить где ,

Программа для примера 6 (см. рис. 2.5.):

INPUT "M,N"; M,N

REM “Вычисление произведения”

P=1

FOR K=1 TO 15

P=P*N^2/SQR(M*k^2+1)

NEXT K

REM “Вычисление суммы”

S=0

FOR K=2 TO 20

S=S+N^2/SQR(M*k^2+1)

NEXT K

T= P - S

PRINT "T="; T

END


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: