- •1. Начальные сведения
- •1.1. Назначение и применение эвм
- •1.2. Этапы решения задач на эвм
- •2. Описание языка QuickBasic
- •2.1. Общая характеристика алгоритмического языка QuickBasic
- •2.2. Символы языка QuickBasic
- •2.3. Простейшие конструкции языка QuickBasic
- •Примеры записи чисел на QuickBasiCе
- •Стандартные функции
- •2.4. Арифметические выражения
- •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.
Печать t
Конец
Рис. 2.6. Блок - схема программы на обработку массивов
Пример 8. Найти сумму элементов каждой строки массива C(4,5).
QuickBASIC - программа для примера 8 (см. блок – схему циклического вычислительного процесса с применением двумерного массива на рис. 2.7.):
REM LR-4-2, m=13, n=5
DIM C(4,5), S(4)
DATA 2, 4, 6, 8, 10
DATA -1, -3.4, -6, 7, 9
DATA -2, -4, 6, -8, -10
DATA 1, 3, 5.1, 12, 15
FOR I = 1 TO 4
FOR J = 1 TO 5
READ C(I,J)
NEXT J, I
FOR I = 1 TO 4
S(I)=0
FOR J = 1 TO 5
S(I) = S(I)+C(I,J)
NEXT J
PRINT S(I);
NEXT I : PRINT
END
Использование операторов OPEN, CLOSE, INPUT # и PRINT #.
Оператор OPEN позволяет открывать файлы для чтения и записи. Общий вид:
OPEN "File.name" FOR { режим } AS { номер }
File.name - имя открываемого файла
режим - способ доступа к файлу
номер - целое число 1-255, которое потом используется, чтобы определить нужный файл для записи/чтения.
Режимы:
APPEND - последовательная запись в файл, начиная с конца файла, т.е. дополнение;
Начало
Ввод
С(i,j)
n
i = 1
j=j+1
да
j≤5
нет
Печать s(I)
i=i+1
да
i≤4
нет
Конец
Рис. 2.7. Блок - схема циклического вычислительного процесса с применением двумерного массива
OUTPUT - перезапись в файл;
INPUT - чтение файла;
BINARY - режим ввода/вывода.
Если вы открыли файл для дополнения, то это делается следующим образом:
OPEN "FILE.TXT" APPEND AS #1
a$="your text here"
w=344,9
PRINT #1, a$
PRINT #1, w
CLOSE #1
В результате программа допишет в файл FILE.TXT две строки, в первой - значение переменной a$, во второй - значение переменной w. Рекомендуется в конце программы ставить CLOSE, тогда она автоматически закрывает все файлы. Если не закрыть файл, то у вас не будет к нему доступа, в нем ничего не изменится и т.д., команда CLOSE закрывает все файлы и проблем не возникнет.
Для чтения из файла используется оператор INPUT #:
OPEN "FILE.TXT" FOR INPUT AS #1
INPUT #1, D$
INPUT #1, R
CLOSE #1
PRINT D$
PRINT R
CLOSE
Еще одно хорошее свойство - команда FREEFILE - указывает следующий свободный номер для файлов, когда у вас открыто несколько файлов и вы думаете какой еще придумать номер - не мучайтесь, пишите:
n=FREEFILE
open "name" for append as #n
...
close #n
Пример.
Найти все
массива C(5,5).,
большие по модулю 2.
Сформируем файл “data” содержащий элементы массива с помощью оператора PRINT #:
DIM C(5,5)
open “data” for output as #1
FOR I = 1 TO 4
FOR J = 1 TO 5
INPUT X
PRINT #1,X
NEXT J, I
close #1
Для решения нашей задачи элементы массива считываем с файла “data” с помощью оператора INPUT #.
Результаты запишем в файл “rez”.
open “data” for input as #2
open “rez” for output as #3
FOR I = 1 TO 5
FOR J = 1 TO 5
INPUT #2, C(I,J)
IF ABS(C(I,J))>2 THEN PRINT #3 C(I,J)
NEXT J, I
CLOSE
END
