на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Методика преподавания языков программирования... - (реферат)
p>Огромное количество новых языков программирования стало по являться в 60-х, 70-х годах. За всю историю ЭВМ их было создано более тысячи. Однако распространились и выдержали испытание вре менем немногие.

В 1965 году появились два новых важных языка. Профессорами университета в городе Дартмуне Т. Куртцем и Д. Кемени был разра ботан язык для обучения программированию, который являлся упро щенной версией Фортрана и получил название Бейсик (Beginner's All-purpose Simbolic Instruction Code, т. е. многоцелевой код сим волических команд для начинающих). Бейсик предоставляет разнооб разные средства для диалога: пользователь имеет возможность "об щаться" с Бейсик-программой во время ее выполнения. Программа мо жет "попросить" пользователя ввести данные, проверить их, осу ществить выбор и т. д. Наибольшее признание Бейсик получил с появ лением микроЭВМ начиная с 1975 года. Сейчас Бейсик со всеми его реализациями вполне можно назвать наиболее известным и широко распространенным языком высокого уровня.

Вторым языком, появившемся в 1965 году, был ПЛ/1 (Program ming Language 1, т. е язык программирования 1). ПЛ/1 был разрабо тан при содействии фирмы IBM. При этом преследовалась цель соз дать язык, сочетающий в себе лучшие свойства Алгола, Кобола и Фортрана. ПЛ/1 действительно подходит для решения широкого круга задач и является более гибким по сравнению с Алголом, Коболом и Фортраном. При появлении языка ПЛ/1 предсказывали, что он станет основным языком и в конечном итоге заменит своих предшественни ков. Однако этого не произошло. Главная причина по-видимому свя зана с тем, что некоторые пользователи Кобола и Фортрана не ощу тили тех преимуществ языка ПЛ/1, которые оправдали бы переход к нему. Другая причина связана с "размерами" языка. Большое коли чество средств и разнообразие операторов ПЛ/1 привели к тому, что он оказался довольно сложным в изучении.

В 1971 году профессор Н. Вирт из Технического университета в Цюрихе разработал новый язык, известный под названием "Паскаль" (в честь хорошо известного математика 17-го века Блеза Паскаля). Язык паскаль основан на Алголе, но содержит ряд усовершенствова ний. Первоначально он создавался как учебный язык, в нем аккурат но соблюдена структурная линия программирования. Наибольший успех и распространение языку Паскаль принесли первые персональные компьютеры. Фирма Borland Internetional Inc (США) разработала систему Турбо - Паскаль для ПК. Турбо - Паскаль - это не только язык и транслятор с него, но еще и операционная оболочка, позво ляющая пользователю удобно работать на Паскале. Турбо - Паскаль вышел за рамки учебного предназначения и стал языком профессио нального программирования с универсальными возможностями. В силу своих достоинств Паскаль послужил источником для создания многих основных современных языков программирования, таких как Ада, Си, Модула-2 и др.

Язык Си первоначально был разработан для мини - ЭВМ исполь зующих операционную систему UNIX. Он является относительно прос тым языком, в нем нет операций над символьными строками и списка ми, но, в отличии от Паскаля, в нем заложены возможности непос редственного обращения к некоторым машинным командам, к опреде ленным участкам памяти компьютера. Си широко используется как инструментальный язык для разработки операционных систем, транс ляторов, баз данных т других системных и прикладных программ. В 1965 году появился язык программирования Лисп (LISt Pro cessing, т. е. обработка списков). Он служит для обработки строк и рекурсивных данных. Лисп располагает также средствами для выпол нения арифметических и логических операций. Он находит широкое применение в исследованиях по созданию искусственного интеллекта. В настоящее время существует большое количество языков высо кого уровня, и каждый год появляются новые языки (хотя немногие из них действительно реализованы и в какой-то степени используют ся).

В современной информатике можно выделить два основных нап равления развития языков программирования: процедурное и непроце дурное (рис. 1. ).

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

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

Среди процедурных языков можно выделить в свою очередь структурные и операционные языки. В структурных языках одним опе ратором записываются целые алгоритмические структуры: ветвления, циклы. В операционных языках для этого используются несколько операций. Широко распространены структурные языки: Паскаль, Си, Ада, ПЛ/1. Операционные: Фортран, Бейсик, Фокал.

Непроцедрное (декларативное) программирование появилось в начале 70-х годов, но стремительное его развитие началось в 80-е годы, когда был разработан японский проект создания ЭВМ пятого поколения, целью которого явилась подготовка почвы для создания интеллектуальных машин. К непроцедурному программированию отно сятся функциональные и логические языки.

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

Наиболее распространенными среди функциональных языков явля ются Лисп и Рефал. Лисп - язык обработки списков давно и активно применяется в системах искусственного интелекта. Рефал, построен ный на алгоритмах Маркова, удобен для обработки текстов и единс твенный из распространенных в мире языков программирования, раз работанный в нашей стране.

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

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

В логической традиции программа вообще не описывает дейс твий. Она задает данные и соотношения между ними. После этого можно задавать вопросы. Машина перебирает известные (заданные в программе) данные и находит ответ на вопрос. Порядок перебора не описывается в программе, а неявно задается самим языком. Класси ческим языком логического программирования считается Пролог, хотя он и содержит некоторые средства управления перебором, т. е. про цедурные элементы. Построение логической программы вообще не тре бует алгоритмического мышления. Здесь нет динамики, нет описания действий, программа описывает статические отношения объектов, а динамика находится в механизме перебора и скрыта от программиста. Можно выделить еще один класс языков программирования - объ ектноориентированные языки сверхвысокого уровня. На таких языках не описывают подробной последовательности действий для решения задачи, хотя они содержат элементы процедурного программирова ния.

Объектноориентированные языки, благодаря богатому пользова тельскому интерфейсу, предлагают человеку решить задачу в удобной для него форме. Примером такого языка может служить язык програм мирования визуального общения Smalltak. Трудно провести четкую

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

     22. 2.  0  2ВЫБОР ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ
     2ДЛЯ УЧЕБНОГО ПРОЦЕССА

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

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

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

1) преподавание программирования как теоретической дисципли ны вообще, без освоения конкретных языков и систем;

