IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Понятия идентичности и совместимости
Гость
сообщение 23.06.2005 6:37
Сообщение #1


Гость






Помогите разобраться
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
VBproffi
сообщение 23.06.2005 6:47
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской

Репутация: -  0  +


вопрос вообщето дли теории (ИМХО), но я отвечу, а модерация, по своему усмотрению поступит с этой темой.
Идентичность.
Два типа могут быть идентичны, если они эквивалентны друг другу
или если они эквивалентны третьему типу
Примеры

1)
Код
type
   Mas    = 222..2222;
   Netto  = Mas;
   Brutto = Netto;


2)
Код
type
   Price = 12..12000
   Nal   = Price
   BNal  = Price


Совместимость

I. Совместимость типов
II. Совместимость по присваиванию

1.1. Наиболее понятный это если они оба принадлежат целочисленным (Byte, Integer, Word, LongInt, ShortInt)
или вещественным (Real, Double, Single, Extended)
1.2. Один типа представляет из себя диапазон другого
1.3. Оба типа представляют из себя диапазон другого - стандартного типа
1.4. Идентичность типов (см. выше)

Примеры
2)
Код
type
       Max = 50..100;
       Min = 60..70;


3)
Код
type
     Words = 'A'..'D';
 
  var
     ch : Char;
Здесь words - поддиапозон Char.

2.1. Идентичность типов выражений
2.2. Совместимость может быть между двумя выражениями если тип первого выражения - вещественный, а другой - целочисленный (но не наоборот)

Пример

Код
Var
      a : real
      b:  byte;
begin

      b:= 5;
     a:= b (True-  a = 5.0.)
end;


--------------------
Чтоб мудро жизнь прожить
Знать надобно не мало,
Ты лучше голодай,
Чем что попало есть
И лучше будь один,
Чем вместе с кем попало

О.Хаям
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 23.06.2005 8:03
Сообщение #3


Гость






Если уже давать такой развернутый ответ, то надо давать его полностью:
Цитата(VBproffi @ 23.06.05 6:47)
Совместимость
1.1. Наиболее понятный это если они оба принадлежат целочисленным (Byte, Integer, Word, LongInt, ShortInt)
  или вещественным (Real, Double, Single, Extended)
1.2. Один типа представляет из себя диапазон другого
1.3. Оба типа представляют из себя диапазон другого - стандартного типа
1.4. Идентичность типов (см. выше)

+ к этому:
1.5. Оба типа являются множественными типами, и при этом их базовые типы совместимы
1.6. Один тип является строковым, а другой - строковым или символьным типом
1.7. Один тип является бестиповым указателем (Pointer), а другой - указателем или ссылкой

Цитата(VBproffi @ 23.06.05 6:47)
2.1. Идентичность типов выражений     
2.2. Совместимость может быть между двумя выражениями  если тип первого выражения - вещественный, а другой - целочисленный  (но не наоборот)

И это всё? Попробуй тогда сделать вот так (из твоего описания не видно, что это запрещено):
Var f_in, f_out: text;
begin
f_in := f_out; { <--- Типы эквивалентны друг другу, почему не работает?}
end.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 20:53
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"