Страница 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
Анекдот понравился, зачОт! :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 14: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 16: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 22:58:17
Oleg_D
enot777 писал(а):Хотя возможно это просто придирки.

Почему придирки? Вполне нормальный вопрос, он даёт возможность нам ещё раз обратить внимание на тип данных «перечисление», а также на функции Succ и Pred, о которых сказано на стр. 226. Вирт ввёл перечисления с целью запретить арифметические операции над ними (хотя в памяти это всё те же числа). Иногда это повышает надёжность программ. Естественно, что Inc / Dec тоже не могут оперировать с этим типом данных. В последующем идея ограничения набора операций над некоторыми типами данных получила развитие в языке ADA.
К слову сказать, язык C – ровесник Паскаля – изначально не предполагал никакой защиты от промахов программистов, допуская массу вольностей в плане арифметики (чем сишники весьма гордились, не понятно, почему). В последующих версиях C и особенно в C++ были предприняты меры этого рода, т.е. была введена более строгая типизация данных.

Re: Редактирование и вычитка книги

СообщениеДобавлено: 26.11.2016 23:11:47
enot777
>>Oleg_D
Не не не
inc() и dec() прекрасно работают здесь.
Проблема именно в совпадении Dec (сокращение December) и Dec() (декремент)