36543

Оператор присваивания, совместимость и преобразование типов данных

Доклад

Информатика, кибернетика и программирование

Совместимость левой и правой частей присваивания по типу означает либо равенство типов либо случаи когда тип выражения правой части автоматически преобразуется к типу левой части. Эти случаи автоматического преобразования типов для известных нам стандартных типов исчерпываются следующими:  Тип переменной левой части rel а тип выражения правой части integer т. Для согласования типа выражения с типом переменной левой части присваивания иногда могут потребоваться явные преобразования типов которые можно выполнить с помощью стандартных...

Русский

2013-09-22

29 KB

6 чел.

Оператор присваивания, совместимость и преобразование типов данных

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

Важнейшим из простых операторов Паскаля является оператор присваивания. Он позволяет изменять значение переменных в процессе выполнения программы без чего не может обойтись почти ни один алгоритм. Синтаксическая структура этого оператора: < переменная > := < выражение >; Оператор присваивания состоит из левой и правой частей, которые разделяются знаками присваивания (:=). Левая часть - это переменная любого типа, правая часть - выражение, совместимое по типу с переменной левой части. При выполнении этого оператора вычисляется значение выражения правой части и это значение становится значением переменной левой части. Таким образом, присваивание, это - "передача значения" справа налево. Следует усвоить, что присваивание не является обычным равенством (почему и используется знак присваивания, отличный от равенства). Действительно, пусть Х - переменная типа integer. Тогда при выполнении последовательности присваиваний Х:=2; Х:=Х+5; переменная Х получит значение 7, в то же время, очевидно, что второе присваивание не является равенством. Заметим, что присваивание такого вида часто используется в программах, и в Турбо Паскале предусмотрен сокращенный вариант записи этих присваиваний (стандартные процедуры inc и dec): inc(X,j) ~ X:=X + j; dec(X,j) ~ X - j; где j - любое выражение типа integer. Если j=1, возможна и ещё более короткая запись: inc(X) или dec(X). Совместимость левой и правой частей присваивания по типу означает либо равенство типов, либо случаи, когда тип выражения правой части автоматически преобразуется к типу левой части. Эти случаи автоматического преобразования типов (для известных нам стандартных типов) исчерпываются следующими:

Тип переменной левой части real, а тип выражения правой части - integer, т.е. преобразование вида real integer.

Тип переменной левой части string, а тип выражения правой части - char, т.е. преобразование вида string  char.

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

Совместимость и преобразование типов данных.

Турбо-Паскаль - типизированный язык, следовательно, все применяемые операции определены только над операторами совместимых типов. Два типа считаются совместимыми, если:

1)оба они есть один и тот же тип.

2)один тип есть тип-диапазон второго типа.

3)оба они являются типами-диапазонами одного и того же базового типа.

4)один тип есть строка, а другой - строка или символ.

5)оба они есть процедурные типы с одинаковым типом результата (для типа-функции), одинаковым количеством параметров и одинаковым типом взаимно соответствующих параметров. Когда в тех или иных операциях или операторах присутствуют данные, относящиеся к различным типам, возникает вопрос о совместимости типов. В связи с этим говорят об идентичности типов, совместимости типов и совместимости типов для присваивания.


 

А также другие работы, которые могут Вас заинтересовать

80000. Интеллектуальный анализ влияния текущих событий на протекание связанных с ними процессов 336.53 KB
  Дипломная работа посвящена методике разработки программного продукта для поиска причин в изменениях трендов в данных. Рассмотрено создание системы предобработки данных и разработка системы классификации на базе различных алгоритмов машинного обучения. В работе определяется область применения разработанной программы. Для разработки системы предобработки данных использован язык программирования
80001. ОРГАНІЗАЦІЯ ОБЛІКУ ВИТРАТ ТА МЕТОДИКА АНАЛІЗУ СОБІВАРТОСТІ ПОСЛУГ 757 KB
  Привести існуючий порядок обліку затрат до Методичних рекомендацій з формування собівартості будівельно-монтажних робіт; запровадити зарубіжний досвід системи калькулювання «Директ-костинг»; автоматизувати облік, що підвищить продуктивність праці бухгалтерів;
80002. История поселка Хвойная 234 KB
  Хвойнинский район находится на северо-западе Европейской части России, на стыке трех областей: Ленинградской, Вологодской и Новгородской. Он граничит на Севере с Тихвинским районом Ленинградской области, на северо-востоке с Чагодощенским районом Вологодской области и районами Пестовским, Мошенским, Боровичским, Любытинским Новгородской области
80003. Задачи IV соросовской олимпиады по математике для 6 - 11 классов 1.94 MB
  В последнее десятилетие широкую известность получили так называемые соросовские олимпиады, проводимые под эгидой фонда Сороса. Уровень этих олимпиад весьма высок и успех на них возможен только при наличии незаурядных математических способностей.
80004. ВЛИЯНИЕ НЕСТАЦИОНАРНЫХ ЭФФЕКТОВ НА ДИНАМИКУ ВСПЛЫТИЯ ПУЗЫРЬКА 2.21 MB
  Данная работа состоит из трех разделов. В первом рассмотрена динамика всплытия пузырька в стационарном режиме. Приведены теоретические расчеты скорости пузырьков в различных растворах. При движении пузырьков в режиме ускорения на них действуют дополнительные силы: сила, приведенной массы, связанная с присоединенной массой и сила Бассэ.
80005. Сравнительный анализ «опыта потока» в игровой и продуктивной деятельности 1.15 MB
  Человек, переживающий поток, оказывается сверхвовлеченным и сверхсконцентрированным в своей деятельности, причем она доставляет ему огромное удовольствие. Поток принадлежит к кругу явлений внутренней мотивации: деятельностью, в которой возникает поток, люди продолжают заниматься ради самого процесса, конечный результат не столь важен для них.
80006. ОПТИМИЗАЦИЯ ПЛАНА РЕГЛАМЕНТНЫХ РАБОТ ПО КРИТЕРИЮ МАКСИМУМА СРЕДНЕГО ПОТОКА В СЕТИ ПРИМЕНИТЕЛЬНО К ЗАДАЧЕ ТРАНСПОРТИРОВКИ НЕФТИ ПО МАГИСТРАЛЬНОМУ НЕФТЕПРОВОДУ 960 KB
  проведена программная реализация алгоритма Форда – Фалкерсона нахождения максимального потока в сети, построен и программно реализован алгоритм субоптимального планирования регламентных работ на участках нефтепровода по критерию максимума потока в сети. Тем самым разработан и реализован метод решения задачи максимизации потока в нестационарной сети на основе алгоритма Форда – Фалкерсона.
80007. Анализ и моделирование расщепления ДНК ультразвуком 4.97 MB
  Количественный анализ экспериментальных данных по расщеплению молекул ДНК ультразвуком и развитие подходов к моделированию реакции ДНК на внешние воздействия. Такие подходы используются для решения задачи о физической интерпретации специфичности расщепления молекул ДНК ультразвуком.