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