Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Богданов В.С. Системы математического обеспечения цифровых вычислительных машин учеб. пособие

.pdf
Скачиваний:
6
Добавлен:
23.10.2023
Размер:
4.27 Mб
Скачать

- 50 -

Аргументом функции может быть любое арифметическое выра­ жение. Аргумент стандартной функции всегда должен быть заклю­ чен в скобки.

Приведем несколько примеров записи арифметических выра­

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

Обычная запись

 

Запись на АЛГОЛе

/-e4cosx

I

;

aès(/~exp(4xCos(x)jj;

Т "

~

(ы п(х) +CQSföJ/jfi itfd B + i) .

§ 6. Оператор присваивания

Оператор в АЛГОЛе есть инструкция по выполнению какого-

-либо действия машиной .

Оператор присваивания присваивает

некоторое значение одной

или нескольким переменным. Структу­

ра оператора присваивания

может иметь вид:

^п ер ем ен н ая^:= ^іерем енная^.* = ^выранение^ .

Ста'запись означает следующее: заменить выражение переменной,

стоящей слева, значением выражения справа ( в угольные скоб­

ки ставятся понятия, из которых состоит данная конструкция).

Порядок расположения понятий

разделителей отражает

струк­

туру -записи этой конструкции.

иТакую форму пояснения

конструк­

ций языка мы будем использовать-в дальнейшем.

 

Примеры.

I .

X: = 3,

 

 

2.

o m e g a :=iheta + 6 .2Ѳ72,

 

 

3.

d e n ff- : — N ' cos (ang) t ( l i - i ) ,

4 .

- 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. Именующие выражения

Известно, что при программировании на машинном языке необходимо указать адрес ячейки (я -еек), откуда берутся дан­ ные. При составлении программы часто используется прием, на­ зываемый модификацией, в результате которого меняется адрес ячейки, который играет роль имени (идентиф'икатора) перемен­ ной.

g o t o £

- 56 -

Выше было указано, что роль адреса в АЛГОЛе играет поня­ тие идентификатора.

Множество слов в АЛГОЛе, играющих роль идентификаторов, может быть разбито на ряд подмножеств в зависимости от при­ надлежности идентификатора и его смысла (семантики).

В частности, операторы АЛГОЛа обозначаются (или имену­ ются) с помощью меток. В АЛГОЛе монно организовать процесс модификации меток, для чего и слузит именующее выражение.

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

if а > 6thenPJ)Q е&е ifс >с/ then QRS e£se /36.

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

Итак, метка - идентификатор оператора. После метки, сто­ ящей перед оператором, всегда ставится двоеточие.

§ 9. Оператор перехода

Оператор перехода - один из наиболее простых операторов

АЛГОЛа. В некоторой степени он эквивалентен командам безусловнЗго перехода в машинных языках,

Вид оператора перехода - , где £ - метка опера-

- 57 -

■гора, находящегося в некотором месте программы. Здесь опера­ тор часто используется для организации циклических процессов. Он указывает, что следующим после него должен выполняться one-, ратор, попеченный меткой , В общем случае на месте <Хі мо­ жет стоять некоторое именующее выражение.

Пример.а Составить программу получения натуральных чисел

X = 0, I, 2, —

Программа будет иметь вид: Х- ~О: т : х : —Х+ 1j CjQ to ff).

Блок-схема программы приведена на рис. Ч,

?ис. 4

пример, Найти запись программы для вычисления

У = /х 2*"...

x f l =/?/..

Запись имеет вид:

f - = J ;

Cud: tj-l = reihen go to копег ■

f . - y n - ,

д о г о Сдсі ‘ K o n e z ,

£ще раз подчеркнем, что оператор перехода дает возмож­ ность нарушать естественную последовательность в соответст­ вии с возможностями, задаваемыми именующимися выражениями и, следовательно, передавать управление другим частям программы Заметим, что в приведенном выше примере вычисления факториа­

ла последовательности бѵкв ,! C/CL " и "Konez" игоавт роль

ü

меток операторов.

§ ІО. Условный оператор

Он является аналогом команд условного перехода, струк­ тура его напоминает структуру булевых выражений. В простой форме он имеет вид:

<^отношениSythen <рператор^> .

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

шение выполняется,

то

переходят

к

оператору,

стоящему

за

сло­

вом th e fl ;

если не

выполняется

-

переходят

к

оператору,

сле­

дующему за

ним. После

слова ih s n

не монет

идти снова

услов­

ный оператор.

 

 

 

 

 

 

 

 

Примеры условных

операторов.

 

 

 

 

 

- 59 -

1. t jj x < w th e n go -to d e t i a ;

2. i f x < / о th e n g : = 2 .

В общем случае после может идти произвольное буле-

вое выражение. Существует более развитая форма условного опе­

ратора:

 

i f ß

t h e n

I

‘e £ s e I

,

 

 

 

 

 

 

 

где

ß

-

логическое

выражение ;

 

 

 

 

 

 

 

 

 

l ' -

оператор

(кроме условного).

 

 

 

 

 

 

 

1

-

может быть любым оператором.

 

 

 

 

 

 

Примеры использования

условного

оператора.

 

 

1.

Присвоить

д

абсолютное

значение

В

:

 

 

 

 

 

 

 

i f

В

5*0

-èhenу :

- В

e B s e g : = -

ё

,

 

 

2.

Если

2 < 0

, то /7?

увеличивается

на I ,

а

А

и / Ъ

не

изменяются; если Z

 

= сг то А

увеличивается на I,

а /7?

и /?

остаются неизменными; если

 

,

то /7 увеличивается на' I ,

а /77 и Л

 

ne :i3;'.eun!JTCH.ii£ АЛГОЛе

эти;.'

условия:: соответствует

ОЛ0Д, уэз лисьс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

О

ihen Л?: =

т н

e h e $ 2 = 0

then В : = А+ і e h e n - м .

3. Предположим, что в некотором месте программы мы должны вы­ полнить действия: если Т - П Ч , положить2 )—X2VL продолжить вычисления; если ЬфП.~1 , то нужно передать управление опе­ ратору с меткой SpecLüh . зти условия могут быть записаны с помощью выражений:

$ т = п ч ih en ]):~ x \S . e B s e д о t o dtp e c i a h

или

$ І Ф п ч th e n g o t o d p e c l a B ;

Соседние файлы в папке книги из ГПНТБ