Другие имеющиеся в Бейсике функции:

– LOG(X) – это натуральный логарифм от величины Х (при этом десятичный логарифм определяется как: lg x = ln x / ln 10 )

– ABS(X) – абсолютная (без учета знака) величина Х

– SIGN(X) – знак Х: Если Х > 0 SIGN(X) = 1, Х < 0 SIGN(X) = –1, Х = 0 SIGN(X) = 0

– FIX(X) – число, полученное отбрасыванием дробной части Х. Так FIX(-2.67) = –2

Структура программы

Операторы записываются в виде строк – каждая строка ниже предшествующей. Строки нумеруются. Желательно это делать с интервалом: например 10, 20, 30 и т. д. В этом случае при необходимости можно вставить дополнительную строку (например под номером 22), не меняя нумерацию. Строка не должна содержать более 255 символов. Т. к. экранная строка не превышает 80 символов, то на экране продолжение слишком длинной строки можно видеть сдвинув “картинку” влево

Типы чисел

Числа бывают целые (1, -7, 111) и действительные (с десятичной точкой: 1.0, -12.4, 34.785). Очень большие и очень маленькие числа записывают в показательной форме. Например, число 1.23Е 6 означает: 1.23*10 или 1 230 000; а число 5.71Е–4 означает: 5.71*10 либо 0. 000571

Константы и переменные

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

В отличие от констант переменные могут принимать целый ряд значений, т. е. разные значения при каждом пробеге программы. В ОЗУ переменная имеет собственную ячейку и характеризуется адресом этой ячейки (см. рис.10.2). В программе на языке высокого уровня вместо конкретного адреса записывают имя переменной (в адрес ячейки это имя переведет транслятор 2 – см. рис 10.3). В Бейсике переменная может обозначаться латинской буквой ( А, L, Q), сочетанием нескольких латинских букв (TEMP – например, чтобы обозначить температуру). Начинающееся с буквы имя может включать цифры (например, D1, D2, D3 – для сходных по своей физической сути переменных)

НЕ нашли? Не то? Что вы ищете?

Ввод данных

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

Ввод часто осуществляется оператором INPUT, после которого в кавычках помещают комментарий: характеристика вводимой переменной и единица измерения. Все единицы должны относиться к системе СИ. После закрытия кавычек следует точка с запятой и обозначение переменной. Пример: 10 INPUT “Глубина скважины Н, м”; Н

При запуске программы на экране появится комментарий (без кавычек ). Далее вводят требуемое числовое значение. Например: Глубина скважины Н, м 752.

2-й способ ввода – оператор присваивания. Пример: 10 Н = 752. (в строке номер 10 переменной Н присваивается значение 752). Этот способ имеет то преимущество, что если при повторном прогоне программы данная переменная измениться не должна, то экономится время на ее повторный ввод. В противном случае числовое значение после знака равенства переписывается.

Вывод результатов

Для вывода используется оператор PRINT (обычно с комментарием). После закрытия кавычек комментария ставятся: точка с запятой, двоеточие и оператор PRINT USING, после которого (в кавычках) – регламентация точности выводимого числа (количество отводимых на него знаков до и после десятичной точки). В конце после точки с запятой следует обозначение переменной. Пример: 110 PRINT “Мощность, W, кBт”;: PRINT USING “###.#”; W. Вывод будет иметь вид: Мощность, W, кBт 12.8

Из запланированных (с запасом) трех разрядов на целую часть числа потребовалось только два. Одна позиция отведена на дробную часть. Без оператора PRINT USING “###.#” после точки было бы до 15 знаков, что неудобно для чтения.

Если на целую часть числа отводится недостаточное количество разрядов, то число не умещается в формат. Программа дает сообщение об ошибке в виде знака %.

Если бы число выводилось в показательной форме, то наш пример имел бы вид: 110 PRINT “Мощность, W, Bт”;: PRINT USING “#.##^^^^”; W. Здесь знаки #.## отводятся на мантиссу, а ^^^^ означают (в порядке перечисления): символ показательной формы Е, знак степени (плюс или минус), числовое значение степени. Будет выведено: Мощность, W, Bт 1.28Е 04 (т. е. 1.28*10)

Обработка данных

Операторы этой части программы состоят в основном из формул. Формулы пишутся в одну строку, “двухэтажные” формулы недопустимы. Так, формула должна быть приведена к виду:

. (11.1)

(недопустимо и выражение умножения как , без использования символа *).

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

– В первую очередь вычисляются функции

– Во вторую очередь – операции возведения в степень и извлечения корня

– В третью очередь – операции умножения и деления

– В четвертую очередь – операции сложения и вычитания

Операции одной очереди выполняются последовательно слева направо

Если приоритетность необходимо нарушить, то вводят скобки. Это сделано в формуле (11.1). Если бы скобки отсутствовали:

,

то вначале были бы выполнены все операции умножения и деления, а уже потом результат был бы вычтен из .

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

Составим простейшую программу – компьютерную модель веса одного метра бурильной колонны. Программа будет основана на единственной формуле:

, (11.2)

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

В представленном виде эта формула для языка Бейсик неприемлема

Произведем переименования: греческие буквы заменим латинскими; учтем, что Бейсик не делает различия между большими и малыми буквами. Желательно, чтобы новые символы напоминали те, что стоят в формуле (11.2)

Таблица 11.1 Переименование переменных

Символы в формуле (11.1)

q

Имена в программе

DH

DB

RM

RG

TT

Q

Программа Q1M (т. е. вес 1 м)

10 CLS

20 PRINT “РАСЧЕТ ВЕСА ОДНОГО МЕТРА БУРИЛЬНОЙ ТРУБЫ В СКВАЖИНЕ”

30 INPUT “Наружный диаметр трубы, DH, м”, DH

40 INPUT “Внутренний диаметр трубы, DВ, м”, D

50 INPUT “Плотность материала трубы, RM, кг/м”, RM

60 INPUT “Плотность промывочной жидкости, RG, кг/м”, RG

70 INPUT “Зенитный угол скважины, ТТ, град”, ТТ

80 Q = 1.06* (3.14/4)*(DH^2 – DB^2)*RM*(1 – RG/RM)*COS(TT/57.3)

90 PRINT “Вес одного метра бурильной трубы, Q, H”; : PRINT USING “####”; Q

Прокомментируем программу

Оператор CLS (№ 10) стирает результаты ранее проведенных расчетов.

Оператор PRINT и комментарий (номер 20) – это заголовок программы, который появится над выведенным на печать результатом расчета.

Формат вывода (после PRINT USING) подобран с учетом того, что значения веса 1 м труб, выраженные в Ньютонах, реально не могут занять более четырех позиций.

Проведем исследования на этой модели: Сравним веса стальных и алюминиевых бурильных труб при различных плотностях промывочной жидкости:

Таблица 11.3. Зависимость веса 1 м бурильных труб (в Н/м) от плотности раствора в вертикальной скважине. Наружный диаметр D = 0.054 м, внутренний d = 0.044мм

Тип материала труб и плотность

Плотность бурового раствора, , кг/м

0*

1000

1200

1400

1700

2000

2300

Сталь, = 7850 кг/м

62.8

54.8

53.2

51.6

49.2

46.8

44.4

Потеря по сравнению с воздушной средой, %

0

12.7

15.3

17.8

21.6

25.5

29.3

Дюраль, = кг/м2800

22.4

14.4

12.8

11.2

8.8

6.4

4.0

Потеря по сравнению с воздушной средой, %

0

35.7

42.8

50

60.7

71.4

82.1

* В воздухе

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29