Страница 23 из 26
Re: Редактирование и вычитка книги
Добавлено: 09.01.2013 18:42:29
artischev
bormant писал(а):artischev писал(а):Вынужден использовать Linux, потому всё что имею - это FreePascal.
Следствие и причина связаны никак (извините за мой английский). Вон там повыше уже писал про DosBox (есть в почти в любом дистрибутиве (или прикручивается несложно)), TP55 раздаётся бесплатно с некоторыми ограничениями по использованию в Embarcadero (ex. Borland, ex. Inprise, ex. опять Borland) Antique Software Museum на офсайте.
Едут в машине папа за рулем и трехлетний Вовочка сзади. Вовочка ест большое яблоко, потом спрашивает у папы:
- Папа, а почему яблоко коричневое? Папа:
- Понимаешь, когда ты откусываешь яблоко, у него выделяется сок. Так как в яблоке содержится железо, то взаимодействуя с кислородом, оно окисляется и, таким образом, приобретает коричневый цвет.
После небольшой паузы Вовочка спрашивает:
- Папа, а ты с кем сейчас разговаривал?
А если серьёзно, спасибо, быть может разоберусь с DosBox-ом, когда реально потребуется. Пока для моих развлекательных целей хватает Free Pascal-я. Сильно огорчает только отсутствие поддержки кириллицы.
Re: Редактирование и вычитка книги
Добавлено: 09.01.2013 22:49:40
Oleg_D
Анекдот понравился, зачОт!

Re: Редактирование и вычитка книги
Добавлено: 12.01.2013 17:01:22
artischev
"Песни о Паскале" Редакция 12.4 от 2012-11-23.
Страница 263.
Обратите внимание: множество передано в процедуру по ссылке CONST. Передача в процедуры множеств, строк и других сложных типов данных по ссылкам CONST и VAR — это обычная практика. Так повышается скорость работы программ и уменьшается объём памяти, занимаемый параматрами.
Re: Редактирование и вычитка книги
Добавлено: 12.01.2013 18:18:11
Oleg_D
Понял, спасибо, исправляю.
Re: Редактирование и вычитка книги
Добавлено: 10.02.2013 21:14:59
Paster Fob
2 мелкие опечатки:
Глава 50 стр. 395 { P_59_2 – Футбольный чемпионат (версия 3) } вообще-то задача P_50_2.
стр. 396
Г) Дан тестовый файл
скорее всего текстовый.
Re: Редактирование и вычитка книги
Добавлено: 11.02.2013 08:56:25
Oleg_D
Да, конечно "текстовый", спасибо!
Re: Редактирование и вычитка книги
Добавлено: 11.02.2013 18:50:43
artischev
Песни о Паскале, Ответы на некоторые задания из секции «А слабо?» редакция 12-C от 2012-09-18. Страница 77, ответ к заданию 44-Б. Использованы типизированные константы, в книге не описанные.
Re: Редактирование и вычитка книги
Добавлено: 11.02.2013 20:26:54
Paster Fob
artischev писал(а):Песни о Паскале, Ответы на некоторые задания из секции «А слабо?» редакция 12-C от 2012-09-18. Страница 77, ответ к заданию 44-Б. Использованы типизированные константы, в книге не описанные.
О типизированных константах ещё в главе 9 говорится,на стр. 67.
Re: Редактирование и вычитка книги
Добавлено: 13.02.2013 10:18:50
artischev
Paster Fob писал(а):artischev писал(а):Песни о Паскале, Ответы на некоторые задания из секции «А слабо?» редакция 12-C от 2012-09-18. Страница 77, ответ к заданию 44-Б. Использованы типизированные константы, в книге не описанные.
О типизированных константах ещё в главе 9 говорится,на стр. 67.
Точно.
Как это я про них забыл? Прогулял, наверное.

