- •1. Начальные сведения
- •1.1. Назначение и применение эвм
- •1.2. Этапы решения задач на эвм
- •2. Описание языка QuickBasic
- •2.1. Общая характеристика алгоритмического языка QuickBasic
- •2.2. Символы языка QuickBasic
- •2.4. Арифметические выражения
- •2.3. Простейшие конструкции языка QuickBasic
- •Примеры записи чисел на QuickBasiCе
- •Стандартные функции
- •2.5. Структура программы на языке QuickBasic
- •2.5.1. Программы линейной структуры на языке QuickBasic
- •Определение нестандартных функций оператором def fn.
- •2.5.2. Программы разветвляющейся структуры
- •Печать X, y
- •2.5.3. Циклические вычислительные процессы на языке QuickBasic.
- •Печать X, y
- •Печать X,y,z
- •2.5.4. Обработка массивов данных
- •Печать p
- •Печать t
- •Печать s(I)
- •2.5.5. Подпрограммы.
- •1. Блоковая функция пользователя.
- •2. Подпрограмма-функция.
- •3. Подпрограмма общего вида.
- •4. Подпрограмма go sub.
Печать 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
-
12
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
