Основы программирования

Назначение и применение электронно-вычислительных машин. Этапы решения задач на ЭВМ. Общая характеристика алгоритмического языка QuickBASIC: символы, простейшие конструкции, арифметические выражения. Определение нестандартных функций оператором DEF FN.

Рубрика Программирование, компьютеры и кибернетика
Вид методичка
Язык русский
Дата добавления 18.12.2014
Размер файла 322,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

1

Размещено на http://www.allbest.ru/

Казанский государственный архитектурно-строительный университет

Кафедра прикладной математики

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

для самостоятельной работы студентов

всех специальностей

по курсу "Информатика"

Основы программирования

Составители:

Ф.Г. Габбасов, И.Н. Гатауллин

Казань - 2008

УДК 621.313

Методические указания по курсу "Информатика" для самостоятельной работы студентов всех специальностей. Основы программирования. /Казанский государственный архитектурно-строительный университет; Сост.: Ф.Г. Габбасов, И.Н. Гатауллин. - Казань, 2008. 31 с.

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

Рецензент - Р.Б. Салимов, доктор физ.-мат. наук, профессор

© Казанский государственный архитектурно-строительный университет, 2008 г.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1

Размещено на http://www.allbest.ru/

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

1

Размещено на http://www.allbest.ru/

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

1

Размещено на http://www.allbest.ru/

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

1

Размещено на http://www.allbest.ru/

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

1

Размещено на http://www.allbest.ru/

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

1

Размещено на http://www.allbest.ru/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6) “L-” пробел;

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

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

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

2.3 Простейшие конструкции языка QuickBASIC

Числа. Для отделения целой части числа от дробной используется точка (см. табл. 2.1).

Таблица 2.1

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

Число

Запись на QuickBASICе

Тип

Кол-во занимаемой памяти

Диапазон

3,46

3.46

Фиксированная запятая

4 байта

от 10 до 10

0,0058

58Е-4

Плавающая запятая

4 байта

от 10 до 10

150000

15Е 4

Плавающая запятая

4 байта

от 10 до 10

75

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
ln x
lg x
|x|
[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/),
arcos (x) = arctg ()/x),
arcctg (x) = arctg (1/x).
2.4 Арифметические выражения
Для обозначения арифметических операций используются знаки: “+” сложение, “-“ вычитание, “*” умножение, “/” деление, “^” возведение в степень, “\” деление нацело, MOD остаток от деления.
Если в арифметическом выражении имеется несколько различных арифметических операций, то порядок их выполнения задается правилами приоритета:
1. возведение в степень.
2. умножение, деление.
3. сложение, вычитание.
Примеры записи арифметических выражений
sinx SIN(X^3)^2
X^(4/3)
(A^3+EXP(2*COS(X)))/(X^2-Y^3)^(1/3)
2.5 Структура программы на языке QuickBASIC
2.5.1 Программы линейной структуры на языке QuickBASIC
Линейная программа должна состоять из следующих операторов (см. рис. 2.1): ввода данных, присваивания, вывода (печать) результатов расчета. Линейный вычислительный процесс сводится к последовательным вычислениям арифметических выражений, причем последовательность вычислений полностью соответствует порядку записи математических зависимостей в постановке задачи.
Оператор-комментарий. Для облегчения восприятия и большей наглядности программы в нее целесообразно включать комментарии, которые поясняют работу отдельных частей программы, характеризуют используемые переменные и т.д.
Для записи комментариев используется оператор REM (REMARK). В этом операторе за словом REM могут быть записаны любые символы QuickBASICа. Включение операторов REM в программу никак не влияет на ее выполнение.
Оператор ввода служит для задания исходных данных при выполнении программы. Операторы вывода позволяют получить результаты выполнения программы.
Ввод осуществляется одним из двух способов:
- c использованием оператора INPUT;
- c использованием пары операторов DATA, READ.
Оператор INPUT. При использовании оператора INPUT данные вводятся с клавиатуры дисплея во время выполнения программы. Общий вид оператора

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

Например: 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. Вычислить значение функции

,

где , , m - номер варианта, n - номер группы.

1

Размещено на http://www.allbest.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.
Определение нестандартных функций оператором DEF FN.

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

DEF FNV(<аргументы>) = <арифметическое выражение>,

где V - имя функции; <аргументы> - простые переменные - формальные аргументы функции; <арифметическое выражение> - формула, по которой вычисляется функция.

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

Оператор DEF FN должен располагаться в программе до первого использования определяемой им функции.

Вычисление функции, описанной оператором DEF FN, осуществляется при обращении к ней при помощи записи указателя функции

FNV (<арифметические выражения>),

где <арифметические выражения>, заменяют формальные параметры в арифметическом выражении правой части оператора DEF FN перед вычислением.

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

,

где .

Здесь m - номер варианта, n -номер группы.

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

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

DEF fnf(x,y) = cos(x^2+y^2)

INPUT m, n

z=(fnf(m/n, -2*n)+ fnf(3*(m+n), -5.5*m))/2/(m+n)

PRINT “z=”; z

END

2.5.2 Программы разветвляющейся структуры на языке QuickBASIC

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

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

GO TO N,

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

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

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

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

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

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

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

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

«Блок 1»

ELSE IF «условие 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 - программа для примера 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

1

Размещено на http://www.allbest.ru/

