Общая характеристика алгоритмического языка QuickBASIC

НАЧАЛЬНЫЕ СВЕДЕНИЯ

Назначение и применение ЭВМ

ЭВМ предназначена для автоматической обработки цифровой, алфавитно-цифровой информации. Можно условно выделить три крупные области применения ЭВМ:

1. Информационные системы и средства коммуникации - поиск, обработка, хранение, передача информации, создание банка данных, расширение доступа к образованию, облегчению быта и т. д.

2. Автоматизация и управление различными видами работ человека - автоматизированные системы научных исследований (АСНИ), система автоматизации проектных работ (САПР), автоматизированные системы управления производством (АСУП), гибкие автоматизированные производства (ГАП) и др.

3. Математическое моделирование объектов и процессов разнообразной природы, вычислительный эксперимент.

Этапы решения задач на ЭВМ

Основными этапами решения задач с применением ЭВМ являются:

1. Постановка задачи и ее математическое описание.

2. Выбор численных методов решения (построение методики решения).

3. Алгоритмизация.

4. Программирование.

5. Отладка программы.

6. Непосредственное решение задачи на ЭВМ.

7. Обработка результатов расчета и их применение.

Разработка алгоритма - необходимый этап в процессе решения задачи на ЭВМ. Алгоритм – конечная последовательность точно определенных действий, приводящих к решению поставленной задачи.

Алгоритмы представляются в виде блок - схемы и в виде операторной записи при помощи символов - операторов или в виде перечисления этапов решения обычным текстом.

Блок - схема - графическое изображение алгоритма в виде последовательности блоков с помощью геометрических фигур. При составлении блок – схем используются следующие геометрические фигуры:

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

- начало и конец блок - схемы;

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

- блок ввода и вывода информации;

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

- блок вычисления арифметических выражений;

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

- блок проверки условий;

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

- блок вызова подпрограммы;

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

- ссылка (перенос блок - схемы на другую страницу).

Примеры алгоритмов смотрите на рисунках 2.1 - 2.7.

ОПИСАНИЕ ЯЗЫКА QuickBASIC

Общая характеристика алгоритмического языка QuickBASIC

Алгоритмический язык QuickBASIC используется преимущественно в режиме диалога человека и ЭВМ.

Программа на QuickBASICе состоит из последовательности строк. В одной строке может содержаться один или несколько операторов, разделенных символом “ : ” двоеточие.

Символы языка QuickBASIC

В QuickBASICе используются следующие символы:

1) двадцать шесть заглавных латинских букв A, B, C, D, ...., Z;

2) десять арабских цифр 0, 1, 2, ...., 8, 9;

3) знаки: “ . “ точка, “ , “ запятая, “ : “ двоеточие, “ ; “ точка с запятой,

“ " “ кавычки, “ ‘ “ апостроф;

4) знаки арифметических операций: “ + “ сложение, “ – “ вычитание,

“ * “ умножение, “ / “ деление, “ ^ “ возведение в степень;

5) круглые скобки: “ ( “ открывающая скобка, “ ) “ закрывающая скобка;

6) “└┘” пробел;

7) знаки операций отношения: “ < “ меньше, “ > “ больше, “ >= “ больше или равно, “ < > “ или “ > < “ не равно, “ <= ” меньше или равно, “ = “ равно;

8) знаки: “ $ “ знак доллара, “ & “ коммерческое “ и “, “ @ “ коммерческое “ эт “, “ \ “ косая черта слева направо, “ % “ процент, “ # “ номер, “ ? “ вопросительный знак, “ ! “ восклицательный знак;

9) буквы русского алфавита “ А, Б, В, ...., Я “.

Таблица 2.1

Примеры записи чисел на QuickBASICе

Число Запись на QuickBASICе Тип Кол-во занимаемой памяти Диапазон
3,46 3.46 Фиксированная запятая 4 байта от 10 Общая характеристика алгоритмического языка QuickBASIC - student2.ru до 10 Общая характеристика алгоритмического языка QuickBASIC - student2.ru
0,0058 58Е-4 Плавающая запятая 4 байта от 10 Общая характеристика алгоритмического языка QuickBASIC - student2.ru до 10 Общая характеристика алгоритмического языка QuickBASIC - student2.ru
15Е 4 Плавающая запятая 4 байта от 10 Общая характеристика алгоритмического языка QuickBASIC - student2.ru до 10 Общая характеристика алгоритмического языка QuickBASIC - student2.ru
75 % Целый 2 байта от -32768 до 32767

