Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Языков программирования




Методические рекомендации по изучению

Базовом курсе информатики

Элементы программирования в

 

Изучаемые вопросы:

• Предметная область программирования; парадигмы программирования.

• Методические вопросы изучения языков программирования.

• Методические вопросы изучения систем программирования.

Программирование ~ это раздел информатики, задача которого

разработка программного обеспечения ЭВМ.

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

Существуют различные парадигмы программирования, и преподавание каждой из них имеет свои особенности. К основным парадигмам программирования относятся (см. схему 4):

• процедурное программирование (Паскаль, Бейсик, Фортран, Си, Ассемблеры);

• логическое программирование (Пролог);

• функциональное программирование (Лисп);

• объектно-ориентированное программирование (Смолток, Си++, Делфи).

В скобках приведены примеры языков программирования, в которых реализована соответствующая парадигма.

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

Процесс изучения и практического освоения программирования можно разделить на три части:

• изучение методов построения вычислительных алгоритмов;

• изучение языка программирования;

• изучение и практическое освоение определенной системы программирования.

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

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

 

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

Языки программирования делятся на две группы:

• машинно-ориентированные: Автокоды, Ассемблеры;

• языки программирования высокого уровня (ЯПВУ).

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

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

Важнейшим оператором является оператор присваивания. В ЯПВУ оператор присваивания записывается практически так же, как в алгоритмическом языке команда присваивания.

В ЯПВУ одним оператором представляются целые алгоритмические структуры: ветвление, цикл. Правда, такое есть не во всех языках (например, нет в стандартном Бейсике). Языки, в которых имеются структурные операторы, принято называть структурными языками. К их числу относятся Паскаль и Си.

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

Наиболее целесообразно для начального знакомства с языками программирования использовать язык Паскаль. Язык Паскаль был создан в 1971 г. Никлаусом Виртом как учебный язык. Основной принцип, заложенный в нем, — это поддержка структурной методики программирования. Этот же принцип лежит в основе учебного алгоритмического языка (АЯ). По сути дела, расхождение между АЯ и Паскалем состоит в следующем: АЯ — русскоязычный, Паскаль — англоязычный; синтаксис Паскаля определен строго и однозначно в отличие от сравнительно свободного синтаксиса АЯ.

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

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

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

1) сначала рассматриваются всевозможные алгоритмы, для описания которых используются блок-схемы и АЯ, а затем — правила языка программирования, способы перевода уже построенных алгоритмов в программу на этом языке;

2) алгоритмизация и язык программирования осваиваются параллельно.

В учебнике [15] используется первый подход, в учебниках [6, 12] использован второй подход. В курсе А.Г.Кушниренко [14] учебный алгоритмический язык доведен до уровня языка программирования, реализованного в системе КуМир. В этом случае алгоритмизация и программирование осуществляются в единой языковой среде.

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

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

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

• линейные алгоритмы: вычисления по формулам, всевозможные пересылки значений переменных;

• ветвящиеся алгоритмы: поиск наибольшего или наименьшего значений из нескольких данных; сортировка двух-трех значений; диалог с ветвлениями;

• циклические алгоритмы: вычисление сумм и произведений числовых последовательностей, циклический ввод данных с последовательной обработкой.

Такая последовательность задач рассматривается в учебнике [6] и предлагается в списке заданий для самостоятельного выполнения.




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 1699; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.