Android-приложение для поиска дешевых авиабилетов: play.google.com
Главная -> Справочник по алгоритмам

0 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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78

Особенности применении матричных операторов. Применение матричных операторов существенно упрощает рещение задач, связанных с использованием матриц (например, рещение систем линейных уравнений). Поскольку при этом необходимые арифметические операции проводятся на мащинном языке, существенно сокращается время вычислений. Перед использованием матричных операторов должны быть заданы и определены (с помощью оператора DfM) массивы под исходную вычисляемую и служебные матрицы. Массивы могут иметь любые имена (а не только А, В, С, как в приведенных условных формах записи операторов). Условия совпадения имен оговорены выше.

Операторы обращения по меткам. В некоторые версии бейсика для ускорения вычислений вводятся операторы ON# Метка и GOSUB # Метка. Метка может быть числом (0-н9) или любой латинской буквой (от А до Z). При выполнении этих операторов происходит безусловный переход (оператор ON) или обращенпе к подпрограмме (оператор GOSUB), которые следуют за строкой с меткой в виде REM# Метка.

Оператор-переключатель строк имеет вид

ON (а) НС1, НС2, НСЗ. ...

где а - арифметическое выражение, указывающее порядок безусловных переходов к строкам с номерами НС1, НС2, НСЗ и т. д. Если а принимает значение 1, происходит переход к строке с номером НС1, если а принимает значение 2, переход идет к строке НС2, и т. д. (номера строк не совпадают со значениями а).

Операторы ввода символьных последовательностей RED. Оператор присваивания

REDL А = Символы

присваивает переменной А символьное значение. Для такого присвоения при вводе символов с пульта используется оператор RED1 А. Здесь А - любая переменная.

Вывод символьной переменной, ввеленной операторами REDL и REDI, выполняется с помощью оператора

PRINT DA, DB, ...

Перед каждой символьной переменной из списка оператора PRINT должен стоять знакП.

Вывод символьных переменных выполняется также операторами

REDP , или пробел . .

