Как научиться программировать на паскале с нуля

Введение в Pascal

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

? 1) program – по-английски «программа», пишется в самом начале кода, после чего идет название программы латиницей и точка с запятой. Например: program Summa; ? программа под названием Summa. Но эту часть кода, называемую заголовком программы, можно и не писать ? она присутствует только для наглядности и показывает, какую задачу решает данная программа. Здесь мы употребили слово «код» ? так называется текстовая запись программы.

? 2) integer – по-английски означает «целое число» (или просто «целое») и в Паскале используется для обозначения 32-битных (8 байт) целых чисел со знаком с диапазона [-2147483648, 2147483647] . Что означают эти большие числа, мы потом разберем.

? 3) real – с английского «реальный», «настоящий», «вещественный», «действительный». В языке Паскаль этим термином обозначаются вещественные числа с диапазона [-1.8•10 308 , 1.8•10 308 ] . Это очень большие числа, но значащих цифр выводится 15 – 16. Кстати, типы данных integer и real в среде программирования PascalABC.Net всегда автоматически выделяются синим цветом.

? 4) const – аналог англ. «constant», означающее «постоянная», «константа». В Паскале это величина, которая не может изменяться. Записывается так:

Эту запись надо воспринимать так, как она пишется: число N равно 12, S равно 5, «пи» равно 3,14 (как и в математике, только вместо запятой в Паскале используется точка). В последней строке мы использовали двойной слэш (две косые черты), после которых идет текст, – так в Паскале пишутся комментарии, и их программа не воспринимает. Всё, что начинается двойным слэшом и до конца строки – это комментарий, который пишется для пояснения к программе и всегда выделяется другим цветом (в PascalABC.Net — это зеленый , в Turbo Pascal не используется такой вид комментария). Существует и другой тип комментария – это <текст, заключенный в фигурные скобки, так же, как и здесь, тоже выделяющийся зеленым цветом>. Этот вид комментария может действовать несколько строк подряд – от начала скобки и до её закрытия, и всё, что находится в середине такой конструкции, компилятор не воспринимает как код и просто пропускает.

В действительности формат записи const немножко сложнее. По правилам мы должны были записать:

После объявления каждой величины указывается её тип, а потом присваивается значение. Но предыдущая запись тоже верна, поскольку компилятор Паскаля настроен так, что он автоматически определяет тип постоянной. Но этого нельзя сказать о следующем типе чисел – переменных.

? 5) var – происходит от англ. «variable» («переменная», или «изменчивый»), что в Паскале означает величину, которая в процессе программы может изменять свое значение. Записывается так:

Как видно из записи, знака «=» здесь нет – пересчитываются переменные одного типа (через запятую) и после двоеточия указывается только тип. Переменные N, m (целые) и Q, r, t (вещественные) в программе могут изменять значения в пределах integer и real соответственно. Ещё одно замечание: описание переменных всегда стоит после описания констант (постоянных) – сначала идет конструкция const , а потом var .

? 6) begin – в переводе с английского означает «начинать» и Паскале означает начало основной программы, в которой записываются команды (операторы). После слова begin точка с запятой не ставится.

? 7) end – по-англ. «конец», и в языке Pascal означает то же (конец программы). После последнего слова end всегда стоит точка. Мы выделили слово «последнего», поскольку использование конструкции begin – end возможно ещё в одном случае: это так называемые операторные скобки, которые применяются для объединения нескольких операций под одним оператором. Но об этом потом. Таким образом, основная программа будет выглядеть так:

Здесь операторы в теле программы – это разные команды компилятору.

? 8) write – по-английски означает «писать». Этот оператор выводит на экран текст, помещенный в него, поэтому так и называется – оператор вывода. Текст, помещенный в него, выделяется синим и записывается так:

write( ‘этот текст выведен на экране’ );

Сообщение, находящееся в скобках и кавычках, будет показано в окне консоли (просто в скобках без кавычек нельзя). После выполнения этого оператора мы увидим на экране:

этот текст выведен на экране

В таком виде оператор write используется в том случае, когда надо показать подсказку, пояснение, комментарий и т. п. А от если необходимо вывести ещё и числовое значение, скажем, S = 50 кв. м, то используется формат:

write( ‘Величина площади равна: S = ‘ , S);

В результате получим на экране результат:

Величина площади равна: S = 50

А при необходимости вывести единицы измерения, надо после S снова вставить текст в кавычках:

write( ‘Величина площади равна: S = ‘ , S, ‘ кв.м’ );

