Методика преподавания решения задач по программированию
Методика преподавания решения задач по программированиюОсновные подходы к программированиюЯзыки высокого уровня делятся на процедурные (алгоритмические) (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов; для решения задачи процедурные языки требуют в той или иной форме явно выписать процедуру ее решения; логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания; объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта, сочетающее в себе данные и действия над ними. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути, описывает часть мира, относящуюся к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур. Принцип структурного программированияСтруктурное программирование – методология разработки ПО. Предложена в 70-х годах двадцатого века, разработана и дополнена Н. Виртом. В соответствии с данной методологией разработки ПО: Вводится следующий порядок выполнения программы:  последовательное исполнение – однократное выполнение операций в том порядке, в котором они записаны в тексте программы; ветвление – однократное выполнение одной из двух и более операций, в зависимости от условия; цикл – многократное выполнение одной и той же операции до тех пор пока выполняется некоторое заданное условие (условие продолжения цикла).  Повторяющиеся фрагменты программы(или фрагменты, представляющие собой логически целостные блоки) оформляются в виде подпрограмм (процедур или функций). В этом случае, в тексте основной программы, вместо помещённого в подпрограмму фрагмента вставляется инструкция вызова подпрограммы. Инструкция вызова запускает выполнение заданная подпрограмма, после окончания которой исполнение программы продолжается с инструкции, следующей за командой вызова. Разработка программы ведётся пошагово, методом „сверху вниз“. Системы программированияСистемы программирования - это комплекс инструментальных программных средств, предназначенный для работы с программами на одном из языков программирования. Системы программирования предоставляют сервисные возможности программистам для разработки их собственных компьютерных программ.Бейсик (Basic) – для освоения требует начальной подготовки (общеобраз-я шк.) Microsoft Visual BasicПаскаль (Pascal) – требует специальной подготовки Borland DelphiПаскаль (Pascal) – требует специальной подготовки Microsoft Visual С++Ява (Java) требует серьезной подготовки Java: Borland JBuilderТипы решаемых задач- Программы с простейшей структурой  - Использование управляющих конструкций  - Использование функций  - Массивы и указатели - Обработка символьной информацииТребования к знаниям и умениям учащихсяУчащиеся должны знать: • что такое алгоритм; какова роль алгоритма в системах управ­ления; • в чем состоят основные свойства алгоритма; • способы записи алгоритмов: блок-схемы, учебный алгорит­мический язык; • основные алгоритмические конструкции: следование, ветв­ление, цикл; структуры алгоритмов; • назначение вспомогательных алгоритмов; технологии пост­роения сложных алгоритмов: метод последовательной детализа­ции и сборочный (библиотечный) метод; • основные свойства величин в алгоритмах обработки инфор­мации: что такое имя, тип, значение величины; смысл присваи­вания; • назначение языков программирования; •*в чем различие между языками программирования высокого уровня и машинно-ориентированными языками; • правила представления данных на одном из языков програм­мирования высокого уровня (например, на Паскале); • правила записи основных операторов: ввода, вывода, при­сваивания, цикла, ветвления; • правила записи программы; • *что такое трансляция; • назначение систем программирования; • содержание этапов разработки программы: алгоритмизация - кодирование - отладка - тестирование. Учащиеся должны уметь: • пользоваться языком блок-схем, понимать описания алгорит­мов на учебном алгоритмическом языке; • выполнять трассировку алгоритма для известного исполнителя; • составлять несложные линейные, ветвящиеся и циклические алгоритмы управления одним из учебных исполнителей; • выделять подзадачи; определять и использовать вспомогатель­ные алгоритмы; • составлять несложные программы решения вычислительных задач с целыми числами; • программировать простой диалог; • работать в среде одной из систем программирования (напри­мер, Турбо Паскаль); • осуществлять отладку и тестирование программы. 
Балахнина Екатерина Владимировна