вторник, 19 июня 2012 г.

Понятие операции присваивания (основы программирования)


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

Общий вид инструкции присваивания представляется в следующем виде:
<Имя:=Выражение;>.
Здесь
  • Имя означает имя переменной; значение этой переменной меняется при применении инструкции  присваивания;
  • :=  выступает в качестве символа присваивания;
  • Выражение определяет выражение, которое, в свою очередь, присваивается некой переменной с именем, указанным левее символа  присваивания.

 Пример 1.
summa:=k*n; 
a:=7; 
b:=true;
Теперь можем привести порядок выполнения инструкции присваивания:
  1. Вначале программист вычисляет значения выражения, располагающегося справа от символа ":=".
  2. Далее полученное значение выражения программист записывает в введенную в разделе var переменную; имя этой переменной находится слева от символа присваивания ":=".

Пример 2.
k:=0;       // переменной k присваиваем значение, равное нулю; 
n:=l+m;  // переменной n присваиваем значение суммы переменных  l и  m  
i:=i+1;     // происходит увеличение значения переменной iна единицу
Операция присваивания считается корректно проведенной, если установлено соответствие между типом выражения и типом переменной  (которая получает значение), либо данный тип выражения можно привести к типу переменной. К примеру, если переменная имеет тип real, то ей можно присвоить лишь значение выражения, имеющего тип real, либо тип integer, тогда как переменной с типом integer присваивается значение выражения, имеющего только тип integer.

В процессе компиляции тип выражения проверяется на соответствие его типу переменной. В случае не соответствия этих типов, компилятором выводится сообщение об ошибке "Incompatible types <тип выражения> and <тип переменной>".

Пример 3.
     . . . 
var 
i,n:integer; 
begin 
     . . . 
i:=n/5;    // неверная инструкция 
     . . . 
end. 
Вследствие неверной инструкции в процессе компиляции выведется сообщение: "Incompatible types 'Integer' and 'Extended'"

В случае правильной инструкции, компиляция проходит успешно без возникновения каких-либо ошибок.

Пример 4.
    . . . 
var 
k:integer; 
b:real; 
begin 
     . . . 
b:=k/5;    // правильная инструкция 
     . . . 
end.


Комментариев нет:

Отправить комментарий