REDP ; или / REDP ф М [...] REDP А [(1[,К1)1

При пустом списке оператор REDP игнорируется, точка, запятая и пробел используются в качестве разделителей, знак ; обеспечивает пропуск одной позиции, знак /- перевод строки с возвратом каретки, #М - пропуск М позиций (где М -число), А - вывод строки, введенной операторами REDL и REDI.

Широко распространенные операторы обработки символьных переменных LEN и MID описаны в версии бейсика ПЭВМ FX-702P.

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

Все описанные выше директивы, операторы и функции присущи наиболее сложным версиям языка бейсик. В целом между отдельными версиями имеются существенные отличия, но они не затрагивают основные (характерные именно для этого языка) операторы и функции. Программы, описанные в данном справочнике, используют, по возможности, только такие операторы и функции. Пакет программ, в которых использованы операторы матричных функций, дан в § П5.12.

§2.3. Арифметические и алгебраические операции, работа в режиме калькулятора

Арифметические н алгебраические операции микроэвм, программируемые на бейсике, могут выполняться как по программе, так и в режиме калькулятора. В последнем случае они проводятся по командам, вводи-MisiM без указания H().«epa строк в режиме вычислений.

Примеры такого рода вычислений даиы в табл. 2.11 (микроэвм FX-702P). У некоторых микроэвм, например Э.чектрони-ка-ДЗ-28, эти операции выполняются после ввода оператора PRINT (печать). При этом аргумент функции должен заключаться в скобки.

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

В отличие от вычислений на обычных калькуляторах [10, 20], ПЭВМ обеспечивают в калькуляторном режиме выполнение не только элементарных (сложение двух чисел, вычисление одной функции и т. д.), но и сложных последовательностей действий, в частности вычисление численных значений формульных выражений. При это.м в ходе ввода формулы возможна коррекция ошибочно введенных знаков, операторов и числовых констант. По существу это означает программирование разового процесса вычислений. Введенное формульное выражение в калькуляторном режиме стирается после однократного вычисления его численного значения. Отметим некоторые дополнительные виды вычислений, проводимые с использованием программ, записанных в ПЗУ ПЭВМ (т. е. микропрограмм).

Микропрограммно вычисляются и все элементарные функции, включенные в набор команд ПЭВМ.



Примеры вычислений в режиме калькулятора (для ПЭВМ FX-702P)

Операция

Показания дисплея при вводе

Результат (после нажатия клавиши EXE)

сч-2 йч-З с5 d4-1.5.

А=2 В=3 С=5 D = 1.5

Переменным а, b, с и d присвоены значения 2, 3, 5 и 1,5

2 + 3-5/1,5

2 + 3*5/1.5

a+b-c/d

A + B.C/D

5 sin 30°

5.S1N 30

VHtg45.

(SQRA).TAN 45

1.414213562

20 Ig (3/1,5) sh.

20.LOG (3/1.5)

((A + B)/C).HSN D

6,020599913 2,129279455

cos 40°3025,2"

COS DEC (40,30,25.2)

0,7603266149

ae+b

A.EXPD + B

11,96337814

b-c\

B*C!

2,5"

2.575

7,00649232Е 29

2*ji*C

31,41592654

(с -a) arctg d

(C-A).ATN D

168,9297974

-2-10-=-e-*

- 2E -5.EXP -18

- 3,045995949Е -13

b In c-c

B.LNABS(A-C)

3,295836866

(int ji)/2

INT я/2

irit (л/2) +c

INT (ji/2)+C

Преобразование полярных координат в прямоугольные (рис. 2.1, а) выполняется по формулам

г=х + у и e = arctg [у/х),

где г - длина радиуса вектора. Для этого используются команды

RPC X, у ЕХЕ X (получаем г) DMS Y ЕХЕ (получаем 0)"



Оператор DMS вводится, если угол О нужно получить в градусах, минутах и секундах с десятичными долями. Угол обычно определяется в пределах ±180".

Преобразование прямоугольных координат в полярные (рис. 2.1,6) производится по формулам x = rcosQ и у = г5тв с применением команд

PRC г ,DEG(e", 6, 6") ЕХЕ X ЕХЕ (получаем х) У ЕХЕ (получаем у)

Если угол вводится в градусах с десятичными долями, вместо оператора DEG(e, О, О") вводится значение 0.

Пример. Найти хи у при г= 1 и 0 = 30°.

Рис. 2.1. Преобразование координат

Пример. Найти г и О при х= - 1 и у=-2.

Вводимые команды

Результат

PRC 1, 30 ЕХЕ

X ЕХЕ

0.8660254038=л:

У ЕХЕ

0,5 = 1,

Вводимые команды

Результат

RPC -1, -2 ЕХЕ

X ЕХЕ

2.236067977=г

DMS У ЕХЕ

- 116°3354.18"=е

У ЕХЕ

-116.5650512 = 6

При представлении углов в разных единицах измерения используются следующие режимы работы: MODE4 - угол в градусах, MODE5 - угол в-радианах и MODE6 - угол в градах (100 град соответствует 90°).

Статистические вычисления могут выполняться в режиме калькулятора (см. подробнее § 5.3), где приведены и соответствующие формулы.



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

§2.4. Элементарное программирование на языке бейсик

Некоторые правила программирования йа языке бейсик были описаны при описании его операторов (§ 2.1, 2.2). Ниже они систематизируются. Поясним смысл основных понятий программирования.

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

Описательный алгоритм - алгоритм, составленный на естественном, в частности математическом, языке.

Графический алгоритм - компактная форма записи алгоритма в виде специальных графических знаков (см. рис. 2.2) с указанием связей между ними.

(Пуснили cnion

к\ /ввод, Вывод/

J / ваниыас /


из строк со словами и предложениями, составленными из операторов. Строки нумеруются от меньшего (О или 1) до большего номера (максимальный номер зависит от типа ПЭВМ). Рекомендуется нумерация строк, кратная 5 или 10, например 10, 20, 30, 40 и т. д. Тогда в промежутки между номерами можно вставлять новые строки. Операторы или отдельные предложения с ними разделяются в строках двумя точками.

Неопытные пользователи часто записывают в каждой строке один оператор или одно предложение. Такая запись наглядна и упрощает замену ошибочных операторов. Однако ее не следует рекомендовать, так как в этом случае неэкономно используется память ПЭВМ (забивается множеством номеров), увеличивается время счета, сложные программы получаются очень длинными, текст (листинг) программы неудобно выводить и его распечатка ведет к неэкономному расходу дорогостоящей бумаги. Рекомендуется записывать в строку несколько предложений с тем, чтобы строка при индикации дисплеем вмещалась в ее формат (от 20 до 80 знаков в одной строке).

Соответствие структуры программы алгоритму является непременным условием для получения наглядной программы и обеспечения удобства и безошибочности работы с ней. Для этого программа разбивается на отдельные части: организация ввода исходных данных и констант, организация ввода

Вход цикла

Тело цикла


Выход из и,има, если 1>/п

Рис. 2.2. Графические обозначения алгоритмов: начала и конца программы (а), ввода и вывода данных (б), проведения операций (в), выполнения условных переходов (г) и циклов (д)

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

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

Общие правила записи программ. Как

отмечалось, программа на бейсике состоит

текущих переменных, организация начала циклов, построение тела циклов, организация конца циклов, вывод результатов на индикацию и печать. Не рекомендуется смешивать в одной строке фрагменты этих блоков. Отдельно записываются подпрограммы, которые можно сопровождать комментарием, записываемым с помощью оператора REM. В начале программы с помощью операторов REM или PRINT записывается название или код программы, в конце указывается оператор END. Отсутствие оператора END может привести к ошибкам при записи программы на магнитные накопители и ее считывании.

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

Линейные программы имеют алгоритм, при котором каждая последующая операция выполняется строго за предыдущей. Все



0 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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78



0.0088
Яндекс.Метрика