Переменные. Для обозначения переменных в QuicBASICе используются имена, состоящие из буквы и цифр. Первым символом всегда является буква.

Например, A, A2, C. В качестве букв используются буквы латинского алфавита. Для целочисленных переменных, значениями которых являются целые числа, к имени добавляется знак % или &, для вещественных переменных обычной точности !, для вещественных переменных двойной точности #, для символьных переменных $.

Например, A%, A2%, C%.

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

Таблица 2.2

Стандартные функции

Название функции Математическое определение Запись на QuickBASICе
1. 2. 3. 4. 5. 6. 7. 8.     9. 10. 11. 12. 13. Синус Косинус Тангенс Арктангенс Показательная функция Натуральный логарифм Десятичный логарифм Знак сигнатуры     Абсолютная величина Квадратный корень Целая часть числа Датчик случайных чисел Число π sin x cos x tg x arctg x e Общая характеристика алгоритмического языка QuickBASIC - student2.ru ln x lg x   |x| Общая характеристика алгоритмического языка QuickBASIC - student2.ru [x]   π SIN(X) COS(X) TAN(X) ATN(X) EXP(X) LOG(X) LOG(X)/LOG(10) SGN(X)     ABS(X) SQR(X) INT(X) RND(X) 4*ATN(1)

Замечание. Аргумент функции RND можно опустить. Аргумент тригонометрической функции задается в радианах. Для перевода значения, заданного в градусах, в радианы можно использовать формулу:

<значение в радианах> = <значение в градусах> * π/180.

Для арктангенса значение угла находится в интервале (-π/2; π/2).

Для получения других обратных тригонометрических функций можно использовать формулы

arcsin(x)=arctg(x/ Общая характеристика алгоритмического языка QuickBASIC - student2.ru ),

arccos(x)=arctg( Общая характеристика алгоритмического языка QuickBASIC - student2.ru )/x),

arcctg(x)=arctg(1/x).

Арифметические выражения

Для обозначения арифметических операций используются знаки:

“ + ” сложение, “ - “ вычитание, “ * ” умножение, “ / ” деление,

“ ^ ” возведение в степень, “ \ ” деление нацело, MOD остаток от деления.

Если в арифметическом выражении имеется несколько различных арифметических операций, то порядок их выполнения задается правилами приоритета:

1. возведение в степень.

2. умножение, деление.

3. сложение, вычитание.

Примеры записи арифметических выражений

sin Общая характеристика алгоритмического языка QuickBASIC - student2.ru x Общая характеристика алгоритмического языка QuickBASIC - student2.ru SIN(X^3)^2

Общая характеристика алгоритмического языка QuickBASIC - student2.ru X^(4/3)

Общая характеристика алгоритмического языка QuickBASIC - student2.ru (A^3+EXP(2*COS(X)))/(X^2-Y^3)^(1/3)

Программы линейной

INPUT a, b, c1

Операторы DATA, READ. Оператор READ имеет вид

READ <список переменных>

Например.

READ a, b, c1

Оператор DATA имеет вид

DATA <список констант>.

Например.

DATA 1.6, -8, 1Е-3

Оператор DATA содержит данные, которые при выполнении операторов READ будут вводиться в переменные, перечисленные в списке ввода операторов READ.

Оператор RESTORE. Данные из области DATA можно считывать, повторно используя, оператор RESTORE.

Общий вид оператора

RESTORE <арифметическое выражение>.

Значение целой части арифметического выражения определяет номер данного, с которого начнется повторное считывание. Если арифметическое выражение отсутствует, осуществляется возврат к началу списка.

Пример.

DATA 10.6, 0.1, 15, 1.2

READ A, B, C, D

RESTORE

READ E, F

. . . . . . .

Оператор PRINT. Используется для вывода на экран дисплея результатов вычислений. Общий вид оператора

PRINT <список>

Список вывода может содержать имена переменных, числа, арифметические выражения и тексты. Если в списке вывода содержатся арифметические выражения, то они сначала вычисляются, а затем выводятся вычисленные значения.

