V210110 Освой самостоятельно С++ за 21 день

В книге Освой самостоятельно С++ за 21 день много ошибок.
Например:

5: cout << "Hello World!\n"
В конце строки не поставлена точка с запятой.

int main() { returna 0; }
Правильно: int main() { return 0; }

3: int main() 4: {
Перенос строки перед четверкой.

The size of a double is: 4 bytes.
Должно быть 8 bytes.

10: const int Saturday = 6: 11;
Правильно:
10: const int Saturday = 6;
11:

temp myAge = temp; //
Слово temp должно быть в конце предыдущей строки, а перенос строки после него.

if (условиеЗ) выражение2;
Нужен перенос строки после закрывающей скобки.

if ( x > 5 && у > 5 || 2 > 5)
Не 2, а z. Хи-хи...))

6: int x. у, z;
После икса запятая.

8: cin << choice;
Нужно
8: cin >> choice;

long FindArea(long l, iong w)
Не iong, а long

In block in myFunc, x is
Very local x; 9
Out of block, in myFunc,
В конце первой и третьей строки нужно добавить 6. Во второй не точка с запятой, а двоеточие.

29: int 0oubler(int original)
Надо: 29: int Doubler(int original)

29: return 2'target;
После двойки знак умножения.

15: cout << answer << " is the " << n << "th Fibonacci number\n"; 17: return 0,
16: }
17:
Правильно:
15: cout << answer << " is the " << n << "th Fibonacci number\n";
16: return 0;
17: }

20: cout << "Processing fib(" << n << ")... "; 23:
После точки с запятой всё лишнее.

Enter number lo find: 6
Не lo, а to

Call fib(4) and fib{S)
Надо fib(5)

Call fib(l) and fiO<2)
Надо Call fib(1) and fib(2)

Processing fib(D...
Надо Processing fib(1)...

float myPi = PI;
Не PI, а pi

После слова "Примечание:" везде пропущен пробел. :о)

Аватар пользователя Isais

Вот и попробуй выучиться коду с такими-то фактическими ошибками... :(
Вы бы это еще во впечатлениях указали, чтоб читатели сразу видели: не полезно!!!

Isais написал:
Вот и попробуй выучиться коду с такими-то фактическими ошибками... :(
Ага. И это только за первые пять дней. А еще 16 плюс приложения.
Isais написал:
Вы бы это еще во впечатлениях указали, чтоб читатели сразу видели: не полезно!!!

Отписал. Правда пользы от этого не много.
Собственно, эту тему открыл, чтобы наглядно показать, что без онлайн-редактора подобные книги вычитать нереально. Кто станет возиться с полным файлом третьего издания, содержащим много устаревшей информации, когда давным-давно уже вышло пятое, более актуальное? Понятно, что вряд ли кто-то возьмется.
Однако, если такие книги поселились в библиотеке навечно, всё же желательно их до ума довести. Был бы редактор, совсем другое дело. Увидел - исправил, ничего сложного. Рано или поздно кто-нибудь подтвердит. Иначе никак.
Аватар пользователя alexej36

Цитата:
Собственно, эту тему открыл, чтобы наглядно показать, что без онлайн-редактора подобные книги вычитать нереально...Был бы редактор, совсем другое дело. Увидел - исправил, ничего сложного

Ага, вандалы уже ручки потирают..

alexej36 написал:
Цитата:
Собственно, эту тему открыл, чтобы наглядно показать, что без онлайн-редактора подобные книги вычитать нереально...Был бы редактор, совсем другое дело. Увидел - исправил, ничего сложного

Ага, вандалы уже ручки потирают..

Зря потирают. Кто ж пустит вандалов к вычитке?

Алмис написал:
Зря потирают. Кто ж пустит вандалов к вычитке?
А кто им запретит? им и не нужна вычитка! Им главное - получить "пользу" сам процесс!

Zadd написал:
Алмис написал:
Зря потирают. Кто ж пустит вандалов к вычитке?
А кто им запретит? им и не нужна вычитка! Им главное - получить "пользу" сам процесс!

Да не пускать вандалов к вычитке, и всех делов. Если новый какой проявится, незарегистрированный, то предупредить, а не внемлет, так завандалить. Покается - развандалить. Как это сейчас и делается.
Не вижу проблемы.

Интересно, сколько процентов этих ошибок появилось после конвертирования в fb2, а сколько было в оригинале?
Вопрос даже не риторический...

kozlenok написал:
Интересно, сколько процентов этих ошибок появилось после конвертирования в fb2, а сколько было в оригинале?
Вопрос даже не риторический...

Трудно сказать определенно. Есть очевидные ошибки распознавания. Вроде тех, где упоминается функция fib() или где получилось условие 2 > 5. :) Есть и явные ошибки бумажного оригинала. Например, не могу представить, чтобы при распознавании и конвертировании восьмерка стала черверкой или стрелки вправо (>>) превратились в стрелки влево (<<).
А есть и ошибки (как с переносом строк, допустим), коротые могли быть в первоначальном варианте, а могли и позже появиться, не угадать. Для выяснения надо сверяться с бумагой или хорошим сканом. Но зачем? Всё равно исправлять надо, ошибка есть ошибка, с ней программа просто не станет работать. И скорее всего не то, что не запустится, а даже не скомпилируется.

Алмис написал:
float myPi = PI;
Не PI, а pi
Вот тут ты может быть не прав. В Си константы, определяемые оператором #define, обычно пишутся именно БОЛЬШИМИ буквами, именно с целью, чтобы их отличить от переменных.
Например, обычно пишется так: в файле с подпрограммой обычно пишется что-то типа этого
Цитата:
#include <math.h>

затем в файле math.h как одна из строчек имеется строка
Цитата:
#define PI 3.1415926536

Вообще, сам стандарт Си не определяет какими буквами называть константы и переменные, но среди программистов была такая очень давняя традиция называть константы БОЛЬШИМИ буквами, а переменные маленькими, хотя это всего лишь традиция, но она облегчает понимание в том смысле, что сразу видно, где переменная, а где константа.

Может, и не прав. Писать действительно можно любыми буквами. Вот только рассматривать в данном случае нужно в контексте. Это скопировано решение для задания. Полностью:

Цитата:
4. Объявите переменную типа float и инициализируйте ее, используя константу pi.
float myPi = PI;

Как видно, нужно исправлять либо задание, либо решение. Возможно, правильнее будет внести поправку в задание и назвать там константу большими буквами. Тогда это нужно будет сделать в двух местах книги. Но что-то исправлять в любом случае надо, поскольку так, как сейчас, некорректно.

Согласен, некорректно. И даже предполагаю, что данная некорректность была в тексте бумажной книги. А тогда её исправлять ни в коем случае нельзя - это же священная корова: текст бумажной книги! А то, что на бумаге было неправильно - похуй! Главное: не смей исправлять то, что было в бумажной книге! Иначе это будет уже не книга автора имярек!
Примерно так. :)
Ну а по-хорошему. лучше исправить в задании.
Хотя может в бумажной книге была греческая буква π

