Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

GOSY / 4 блок-все

.pdf
Скачиваний:
33
Добавлен:
09.05.2015
Размер:
1.05 Mб
Скачать

в СКИ. Это требование к алгоритму называется свойством понятности.

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

– повара по приготовлению блюда. Но если одним из пунктов в нем будет написано: «Положить несколько ложек сахара», то это пример неточной команды. Сколько ложек? Каких ложек (чайных, столовых)?

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

Поэтому свойство конечности называют еще

результативностью алгоритма.

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

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

Массовость. Это свойство показывает, что один и тот же алгоритм можно использовать с разными исходными данными.

141

Результативность. Это свойство требует, чтобы в алгоритме не было ошибок.

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

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

Начало алг-ма

начало

Конец алг-ма

Конец

Арифметическое действие или группа действий

Выбор действия в зависимости от истинности или

ложности; в программе соотв.

Операторам условного перехода и конструкциям цикла while и Repeat.

Повторение действий заданное кол-во раз;

в программе соответствует конструкции цикла FOR.

КЦ

ввод значений переменных с клавиатуры вывод значений переменных и текста на экран

направление вычисления сверху вниз или слева

направо направление вычисления снизу вверх и справа налево

точка разрыва в схеме

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

142

Линейный алгоритм не содержит логических условий и им одну ветвь вычислений

начало

Ввод a,b,c

S:=a+b

S:= S+c

Вывод S

конец

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

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

143

Составить алгоритм и написать программу, которая выводят y=x2 в диапазоне от -10 до 10, с шагом 0,5.

Наиболее полно тема раскрывается в учебнике Шауцуковой Л. З.

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

Это позволяет нам положить изучение данной темы 19 часов

в8-9 классах (по стандарту). Для 10-11 классов данная тема рассматривается в отдельных вопросах.

Вданном учебнике дано следующее определение алгоритма

– заранее заданное понятное и точное предписание возможному исполнителю совершить определенную

144

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

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

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

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

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

1. выполнить роль исполнителя: дан алгоритм, формально исполнить его; 2. определить исполнителя и систему команд для данного вида работы;

3. в рамках данной системы команд построить алгоритм; 4. определить необходимый набор исходных

данных для решения задачи.

145

Требования к знаниям и умениям учащихся по линии алгоритмизации и программирования

Учащиеся должны знать:

Что такое алгоритм; какова роль алгоритма в системах управления;

В чем состоят основные свойства алгоритмов;

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

Основные алгоритмические конструкции: следование, ветвление, цикл, структуры алгоритмов;

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

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

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

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

Правила записи основных операторов: ввода, вывода. Присваивания, цикла, ветвления;

Правила записи программы;

Назначение систем программирования;

Содержание этапов разработки программы: алгоритмизация – кодирование – отладка – тестирование. Учащиеся должны уметь:

Пользоваться языком блок – схем, понимать описания алгоритмов на учебном алгоритмическом языке;

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

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

146

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

Составлять несложные программы решения вычислительных задач с целыми числами;

Программировать простой диалог.

147

148

76. Методика преподавания решения задач по программированию.

Основные подходы к программированию

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

процедурные (алгоритмические) (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов; для решения задачи процедурные языки требуют в той или иной форме явно выписать процедуру ее решения;

логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;

объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта,

сочетающее в себе данные и действия над ними.

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

Принцип структурного программирования

Структурное программирование – методология разработки ПО. Предложена в 70-х годах двадцатого века, разработана и дополнена Н. Виртом. В соответствии с данной методологией разработки ПО:

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

последовательное исполнение – однократное выполнение операций в том порядке, в котором они записаны в тексте программы;

ветвление – однократное выполнение одной из двух и более операций, в зависимости от условия;

149

• цикл – многократное выполнение одной и той же операции до тех пор пока выполняется некоторое заданное условие (условие продолжения цикла).

2.Повторяющиеся фрагменты программы(или фрагменты, представляющие собой логически целостные блоки) оформляются в виде подпрограмм (процедур или функций).

Вэтом случае, в тексте основной программы, вместо помещённого в подпрограмму фрагмента вставляется инструкция вызова подпрограммы. Инструкция вызова запускает выполнение заданная подпрограмма, после окончания которой исполнение программы продолжается с инструкции, следующей за командой вызова.

3.Разработка программы ведётся пошагово, методом „сверху вниз“.

Системы программирования

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

Бейсик (Basic) – для освоения требует начальной подготовки (общеобраз-я шк.) Microsoft Visual Basic Паскаль (Pascal) – требует специальной подготовки

Borland Delphi

Паскаль (Pascal) – требует специальной подготовки

Microsoft Visual С++

Ява (Java) требует серьезной подготовки Java: Borland JBuilder

Типы решаемых задач

-Программы с простейшей структурой

-Использование управляющих конструкций

-Использование функций

-Массивы и указатели

150

Соседние файлы в папке GOSY