Для удобства восприятия выводимых результатов экран условно разделен на 5 зон, по 14 позиций каждая, и вывод каждого следующего данного осуществляется в следующую зону. Такая форма вывода обеспечивается использованием “ , “ (запятой) в качестве разделителя в списке вывода. Такой способ вывода с использованием в качестве разделителя запятой называется выводом в зонном формате.

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

Оператор присваивания. Оператор присваивания служит для присваивания переменной значения арифметического выражения и имеет вид

LET V = <арифметическое выражение>

(LET можно опустить), где V - переменная, которой присваивается значение.

При выполнении оператора присваивания вычисляется выражение в правой части и присваивается переменной в левой части V.

Оператор END. Оператор END указывает на физический конец программы. При выполнении оператора END закрываются все открытые файлы и останавливается выполнение программы.

Пример 1. Вычислить значение функции

Общая характеристика алгоритмического языка QuickBASIC - student2.ru ,

где Общая характеристика алгоритмического языка QuickBASIC - student2.ru , Общая характеристика алгоритмического языка QuickBASIC - student2.ru , m - номер варианта, n - номер группы.

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

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

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

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

INPUT "M,N"; M,N

X=EXP(-(N/M)^(1/2))

T=LOG(M/SQR(N))+7.21

Y=(COS(X^2-SQR(T))+SIN(X-T^(1/3)))/(SIN(T-X^(1/4))^2)+1.731)

PRINT X, T, Y

END

После ввода текста программы в память ЭВМ для ее запуска нужно выбрать меню RUN и в нем команду START или Shift+F5. На экране появится текст M,N? - после чего нужно ввести значения M,N и нажать "Enter". После этого ЭВМ напечатает на экране значения X, T, Y.

На языке QuickBASIC.

Для составления разветвляющихся программ используются операторы безусловной и условной передачи управления (см. рис. 2.2). В разветвляющихся вычислительных процессах последовательность выполнения операций заранее не определена и ставится в зависимость от результатов проверки заданных условий.

Оператор безусловного перехода. Общий вид оператора

GO TO N,

где N метка. Этот оператор передает управление первому оператору в строке с меткой N.

Условные операторы. Условные операторы служат для изменения порядка выполнения операторов в зависимости от какого - либо условия.

Условные операторы могут использоваться для организации циклов и разветвлений.

Общий вид условных операторов

1) IF «условие» THEN (или GO TO) N;

2) IF «условие» THEN «действие»;

3) IF «условие» THEN «действие 1» ELSE «действие 2»;

IF «условие 1» THEN

«Блок 1»

ELSEIF «условие 2» THEN

«Блок 2»

. . .

ELSE

«Блок K»

ENDIF

где условие имеет вид

(арифметическое выражение 1) θ (арифметическое выражение 2)

θ - одна из операций отношения <, <=, >, >=, =, <>;

N - метка; действие - любой оператор QuickBASICа, в том числе это может быть другой условный оператор.

Сочетание THEN IF позволяет "вкладывать" условия друг в друга. Например,

IF Q >= 3.5 THEN IF Q < 7.4 THEN 20

Действие условного оператора заключается в следующем:

если условие удовлетворяется, то в первом случае осуществляется переход к строке с меткой N=20, во втором и в третьем случаях выполняется оператор, следующий за THEN.

Если условие не удовлетворяется, то в первом случае осуществляется переход к оператору, следующему за условным. Во втором случае осуществляется переход к первому оператору следующей строки,

т. е. все операторы в строке, следующие за условным оператором, при этом игнорируются. В третьем случае выполняется действие, записанное после ключевого слова ELSE.

Возможна одновременная проверка нескольких условий, соединенных словами:

OR - условие считается выполненным, если выполняется хотя бы одно из проверяемых условий;

AND - условие выполнено, если выполняются все проверяемые условия одновременно;

XOR - условие выполнено, если выполняется ровно одно из двух проверяемых условий.

Пример 3. Вычислить Общая характеристика алгоритмического языка QuickBASIC - student2.ru

где Общая характеристика алгоритмического языка QuickBASIC - student2.ru .

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

Рис. 2.2. Блок - схема разветвляющегося вычислительного процесса

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

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

INPUT "m,n="; m,n

X=3*COS(m/n)

IF X<0 THEN

Y=X^2+3*X-7

ELSEIF X>=0 AND X<1 THEN

Y=2*X-1

ELSE

Y=EXP(X)

ENDIF

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

END

На языке QuickBASIC.

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

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

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