2) преподавание на основе специально разработанного языка, ориентированного на обучение основным навыкам программи

    рования;

3) изучение одного или нескольких языков программирования, широко используемых при решении научных и хозяйственных

    задач (такие языки можно назвать стандартными).

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

как с отказом от языка программирования не только теряется воз можность использовать соответствующий инструментарий, но и зачас тую становится трудно обосновать необходимость его использования. Второй подход часто используется при преподавании основ программирования в младших классах средней школы. Разработаны и специализированные языки для этих целей. В их числе можно назвать Школьник, Рапира (СССР), SMR (Великобритания), LOGO (США). Они предельно упрощены и рассчитаны на возможности младшего школьника в области программирования. Такой подход хорош при углубленном изучении информатики в специализированных классах при начальном этапе обучения.

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

Наиболее приемлемым для общеобразовательной школы, где курс информатики преподается в 8-х - 9-х классах, является сочетание первого и третьего подходов - обучение теоретическим основам программирования на базе стандартного языка. При этом не обяза тельно вдаваться в глубины языка. Учащиеся, которых он заинтере сует, могут сделать это и сами. Наибольшее внимание следует уде лить переходу от алгоритмических структур к их программно реали зации на языке программирования.

Здесь стоит отметить, что Бейсик и Паскаль первоначально создавались как учебные языки, но со временем получили широкое

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

     2ВЫВОДЫ ПО РАЗДЕЛУ

Из существующих технологий программирования наиболее попу лярной и широко используемой является технология структурного программирования "сверху - вниз". Ее достоинством является то, что она позволяет сформировать у обучаемых алгоритмичесий стиль мышления, необходимый при изучении практически всего курса инфор матики. Следовательно, выбирая язык программирования для школьно го курса, нужно ориентироваться на один из структурных языков. Желательно, чтобы этим языком был Бейсик или Паскаль, так как они первоначально создавались для учебных целей.

     23. ОСОБЕННОСТИ МЕТОДИЧЕСКОГО ОБЕСПЕЧЕНИЯ
     2СТРУКТУРНОГО ПРОГРАММИРОВАНИЯ 0  2В ВУЗе И БАЗОВОЙ ШКОЛЕ
     23. 1. ПРИНЦИПЫ СТРУКТУРНОЙ АЛГОРИТМИЗАЦИИ

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

    Структурная алгоритмизация основывается на двух принципах:
    1) последовательная детализация "сверху - вниз";

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

Из принципов вытекают требования структурного программирования: 1) программа должна составляться мелкими шагами; таким об

    разом, сложная задача разбивается на достаточно простые,
    легко воспринимаемые части;

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

Базовый набор структурной алгоритмизации содержит линейные, разветвляющиеся и циклические структуры.

Страницы: 1, 2, 3, 4, 5



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.