ЕГЭ по информатике: современные среды разработки в Linux для задач с элементами программирования (С1-С4)

Я — профессиональный программист (опыт программирования — 29 лет, вплоть до 2012 года — инофирмы, сертификаты, рекомендации), ныне репетитор-эксперт (по классификации компании «Ваш репетитор»). Учу школьников, студентов, аспирантов, профессионалов.

Хочу поделиться опытом организации обучения на дому школьников 11 класса, готовящихся к ЕГЭ по информатике по задачам С1-С4, а также другим, требующим навыков программирования. Данная статья посвящена исключительно техническим аспектам организации обучения программированию. А именно — установке компиляторов.

Статья НЕ рассматривает:

  • методические вопросы занятий;
  • узкотехнические вопросы установки конкретных программных продуктов (они есть в документации этих продуктов и в Интернете);
  • ответы на вопрос «где взять» (лично я воспользовался Google и нашел).

Исключения: если есть несколько источников, я назову правильный.

Мои основные тезисы:

  • мир (и информатика) значительно изменился, а школьный курс (и инструментарий) остался во вчерашнем дне;
  • новые средства есть, они удобны, доступны, бесплатны, их нетрудно установить и настроить у вас дома;
  • но не все преподаватели о них знают.

Восполняю этот пробел кратким рассказом (отвечающим на часто задаваемые по данному поводу вопросы) про успешную установку и настройку среды для задач ЕГЭ C1-C4, A5, A6 на одном компьютере с использованием трех (и даже четырех) различных операционных систем. Данная среда способна удовлетворить запросы любого школьника (о студентах и аспирантах расскажу в другой раз). Вот он.

На PC установлена быстрая современная бесплатная ОС Linux — Lubuntu 11.04. *buntu выбрана за удобство и скорость обновлений, а Lubuntu выбрана как самая простая и быстрая из всего семейства — но вы можете поставить и любую другую любимую ОС. ALT Linux, например, имеет встроенные средства для подготовки к ЕГЭ. На настоящий момент (март 2012 года) рекомендую Linux 32 бита, а не 64, иначе не заработает FreeBASIC.

1) Для запуска DOS-приложений установлен DOSEMU (DOSBox показал себя очень плохо). DOS (точнее, его эмулятор) он, в отличие от виртуальных машин, устанавливает сам.

Команда: apt-get install dosemu

На диск C: (папка хоста ~./dosemu/drive_c/) скопирован Volkov Commander (C:\vc), любимые и полезные программы DOS, установлены компиляторы.

На диске D: вы увидите свой Linux-хост — «Домашнюю папку». Создайте в ней папку D:\PRG для разработанных программ.

Вот некоторые полезные DOS-компиляторы и IDE, сгруппированы по языкам:

  • С — Turbo C 2.01 (C:\tc);
  • Pascal — Turbo Pascal (C:\tp), Borland Pascal (C:\bp) и Free Pascal (C:\fp);
  • Basic — Turbo Basic (C:\tb), QBasic 4.5 (C:\qbasic), Quick Basic 1.1 (C:\quickbas).

Заметьте, что Турбо Ассемблер и tlink после этого также доступны в папке Turbo Pascal, а debug доступен в составе DOS.

Hiew для изучения формата десятичных и шестнадцатиричных чисел входит в состав VC и вызывается по F3, затем F4.

Окно DOSEMU максимизируйте.

В Volkov Commander, Borland C, Turbo Pascal, QBasic, Quick Basic поддерживается мышка, что упрощает работу. НЕ поддерживается: Turbo Basic, Turbo C.

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

2) Для запуска Windows приложений развернут VirtualBox, в нем различные версии Windows XP SP3 (RU / EN).

Команда: apt-get install virtualbox

В Windows на диск C: устанавливаем:

Вариант 1 (это проще) — MS VS 2010 Express C++, свободно (бесплатно) доступна на microsoft.com.

Вариант 2 (более продвинутый) — устанавливаем последовательно компилятор gcc для Windows, например MinGW, или любой другой. Затем NetBeans (netbeans.org, бесплатно) — может понадобиться установка Java, если ее у вас нет. Зайдя в NetBeans, ставим плагин C++.

Вариант 3 — в Варианте 2 вместо NetBeans возьмите Eclipse, code::blocks или любую другую любимую вами современную IDE. Собираем везде Console Application, тогда не потребуется менять ничего в тексте задачи ЕГЭ.

Pascal — ставим Delphi 7.

Basic — идеальный нативный мне не известен. Turbo Basic — годен (будет без мыши). MS VB не умеет компилировать диалект QBasic (задач ЕГЭ) без изменений (но отлично делает задачи с Windows-интерфейсом, после замены функций ввода и вывода). PowerBasic хочет денег. Если нашли — напишите.