FOR V = Общая характеристика алгоритмического языка QuickBASIC - student2.ru TO Общая характеристика алгоритмического языка QuickBASIC - student2.ru STEP Общая характеристика алгоритмического языка QuickBASIC - student2.ru

. . . . . . . . . .

NEXT V

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

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

Пример.

FOR I = 4 TO 20 STEP 2

PRINT I, I^2

NEXT I

END

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

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

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

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

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

Пример.

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

RUN

5.63 -1.1

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

Использование оператора PRINT USING при выводе массивов позволяет выводить массивы в удобной для восприятия форме.

Пример.

DIM F2(4,4)

P = .5

FOR I=1 TO 4

FOR J=1 TO 4

P=P+1: F2(I,J) = P

PRINT USING "##.##"; F2(I,J);

NEXT J : PRINT

NEXT I : PRINT

END

RUN

1.50 2.50 3.50 4.50

5.50 6.50 7.50 8.50

9.50 10.50 11.50 12.50

13.50 14.50 15.50 16.50

Оператор PRINT осуществляет только возврат каретки перед выводом новой строки.

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

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

Рис. 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: Общая характеристика алгоритмического языка QuickBASIC - student2.ru , где a=1, b=2, h=0,2; c=2, d=4, l=0,2.

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

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

Рис. 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 - student2.ru .

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

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

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

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru


Общая характеристика алгоритмического языка QuickBASIC - student2.ru 1

Общая характеристика алгоритмического языка QuickBASIC - student2.ru

       
   
Начало
 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

Рис. 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

. . . . . . . .

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

Пример 7. Даны два массива xi и yi (i=1,10). Составить программу для вычисления Общая характеристика алгоритмического языка QuickBASIC - student2.ru

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

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

Общая характеристика алгоритмического языка QuickBASIC - student2.ru

Рис. 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

Рис. 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

Пример. Найти все Общая характеристика алгоритмического языка QuickBASIC - student2.ru массива C(5,5)., большие по модулю 2.

Сформируем файл “data” содержащий элементы массива Общая характеристика алгоритмического языка QuickBASIC - student2.ru с помощью оператора 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

Для решения нашей задачи элементы массива Общая характеристика алгоритмического языка QuickBASIC - student2.ru считываем с файла “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

Подпрограммы.

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

Подпрограмма-функция.

FUNCTION имя [(список параметров) STATIC]

[Операторы подпрограммы]

имя = выражение

END FUNCTION

QuickBASIC - программа для примера 2:

FUNCTION f(x,y)

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

f = cos(x^2+y^2)

END FUNCTION

DECLARE FUNCTION f(x,y)

REM Подпрограмма-функция

INPUT m, n

x=m/n: y=-2*n: f1=f(x,y)

x=3*(m+n): y=-5.5*m: f2=f(x,y)

z=(f1+f2)/2/(m+n)

PRINT “z=”; z

END

Подпрограмма общего вида.

SUB имя [(список параметров)] [STATIC]

Операторы подпрограммы

END SUB

[CALL] имя подпрограммы [(список аргументов)]

QuickBASIC - программа для примера 2:

SUB c(x,y,f)

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

f = cos(x^2+y^2)

END SUB

DECLARE SUB c(x,y,f)

REM Подпрограммаобщего вида

INPUT m, n

x=m/n: y=-2*n: CALL c(x,y,f1)

x=3*(m+n): y=-5.5*m: CALL c(x,y,f2)

z=(f1+f2)/2/(m+n)

PRINT “z=”; z

END

Подпрограмма GO SUB.

Обращение к подпрограмме осуществляется оператором

GOSUB N

где N - номер строки, с которой начинается подпрограмма.

Подпрограмма размещается в последовательных строках, начиная с N - й. Последним оператором, выполняемым в подпрограмме, должен быть оператор RETURN. По оператору RETURN осуществляется возврат в то место программы, из которого произошло обращение к подпрограмме, а именно к оператору, следующему за GOSUB N. Подпрограмма может содержать обращения к другим подпрограммам.

QuickBASIC - программа для примера 2:

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

INPUT m, n

x=m/n: y=-2*n: GOSUB 1: f1=f

x=3*(m+n): y=-5.5*m: GOSUB 1: f2=f

z=(f1+f2)/2/(m+n)

PRINT “z=”; z

