Автор работы: Пользователь скрыл имя, 08 Января 2011 в 11:42, курс лекций
Понятия вычислительной математики, информации, и алгоритмической обработки тесно связаны между собой. Это следует из определения в энциклопедии кибернетики - ”машина - физическая система (устройство или комплекс устройств), предназначенная для автоматизации процесса алгоритмической обработки информации и вычислений”.
Пример 3.3. Вычисление суммы ряда S=1+1/2+1/4+....+1/2n,пока
член ряда не станет меньше 10-6.
10 SUM=1: N=1
20 WHILE 0.5^N>1E-6
30 SUM=SUM+0.5^N
40 N=N+1
50
WEND
Циклы могут быть вложенными друг в друга.
Внутренние циклы должны целиком помещаться
во внешних . Подряд идущие операторы
NEXT могут быть заменены одним NEXT с управляющими
переменными всех вложенных циклов, разделенными
запятыми.
Пример 3.4. Программа формирования единичной
матрицы.
20 DIM A(N,N)
30 FOR I=1 TO N : FOR J=1 TO N
40 IF I<>J THEN 60
50 LET A(I,J)=1 : GOTO 70
60 LET A(I,J)=0
70NEXT J : NEXT I
80
END
Операторы
ввода-вывода. Операторы READ (переменные),
DATA (числа) присутствуют в программе одновременно.
Данные, подлежащие вводу, могут располагаться
в одном или в нескольких операторах DATA,
но в том порядке, в котором данные должны
использоваться оператором READ. Оператор
RESTORE обеспечивает возврат в начало списка
данных, задаваемых DATA , для многократного
считывания.
Пример 3.5.
10 READ A,B,C,D
20 DATA 3.4, 0.3, 10, 1.5
30
RESTORE : READ E,F
Будем
иметь: A=3.4, B=0.3, C=10, D=1.5, E=3.4, F=0.3.
Оператор INPUT позволяет вводить данные
с клавиатуры дисплея и имеет вид
INPUT(список
переменных).
Оператор PRINT (список) выводит на экран
или на принтер результаты вычисления.
При выводе текста применяют кавычки
или апострофы. Арифметическое выражение
в списке перед выводом сначала вычисляется.
Использование в качестве разделителя
запятой, при выводе осуществляет последний
в зонном формате - экран разделен на 5
зон по 14 позиций. Если разделитель
“;”, то вывод осуществляется в плотном
формате через пробел.
Символьные переменные
задаются либо с помощью операторов
INPUT,READ,DATA, либо оператором присваивания.
Строка символов при этом заключается
в кавычки. Задаются они буквой или буквой
с цифрой с добавлением знака денежной
единицы $, например A$='Волгоград'.
Пример 3.6. Вывод городов и их индексов.
10 PRINT “Город”; TAB(20); “Индекс”
20 READ A$
30 IF A$=“ ” THEN END
40 READ B$
50 PRINT A$; TAB(20); B$
60 GOTO 20
70
DATA Волгоград, 400 000, Воронеж, 394 000, “
”
Здесь для установки позиций использована
встроенная функция TAB(N), где N-целое число,
номер позиции.
Подпрограммы (группа операторов) служат для выполнения одного и того же алгоритма в разных местах программы. Передача управления к подпрограмме осуществляется с помощью операторов GOSUB N, где N- номер строки и RETURN (обозначает возврат к программе).
Для прекращения выполнения программы
служит оператор STOP, который в отличие
от END не закрывает используемых в программе
файлов и рекомендуется применять его
при отладке программы.
Пример 3.7. Программа обращения матрицы
методом Гаусса.
05 REM ' Обращение матрицы методом Гаусса
10 PRINT 'Задайте размерность N='
15 INPUT N : DIM A(N,N), P(N,N)
20 DIM B(N), C(N,N), G(N), X(N)
25 FOR I=1 TO N : FOR J=1 TO N
30 PRINT 'Введите A' I', 'J'=' : INPUT A(I,J)
35 LET P(I,J)=A(I,J) : NEXT J : NEXT I
40 FOR J2=1 TO N : FOR I=1 TO N
50 LET B(I)=0 : NEXT I
60 LET B(J2)=1
70 FOR J3=1 TO N : FOR J4=1 TO N
80 LET A(J3,J4)=P(J3,J4) : NEXT J4 : NEXT J3
85 GOSUB 100 : FOR I=1 TO N
90 PRINT 'X'I', 'J2'=' X(I)
95 NEXT I : NEXT J2 : STOP
100 LET N1=N-1 : FOR K=1 TO N1
110 IF ABS (A(K,K))>0 GOTO 200
120 LET K1=K+1 : FOR M=K1 TO N
130 IF ABS (A(M,K))>0 GOTO 150
140 GOTO 210
150 FOR L=1 TO N : LET V=A(K,L) :
LET A(K,L)=A(M,L)
160 LET A(M,L)=V : NEXT L : NEXT M
170 LET V=B(K) : LET B(K)=B(M) :
LET B(M)=V
200 LET G(K)=B(K)/A(K,K) : LET K1=K+1
210 FOR I=K1 TO N : LET B(I)=B(I)-A(I,K)*G(K)
220 FOR J1=K TO N : LET J=N-J1+K :
LET C(K,J)=A(K,J)/A(K,K)
225 LET A(I,J)=A(I,J)-A(I,K)*C(K,J)
230 NEXT J : NEXT I : NEXT K
240 LET M=N : LET X(M)=B(M)/A(M,M)
250 LET M=M-1 : LET S=0 : FOR L=M TO N1
260 LET S=S+C(M,L+1)*X(L+1) : NEXT L
270 LET X(M)=G(M)-S : IF M>1 GOTO 250
280
RETURN : END
Запись на Бейсике | Обозначение |
CATALOG | Чтение каталога
с ГМД. По этой
директиве на экран дисплея выводится каталог ГМД. |
SAVE имя файла | Записывает программу из памяти на ГМД; если на ГМД уже есть файл с таким именем, он теряется и заменяется на новый. |
RENAME файл1, файл 2 | Переименование
файлов. Здесь
файл 1 - старое имя файла, файл 2 - новое имя файла. |
DELETE имя файла | Уничтожение файлов. |
LOCK имя файла | Защита файла на запись. Файл, защищенный от записи, в каталоге помечается (*). |
UNLOCK имя файла | Отменяет защиту от записи в файл. |
LOAD имя файла | Загружает программу в памятьс ГМД. Программа и данные, ранее находящиеся в памяти,теряются. |
RUN имя файла | Загружает и запускает программу с ГМД. Программа и данные, находящиеся в памяти ранее, теряются. |
RUN |
Запускает програмы со строки с наименьшим номером; для запуска с промежуточной точки можно указать № строки (н-р, RUN200). |
NEW | Устанавливает начальное состояние памяти, стирает программу и данные. |
STOP | Останавливает программу с выдачей текста строки, в которой произошел останов. |
END | Завершает программу. |
3.5.Некоторые
команды редактирования языка Бейсик
Запись на Бейсике | Обозначение |
LIST | Выдача текста программы; выдает весь текст |
LIST 100, 200 | Выдает строки с номерами 100 и 200 |
LIST 100, | Выдает строки с номерами не меньше 100 |
LIST , 200 | Выдает строки с номерамине больше 200 |
LIST 150 | Выдает строку 150 |
REM | Комментарий
до конща строки, при выполнении
игнорируется |
VTAB Y | Установливает курсор на строку экрана с номером Y (0£Y£31) |
HTAB X |
Перемещает курсор
на X-ю
позицию текущей экранной строки (нумерация
строк и позиций на экране сверху вниз
и слева направо) |
TAB (X) | Применяется
в оператоне PRINT, перемещает курсор
на
X-ю позицию |
HOME | Очищается экран, курсор перемещается в верхний левый угол экрана |
FLASH | Включает мерцающий режим вывода текста |
INVERSE | Включает инверсный (черный по светлому фону) режим вывода текста |
NORMAL | Включает прямой(светлый по черному) режим вывода текста |
SPEED=X | Задает скорость вывода мекста на экран (0£X£255) |
3.6.Некоторые
команды графики языка Бейсик
Запись на Бейсике | Обозначение |
GR=N |
Включение графики
низкого разрешения (64´64), N-номер
страницы размером
2 Кбайта, при этом 2£N£31 |
MGR=N |
Включение графики среднего разрешения (128´128), N-номер страницы размером 8 Кбайт, при этом 1£N£7 |
HGR=N |
Включение графики высокого разрешения. Параметры такие же, как у оператора MGR. Команды включения графических режимов очищают включенную страницу. |
COLOR=X |
Установливает цвет в последующих операторах вывода графической информации; 0£X£7 |
PLOT X,Y | Помещает точку текущего цвета в X-ю позицию Y-й строки экрана |
PLOT X0,Y0 TO X1,Y1 | Рисует прямую линию текущего цвета из точки (X0,Y0) в точку (X1,Y1). |
TEXT=N |
Устанавливает текстовый режим; N - номер текстовой страницы. Номера 0-31 соответствуют страницам размера 32´32 символа; номера от 32 до 63 - страницам размера 64´32 символа. |
Список
рекомендуемой литературы