После выполнения последнего оператора вывода получим вывод на экран:

Величина площади равна: S = 50 кв.м

? 9) writeln – то же, что и write, но после выполнения курсор будет переведен на следующую строку.

? 10) read – в переводе с английского означает «читать», поэтому read называется оператором считывания, или ввода данных. Записывается как read(N), что означает необходимость ввода величины N, где N – любое число, или текст, или другой тип переменной. Например, если надо ввести возраст человека, которому 32 года, мы можем записать так:

В первой строчке этого кода программа выводит вопрос « Каков Ваш возраст? » и переводит курсор в следующую строку (окончание ln); во второй строке мы выводим « Year = » (в начале пробел); далее мы видим оператор readln(Year) означающий необходимость введения возраста Year (число 32); наконец, выводим сообщения « Мой возраст », « 32 » и « года. » поочередно. Необходимо внимательно следить за пробелами. В результате выполнения данного кода мы получим сообщение:

Каков Ваш возраст?
Year = 32
Мой возраст 32 года

? 11) readln – то же, что и read, только с переводом на новую строку. Действительно, в приведенном выше примере после введения числа Year мы только в следующей строке пишем: « Мой возраст 32 года ».

Это пока что все. На следующей странице мы напишем первую программу, и в программировании на Паскале это будут наши первые шаги.

Хочу научиться программировать на PHP. С чего начать?

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

Зачем учить PHP?