END

1 REM ПодпрограммаGOSUB

f = cos(x^2+y^2)

RETURN

END

РЕЦЕНЗИЯ

на методические указания по курсу "Информатика" для самостоятельной работы студентов всех специальностей. Основы программирования Габбасова Ф.Г., Гатауллина И.Н.

Данные методические указания предназначены для самостоятельной работы студентов всех специальностей и используются при выполнении лабораторных и контрольных работ по курсу "Информатика" на языке QuickBASIC.

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

Считаю, что данные методические указания могут быть опубликованы.

Доктор физ.-мат. наук,

Профессор, зав. кафедрой ВМ ______________Р.Б.Салимов

НАЧАЛЬНЫЕ СВЕДЕНИЯ

Назначение и применение ЭВМ

ЭВМ предназначена для автоматической обработки цифровой, алфавитно-цифровой информации. Можно условно выделить три крупные области применения ЭВМ:

1. Информационные системы и средства коммуникации - поиск, обработка, хранение, передача информации, создание банка данных, расширение доступа к образованию, облегчению быта и т. д.

2. Автоматизация и управление различными видами работ человека - автоматизированные системы научных исследований (АСНИ), система автоматизации проектных работ (САПР), автоматизированные системы управления производством (АСУП), гибкие автоматизированные производства (ГАП) и др.

3. Математическое моделирование объектов и процессов разнообразной природы, вычислительный эксперимент.

Этапы решения задач на ЭВМ

Основными этапами решения задач с применением ЭВМ являются:

1. Постановка задачи и ее математическое описание.

2. Выбор численных методов решения (построение методики решения).

3. Алгоритмизация.

4. Программирование.

5. Отладка программы.

6. Непосредственное решение задачи на ЭВМ.

7. Обработка результатов расчета и их применение.

Разработка алгоритма - необходимый этап в процессе решения задачи на ЭВМ. Алгоритм – конечная последовательность точно определенных действий, приводящих к решению поставленной задачи.

Алгоритмы представляются в виде блок - схемы и в виде операторной записи при помощи символов - операторов или в виде перечисления этапов решения обычным текстом.

Блок - схема - графическое изображение алгоритма в виде последовательности блоков с помощью геометрических фигур. При составлении блок – схем используются следующие геометрические фигуры:

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

- начало и конец блок - схемы;

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

- блок ввода и вывода информации;

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

- блок вычисления арифметических выражений;

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

- блок проверки условий;

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

- блок вызова подпрограммы;

 
  Общая характеристика алгоритмического языка QuickBASIC - student2.ru

- ссылка (перенос блок - схемы на другую страницу).

Примеры алгоритмов смотрите на рисунках 2.1 - 2.7.

ОПИСАНИЕ ЯЗЫКА QuickBASIC

Общая характеристика алгоритмического языка QuickBASIC

Алгоритмический язык QuickBASIC используется преимущественно в режиме диалога человека и ЭВМ.

Программа на QuickBASICе состоит из последовательности строк. В одной строке может содержаться один или несколько операторов, разделенных символом “ : ” двоеточие.

Символы языка QuickBASIC

В QuickBASICе используются следующие символы:

1) двадцать шесть заглавных латинских букв A, B, C, D, ...., Z;

2) десять арабских цифр 0, 1, 2, ...., 8, 9;

3) знаки: “ . “ точка, “ , “ запятая, “ : “ двоеточие, “ ; “ точка с запятой,

“ " “ кавычки, “ ‘ “ апостроф;

4) знаки арифметических операций: “ + “ сложение, “ – “ вычитание,

“ * “ умножение, “ / “ деление, “ ^ “ возведение в степень;

5) круглые скобки: “ ( “ открывающая скобка, “ ) “ закрывающая скобка;

6) “└┘” пробел;

7) знаки операций отношения: “ < “ меньше, “ > “ больше, “ >= “ больше или равно, “ < > “ или “ > < “ не равно, “ <= ” меньше или равно, “ = “ равно;

8) знаки: “ $ “ знак доллара, “ & “ коммерческое “ и “, “ @ “ коммерческое “ эт “, “ \ “ косая черта слева направо, “ % “ процент, “ # “ номер, “ ? “ вопросительный знак, “ ! “ восклицательный знак;

9) буквы русского алфавита “ А, Б, В, ...., Я “.

Наши рекомендации