Рис. 2.2 Блок - схема разветвляющегося вычислительного процесса
2.5.3 Циклические вычислительные процессы на языке QuickBASIC
Циклическим называется вычислительный процесс, в котором отдельные этапы решения задачи многократно повторяются за счет передачи управления на начало этой группы этапов. Управление количеством повторений этих этапов происходит за счет использования параметра цикла (управляющей переменной).
Циклические алгоритмы применяются при решении задач на табулирование функций (составление таблицы значений функции), на вычисление суммы и произведений, по обработке массивов.
Операторы цикла. Для организации циклов в QuickBASICе применяются операторы FOR и NEXT. Общий вид операторов
FOR V = TO STEP
. . . . . . . . . .
NEXT V
где v - любая неиндексированная переменная - управляющая переменная цикла; , , - начальное и конечное значения и шаг изменения управляющей переменной цикла - любые арифметические выражения. Если =1, то конструкцию STEP можно опустить. Операторы, расположенные между операторами FOR и NEXT, образуют тело цикла и выполняются многократно.
Выполнение цикла, образованного операторами FOR и NEXT, заключается в следующем: - переменной V присваивается начальное значение и она сравнивается с конечным значением . Если при положительном шаге удовлетворяется условие ?, или при отрицательном шаге удовлетворяется условие ?, то выполняются операторы, расположенные между операторами FOR и NEXT, и по оператору NEXT осуществляется возврат к началу цикла. Значение V изменяется на , т.е. V=V+, и снова проверяется условие. Если условие удовлетворяется, то тело цикла выполняется повторно. В противном случае происходит выход из цикла и переход к оператору, следующему за 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:

электронный вычислительный алгоритмический язык

1

Размещено на http://www.allbest.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:

,

где a=1, b=2, h=0,2; c=2, d=4, l=0,2.

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

Рис. 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 Обработка массивов данных
Массивом называется упорядоченная последовательность величин, обозначаемая одним именем. Упорядоченность заключается в том, что элементы массива располагаются в последовательных ячейках памяти.

1

2

3

4

5

1

Размещено на http://www.allbest.ru/

1

Размещено на http://www.allbest.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
. . . . . . . .
Пример 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

1

Размещено на http://www.allbest.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
Использование операторов OPEN, CLOSE, INPUT # и PRINT #.

Оператор OPEN позволяет открывать файлы для чтения и записи. Общий вид:

OPEN "File.name" FOR { режим } AS { номер }

File.name - имя открываемого файла

режим - способ доступа к файлу

номер - целое число 1-255, которое потом используется, чтобы определить нужный файл для записи/чтения.

Режимы:

APPEND - последовательная запись в файл, начиная с конца файла, т.е. дополнение;

1

Размещено на http://www.allbest.ru/

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

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

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

1. Блоковая функция пользователя.

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

Операторы

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

Операторы

END DEF

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

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

DEF fnf(x,y)

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

END DEF

REM Блоковая функция пользователя

INPUT m, n

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

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

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

PRINT “z=”; z

END

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

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

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

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

4. Подпрограмма 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

Размещено на Allbest.ru


Подобные документы

  • Назначение и применение компьютера, основные этапы разрешения поставленной задачи с его помощью. Общая характеристика алгоритмического языка Visual Basic, существующие структуры и правила написания программ. Используемые операции и их главные функции.

    методичка [2,7 M], добавлен 09.12.2014

  • Применение информационных технологий в конкретной практической деятельности по выбранной специальности. Использование языка программирования Pascal в инженерной практике как универсального алгоритмического языка. Программа решения задачи на языке Pascal.

    курсовая работа [1,3 M], добавлен 25.07.2012

  • Характеристика этапов решения задач на электронных вычислительных системах. Разработка алгоритма и основы программирования. Язык Ассемблера, предназначенный для представления в удобочитаемой символической форме программ, записанных на машинном языке.

    контрольная работа [60,5 K], добавлен 06.02.2011

  • Развитие навыков работы с табличным процессором Microsoft Excel и программным продуктом MathCAD и применение их для решения задач с помощью электронно-вычислительных машин. Схема алгоритма. Назначение функции Линейн и метода наименьших квадратов.

    курсовая работа [340,4 K], добавлен 17.12.2014

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

    реферат [22,8 K], добавлен 15.03.2004

  • Логические конструкции в системе программирования Паскаль. Команды языка программирования, использование функций, процедур. Постановка и решение задач механики в среде системы Паскаль. Задачи статики, кинематики, динамики решаемые с помощью языка Паскаль.

    курсовая работа [290,9 K], добавлен 05.12.2008

  • Язык BASIC как семейство высокоуровневых языков программирования. Средства алгоритмического языка программирования и их типы. Способы ввода исходных данных. Особенности оператора условного перехода. Детальная характеристика циклических вычислений.

    реферат [64,4 K], добавлен 02.05.2015

  • Символьный тип данных как составляющая языка программирования: управляющие символы, лексемы и разделители. Разработка программного обеспечения для практической реализации решения задач, содержащих символьные величины языка программирования Turbo Pascal.

    курсовая работа [37,7 K], добавлен 03.05.2012

  • Что такое информационные продукты и услуги. Создание диаграмм в текстовом процессоре Microsoft Word. Краткая характеристика алгоритмического языка Бейсик. Применение программирования при решении задач по экономической и математической статистике.

    контрольная работа [104,4 K], добавлен 04.05.2010

  • История развития ЭВМ и эффективность их использования, понятие "базовый набор" и "обязательная конфигурация". Назначение современных и перспективных видов КЭШ-памяти. Сканеры как устройство ввода графической информации в компьютер, их конструкции.

    контрольная работа [35,7 K], добавлен 01.05.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.