Плюсы: родная (нативная) для Windows (которая стоит у 95% школьников) среда разработки. Современнейшие компиляторы и IDE промышленного стандарта. Рекомендую для интересующихся компьютерами школьников, планирующих продолжить обучение программированию и информатике в ВУЗе и, возможно, работать в современном ИТ по его окончании, — вы подготовите их сразу и к институту, и к востребованным на массовом рынке труда навыкам.

3) Нативные Linux-приложения используются родные. Разумеется, всё свободно и бесплатно, включая сам Linux. Единственный способ подготовить учебное место легально и законно, не затратив ни копейки на софт.

Это прямой и естественный путь к цели — если вы и ученик можете себе позволить им следовать, это лучше всего.

Команда: apt-get install lazarus geany

FreeBASIC качаем с SourceForge. Устанавливаем по инструкции (см. пункт 1 Приложения).

С — качаем NetBeans c netbeans.org, запускаем его и ставим плагин C++.

Pascal — Lazarus; собираем Console Application — тогда не потребуется менять ничего в тексте задачи ЕГЭ между begin и end (см. пункт 2 Приложения).

Мой вариант, самый королевский, простой и мощный: всем трем языкам обучаем в программистском редакторе Geany.

F8 теперь компилирует и C, и Pascal, и Basic без единого изменения текста программы из ЕГЭ — просто пишем на нужном языке задание из книжки ЕГЭ (без изменений), и все работает.

Обычно система правильно настраивает Geany сама, если его ставить позже компиляторов. Если нет, настроить тривиально.

Настройка на примере Pascal: откройте файл *.PAS, в меню выберите «Сборка», «Установить команды сборки».

Для справки пример рабочего варианта.

PAS: скомпилировать — fpc "%f"; выполнить — "./%e".

BAS: скомпилировать — fbc -w all "%f"; выполнить — "./%e".

C: скомпилировать — gcc -Wall -c "%f"; собрать — gcc -Wall -o "%e" "%f"; выполнить — "./%e".

Где что расположено в Geany, где искать?

  • Окно вывода сообщений: в нижнем левом углу.
  • Терминал: в левом нижнем углу. Команда для просмотра содержимого текущей папки: ls -l.
  • Дополнительные настройки: поставьте конец строки в Windows (CRLF), заставьте путь терминала следовать за путем файла (галочка).

Я ставлю «Джина» на первое место за простоту и лаконичность, правильную цветовую подсветку синтаксиса всех трех языков, веселый оригинальный дизайн, малый размер и отсутствие лишнего.

Альтернативные Geany текстовые редакторы для программистов, функционально абсолютно аналогичные: Kate и Sublime 2.

Команда для Kate: apt-get install kate konsole

Затем в ней нужно включить плагины, в том числе терминал и build. Естественно, команды компилятора те же.

Дополнительные настройки: поставьте конец строки в Windows (CRLF), заставьте путь терминала следовать за путем файла (галочка).

Как видите, настройка «Кати» проста, и смысл ее такой же, как у «Джина». Для «Кати» больше плагинов, но она более навороченная и тяжелая, а «Джин» более лаконичен. Выбор за вами.

Sublime 2 загружайте с сайта разработчика (напоминаю, что все это абсолютно легально, свободно и бесплатно) и распакуйте архив.

Аналогичен Geany, но богаче фичами, и — черненький фон по умолчанию (мечта красноглазых программистов). Полезная фича «Саблайма» — визуализация огромных текстов и положения редактируемого куска в тексте. Недостатки — не подсвечивает синтаксис Бейсика и Паскаля по умолчанию (но можно настроить).

Помимо Geany, Kate и Sublime 2 возможно использование редакторов Bluefish, KDevelop и некоторых других.

В заключение подчеркну, что сегодняшний Linux — отнюдь не черное окно консоли с белыми буквами. Ныне Linux проще Windows, и доступен даже дошкольнику (поверьте, я знаю — у меня четверо детей). Все предлагаемые мной средства, включая Lazarus и Geany, — графические, простые в использовании, хорошо и современно выглядящие, привлекающие детей и взрослых своим ярким нетривиальным дизайном. Они интересны, с ними интересно заниматься. В них нет ничего от унылой шаблонности продуктов Microsoft: каждая программа — это яркая, самобытная находка. Они сделаны энтузиастами — для людей. Школьники это ценят, им интересно работать с ними (да и мне тоже).

Если же у вас Windows, и вы еще не готовы с ней расстаться — не беда, нетрудно сделать все с точностью до наоборот. Ставьте Windows- и DOS-программы в Windows, а Linux для обучения — в виртуальную машину (VirtualBox, VMware, Microsoft Virtual PC, или любую другую).

Если у вас Mac OS X, вам доступны родные GNU/Linux программы, а Windows ставьте в виртуальную машину (например, Parallels). Хотя, это отчасти лишено смысла: Mac OS X сама по себе отличная система, и софта под нее достаточно. В том числе вышеперечисленного свободного и бесплатного.

