Файл: Богданов В.С. Системы математического обеспечения цифровых вычислительных машин учеб. пособие.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.08.2024
Просмотров: 55
Скачиваний: 0
- 51
Запишем на АЛГОЛе следующие выражения, используя опера
тор присваивания. |
|
|
|
|
Исходная математическая |
|
Оператор присваивания |
|
|
формула |
|
|
|
|
|
|
Д := (А + 8*Ю /(С + £ хХ ); |
|
|
|
+ |
3 e f a : = - / / t rlx $ + A 12/ { 4* X f 2) ; |
|
|
С = І Ш к |
; С |
■ = V tix K x 7 , х 7 г / ( 1 , - 7г ) ; |
|
|
т Ы |
e t ä j l e f y i ) ; V: = f / f i * - y f & *& )* |
. |
||
|
|
|
*агсш п (ехр (т кХ )хзд щ а/$ ); |
|
J-Hoè — lern . + 4 1 |
. |
= J + |
|
|
i HoS = n |
l ; |
|
I: - n * I |
|
Всегда предполагается, |
что всем переменным, встречаю- ■ |
|||
щиися в правых частях оператора присваивания, уже присвоены |
|
некоторые значения предыдущими операторами. Переменные спра
ва и слеза могут быть разных типов {irite^eZ |
или t e a t ,но не |
бообвйП. ) . Однако предполагается, что после |
вычисления вы-' |
ранения, стоящего справа, полученное значение приводится к типу левых переменных. Например, если в операторе присваива ния значение арифметического выражения в правой части отно сится к типу "действительный" iZeaC'), а переменная в левой части - к типу "целый" (.UlttCjeZ ) , то значение арифметичес кого выражения должно быть округлено до целого значения.'
§ 7 . Логические, или булевые, выражения
* Прежде чем переходить к описанию логических выражений,
- 52 -
рассмотрим отношения и операторы отношений.
Математическое отношение - это гипотетическое правило,
связывающее два или более математических объектов.Обозначим
запись |
отношения в |
виде At к\ что |
означает |
- объект А нахо |
|||||
дится |
в отношении |
1 |
к объекту А*. Об отношении можно ска |
||||||
зать, |
выполняется |
оно или |
не выполняется. Если |
А и А1 - |
ариф |
||||
метические выражения, |
принимающие |
определенные |
значения, |
то |
|||||
A t А7 может быть истинным |
или ложным. Таким |
образом, мы при |
|||||||
ходим к понятию простого булевого (логического) выражения. |
|||||||||
Итак, |
простым булевым |
выражёнием называется отношение в част |
|||||||
ном случае At А1, где |
А, А- арифметические выражения, |
1 |
- |
||||||
один из введенных выше символов отношений (> t^ |
|
|
|
||||||
Примеры отношений: |
|
|
|
|
|
|
|||
|
а = 6 ; |
|
|
|
|
|
|
||
|
6+ С - T [ i + 3j < 9.2$; |
|
|
|
|||||
|
(х -a )* (X- ё) < О. |
|
|
|
|
||||
Простое булевое выражение - это правило вычислен»;:'!.пос |
|||||||||
ле которого получается |
результат, |
могущим принимать одно из |
|||||||
двух логических значений: |
tz u e |
(истинно) и |
^aE se |
|
|||||
(ложно). |
|
|
|
|
|
|
|
|
|
В целом А X к' |
можно рассматривать как |
логическую |
пере |
||||||
менную и, построиз |
соответствующим |
образом |
операции, на |
этом |
|||||
двухэлементном ( Ігие |
и $аЦ е ) множестве двухместные |
опера |
|||||||
ции, можно образовать оолее сложные логические выражения. |
|||||||||
Приведем таблицу |
основных двухместных.логических |
опера |
торов
- 53 -
Таблиіда
р
f a l s e f a ls e tz u e t z u e
9 f a l s e
h u e fa ls e tz u e
IP
. h u e
tz u e
fa ls e
f a l s e
Р Ч fa ls e
fa ls e fa ls e І ш е
p v y fa ls e iz u e h u e t z u e
tz u e |
Р = Я |
t z u e |
|
h u e |
f a ls e |
fa ls e |
fa ls e |
h u e |
t z u e |
Сокращенная форма Рулевого выражения записывается в ви
де |
|
|
|
или |
|
|
f |
|
|
У |
|
|
|
может быть оулезым значением, булевой |
переменной, |
|||||
функцией |
(булевой), |
отношение^. |
|
|
||
Простое |
булевое |
выражение записывается |
в виде X или |
|||
|
|
|
хбхбх..., |
|
|
|
где X - |
сокращенное булевое соотношение ;. |
- |
|
|||
б - |
один из знаков логических опеоаций |
|
|
|||
|
|
б,ѵ, =>, = . |
|
|
||
Примеры простых |
булевых |
выражений: |
|
|
||
tzue; |
х=~2ѵр; х= -2 ла>gammal(z-y); |
|||||
|
|
7(х --2 лір)ѵ$ѵх = > z . |
||||
порядок выполнения операций в логических выражениях, |
||||||
как и в случае арифметических |
выражений, задается |
тремя сле |
||||
дующими правилами: |
|
|
|
|
1)правило скобок;
2)правило приоритета, которое предлагает для разных опера ций следующий порядок выполнения:
а) вычисляются отношения,
|
- '54 - |
|
|
• б) вычисляются операции |
1 |
, |
|
в) |
вычисляются операции |
А |
, |
г) |
вычисляются операции |
V |
, |
д) |
вычисляются операции |
3 |
, |
е) |
вычисляются операции |
= |
' |
3) правили "слева-направо", которое предлагает вычислять опе раторы слева направо.
Примеры использования булевых выражений.
I.=
2..X-=2.95x3>г:
3. р : — уЛ Х г
4. |
аѵ у > 6 . |
Эти примеры показывают, что логической переменной мож |
|
но присваивать значение с помощью оператора присваивания. |
|
Остается ввести еще одно понятие, связанное с логичес |
|
ким выражением. Это |
так называемое условное выражение. Услов |
ное выражение может иметь дзе Форш: сокращенное условное |
|
выражение и полное |
условное выражение. |
<^сокр.усл. вырак.у*: := ^<логич.выр.)> &£У7<^езусл.внраж^> ;
<полиое |
усл.выр.^> : := /^<(логич.выр.^> ^еѵ7<^езусл.выраж.^> |
||
Символ |
означает |
"равно по |
определению". |
Если выражения, |
входящие |
в состав условного, являются |
арифметическими, то они называются условными арифметическими. В противном случае - булевым условным выражением. Существу ют $ыенующие условные.выражения. Примером условного булевого выражения может служить
-55 -
if А < 1 ih e n £ < W e £ s e А ^ c .
Условное выражение может стоять в правой части оператора
присваивания. Например,
у : = i f a |
= 6 ih en 3 е й е i f с = d ih en 4 e ä e / О ; |
|
if- = i { t |
= iih e n г . 71 e is e c fjt = Z ib e n |
3 . 2 3 |
e & e i f t = B ih e n 3 .5 4 eCse i f t |
= 4 |
|
ih e n 3 . 6 5 e â s e 3 . 6 6 6 . |
|
,Последний оператор означает, «іто переменной у присваива ется одно из значений, определяемых с помощью таблицы, при веденной ниже.
|
|
|
|
|
.Таблица |
t |
.1 |
С ■ |
3 |
4 |
Остальные значения |
У |
2.71 |
3.23 |
Г” 3.54 |
3.65 |
3.666 |
|
|
|
|
|
1 § 8. Именующие выражения
Известно, что при программировании на машинном языке необходимо указать адрес ячейки (я -еек), откуда берутся дан ные. При составлении программы часто используется прием, на зываемый модификацией, в результате которого меняется адрес ячейки, который играет роль имени (идентиф'икатора) перемен ной.
- 56 -
Выше было указано, что роль адреса в АЛГОЛе играет поня тие идентификатора.
Множество слов в АЛГОЛе, играющих роль идентификаторов, может быть разбито на ряд подмножеств в зависимости от при надлежности идентификатора и его смысла (семантики).
В частности, операторы АЛГОЛа обозначаются (или имену ются) с помощью меток. В АЛГОЛе монно организовать процесс модификации меток, для чего и слузит именующее выражение.
Именующее выражение есть правило для получения метки из зозмонянх меток (обычно нескольких). Пример именующих виражений:
if а > 6thenPJ)Q е&е ifс >с/ then QRS e£se /36.
С понятием метки тесно связано понятие оператора перехода, который мы рассмотрим ниже. Кроме того, далее будут рассмот рены некоторые конструкции языка (например, переключатель), которые тесно примыкают к понятию именующего внранения.
Итак, метка - идентификатор оператора. После метки, сто ящей перед оператором, всегда ставится двоеточие.
§ 9. Оператор перехода
Оператор перехода - один из наиболее простых операторов
АЛГОЛа. В некоторой степени он эквивалентен командам безусловнЗго перехода в машинных языках,
Вид оператора перехода - , где £ - метка опера-