Этапы решения задач на компьютере.


Қазақстан Республикасы Білім және Ғылым министрлігі ЖАМБЫЛ ОБЛЫСЫ Т.РЫСҚҰЛОВ АУДАНЫ
Ақтоған орта мектебі
Аудандық семинар

тақырыбы:

Алгоритмика
Информатика пәнінің мұғалімі:
Айтбаев Серик Шакенович

АлгоритмикаУрок-1. Этапы решения задач на компьютере.Урок-2. Понятие и свойства алгоритма. Примеры алгоритмов в жизни.Урок-3. Способы записи алгоритмов. Понятие о блок-схемах.Урок-4. Разветвляющиеся алгоритмы.Урок-5. Условия выбора действий в разветвляющихся алгоритмах.Практикум-1. Ветвление в алгоритмах. Ирга «Ежиные тропы».Урок-6. Циклические конструкции в алгоритмах. Примеры применения конструкции с возвратом.Практикум-2. Модели циклических алгоритмов.Урок-7. Анализ работы алгоритмов. Анализ правильности алгоритмов.Урок-8. Моделирование и формализация.Практикум-3. Программа «Черепашка».Урок-9. Обзор языков программирования.
Алгоритмика. Этапы решения задач на компьютере.
Урок 1.
Для успешного решения любой задачи нужно четко определить последовательность действий. Тому, как это лучше сделать в применении к вычислительной технике, и посвящен данный курс.
Изначально компьютеры были созданы для арифметических вычислений и, собственно говоря, только и умели, что быстро считать. Но сегодня ЭВМ также применяются для изучения явлений природы, управления технологическими процессами, в кино, на телевидении, в печати и т.д. На этом уроке мы поговорим о том, как можно использовать компьютер для решения различных, не только расчетных, задач, каковы основные этапы решения задачи с помощью компьютера.

Урок 2.
Решение задач в любой сфере деятельности – это всегда получение определенных результатов. А процесс получения результатов опирается на некоторый способ действий и предполагает использование определенных средств. Одним из новейших средств решения различных задач становятся современные компьютеры – универсальные устройства обработки и накопления данных.
Универсальность компьютеров состоит в том, что они могут обрабатывать любые данные и решать задачи в любой предметной области.
Решение задачи на компьютере происходит в несколько этапов.
1-й этап – постановка задачи. На данном этапе строится описательная информационная модель объекта или процесса. (Подробнее о моделировании мы поговорим на одном из последующих уроков.)
Поиск решения любой задачи начинается с анализа ее условий. Результатом анализа должна стать четкая постановка задачи, в которой должны быть ответы на четыре вопроса:
Что дано?
Что требуется?
Какие данные допустимы?
Какие результаты будут правильными, а какие нет?

Урок 3.
На слайде представлен процесс решения задачи на конкретном примере.
Сначала условие формулируется на обычном языке.
Затем производится точная постановка задачи.
Далее следует собственно решение задачи.

Урок 4.
А теперь – вопрос. Чтобы сравнить свой ответ с правильным, нажмите кнопку "Ответ".


Урок 5.
2-й этап – разработка математической модели.
Правильность результатов решения задачи с помощью компьютера зависит, прежде всего, от правильности выбранного метода решения.
Метод решения является правильным, если для любых допустимых исходных данных он приводит к получению результатов, соответствующих постановке задачи.
Для решения задач с помощью компьютера соответствующим методам необходимо дать математическую интерпретацию. Как правило, строится математическая модель задачи. Создавая математическую модель, нужно записать математические соотношения (формулы, уравнения, неравенства и т.д.), связывающие результаты с исходными данными.