Прогнозы аналитиков рынка свидетельствует, что наше будущее, и будущее сегодняшних школьников, лежит в области POSIX-систем и ядер Unix/Linux, включая операционные системы iOS, Google Android, Mac OS X, а также все многообразие Linux.

В заключение отмечу, что при решении задач ЕГЭ по информатике C1-C4 в Москве, например, были приняты и рассмотрены варианты решения задач школьниками на языках C++ и Ruby.

Школьники!

Выбирая сегодня для обучения системы на ядре Unix/Linux, вы работаете на свое будущее, на свою успешную профессиональную карьеру в самой быстро развивающейся области. И, не в последнюю очередь, на последующее успешное обучение в ВУЗе России, где с 2011 года все шире используется именно Linux. Особенно меня радуют в этом плане лучшие профильные ВУЗы Москвы, такие как Бауманка и МИФИ. Не говоря уж о множестве американских и европейских профильных ВУЗов, где обучение на Linux/UNIX, а особенно Mac OS X, давно стало стандартом.

Приглашаю всех преподавателей информатики к дискуссии по использованию компиляторов для решения задач ЕГЭ по информатике. Мне очень интересно, нашли ли вы лучшие, чем я, решения, лучшие компиляторы для задач С4 из ЕГЭ. Ведь согласитесь, коллеги, что в XXI веке уже немного смешно (и грустно) использовать «бейсики» 35-летней давности. Давно пора отбросить эти, извините меня, мерзлые останки мамонта. Сколько можно, например, снова и снова заставлять детишек работать на Turbo Pascal для DOS, при наличии в 2012 году общедоступного бесплатного FreePascal и Lazarus, работающих точно на том же диалекте?!

Коллеги!

Информатика, программирование — слишком быстро меняющаяся отрасль. Давайте использовать в обучении все то лучшее, что придумал на сегодняшний день коллективный человеческий разум лучших умов планеты — и любезно, юридически правомерно, предоставил в наше распоряжение, свободно и бесплатно! ЛЮбите DOS или Windows — любИте, ненаказуемо. Но дайте детям ВСЕ возможности!

Давайте думать о будущем наших учеников, а не уныло повторять снова и снова старые шаблоны обучения. Мы должны и обязаны готовить школьников к завтрашней жизни, а не к позавчерашней.



Приложение

1) Установка FreeBASIC 32 бит под 64-битную систему не работает по умолчанию из-за нераспознавания библиотек формата 64 elf: это на сегодня — завтра, вероятно, ошибка будет исправлена. Либо берите 32-битный Linux, либо — способ заставить ее работать на 64-битном описан в «Гугле». Он связан с рядом нештатных трюков, подменой пути и библиотек на нештатные 32 бита, что требует более глубокого понимания Linux, чем новичковое.

2) Lazarus — часть современного проекта FreePascal, хороший Linux-аналог Delphi. Lazarus (его символ — гепард) позволяет собирать нативные Linux-приложения с графическим интерфейсом пользователя в RAD IDE среде, аналогичной Delphi, но во многом более удобной и эргономичной. Его с восторгом принимают все школьники, хотя бы минимально знакомые с Delphi.

Для обучения сдачи ЕГЭ на Pascal школьников, не работавших в Delphi, дам краткую инструкцию. Выбирается «Новый проект», возможность «Другие», «Console Application». Lazarus предоставляет шаблон Linux-приложения.

  • Текст задачи ЕГЭ из блока «Begin – End» пишется в блок «Begin – End» ПОСЛЕ слова «Application.Run» ДО слова «Application.Free».
  • Объявление переменных из задачи ЕГЭ (var) пишется в уже подготовленный программой блок var.
    Приведу готовый пример объявления для задачи C1.
    Задача: var a,b,c: real
    Лазарус:
    var
    Application: TMyApplication;
    a,b,c: real;

    Все остальное, предоставленное шаблоном консольного приложения, оставляем без изменений.
  • Особенность (не ошибка, не неудобство — а именно особенность дизайна) «Лазаруса» в том, что он открывает каждое свое окно (в «Дельфи» интегрированное в одно окно ОС) в отдельном окне ОС. Поэтому ему стоит отвести отдельный рабочий стол полностью — иначе ученик, уже освоивший переключение окон, путается в его неперекрывающихся окнах.

Иных отличий от сборки консольного приложения на Pascal, Turbo Pascal, Delphi for Windows нет.

Клавиша F9 запускает компиляцию и выполнение.

Отмечу, что при моем варианте обучения (используя текстовый редактор программиста) этих дополнительных сложностей нет: и синтаксис языка Pascal, и текст задачи полностью тождественны варианту ЕГЭ. Поэтому для слабых и совершенно не интересующихся освоением нового школьников (мне, впрочем, таких не встречалось!), возможно, не стоит принудительно навязывать Lazarus вместо обычного компилятора FreePascal.

Ваш репетитор

© Repetitors.info, 2012-2024

Выберите город