OberonCore
https://forum.oberoncore.ru/

Пособие для новичков по Компонентному Паскалю от ХШП
https://forum.oberoncore.ru/viewtopic.php?f=35&t=903
Страница 1 из 1

Автор:  Илья Ермаков [ Четверг, 06 Март, 2008 19:13 ]
Заголовок сообщения:  Пособие для новичков по Компонентному Паскалю от ХШП

На сайте Хабаровской школы программистов появился небольшой вводный курс
по Компонентному Паскалю:
http://www.lotos-khv.narod.ru/dist/prg2/index.html

Автор:  Valery Solovey [ Четверг, 06 Март, 2008 20:34 ]
Заголовок сообщения:  Пару мелких замечаний.

Пролистал. Есть пара мелких замечаний:

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

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

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

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

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

Автор:  Евгений Темиргалеев [ Пятница, 07 Март, 2008 09:40 ]
Заголовок сообщения:  Re: Пару мелких замечаний.

Valery Solovey писал(а):
Что за командная строка?

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

Автор:  Valery Solovey [ Пятница, 07 Март, 2008 12:09 ]
Заголовок сообщения:  Re: Пару мелких замечаний.

Евгений Темиргалеев писал(а):
Я так полагаю, что это строка текста с коммандером. :)
В таком случае, я полагаю, большинство воспримет эту формулировку неправильно. Без дополнительных пояснений.

Автор:  vvp [ Суббота, 08 Март, 2008 04:00 ]
Заголовок сообщения:  Re: Пособие для новичков по Компонентному Паскалю от ХШП

Дело конечно в диапазоне а не в памяти. Но понятие память как-то понятнее. Хотя согласен говорить о диапазоне вернее. Командная строка это строка с командером. Наверное надо это поправить.

Автор:  Валерий Лаптев [ Вторник, 05 Май, 2009 07:46 ]
Заголовок сообщения:  Re: Пособие для новичков по Компонентному Паскалю от ХШП

vvp писал(а):
Дело конечно в диапазоне а не в памяти. Но понятие память как-то понятнее. Хотя согласен говорить о диапазоне вернее. Командная строка это строка с командером. Наверное надо это поправить.

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

Автор:  igor [ Вторник, 05 Май, 2009 09:40 ]
Заголовок сообщения:  Re: Пособие для новичков по Компонентному Паскалю от ХШП

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

Автор:  Валерий Лаптев [ Вторник, 05 Май, 2009 09:55 ]
Заголовок сообщения:  Re: Пособие для новичков по Компонентному Паскалю от ХШП

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

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

Автор:  igor [ Вторник, 05 Май, 2009 10:10 ]
Заголовок сообщения:  Re: Пособие для новичков по Компонентному Паскалю от ХШП

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

Автор:  nail_kh [ Вторник, 23 Апрель, 2013 03:14 ]
Заголовок сообщения:  Re: Пособие для новичков по Компонентному Паскалю от ХШП

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

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

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

Автор:  elvennight [ Вторник, 03 Декабрь, 2013 11:17 ]
Заголовок сообщения:  Re: Пособие для новичков по Компонентному Паскалю от ХШП

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


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

Автор:  Владислав Жаринов [ Четверг, 05 Декабрь, 2013 14:44 ]
Заголовок сообщения:  Re: Пособие для новичков по Компонентному Паскалю от ХШП

Наверное, это: http://www.lotos-khv.narod.ru/dist/kp.htm?..

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/