Практикум-1
Ветвление в алгоритмах. Игра "Ежиные тропы"
Перед вами игра "Ежиные тропы", которая поможет на действующей модели освоить условно-логический оператор.
Цель игры – так настраивать условные операторы в блок-схеме алгоритма, чтобы ежики собирали как можно больше яблок.
В каждой попытке вам дается четыре яблока и четыре ежика. Каждый ежик имеет свой порядковый номер: 1, 2, 3 и 4 (этот номер мигает рядом с ежиком). Потрясите дерево, и упадут четыре яблока, каждое из которых, ударившись о землю, случайным образом расположится напротив одного из выходов блок-схемы (четыре синие стрелки). По команде "Собрать яблоки" ежики проходят по стрелкам по блок-схеме в соответствии с тем, истинное или ложное утверждение содержат условные блоки (очередной ежик побежит от условного блока по ветке "Да" или по ветке "Нет" соответственно). Но прежде чем нажать кнопку "Собрать яблоки", подумайте, какие цифры и какие знаки сравнения надо расставить в блоках условия, чтобы ежики собрали все яблоки (когда ежики побегут, вносить изменения вы уже не сможете). Если вам требуется заменить цифру – наведите курсор на поле с цифрой, которую вы хотите заменить, щелкните левой кнопкой мыши и нажмите на клавиатуре кнопку с соответствующей цифрой. Если нужно заменить знак сравнения – наведите на него курсор и щелкните левой кнопкой мыши; появится выпадающее меню с набором знаков сравнения; выберите необходимый знак, наведя на него курсор и щелкнув левой кнопкой мыши. Если условия приводят ежика к яблоку, ежик забирает его. Каждый ежик может унести только одно яблоко. Если условия приводят ежика к пустому месту, он убегает без яблока. Несобранные яблоки пропадают. После того как ежики убегают с экрана, можно позвать еще четырех ежиков, опять потрясти яблоню и заново настроить условные блоки. Результаты суммируются и отображаются в верхнем правом углу.
Ваша задача состоит в том, чтобы количество пробежавших ежей всегда совпадало с числом собранных яблок. Число ошибок, совершенных вами, есть разность между количеством пробежавших ежиков и количеством собранных яблок.



Урок 6.
Вернемся к задаче о полете тела. Рассмотрим ее математическую модель. Тело движется равномерно по горизонтали и равноускоренно по вертикали.

