Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lecton.DOC
Скачиваний:
4
Добавлен:
15.04.2019
Размер:
980.99 Кб
Скачать

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

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

Оператор присваивания состоит из трех частей, расположенных друг за другом:

· левая часть оператора. Является именем переменной, которой при­сваи­ва­ется зна­че­ние;

· знак присваивания. В языке Basic, это символ (=);

· правая часть оператора. Выражение, задающее присваиваемое значе­ние.

При выполнении оператора вычисляется значение выражения из пра­вой части и оно зано­сит­ся в переменную из левой части.

Примеры:

X=0

I=I+1

C=SQRT(A*A+B*B)

S="ABC"+"DEF"

Тип переменной и тип выражения должны быть согласованы. Про­стой пе­ре­мен­ной чи­сло­во­го ти­па (INTEGER, LONG, SINGLE, DOUBLE) мож­но при­сваи­вать толь­ко вы­ра­же­ние, имею­щее чи­сло­вой вид (ариф­ме­ти­че­ское вы­ра­же­ние). При этом ес­ли пе­ре­мен­ной це­ло­го ти­па при­сваи­ва­ет­ся ве­ще­ст­вен­ное зна­че­ние, то это зна­че­ние пред­ва­ри­тель­но ок­руг­ля­ет­ся к бли­жай­ше­му це­ло­му.

К при­ме­ру, ни­же­сле­дую­щая про­грам­ма из 5 опе­ра­то­ров:

DIM A AS   SINGLE,  B1 AS  LONG,   Va  AS STRING,  D  AS   SINGLE

A   =   3.1415

B1 =   12*(1234-567)

Va =   "КГТУ им.А.Н.Ту­по­ле­ва"

D   =   (A*2)/3.5

в пер­вом опе­ра­то­ре объ­яв­ля­ет про­стые пе­ре­мен­ные A, B1­, Va и D, ко­то­рым за­тем при­сваи­ва­ют­ся зна­че­ния в сле­дую­щих че­ты­рех опе­ра­то­рах. В по­след­нем опе­ра­то­ре имя пе­ре­мен­ной A слу­жит для ука­за­ния хра­ни­мо­го в ней зна­че­ния, в дан­ном слу­чае чис­ла 3,1415.

Замечание. Если в выражении справа от знака присваивания (=) встре­чается то же самое имя переменной, что и до знака присваива­ния, то выра­жение вычис­ляется при текущем значении переменной, а уже затем ей при­сваивается новое вычисленное значение.

Сле­дую­щая про­грам­ма из 4 операторов в пер­вом из них объ­яв­ля­ет це­лую пе­ре­мен­ную I; во вто­ром опе­ра­то­ре пе­ре­мен­ной I при­сваи­ва­ет­ся зна­че­ние 2; да­лее пе­ре­мен­ной I при­сваи­ва­ет­ся но­вое зна­че­ние, рав­ное сум­ме те­ку­ще­го зна­че­ния пе­ре­мен­ной I и чис­ла 3, т.е. рав­но сум­ме чи­сел 2 и 3 (т.е. 5), в по­следнем опера­торе пе­ре­мен­ной I при­сваи­ва­ет­ся но­вое зна­че­ние, рав­ное 4*5+5+5*5, т.е. 50 :

DIM   I   AS   INTEGER

I = 2    

I = I+3   

I = 4*I+I+I*I   

Замечание. Про­стая пе­ре­мен­ная все­гда хра­нит толь­ко од­но дан­ное (зна­че­ние). При при­сваи­ва­нии пе­ре­мен­ной но­во­го зна­че­ния ста­рое зна­че­ние те­ря­ет­ся. До то­го как пе­ре­мен­ной хоть что-то при­сво­ят, в ней хра­нит­ся ка­кое-то слу­чай­ное зна­че­ние, не имею­щее от­но­ше­ния к то­му, что нам нуж­но.

5.2.12. Составные типы данных

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

Рассмотрим, например, некоторое данное, составленное из трех эле­ментов (ком­понентов, полей).

Данное строкового типа

Данное целого типа

Данное вещественного типа

Для доступа к элементам составного данного их необходимо каким-то об­ра­­зом обозначить.

Например, поименовать. Имена назнача­ются самим прог­­раммистом в со­от­вет­ствии со смысловым содержанием элементов. В при­­мере исполь­зуем три имени: Det (наименование детали), Num (количество деталей), W (вес одной детали в кг).

Det

Num

W

Данное строкового типа

Данное целого типа

Данное вещественного типа

Кроме того, элементы могут быть пронумеро­ваны. В рассматривае­мом слу­чае это номера с 1-го по 3-й.

1

2

3

Данное строкового типа

Данное целого типа

Данное вещественного типа

В языках программирования применяют оба способа обозначения эле­мен­тов составных данных.

В случае использования поименования эле­ментов состав­ное дан­­ное называется структурой данных. В случае ис­пользова­ния нумерации элементов составное дан­ное называется мас­си­вом дан­ных.

В языке Basic существует та­кое ог­раничение: массивы мо­гут состо­ять только из данных одного и того же типа.

В свою очередь, элементами составных данных могут быть тоже со­став­ны­е данные - структуры и массивы. Возможны любые комби­на­ции. На­пример, массивы, элементами которых являются структуры. Или мас­си­вы, элемен­тами которых являются также массивы, и т.д.

Говорят, что структуры данных одинакового вида принадлежат од­ному струк­­турному типу данных, а массивы данных одинакового вида принад­лежат одному регулярному типу данных.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]