Re: Редактирование и вычитка книги
Добавлено: 06.04.2013 20:19:41
Paster Fob
Мелкие опечатки:
гл. 51 , стр. 399 отсутствуют разделители в коде
Код: Выделить всё
var P : ^integer; { указатель на целое }
N : integer { целое }
begin
P:= @N { указателю назначается адрес переменной N }
P^:= 125; { переменной присваивается значение через указатель }
Writeln(N); { 125 }
end.
Гл. 55 , ст. 440
Код: Выделить всё
ADDLINE 2
ADDTOSORTLIST 2
ADDWORD 2
AND 6
APPTYPE 1
ASSIGN 2
ASSIGNED 7
AWORD 10
BEGIN 14
CLETTER
Здесь есть слово
APPTYPE которое используется в Delphi.Про компиляцию в Delphi написано в приложении Б.Думаю что нужно указать на это или убрать это слово иначе у новичков может возникнуть проблема.
Re: Редактирование и вычитка книги
Добавлено: 06.04.2013 20:33:06
Oleg_D
Paster Fob писал(а):гл. 51 , стр. 399 отсутствуют разделители в коде
Да, есть такой грех, исправлю.
Paster Fob писал(а):Здесь есть слово APPTYPE которое используется в Delphi.
Видно этот пример я в Дельфи прогонял, надо удалить это слово.
Спасибо за внимательное чтение!
Re: Редактирование и вычитка книги
Добавлено: 19.11.2016 13:06:38
Oleg_D
В файле Ответов исправлено решение задачи Д из главы 47 (стр. 89 в Ответах).
Было так:
Код: Выделить всё
function CountDigits(aNumber, aBase: integer; aDigit: char): integer;
var sum, digit: integer;
begin
case Upcase(aDigit) of
'0'..'9': digit:= Ord(aDigit)-Ord('0');
'A'..'F': digit:= Ord(aDigit)-Ord('A')+10;
else digit:=-1;
end;
. . .
Стало так:
Код: Выделить всё
function CountDigits(aNumber, aBase: integer; aDigit: char): integer;
var sum, digit: integer;
begin
aDigit:= Upcase(aDigit);
case aDigit of
'0'..'9': digit:= Ord(aDigit)-Ord('0');
'A'..'F': digit:= Ord(aDigit)-Ord('A')+10;
else digit:=-1;
end;
. . .
Re: Редактирование и вычитка книги
Добавлено: 24.11.2016 15:41:23
enot777
Здравствуйте!
Pesni_o_Paskale_12-09_2016-01-11.pdf
Глава 32 стр.224, 277 и далее
Приведён такой код
Код: Выделить всё
var M1, M2 : (Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);
Dec используется в FP (Dec/Inc - упомянуты ранее в этой главе).
И если попробовать запустить такой код,
Код: Выделить всё
{$r-}
var m: (Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);
begin
inc(m);
dec(m);
end.
то FP выдаст ошибку Syntax error и укажет на dec(m).
Хотя возможно это просто придирки.
Глава 33 стр.590
Пример
Код: Выделить всё
{ Программа для исследования форматов вывода вещественных чисел }
begin
Writeln(F, 10/3); { без спецификаторов }
Writeln(F, 10/3 : 12); { указывается только ширина поля }
Writeln(F, 10/3 : 15:0); { только целая часть }
Writeln(F, 10/3 : 15:2); { два знака после точки }
Writeln(F, 10/3 : 15:3); { три знака после точки }
end.
Параметр F в Writeln наверное лишний.
Re: Редактирование и вычитка книги
Добавлено: 26.11.2016 21:58:17
Oleg_D
enot777 писал(а):Хотя возможно это просто придирки.
Почему придирки? Вполне нормальный вопрос, он даёт возможность нам ещё раз обратить внимание на тип данных «перечисление», а также на функции Succ и Pred, о которых сказано на стр. 226. Вирт ввёл перечисления с целью запретить арифметические операции над ними (хотя в памяти это всё те же числа). Иногда это повышает надёжность программ. Естественно, что Inc / Dec тоже не могут оперировать с этим типом данных. В последующем идея ограничения набора операций над некоторыми типами данных получила развитие в языке ADA.
К слову сказать, язык C – ровесник Паскаля – изначально не предполагал никакой защиты от промахов программистов, допуская массу вольностей в плане арифметики (чем сишники весьма гордились, не понятно, почему). В последующих версиях C и особенно в C++ были предприняты меры этого рода, т.е. была введена более строгая типизация данных.
Re: Редактирование и вычитка книги
Добавлено: 26.11.2016 22:11:47
enot777
>>Oleg_D
Не не не
inc() и dec() прекрасно работают здесь.
Проблема именно в совпадении Dec (сокращение December) и Dec() (декремент)