Практикум-2
Модели циклических алгоритмов
В этом практикуме вы познакомитесь с организацией циклических структур в алгоритмах.
Вы рассмотрите четыре модели, демонстрирующие работу циклических алгоритмов. Во всех моделях исполнителем является ежик, который определенным способом переносит фрукты (для каждой модели по-своему – подробнее смотрите в ее описании), двигаясь по стрелкам блок-схемы, соответствующей рассматриваемому алгоритму. В каждой модели в блоке ввода (самого верхнего блока в блок-схеме) можно задавать входные параметры. Для изменения значения входного параметра наведите курсор на поле с цифрой в блоке ввода, щелкните левой кнопкой мыши и нажмите на клавиатуре клавишу с нужной цифрой. При изменении входного параметра сразу же изменяется количество фруктов, которое равно значению этого параметра. При неверном вводе в правом верхнем углу появится соответствующее сообщение. Изменять входной параметр можно только тогда, когда ежик находится прямо над блоком ввода. Во время его движения вы уже не сможете изменять входные параметры.
Чтобы выбрать модель, работу которой вы хотите исследовать, наведите курсор на одно из яблок в верхнем левом углу и щелкните левой кнопкой мыши. Цифра на яблоке означает номер выбираемой вами модели. Выбрать модель можно в любой момент демонстрации.
Модель 1
На этой модели вы можете исследовать работу простого цикла.
В качестве исходных данных в блоке ввода задается количество повторений цикла (от 0 до 9).
В ходе одного повторения тела цикла ежик переносит одно яблоко. Перенесенные яблоки складываются в одну кучу.
Ежик выйдет из цикла, как только в теле цикла не останется ни одного яблока.
Модель 2
Данная модель – модель цикла с шагом.
В качестве исходных данных в блоке ввода задается количество яблок в теле цикла (параметр A, который может принимать значения от 0 до 9) и количество яблок, переносимых ежиком за одно повторение тела цикла (параметр B, который может принимать значения от 0 до 9).
Перенесенные яблоки складываются в ряды по B яблок. Количество рядов равно количеству повторений тела цикла. В самом нижнем ряду может быть от одного до B яблок.
Ежик выйдет из цикла, как только в теле цикла не останется ни одного яблока.
Задание 2.1
Выполните цикл при A, кратном B (например, при A = 6, B = 3).
Задание 2.2
Выполните цикл при A, не кратном B (например, при A = 4, B = 3). Обратите внимание, что в последнем ряду количество яблок меньше, чем B.
Задание 2.3
Выполните цикл при A = 0 и любом B. Ежик ни разу не пройдет тело цикла.
Задание 2.4
Выполните цикл при ненулевомA и B = 0. Ежик без вашей помощи никогда не сможет выйти из цикла, и справа сверху появится соответствующее сообщение.
Модель 3
В качестве счетчика цикла в двух предыдущих моделях вводилось число, из которого в теле цикла вычиталась единица. Когда счетчик цикла становился равным нулю, цикл прекращался.
На данной модели вы видите цикл, имеющий сразу два счетчика и два условия выхода, объединенных условием "Логическое И". Это означает, что цикл прервется только в том случае, когда выполняются сразу оба условия прерывания цикла.
В качестве исходных данных в блоке ввода задается количество яблок (параметр A, который может принимать значения от 0 до 9) и количество груш (параметр B, который может принимать значения от 0 до 9) в теле цикла; введенные числа являются счетчиками для соответствующих условий выхода.
Ежик переносит в теле цикла по одному яблоку и одной груше. Если яблок (груш) не осталось, но еще есть груши (яблоки), то вместо яблок (груш) переносится листочек. Справа от блока с фруктами отображаются значения исходных параметров, измененных прохождениями тела цикла.
Фрукты складываются в два ряда: верхний ряд – яблоки, нижний – груши. Ежик выйдет из цикла, как только в теле цикла не останется ни одного яблока и ни одной груши.
Задание 3.1
Поэкспериментируйте с количеством груш и яблок. Введите A. Затем B. Обратите внимание на то, что пока есть хотя бы один из фруктов в теле цикла, ежик не покидает цикл.
Модель 4
На данной модели вы видите цикл, имеющий два счетчика и два условия выхода, объединенных условием "Логическое ИЛИ". Это означает, что цикл прервется только в том случае, когда выполняются сразу оба условия прерывания цикла.
В качестве исходных данных в блоке ввода задается количество яблок (параметр A, который может принимать значения от 0 до 9) и количество груш (параметр B, который может принимать значения от 0 до 9) в теле цикла, которые являются счетчиками для соответствующих условий выхода.Ежик переносит в теле цикла по одному яблоку и одной груше. Справа от блока с фруктами отображаются значения исходных параметров, измененных прохождениями тела цикла.
Фрукты складываются в два ряда: верхний ряд – яблоки, нижний – груши. Ежик выйдет из цикла, как только в теле цикла не останется ни одного яблока или ни одной груши.
Задание 4.1
Поэкспериментируйте с количеством груш и яблок. Введите A < B. Затем A > B. Обратите внимание на то, что, как только в теле цикла не останется ни одного яблока или ни одной груши, ежик покидает цикл.
Попробуйте самостоятельно сформулировать то, что вы узнали в ходе практикума:
1.      Какую структуру называют циклической?
2.      Что такое "логическое И"?
3.      Что такое "логическое ИЛИ"?
Урок 7.
Переходим к 3-му этапу. На основе математической модели конструируется алгоритм. О понятии алгоритма и его свойствах, о типах алгоритмов и способах их конструирования мы поговорим на следующих уроках, а здесь данный этап выполним для нашей задачи без подробных объяснений.

Урок 8.
Дальнейшее исследование информационной модели, записанной в форме алгоритма, можно проводить на компьютере различными способами.
Можно закодировать алгоритм на языке программирования или воспользоваться специальным программным приложением. Итак, 4-й этап – перевод алгоритма в программу.

Урок 9.
5-й этап решения задачи состоит в проведении компьютерного эксперимента. Если мы исследуем информационную модель в виде программы в какой-либо среде программирования, то к этому этапу относятся:
запуск выбранной среды программирования;
набор текста программы;
сохранение этого текста на диске;
запуск программы на выполнение.
Причем необходимо запускать программу на выполнение многократно – при различных значениях начальных условий.
Можно воспользоваться и готовыми программными средствами. Так, например, если информационная модель исследуется в электронных таблицах, то различные числовые данные вводятся в соответствующие ячейки.


Урок 10.
6-й этап состоит в анализе получаемых результатов и корректировке исследуемой модели. В нашем случае очевидно, что, во-первых, целесообразно получить значение координат для последовательности моментов времени и, во-вторых, не имеет физического смысла вычисление координат тела после его падения на поверхность Земли.

Урок 11.
На этом занятии мы познакомились с основными этапами решения задач с помощью компьютера.