Аватар пользователя Isais

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

Так сообщил уже. Только ценность она имеет, как и любая осмысленная информация. И практическую тоже - если читатель более или менее в коде разбирается, то и самостоятельно ошибки обнаружит. Это критично только для новичков, которые учатся с нуля и только одним самоучителем пользуются, остальным не так страшно. Но очень неприятно, конечно. С++ и так непрост для изучения, а если еще тексты программ с ошибками...
Но поисправлять можно, и желающие найдутся, вот только бы технический инструмент походящий...

Zadd написал:
Согласен, некорректно. И даже предполагаю, что данная некорректность была в тексте бумажной книги. А тогда её исправлять ни в коем случае нельзя - это же священная корова: текст бумажной книги!

Да, видимо в бумажной. Но никогда не слышал, что такие ошибки нельзя исправлять. Это глупость. Ошибка есть ошибка, как их сортировать? А если в оригинале её нет, а в переводе появилась? А если в одном издании есть, а в следующем исправили? Если в основном тираже есть, а в дополнительном нет? Если ошибку совершил не автор, а редактор/корректор/наборщик? Да мало ли... Все ошибки по возмржности желательно исправить, если нет веских причи для обратного.

Алмис написал:
Да, видимо в бумажной. Но никогда не слышал, что такие ошибки нельзя исправлять. Это глупость. Ошибка есть ошибка, как их сортировать?

Однако есть библиотеки с такой политикой. Например - feb-web.ru. У них там цель: создать точную копию конкретного бумажного издания.

Astrowalk написал:
Алмис написал:
Да, видимо в бумажной. Но никогда не слышал, что такие ошибки нельзя исправлять. Это глупость. Ошибка есть ошибка, как их сортировать?

Однако есть библиотеки с такой политикой. Например - feb-web.ru. У них там цель: создать точную копию конкретного бумажного издания.


Ну и пусть создают. Кому-то нравится коллекционировать ошибки бумажных книг, кто-то может сохранять ошибки книг электронных, кому-нибудь может вообще возжелаться собрать версии с авторскими ошибками, до правки в издательстве... Мало ли, коллекционеры разные бывают. Но при чем тут Либрусек? Здесь таких ограничений нет. И правильно.
Конечно, бывают как и везде исключения. Например, исторические документы, литературные памятники и тд. Там, бывает, ошибки уже стали частью культуры. Смысловые ошибки опять же на совести автора, их править без веских причин нельзя, разве что примечание написать, но это уже другой разговор. В общем, исключения есть исключения, а в целом желательно правильное написание. А уж актуальные учебники, которыми пользуются по прямому назначению, вряд ли в исключения попадут.
Аватар пользователя Isais

Алмис написал:
...В общем, исключения есть исключения, а в целом желательно правильное написание. А уж актуальные учебники, которыми пользуются по прямому назначению, вряд ли в исключения попадут.
Исправляя ошибки в актуальных учебниках, у которых есть авторы и редакторы, Вы оказываете медвежью услугу читателям.
Представьте себе ситуацию: Вы исправили все ошибки в книге ХХХ автора Имярек. Учебник стал правильным, им можно пользоваться без вреда. Читатели начинают испытывать доверие к автору Имярек, который сочинил такой правильный учебник, и следующую книгу Имярека, YYY, которую Вы не исправили, принимают на "ура" и с полным доверием. Хотя она точно также переполнена глупостями и нелепостями, как и книга XXX. PROFIT - кому???

Предполагаю Уверен, что такие вот действия умных, но чересчур добросовестных редакторов создали дутую славу некоторым фантастам и детективщикам. Теперь, после вычищенных до блеска их первых книг последующий мусор глотается поклонниками, не разжевывая, и лишь некоторые самостоятельные читатели удивляются: "Чего тут было хвалить и читать?"

Isais написал:
Исправляя ошибки в актуальных учебниках, у которых есть авторы и редакторы, Вы оказываете медвежью услугу читателям.
Представьте себе ситуацию: Вы исправили все ошибки в книге ХХХ автора Имярек. Учебник стал правильным, им можно пользоваться без вреда. Читатели начинают испытывать доверие к автору Имярек, который сочинил такой правильный учебник, и следующую книгу Имярека, YYY, которую Вы не исправили, принимают на "ура" и с полным доверием. Хотя она точно также переполнена глупостями и нелепостями, как и книга XXX.

Ух, вы и загнули... Это слишком сложно для меня. Я-то человек простой, понимаю так: Есть книга с ошибками, есть без ошибок - та, что без ошибок, лучше. А что сверх того, то от лукавого.
Isais написал:
PROFIT - кому???

В основном читателям. Ну, и маленько перепадает всем другим участникам в зависимости от доли участия. Автору за то, что написал, переводчику за перевод, редактору за редактуру и тд. Но в основном читателям. Для них и стараемся.

Алмис написал:
Ну и пусть создают. Кому-то нравится коллекционировать ошибки бумажных книг, кто-то может сохранять ошибки книг электронных, кому-нибудь может вообще возжелаться собрать версии с авторскими ошибками, до правки в издательстве... Мало ли, коллекционеры разные бывают. Но при чем тут Либрусек? Здесь таких ограничений нет. И правильно.

Да, конечно. Я не собирался навязывать правила Либрусеку.

Если в книге важна, скажем так, математическая точность - ищу оригинальный pdf, или скан, упакованный в djvu или pdf, и читаю на читалке с 10" eink-экраном. Иначе свихнуться можно, догадываясь, где ошибка автора, а где - распознавалки. Переводить в fb2 техническую литературу - мартышкин труд. Этот формат недостаточно функционален.

В пдф и дежавю (сделанных из сканов) полно ошибок распознавания, я недавно пытался справочник по консольным командам в Линукс читать, охерел и пошёл читать вики и маны на сайтах, ибо невозможно. Представляю, что станет с книгой по программированию, в которой полно примеров кода. Имхо, такое либо на бумаге, либо в оригинальном пдф читать надо.

Sluggard написал:
В пдф и дежавю (сделанных из сканов) полно ошибок распознавания

Как сие возможно, если там просто графические образы страниц. Если же в pdf и djvu что-то распознанное - фтопку такие pdf и djvu, разумеется!

Значит ошибки в графических образах. В конечном итоге это монопенисуально - читать невозможно всё равно.

Astrowalk написал:
Если же в pdf и djvu что-то распознанное - фтопку такие pdf и djvu, разумеется!

Зачем же так сразу всех под одну гребенку? Есть и распознаные файлы вполне приличного качества.

Astrowalk написал:
Если в книге важна, скажем так, математическая точность - ищу оригинальный pdf, или скан, упакованный в djvu или pdf, и читаю на читалке с 10" eink-экраном. Иначе свихнуться можно, догадываясь, где ошибка автора, а где - распознавалки. Переводить в fb2 техническую литературу - мартышкин труд. Этот формат недостаточно функционален.

+100500
Наконец-то хоть один нормальный человек нашелся...
X