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

Книга адресована школьникам средних и старших классов, желающим испытать себя в «олимпийских схватках». Может быть полезна студентам-первокурсникам и преподавателям информатики.

Модераторы: Oleg_D, Модераторы

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

Сообщение artischev » 09.01.2013 18:42:29

bormant писал(а):
artischev писал(а):Вынужден использовать Linux, потому всё что имею - это FreePascal.
Следствие и причина связаны никак (извините за мой английский). Вон там повыше уже писал про DosBox (есть в почти в любом дистрибутиве (или прикручивается несложно)), TP55 раздаётся бесплатно с некоторыми ограничениями по использованию в Embarcadero (ex. Borland, ex. Inprise, ex. опять Borland) Antique Software Museum на офсайте.

Едут в машине папа за рулем и трехлетний Вовочка сзади. Вовочка ест большое яблоко, потом спрашивает у папы:
- Папа, а почему яблоко коричневое? Папа:
- Понимаешь, когда ты откусываешь яблоко, у него выделяется сок. Так как в яблоке содержится железо, то взаимодействуя с кислородом, оно окисляется и, таким образом, приобретает коричневый цвет.
После небольшой паузы Вовочка спрашивает:
- Папа, а ты с кем сейчас разговаривал?

А если серьёзно, спасибо, быть может разоберусь с DosBox-ом, когда реально потребуется. Пока для моих развлекательных целей хватает Free Pascal-я. Сильно огорчает только отсутствие поддержки кириллицы.
artischev
новенький
 
Сообщения: 12
Зарегистрирован: 27.12.2012 11:17:22

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

Сообщение Oleg_D » 09.01.2013 22:49:40

Анекдот понравился, зачОт! :D
Oleg_D
постоялец
 
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36

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

Сообщение artischev » 12.01.2013 17:01:22

"Песни о Паскале" Редакция 12.4 от 2012-11-23.
Страница 263.

Обратите внимание: множество передано в процедуру по ссылке CONST. Передача в процедуры множеств, строк и других сложных типов данных по ссылкам CONST и VAR — это обычная практика. Так повышается скорость работы программ и уменьшается объём памяти, занимаемый параматрами.
artischev
новенький
 
Сообщения: 12
Зарегистрирован: 27.12.2012 11:17:22

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

Сообщение Oleg_D » 12.01.2013 18:18:11

Понял, спасибо, исправляю.
Oleg_D
постоялец
 
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36

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

Сообщение Paster Fob » 10.02.2013 21:14:59

2 мелкие опечатки:
Глава 50 стр. 395 { P_59_2 – Футбольный чемпионат (версия 3) } вообще-то задача P_50_2.
стр. 396
Г) Дан тестовый файл
скорее всего текстовый.
Последний раз редактировалось Paster Fob 11.02.2013 16:31:05, всего редактировалось 1 раз.
Аватара пользователя
Paster Fob
постоялец
 
Сообщения: 188
Зарегистрирован: 22.02.2011 21:53:36
Откуда: Новосибирск.

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

Сообщение Oleg_D » 11.02.2013 08:56:25

Да, конечно "текстовый", спасибо!
Oleg_D
постоялец
 
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36

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

Сообщение artischev » 11.02.2013 18:50:43

Песни о Паскале, Ответы на некоторые задания из секции «А слабо?» редакция 12-C от 2012-09-18. Страница 77, ответ к заданию 44-Б. Использованы типизированные константы, в книге не описанные.
artischev
новенький
 
Сообщения: 12
Зарегистрирован: 27.12.2012 11:17:22

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

Сообщение Paster Fob » 11.02.2013 20:26:54

artischev писал(а):Песни о Паскале, Ответы на некоторые задания из секции «А слабо?» редакция 12-C от 2012-09-18. Страница 77, ответ к заданию 44-Б. Использованы типизированные константы, в книге не описанные.

О типизированных константах ещё в главе 9 говорится,на стр. 67.
Аватара пользователя
Paster Fob
постоялец
 
Сообщения: 188
Зарегистрирован: 22.02.2011 21:53:36
Откуда: Новосибирск.

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

Сообщение artischev » 13.02.2013 10:18:50

Paster Fob писал(а):
artischev писал(а):Песни о Паскале, Ответы на некоторые задания из секции «А слабо?» редакция 12-C от 2012-09-18. Страница 77, ответ к заданию 44-Б. Использованы типизированные константы, в книге не описанные.

О типизированных константах ещё в главе 9 говорится,на стр. 67.

Точно.
Как это я про них забыл? Прогулял, наверное. :)
artischev
новенький
 
Сообщения: 12
Зарегистрирован: 27.12.2012 11:17:22

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

Сообщение Paster Fob » 06.04.2013 20:19:41

Мелкие опечатки:
гл. 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 написано в приложении Б.Думаю что нужно указать на это или убрать это слово иначе у новичков может возникнуть проблема.
Аватара пользователя
Paster Fob
постоялец
 
Сообщения: 188
Зарегистрирован: 22.02.2011 21:53:36
Откуда: Новосибирск.

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

Сообщение Oleg_D » 06.04.2013 20:33:06

Paster Fob писал(а):гл. 51 , стр. 399 отсутствуют разделители в коде

Да, есть такой грех, исправлю.
Paster Fob писал(а):Здесь есть слово APPTYPE которое используется в Delphi.

Видно этот пример я в Дельфи прогонял, надо удалить это слово.
Спасибо за внимательное чтение!
Oleg_D
постоялец
 
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36

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

Сообщение Oleg_D » 19.11.2016 14:06:38

В файле Ответов исправлено решение задачи Д из главы 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;
. . .
Oleg_D
постоялец
 
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36

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

Сообщение enot777 » 24.11.2016 16:41:23

Здравствуйте!
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 наверное лишний.
Последний раз редактировалось enot777 26.11.2016 23:00:09, всего редактировалось 1 раз.
enot777
новенький
 
Сообщения: 24
Зарегистрирован: 24.11.2016 15:20:58

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

Сообщение Oleg_D » 26.11.2016 22:58:17

enot777 писал(а):Хотя возможно это просто придирки.

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

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

Сообщение enot777 » 26.11.2016 23:11:47

>>Oleg_D
Не не не
inc() и dec() прекрасно работают здесь.
Проблема именно в совпадении Dec (сокращение December) и Dec() (декремент)
enot777
новенький
 
Сообщения: 24
Зарегистрирован: 24.11.2016 15:20:58

Пред.След.

Вернуться в Книга "Песни о Паскале"

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

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

Рейтинг@Mail.ru