Информатика в школе


Видео курсы для чайников фотошоп, joomla, wordpress, php, css 
  Главная  ●  Карта сайта
 
 

Pascal или Basic. Выбор языка программирования.

 Евгений Мухутдинов

[к оглавлению статей]

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

Почему стоит сделать выбор именно из этих двух языков программирования? На мой взгляд, потому, что Pascal составляет основу самой популярной среды разработки Borland Delphi, а Basic основу VBA (Visual Basic for Application). В последнем случае я не оговорился, упомянув именно VBA, а не Visual Basic.  Дело в том, что лично я, пытаюсь программировать на Delphi, но для серьезной работы с офисными приложения от Microsoft необходимо владеть VBA, так как на нем пишутся макросы. Может возникнуть вопрос: «Почему бы, не выбрать Basic, а в дальнейшем писать приложения на Visual Basic, а макросы естественно  на VBA?». Ответ вы найдете чуть ниже. А теперь собственно о Pascal (Паскаль) и Basic (Бейсик).

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

Что можно сказать по поводу этого мнения? Лично я не понимаю, о чем идет речь, когда говорят: «Бейсик намного проще в изучении». Если бы сравнивался Бейсик и Assembler, то я бы безоговорочно согласился, но не в случае с Паскаль. Возьмите  в руки книгу Сема Аболруса "Программирование на Pascal" (книга есть в интернет-магазине https://www.books.ru/) в которой все написано хорошим языком. После ее прочтения лично у меня не возникло мнения, что изучить Pascal сложнее, чем Basic. Попробую предположить, на чем вообще основано мнение, что изучать Basic легче, чем Pascal. Ну, во-первых, в Basic в ряде случаев не надо явным образом описывать переменную. В Pascal же без объявления переменной в разделе объявления переменных, вы ее не сможете применить. Во - вторых благодаря возможности нумерации строк очень легко применить оператор безусловного перехода GOTO, в Pascal для этого пришлось бы создавать метку. В-третьих, в QBasic не требуется подключать дополнительных модулей, как это делается в Turbo Pascal. В четвертых …, честно говоря, ничего более я предположить не могу.

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

Что касается легкости применения оператора GOTO в Basic при нумерации строк. На мой взгляд - это огромный минус языка Basic. При нумерации строк так и тянет вставить что-нибудь типа GOTO 110 и не надо использовать условные операторы. Проще говоря - это приводит к злоупотреблению оператором GOTO. Приведу простой пример. Я решил в качестве тренировки написать, используя Delphi 7, небольшую игру по мотивам хорошо всем известной игры «23 спички». Чтобы упростить себе задачу, я, решил использовал текст готовой программы на языке Basic из книги «Персональный компьютер для начинающих» авторов Р. Дробышевского и А. Лифенко. В 9 строках исходного текста  из 65 использован оператор безусловного перехода GOTO, это привело к тому, что я, являясь начинающим программистом, не мог, энное количество времени, уловить логику работы программы, пытаясь проследить прыжки с одной строки на другую. А ведь это была простейшая программа. Также надо особо подчеркнуть, что  необходимости использовать операторы безусловного перехода никакой не было, все решалось элементарно при использовании условных операторов. А теперь представьте среднюю программу, состоящую из 1000-2000 строк, даже если программу вы написали самолично, то при наличии большого количества операторов GOTO отладить ее будет проблематично.

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

Первый раз, прочитав эти слова, я подумал, что Дейкстра слишком категоричен в своем высказывании по поводу Бейсика (справедливости ради надо заметить, его высказывания касались именно Basic а не о Qbasic). На данный момент, я склонен согласиться с этим высказыванием. Дело в том, что тот же оператор GOTO весьма часто можно встретить в программах выполненных в среде Basic и Visual Basic. Что собственно плохого в использовании оператора GOTO? Дело все в том, что Бейсик способствует его применению там, где надо и не надо, при этом нарушается структура программы, не возможно проследить логику работы приложения. Лично для меня, программирование - это искусство и чтобы достичь вершин на этом поприще надо изначально учиться грамотному построению программ. Выше я упомянул об игре «23 спички», так вот, при написании программы, лично мне не понадобился ни один оператор GOTO.

Также мне не нравиться, что в Бейсике при операции сравнения и присваивания используется один и тот же оператор «=», в Паскаль это соответственно «=» и «:=». Применение разных операторов в Паскаль исключает двусмысленность и четко разделяет две различные операции. 

Недоброжелатели  языка Паскаль иногда посмеиваются над применение блока BEGIN-END, на мой взгляд -  это только способствует лучшему пониманию программного кода.

Лично для меня, в разрезе повседневно решаемых задач, есть только маленький недостаток языка Паскаль – отсутствие оператора возведения в степень. Приходиться использовать конструкцию EXP(LN(x)*y), хотя возведение в квадрат происходит элементарно SQR(x). 

Периодически, встречая людей окончивших или проходящих курс обучения в ВУЗах (в первую очередь меня интересуют специальности тесно связанные с применением компьютера), я интересуюсь, какие трудности есть при изучении информатики и что превалирует при преподавании этого предмета. Поскольку речь идет о языке программирования, то от учащиеся Волгоградских и Саратовских ВУЗов я слышал только одно - Turbo Pascal и среда Delphi. Один из моих знакомых закончил МИФИ (Московский инженерно-физический институт), учился на программиста,  ответ тот же  самый. Хочу особы выделить слова А.А. Чернова из предисловия к  книге «Информатика. Конспекты уроков»: «Требования высших учебных заведений к выпускникам школ существенно возросли и расширились. Это обстоятельство вынуждает тщательно согласовывать разработку программы преподавания предмета информатики в школе с дальнейшим изучением соответствующего материала в ВУЗе». 

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

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

  Что же касается языка Бейсик, то его, к моему большому сожалению нельзя скидывать со счетов. Лично для меня существует необходимость изучения Бейсика только в связи с его отпрыском VBA. Как я уже говорил, при серьезной работе с такими программами как Microsoft Excel и Microsoft Access, увы, без использования макросов на VBA, не обойтись. Если бы была возможность писать макросы в среде Delphi, то это бы дало возможность сосредоточиться на изучении одной среды разработки и не распыляться по сторонам, но, увы… 

P.S. Хотелось бы услышать противоположное мнение. Если Вы хотите обсудить тему данной статьи, то можете написать мне письмо, оставить сообщение в гостевой книге или заглянуть на форум.

 [к оглавлению статей]

 

Книжные новинки
Как сделать свой сайт и заработать на нем Е. Мухутдинов
Копилка
Рабочие программы
Проекты MS Office
Презентации
Открытые уроки
Экзаменационные билеты
Элективные курсы
Бесплатный soft
 Инструкции по ТБ
Подготовка к олимпиадам по информатике
Методика подготовки
"Золотые" алгоритмы
Простые задачи для начинающих
Олимпиадные задачи с решениями
Книги
Среда программирования
Обучение программированию на С++
Справочник по языку Pascal
Обучение
Подготовка к ЕГЭ
Создание сайтов
Уроки FrontPage
Уроки Word 2003
Создание игр на Delphi
Печатаем вслепую

Информация

Наши интервью
Книга почета
Курсы повышения квалификации
Электронная библиотечка
Книжная полка
Статьи
Полезные ссылки
Обратная связь

Конкурсы

Олимпиада
Фотоконкурс
VIP
Персональный раздел профессора
Макаровой Н.В.
Персональный раздел профессора
Смыковской Т.К.