История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Топ:
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Дисциплины:
2017-11-18 | 324 |
5.00
из
|
Заказать работу |
|
|
В блок-схемах обычная математическая запись , означающая, что переменная y принимает значение выражения , представляется в виде . При выполнении этого оператора переменная y теряет свое предыдущее значение и получает новое значение.
В машинном представлении выполнение оператора сводится к следующему. В памяти ЭВМ отведены поля (ячейки) с именами a, x, b, y. Вначале читаются из памяти в процессор значения a, x, b (содержимое полей памяти с именами a, x, b), затем в процессоре выполняются арифметические действия a * x + b, после чего полученное значение выражения a*x+b записывается в ячейку y.
В обычной математической записи знак «=» имеет два смысла. Запись можно рассматривать как описанное выше присваивание переменной y нового значения, а можно рассматривать, как проверку на равенство значения переменной y результату вычисления выражения, стоящего в правой части.
Чтобы избежать двусмысленностей при компиляции программы, простой знак «=» в Паскале используется для проверки на равенство левой и правой частей (логический оператор отношения), а для присваивания используется символ, состоящий из двоеточия и знака равенства (без пробелов между ними!) «:=» (оператор присваивания).
Использование операции присваивания позволяет записывать такие конструкции, которые в обычной математической интерпретации бессмысленны. Например, i:= i + 1. Это означает, что к текущему значению переменной i добавляется 1, после чего полученное значение присваивается той же переменной i. Следовательно, значение переменной i увеличивается на единицу.
Пример. Обменять значения переменных a и b.
Если мы перешлем содержимое поля a в поле b, т.е. выполним оператор b:= a, то прежнее значение переменной b будет уничтожено. При выполнении оператора a:= b будет уничтожено текущее содержимое поля a. Поэтому обмен содержимого двух полей памяти необходимо делать с помощью дополнительного буферного поля. Это может иметь следующий вид:
|
R:= a; a:= b; b:= R;
В Паскале оператор присваивания имеет такое же обозначение, как и на блок-схеме. Его синтаксическая диаграмма:
переменная:= выражение;
Выражение состоит из операндов, знаков операций и круглых скобок. Операндом может быть константа, переменная или функция. Выражение задает порядок вычисления значения, основанный на обычном правиле вычисления слева направо и старшинстве операций.
Старшинство операций:
1) not;
2) *, /, div, mod, and;
3) +, -, or, xor;
4) =, <>, <, <=, >, >=;
5) in.
Выражения могут быть арифметические, логические и строковые.
Как было сказано выше, в Паскале существуют различные типы данных. Чтобы оператор присваивания был синтаксически правильным, переменная и выражение должны быть совместимы по типу. Это значит, что они должны быть либо одного и того же типа, либо тип переменной должен быть таким, чтобы выражение мог без потерь преобразоваться к нему. Для пояснения последнего свойства приведём несколько примеров:
если выражение целого типа, а переменная вещественного, они совместимы, потому что целое число может быть без потерь представлено в вещественном формате;
если же, наоборот, выражение имеет вещественный тип, а переменная, в которую осуществляется присваивание, относится к одному из целых типов, совместимость отсутствует, т.к. дробная часть вещественного числа будет потеряна при попытке записи в целочисленную переменную.
Пример.
Var
a, b: real;
m, n: integer;
Begin
a:= 55.85; m:= 15;
b:= m;
n:= a;
…
В операторе n:= a не выполняется требование совместимости по типу. Если бы допустить выполнение такого оператора, то имела бы место потеря точности, так как переменной n можно присвоить только целую часть значения переменной a (при присваивании b:= m потери точности не происходит). Если в программе действительно нужно присвоить переменной n значение переменной a, то это нужно сделать следующим образом:
|
n:= Trunc(a) или n:= Round(a).
Другие варианты совместимости по типу будут рассмотрены позже.
|
|
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!