OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 11 Декабрь, 2019 16:24

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
СообщениеДобавлено: Четверг, 06 Март, 2008 19:13 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9164
Откуда: Россия, Орёл
На сайте Хабаровской школы программистов появился небольшой вводный курс
по Компонентному Паскалю:
http://www.lotos-khv.narod.ru/dist/prg2/index.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Пару мелких замечаний.
СообщениеДобавлено: Четверг, 06 Март, 2008 20:34 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Пролистал. Есть пара мелких замечаний:

Структура программы
Цитата:
Список процедур может быть сколь угодно велик. Процедуры, помеченные звездочкой являются доступными за пределами модуля, то есть из других модулей и из командной строки.
Что за командная строка?

Величины и типы данных КП
Цитата:
Под большим и соответственно меньшим типом понимаются типы, требующие больше (соответственно меньше) памяти. Проще говоря, переменную A можно присвоить переменной B в том случае, если для A необходимо памяти столько же, сколько для В или меньше.
Не в памяти дело, а в диапазоне значений. Не смотря на то, что SHORTREAL занимает 4 байта, его диапазон больше 8-байтного LONGINT.

Операции и выражения
Цитата:
Типом результата будет REAL в случае операции деления (/) или если один из операндов имеет тип REAL. В противном случае типом результата будет SHORTREAL, если тип одного из операндов — SHORTREAL, LONGINT если тип одного из операндов — LONGINT, или INTEGER в любом другом случае. Операции DIV и MOD применимы только к целым операндам.
Что-то долго въезжал в эти фразы. Мне очень долго казалось, что они только лишь к вещественному делению и относятся.

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

Или лучше перенести замечания в ту ветку?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пару мелких замечаний.
СообщениеДобавлено: Пятница, 07 Март, 2008 09:40 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4539
Откуда: Россия, Орёл
Valery Solovey писал(а):
Что за командная строка?

Я так полагаю, что это строка текста с коммандером. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пару мелких замечаний.
СообщениеДобавлено: Пятница, 07 Март, 2008 12:09 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Евгений Темиргалеев писал(а):
Я так полагаю, что это строка текста с коммандером. :)
В таком случае, я полагаю, большинство воспримет эту формулировку неправильно. Без дополнительных пояснений.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 08 Март, 2008 04:00 
Аватара пользователя

Зарегистрирован: Суббота, 10 Ноябрь, 2007 21:28
Сообщения: 584
Откуда: Хабаровск
Дело конечно в диапазоне а не в памяти. Но понятие память как-то понятнее. Хотя согласен говорить о диапазоне вернее. Командная строка это строка с командером. Наверное надо это поправить.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 05 Май, 2009 07:46 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3124
Откуда: Астрахань
vvp писал(а):
Дело конечно в диапазоне а не в памяти. Но понятие память как-то понятнее. Хотя согласен говорить о диапазоне вернее. Командная строка это строка с командером. Наверное надо это поправить.

Тут надо просто сразу отделить мух от котлет: для целых - вот так, для вещественных - вот так. Не смешивать их. И тогда про память - прекрасно выглядит.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 05 Май, 2009 09:40 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Валерий Лаптев писал(а):
Тут надо просто сразу отделить мух от котлет: для целых - вот так, для вещественных - вот так. Не смешивать их. И тогда про память - прекрасно выглядит.
В рамках концепции включения типов сказано, что тип SHORTREAL включает значения типа LONGINT. Так что "отделить" не получится.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 05 Май, 2009 09:55 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3124
Откуда: Астрахань
igor писал(а):
Валерий Лаптев писал(а):
Тут надо просто сразу отделить мух от котлет: для целых - вот так, для вещественных - вот так. Не смешивать их. И тогда про память - прекрасно выглядит.
В рамках концепции включения типов сказано, что тип SHORTREAL включает значения типа LONGINT. Так что "отделить" не получится.

ИМХО, тут неправильно. Все типы Компонентного паскаля - явное отображение на машинные типы данных. Естественно - для эффективности. Иначе смысла нет: концептуально правильнее диапазоны, причем и для целых, и для дробных, как в Аде. Поэтому так и надо говорить, что мухи (целые) отдельно, а котлеты (вещественные) - отдельно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 05 Май, 2009 10:10 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Валерий, не хочу сильно спорить. Замечу только, что мой пассаж о включении типов почти дословно взят из "Сообщения о языке Компонентный Паскаль".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 23 Апрель, 2013 03:14 

Зарегистрирован: Среда, 04 Август, 2010 04:01
Сообщения: 37
Откуда: Сан Хосе, Калифорния, США
Валерий Лаптев писал(а):
igor писал(а):
Валерий Лаптев писал(а):
Тут надо просто сразу отделить мух от котлет: для целых - вот так, для вещественных - вот так. Не смешивать их. И тогда про память - прекрасно выглядит.
В рамках концепции включения типов сказано, что тип SHORTREAL включает значения типа LONGINT. Так что "отделить" не получится.

ИМХО, тут неправильно. Все типы Компонентного паскаля - явное отображение на машинные типы данных. Естественно - для эффективности. Иначе смысла нет: концептуально правильнее диапазоны, причем и для целых, и для дробных, как в Аде. Поэтому так и надо говорить, что мухи (целые) отдельно, а котлеты (вещественные) - отдельно.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 11:17 

Зарегистрирован: Суббота, 05 Март, 2011 05:10
Сообщения: 10
Илья Ермаков писал(а):
На сайте Хабаровской школы программистов появился небольшой вводный курс
по Компонентному Паскалю:
http://www.lotos-khv.narod.ru/dist/prg2/index.html


Ссылка уже не рабочая.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 05 Декабрь, 2013 14:44 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Наверное, это: http://www.lotos-khv.narod.ru/dist/kp.htm?..


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB