LINUX.ORG.RU

Переиздание книг Столярова по программированию

 


9

4

Скандально известный на ЛОРе Андрей Викторович Столяров выпустил новое издание своего учебного пособия «Программирование: введение в профессию» и обновил PDF-версии:
«Азы программирования»
«Системы и сети»
«Парадигмы»
В новом издании 4-томник стал 3-томником.

Как и предыдущее издание, новое использует странную кодировку текста, но если вы не пользуетесь преимуществами электронных книг, разницы не заметите. Книга будет полезна начинающим изучать программирование.

>>> Сайт автора

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Zhbert (всего исправлений: 3)
Ответ на: комментарий от drfaust

можно, вместо того что бы объяснять что такое Program laba_1 объяснить что #include <stdio.h>

Не-а. Для начала потребуется объяснить, что программа начинается с функции main() (а не со слова "программа по_имени, а дальше begin) и вот тут вы запаритесь объяснять, а что такое функция в Си, почему у неё должен быть тип и как сделать окончание проги корректным с т.з. ОС.

Да, я о том, что «правильнее» int main() {...; return 0;}, нежели ‘void main()’.

Или вы можете сказать «это такая необходимая магия, пишите это заклинание, смысл его поймёте (может быть) позже».

mister_VA ★★
()
Ответ на: комментарий от mister_VA

К тому времени, когда человек начинает изучать Си, он уже знает, что такое программы и как они запускаются; знает, что каждая программа возвращает числовой код завершения; что программа принимает аргументы через командную строку; что программы могут читать переменные окружения, унаследованные от родительского процесса.

Си с его точкой входа main() сюда ложится логичным образом.

wandrien ★★★
()
Ответ на: комментарий от mister_VA

потребуется объяснить, что программа начинается с функции main() (а не со слова "программа по_имени, а дальше begin)

Какой злющий синдром утёнка вас преследует.

Я вот сижу и пытаюсь понять, почему же программа должна начинаться со слова "программа по_имени, а дальше begin". С какого перепуга?

wandrien ★★★
()
Ответ на: комментарий от wandrien

К тому времени, когда человек начинает изучать Си, он уже знает,

Так про то и речь: Си для тех, кто УЖЕ ЗНАЕТ. Но мы НЕ МОЖЕМ рассчитывать, что ВСЕ пришедшие студенты УЖЕ ЗНАЮТ, что, например, каждая программа возвращает числовой код завершения; что программа принимает аргументы через командную строку;.

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

что программы могут читать переменные окружения, унаследованные от родительского процесса.

Вот реально интересно, сколько первокурсников вытаращат глаза на произнёсшего такое на первой лекции?

mister_VA ★★
()
Ответ на: комментарий от wandrien

Я вот сижу и пытаюсь понять, почему же программа должна начинаться со слова «программа по_имени, а дальше begin». С какого перепуга?

Формально говоря, в программе может не быть переменных.

program Kill; begin writeln("Умри, жестокий мир"); end.

Хотя FreePascal, как я помню, разрешает не указывать вообще имя программы.

mister_VA ★★
()
Ответ на: комментарий от mister_VA

Я не знаю, что там нынче в школе. А меня обучали на курсах УПК, например. Программированию под DOS-ом.

А потом на подготовительных к поступлению в ВУЗ мы еще архитектуру этого самого DOS-а учили отдельно полгода.

wandrien ★★★
()
Ответ на: комментарий от mister_VA

Хотя FreePascal, как я помню, разрешает не указывать вообще имя программы.

Оно еще во времена Turbo Pascal стало необязательным...

bormant ★★★★★
()
Ответ на: комментарий от wandrien

почему же программа должна начинаться со слова «программа по_имени, а дальше begin»

Потому что так легче разгребать листинги результатов работы студентов в системе пакетной обработки. И точка в конце программы по схожим причинам (кроме удобства остановки студенческого парсера ). И не сразу label, const, type, var, а после

PROGRAM LAB1_PETROV_72(PETROV);

vM ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.