![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Гость |
![]() ![]()
Сообщение
#1
|
Гость ![]() |
Помогите разобраться
|
![]() ![]() |
VBproffi |
![]() ![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: ![]() ![]() ![]() |
вопрос вообщето дли теории (ИМХО), но я отвечу, а модерация, по своему усмотрению поступит с этой темой.
Идентичность. Два типа могут быть идентичны, если они эквивалентны друг другу или если они эквивалентны третьему типу Примеры 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 - поддиапозон Char.Words = 'A'..'D'; var ch : Char; 2.1. Идентичность типов выражений 2.2. Совместимость может быть между двумя выражениями если тип первого выражения - вещественный, а другой - целочисленный (но не наоборот) Пример Код Var a : real b: byte; begin b:= 5; a:= b (True- a = 5.0.) end; -------------------- Чтоб мудро жизнь прожить
Знать надобно не мало, Ты лучше голодай, Чем что попало есть И лучше будь один, Чем вместе с кем попало О.Хаям |
volvo |
![]()
Сообщение
#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; |
VBproffi |
![]() ![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Если уже давать такой развернутый ответ... А кто скзал, что ядаю развёртнутый ответ :D . Я привожу даю справку согласно имеющимся (не ошибочным) сведениям. Цитата + к этому: Вот это я понимаю. Просто я самоучка - прошу читающих не ухмыляться, я отнюдь не считаю что я такой единственный... но просто я привожу те сведения, из теории, которые узнаю из книг. Эти знания я почерпнул из книги Элиота Б.Коффмана. Но есть тут фишка, :nono: я вот не полно ответил, ты дополнил, кто - то ещё добавит и ... так происходит обмен информацией, преобретение опыта и улучшение умственных способностей. А разве не для этого мы здесь седим. Я прав брат? :D Цитата И это всё? Попробуй тогда сделать вот так (из твоего описания не видно, что это запрещено): Var f_in, f_out: text; begin f_in := f_out; { <--- Типы эквивалентны друг другу, почему не работает?} end. Хммм... ну не знаю, знаю что на заработает, но почему не знаю... Поделишся опытом? ![]() Сообщение отредактировано: VBproffi - 23.06.2005 15:52 -------------------- Чтоб мудро жизнь прожить
Знать надобно не мало, Ты лучше голодай, Чем что попало есть И лучше будь один, Чем вместе с кем попало О.Хаям |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Цитата(VBproffi @ 23.06.05 15:49) знаю что на заработает, но почему не знаю... Потому, что совместимость по присваиванию подразумевает нечто иное... Вот 10 правил этой совместимости: Значение типа Т1 может быть присвоено значению типа Т2, если ...
|
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 10:41 |