Среди главных преимуществ языка:

  • простота и низкий порог вхождения;
  • эффективность для решения задач веб-разработки;
  • множество удобных фреймворков;
  • востребованность навыков: на рынке есть много вакансий как для Junior PHP-разработчиков, так и для опытных Senior’ов;
  • возможность использования в изолированной среде;
  • большое количество материалов для изучения языка, активное сообщество.
  • С другой стороны, язык часто критикуют за несогласованный синтаксис функций, отсутствие обратной совместимости между версиями, многопоточности и поддержки многобайтовых кодировок в ядре.

    Что учить?

    • основы языка: синтаксис, типы данных, переменные, функции, константы, массивы, объекты, выражения;
    • основы HTML, CSS и веб-дизайна;
    • реляционные БД;
    • Linux, HTTP, Nginx, Apache;
    • FTP, Git и другие инструменты;
    • шаблоны проектирования;
    • Object-relational mapping (ORM);
    • Model-View-Controller (MVC);
    • фреймворки и микрофреймворки;
    • тестирование;
    • средства виртуализации: Vagrant, Docker.

    Где писать код?

    Попробуйте каждую среду разработки и поймёте, с какой платформой вам комфортнее всего работать:

    Уроки Pascal

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

    Pascal (Паскаль) — язык программирования общего назначения. Его создатель – профессор Никлаус Вирт разработал платформу в 1970 году. Язык повлиял на формирование современных языков Java, Javascript, которые сейчас пользуются популярностью. Паскаль считается хорошей возможностью для освоения начального уровня работы с кодами.

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

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

    В меню сверху можно найти пять разделов страницы: «Введение», «Алгоритмы», «Решение задач», «Олимпиадные задачи», «Задачи читателей». На главную страницу выведена структура для наглядного представления работы на сайте. Чтобы приступить к обучению, нужно выбрать один из пяти разделов.

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

    Язык Pascal (Паскаль). Программирование для начинающих

    О программировании

    Программирование — это написание программ. Программа для компьютера представляет собой алгоритм (последовательность) выполнения каких-либо действий, написанный на том или ином языке программирования. На сегодняшний день многие программы большие и сложные, над такими работают целые штаты сотрудников, при этом код не всегда пишется, а собирается из отдельных блоков. Поэтому правильнее говорить о их разработке (создании) программ, а не их написании.

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

    Обучение обычно начинают с изучения структурного программирования. При этом в алгоритмах используются ветвления, циклы, подпрограммы. Особое внимание уделяется типам данных. По-сути изучаются две разные, но взаимосвязанные, области знаний — алгоритмика и особенности выбранного языка.

    На более продвинутом уровне переходят к изучению динамических типов данных (что предполагает более глубокое знание информатики) или объектно-ориентированного программирования (большинство современных программ создаются с использованием этой парадигмы).

    Профессиональная подготовка программиста обычно включает изучение конкретных языков, сред, инструментов, библиотек и др., применяющихся для написания программ в тех или иных областях деятельности (веб-разработка, написание системного программного обеспечение, создание пользовательских программ, разработка баз данных и др.).

    О языке Pascal

    Язык Pascal (Паскаль) почти не имеет практического значения, но часто используется для обучения программированию (для этого он и был разработан). В настоящее время существует ряд его диалектов и сред разработки, имеющих незначительные различия между собой.

    Практическое значение имеет среда разработки Lazarus, в которой используется диалект Object Pascal. В ней можно создавать объектно-ориентированные программы с графическим интерфейсом пользователя.

    О сайте

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

    Ссылки вверху ведут на страницы с теоретическим материалом по программированию и особенностям Pascal.

    В меню справа находятся ссылки на разделы с задачами на разные темы. В темах, расположенных ниже используются в том числе языковые конструкции тем, расположенных выше. Но не наоборот.

    Также предусмотрен вариант сортировки задач по уровням сложности.

    Как научиться программировать на паскале с нуля

    Любому программисту необходимо знать английский язык и математику. Вся важная документация и качественные курсы опубликованы на английском. Знание математики требуется не настолько категорично. Но уверенное владение математикой обеспечивает четкое понимание создаваемого кода, осознанность каждого шага и позволяет прикидывать в голове эффективность алгоритмов.

    Существует более 300 языков программирования. Одним из лучших языков для начинающих является Python. Этот популярный язык общего назначения хорош лаконичностью и простотой синтаксиса, его активно используют в IT-компаниях России и мира. Другими популярными языками считаются Java и C. Они сложнее, особенно для новичков, но владение ими обеспечивает лучшее понимание того, что вы делаете и что происходит с вашей программой. Вместе с языком Pascal язык С обычно изучается в вузе на профильных факультетах. Использование других языков программирования зависит от цели деятельности. Например, в качестве серверных языков популярны php, Java, ruby. Из клиентских языков наиболее перспективен Java Script. Для разработки сложных высоконагруженных проектов требуется C++. На этом же языке пишутся игры. Еще одна перспективная сфера — разработка приложений для мобильных устройств. Тут используют Java, Objective-C. Любой опытный программист знает несколько языков, однако код на работе он пишет только на одном из них.

    Веб-программисты занимаются разработкой интернет-сайтов и программ. Она делится на Frontend- и Backend-разработку.

    Frontend developer занимается разработкой пользовательского интерфейса. То есть, делает все то, что видит пользователь, открывая web-страницу. Его главная задача — сделать максимально удобным взаимодействие пользователя с сайтом или веб-приложением. Основной язык, который он использует — JavaScript, также понадобится знание HTML и CSS.

    Backend-разработчик занимается базами данных, архитектурой и логикой работы сайта, то есть серверной частью, которая не видна пользователям. Основные языки серверного программирования для такого специалиста — PHP, Ruby, Python. Также ему пригодится знание MySQL.

    Универсальный специалист, выполняющий оба процесса, называется Full Stack-разработчик. Это программист, который может создать полноценный сайт «под ключ» самостоятельно. Он непременно должен знать HTML и CSS.

    — 1С-программист, в непосредственные задачи которого входит оптимизация готовой системы 1С и ее настройка непосредственно под каждое предприятие.

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

    — Game Developer, который специализируется на создании компьютерных игр. Геймдевелоперы заняты в полном цикле жизни видеоигры: создание, тестирование, доработка, поддержка, обновления, модификация и т.д.

    — Android- и iOS-разработчики, которые занимаются созданием игр, программного обеспечения, интерфейсов и обновлений для устройств, созданных под брендом Apple, или Android-устройств.

    — Системный программист, в задачи которого кроме разработки программных модулей и их интеграции входит адаптация и модификация программных продуктов под конкретную систему, исходя из ее логики и задач. Он же может заниматься разработкой баз данных и их администрированием.

    — Передовым направлением в области программирования считается сфера Data Science. Она объединяет искусственный интеллект и данные, умение прогнозировать на основе статистических данных.

    Если есть возможность поступить в вуз, то лучше выбрать один из ведущих: МГУ, МИФИ, ВШЭ, СПБГУ, МФТИ, МГТУ им. Баумана, МАИ, ИТМО и т.д. Речь идет, естественно, о профильных факультетах. Выпускники этих университетов лидируют в рейтинге портала Superjob, составленного по критерию уровня стартовых зарплат программистов.

    Начальные навыки программирования помогут приобрести такие популярные платформы, как Сodecademy, Skillbox, GeekBrains, HTML Academy. После прохождения подобных курсов человеку становится легче понять, в сторону какого направления двигаться в профессиональном развитии.

    Бесплатные курсы нередко открывают и спонсируют крупные российские компании: Mail.Ru Group, «Яндекс», «Лаборатория Касперского», Сбербанк, Тинькофф банк, «2ГИС», «Роснано», «Сколково» и HeadHunter.

    Многие ведущие мировые вузы открывают курсы в онлайн. Например, курсы MIT можно найти на платформе Coursera.

    Освоение программирования на 80% предполагает самостоятельную работу. Почти все необходимые материалы есть в интернете. Самое главное: мотивация. Лучше всего подходить к изучению комплексно, например, совмещая онлайн-курсы, официальную документацию к языкам, лекции, статьи, книги. При этом не следует распространяться на несколько языков сразу, лучше начать с самых простых.

    Можно изучать, играя: некоторые обучающие сайты сами являются играми, например, Code Combat и CodinGame.

    На GitHub можно найти огромную коллекцию бесплатных книг по программированию. Также доступен корпус электронных книг, охватывающий 24 языка программирования.

    В сообществе программистов также много людей, готовых помочь следующему поколению программистов. Hack.pledge — сайт, который поможет найти наставника.

    В программировании актуален принцип «практика важнее теории». Освоить большой объем информации по языкам сразу не получится, поэтому намного лучше посвящать больше времени оттачиванию полученных умений.

    Считается, что высокие инженерные или исследовательские должности без высшего образования недостижимы. Также диплом необходим тем специалистам, которые захотят работать за границей. При этом многие российские HR-специалисты говорят, что при приеме на работу смотрят, в основном, не на строку «образование» в резюме программиста, а на реальный опыт работы. Кроме того, перед собеседованием или во время него претенденту, скорее всего, предложат выполнить тестовое задание.

    Как научиться программировать на PHP

    Эта статья не научит вас программировать на PHP, а просто выведет на правильный путь. Я постараюсь рассказать о том, как правильно учить этот язык (в принципе, это будет относиться не только к PHP). Про синтаксис и функции рассказывать я не буду — незачем. Есть статьи, в которых все это очень хорошо изложено. Постараюсь дать наиболее лучшие ссылки на учебники и справки по PHP.

    Для начала немного теории.

    PHP — это скриптовый серверный язык программирования, код которого вставляется непосредственно в html-код. «Отцом» PHP считается Расмус Лердорф. На данный момент PHP расшифровывается как «PHP Hypertext Processor», хотя первоначально был «Personal Home Page». Приведу небольшой пример вставки php в html-код:

    В результате сообщение «Hello world!» будет выведено в заголовке окна. Все очень просто. Это, надеюсь, понятно. Двигаемся дальше…

    Как вы поняли, это совсем ненужная функция, потому что сообщение «Hello world!» можно вывести и без PHP. Но на php можно сделать гораздо больше, чем вы можете себе представить. Гораздо.

    На самом деле, если вы даже еще никогда не пробовали программировать, то будет все равно не тяжело, хотя бы, если вы учили математику в средней школе. Я так думаю. Если сравнивать его с такими языками как Perl или Java, PHP — язык довольно-таки простой. Он был создан для разработки небольших приложений, поэтому ничего сложного в нем нет. Ну, а если вы уже имеете небольшой опыт (например, программируете на языке Pascal), то вам будет еще легче.

    Если вы хотите научиться программировать на PHP, просто найдите хороший учебник (а еще лучше купите, если средства позволяют). Самое главное в этом деле — именно хороший, и притом один. Не нужно «распыляться», как делал это я, когда знакомился с этим языком программирования. Один учебник, который вы просто прочитаете для ознакомления, справочник функций, который вы будете использовать при составлении скриптов, и, конечно же, форумы и друзья, знающие PHP. И все! Самое главное в этом деле практика. Не перечитывайте все статьи, которые вам попадутся в Сети — только время зря потеряете (хотя теория, конечно же, нужна). Просто практикуйтесь — это самое главное в этом деле. Что-то не получается — спрашивайте на специализированном форуме. Хочу посоветовать Клуб php-разработчкиков: www.phpclub.ru.

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

    Ну, а теперь и ссылки на саму документацию. Самая лучшая документация, на мой взгляд.
    Английские:
    www.php.net — официальный сайт.
    www.php.net/manual/en/ — документация на английском языке.

    Русские:
    www.phpclub.ru — этот проект откроет вам окно в удивительный мир php.
    www.phpclub.ru/manrus/ — документация на русском языке.
    php.itsoft.ru — максимально сжатое описание языка PHP, но автор обещает, что после прочтения вы сможете без проблем составлять скрипты.
    php.spb.ru/ — Документация на русском, статьи, книги (PHP 4, MySQL, Apache, etc).

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

    Танчики на Паскале: как учили детей программированию в 90-х и что с этим было не так

    Немного о том, что из себя представляла школьная «информатика» в 90-х, и почему все программисты тогда были исключительно самоучки.

    На чем учили программировать детей

    В начале 90-х московские школы начали выборочно оснащать классами ЭВМ. В помещениях сразу ставили решетки на окна и тяжелую обитую железом дверь. Откуда-то появлялся учитель информатики (выглядел как самый важный товарищ после директора), основной задачей которого было следить, чтобы никто ничего не трогал. Вообще ничего. Даже входную дверь.
    В классах чаще всего можно было встретить системы БК-0010 (в его разновидностях) и БК-0011М.


    Фото взято отсюда

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

    С сохранением своих творений (программ) тогда были отдельные проблемы. Чаще всего компьютеры с помощью контроллеров моноканала объединяли в сеть с топологией «общая шина» и скоростью передачи 57600 бод. Дисковод, как правило, был один, и с ним частенько не ладилось. То работает, то не работает, то сеть подвисла, то дискетка не читается.

    Я тогда таскал с собой вот это творение емкостью 360 кБ.

    Шансы на то, что в очередной раз я вытащу с нее свою программку, были процентов 50-70.

    Однако главной проблемой всех этих историй с компьютерами «БК» были бесконечные зависания.

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

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

    Программирование на «Турбо Паскале» на примере «танчиков»

    На «Паскале» детей учили строить циклы, отрисовывать всякие функции, работать с массивами. В физмат-лицее, где я одно время «обитал», на информатику отводили одну пару в неделю. И два года там была вот эта вот скукотища. Разумеется, хотелось сделать что-то посерьезнее, чем вывод на экран значений массива или некой синусоиды.

    Танчики

    Battle City была одной из самых популярных игр на приставках клонах NES (Dendy и др.).

    В 1996-м популярность 8-биток прошла, они давно пылились в шкафах, и мне показалось прикольным в качестве чего-то масштабного сделать именно клон «Танчиков» для ПК. Далее как раз о том, как тогда надо было извернуться, чтобы запилить на «Паскале» что-то с графикой, мышкой и звуком.

    Рисовать можно только палочки и кружочки

    Начнем с графики.

    В базовом варианте «Паскаль» позволял рисовать некоторые фигуры, закрашивать и определять цвета точек. Самые продвинутые процедуры в модуле Graph, приближающие нас к спрайтам, это GetImage и PutImage. С их помощью можно было захватывать в предварительно зарезервированную область памяти участок экрана и потом использовать этот кусок как растровое изображение. Другими словами, если вы хотите многократно использовать на экране какие-то элементы или изображения, вы их сначала отрисовываете, копируете в память, стираете экран, отрисовываете следующее и так до тех пор, пока не создадите в памяти нужную библиотеку. Поскольку все происходит быстро, пользователь этих фокусов не замечает.

    Первый модуль, где в ход пошли спрайты – редактор карт.

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

    Мышь – это уже конец 90-х

    Мыши, разумеется, были у всех, но до середины 90-х пользовались ими лишь в Windows 3.11, графических пакетах и еще небольшом числе игр. В Wolf и Doom рубились только с клавиатуры. Да и в DOS-среде мышь была не особо нужна. Поэтому в Borland модуль работы с мышью даже не включали в стандартную поставку. Его надо было искать по знакомым, которые разводили руками и в ответ восклицали «а нафига он тебе?».

    Однако найти модуль для опроса мышки – это лишь половина дела. Чтобы мышью клацать по экранным кнопкам, их надо было нарисовать. Причем в двух вариантах (нажатую и не нажатую). У не нажатой кнопки верх светлый, а под ней тень. У нажатой наоборот. И отрисовать затем на экране трижды (не нажатая, нажатая, потом опять не нажатая). Плюс не забыть поставить задержки на отображение, ну и спрятать курсор.

    Например, обработка главного меню в коде выглядела вот так:

    Звук – только пищалка PC Speaker

    Отдельная история со звуком. В начале девяностых клоны Sound Blaster только готовились к своему победному шествию, и большинство приложений работали лишь со встроенным динамиком. Максимум его возможностей – это одновременное воспроизведение только одного тона. И именно это позволял сделать Turbo Pascal. Через процедуру sound можно было «попищать» разными частотами, чего достаточно для звуков выстрелов и взрывов, но для музыкальной заставки, как тогда было модно, это все не подходило. В итоге нашлось весьма хитрое решение: в собственном архиве софта обнаружился «экзешничек», скачанный когда-то с какой-то BBS-ки. Он умел творить чудеса – воспроизводить несжатые wav-ы через PC Speaker, причем делал это из командной строки и не имел собственно интерфейса. Все, что нужно было – это вызвать его через паскалевскую процедуру exec и проследить, чтобы эта конструкция не рухнула.

    В итоге забойный музон на заставке появился, но с ним вышла забавная штука. В 1996 году у меня была система на Pentium 75, раскочегаренным до 90. На нем все работало прекрасно. В вузе же, где нам на второй семестр поставили Pascal, в учебном классе стояли видавшие виды «трешки». По договоренности с преподавателем я потащил на второе занятие эти танчики, чтобы получить зачет и больше туда не ходить. И вот, после запуска из спикера повалил громкий рев вперемешку с булькающими гортанными звуками. В общем, 33-мегагерцовой «трешке» DX оказалось не под силу нормально крутить тот самый «экзешничек». Но в остальном все было нормально. Конечно, не считая заторможенного опроса клавиатуры, который портил весь геймплей вне зависимости от производительности ПК.

    Но основная проблема не в «Паскале»

    В моем понимании «Танчики» — это максимум, что можно было выжать из Turbo Pascal без ассемблерных вставок. Из явных недостатков конечного продукта – медленный опрос клавиатуры и медленная отрисовка графики. Усугубляло ситуацию крайне малое число сторонних библиотек и модулей. Их можно было сосчитать по пальцам одной руки.

    Но больше всего меня расстраивал подход в школьном образовании. Детям никто тогда не рассказывал о преимуществах и возможностях других языков. На уроках практически сразу начинали говорить про begin, println и if, что запирало учеников внутри бейсико-паскалевской парадигмы. Оба эти языка можно считать исключительно учебными. Их «боевое» применение — редкое явление.

    Зачем учить старшеклассников фейковым языкам – для меня загадка. Пусть они более наглядные. Пусть разновидности «Бейсика» кое-где используются. Но, в любом случае, если человек задумает связать свое будущее с программированием, ему придется учить с нуля другие языки. Так почему бы детям не ставить те же учебные задачи, но только уже на нормальной платформе (языке), в рамках которой они могли бы развиваться дальше самостоятельно?

    Кстати о задачах. В школе и институте они всегда были абстрактные: посчитать то-то, построить функцию, нарисовать что-то. Я учился в трех разных школах, плюс у нас был «Паскаль» на первом курсе института, и ни разу преподаватели не ставили сколь-нибудь реальной прикладной задачи. Например сделать записную книжку или еще что-то полезное. Все было надуманное. А когда человек месяцами решает пустые задачи, которые потом идут в корзину… В общем, из института люди уже выходят выгоревшими.

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

    Читайте так же:

    • Как научиться решать задачи 1 класс Решение и оформление простых задач в 1 классе Простые задачи на нахождение суммы 1. Ира прочитала 6 книг, а Петя 3 книги. Сколько всего книг прочитали дети? 2. В вазе лежало 5 груш, […]
    • Как научиться таблицу умножения за 5 минут С чего начать изучение таблицы умножения? Таблицу Пифагора распечатайте и повесьте на видном месте. Каждый раз, глядя на нее, ребенок будет запоминать и повторять какие-то примеры. Этот […]
    • Как научиться выговаривать букву г Как научиться выговаривать букву г 1. Подумайте, какие из следующих пар слов выбрал бы себе для рифмы поэт, в речи которого сохранились диалектные черты, если он родом из: 1) Смоленской […]
    • Как научиться делать коробочку гимнастика Как научиться делать коробочку гимнастика • Инструкция для тех, кто может заняться с тренером или с другом • 1Не нужно делать мостик неподготовленным и без специальных упражнений. Можно […]
    • Как научиться решать дроби 6 класс Сложение дробей При сложении дробей могут встретиться разные случаи. Сложение дробей с одинаковыми знаменателями Такой случай наиболее простой. При сложении дробей с равными знаменателями […]
    • Как научиться вязать в схемах Как читать схемы вязания крючком Приветствую всех читателей my-crochet.ru Из этой статьи вы узнаете, как читать схемы вязания крючком. Поверьте, очень легко научиться вязать, если […]

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *