Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инфа met-2008-qb.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
267 Кб
Скачать
☆

Печать X, y

x=x+0,5

да

X≤2

нет

Конец

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

QuickBASIC - программа для примера 4 (см. блок – схему циклического вычислительного процесса на рис. 2.3.):

REM LR-3-1, m=13, n=5

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.

QuickBASIC - программа для примера 5 (см. блок – схему циклического вычислительного процесса на рис. 2.4.):

Начало

Ввод m, n

Печать X,y,z

y=y+0,2

да

y≤4

нет

x=x+0,2

да

X≤2

нет

Конец

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

REM LR-3-2, m=13, n=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. Определить произведение .

QuickBASIC - программа для примера 6 (см. блок – схему циклического вычислительного процесса на рис. 2.5.):

REM LR-3-3, m=13, n=5

INPUT "M,N"; M,N

P=1

FOR K=1 TO 15

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

NEXT K

PRINT "P="; P

END

2.5.4. Обработка массивов данных

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

A

1

2

3

4

5

Начало

Ввод m, n

k=k+1

да

k≤15

нет

Печать p

Конец

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

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

Если нужно присвоить, например, значение 5 третьему элементу массива A, нужно написать

A(3) = 5

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

Индекс может быть переменной. Если нужно всем пяти элементам массива A присвоить значение 5, можно написать

FOR I = 1 TO 5

A(I) = 5

NEXT I

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

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

DIM A(3), B(4,5)

описывает два числовых массива: A состоящий из трех элементов и B содержащий 4 строки и 5 столбцов.

В соответствии с оператором DIM в памяти ЭВМ выделяется место для размещения этих массивов. Так, для массива A будут выделены три ячейки памяти, для массива B - двадцать ячеек. Под двумерный массив выделяется линейный участок памяти, в котором массив располагается по строкам.

В QuickBASICе обработка массивов, а также ввод – вывод массивов осуществляется поэлементно.

Например, ввод одномерного массива A, содержащего 10 элементов, можно осуществить при помощи операторов

DIM A(10)

FOR I = 1 TO 10

INPUT A(I)

NEXT I

Ввод двумерного массива B(4,5) можно осуществить при помощи операторов

DIM B(4,5)

FOR I = 1 TO 4

FOR J = 1 TO 5

INPUT B(I,J)

NEXT J

NEXT I

Ввод двумерного массива в приведенной программе осуществляется по строкам.

Вывод двумерных массивов для повышения наглядности рекомендуется осуществлять по строкам, начиная вывод каждой новой строки массива в новую строку экрана. Например, вывод массива B(4,5) можно осуществить при помощи операторов

DIM B(4,5)

. . . . . . . .

FOR I = 1 TO 4

FOR J = 1 TO 5

PRINT B(I,J);

NEXT J : PRINT

NEXT I : PRINT

. . . . . . . .

Пример 7. Даны два массива xi и yi (i=1,10). Составить программу для вычисления

QuickBASIC - программа для примера 7 (блок – схему программы на обработку массивов см. на рис. 2.6):

REM LR-4-1, m=13, n=5

DIM X(10), Y(10)

INPUT "M,N"; M,N

DATA 8.12, -3.54, 7.73, -0.37, -76.8, 99, 54.87, 1.61, 58.3, 9.74

DATA 7.46, 63.74, -5.83, 7.66, -33.8, 3.99, 154.7, 31.22, -9.33, 21.12

FOR I=1 TO 10

READ X(I)

NEXT I

FOR I=1 TO 10

READ Y(I)

NEXT I

S=0

FOR I=1 TO 10

S=S+X(I)^2-N*Y(I)

NEXT I

T=M*S

PRINT " T= "; T

END

Начало

Ввод m, n, xi, yi

i=i+1

да

i≤10

нет

T=mS