Этапы решения задач с использованием компьютера
Процесс решения задач на компьютере – это совместная деятельность человека и ЭВМ. Этот процесс можно представить в виде нескольких последовательных этапов. На долю человека приходятся этапы, связанные с творческой деятельностью — постановкой, алгоритмизацией, программированием задач и анализом результатов, а на долю компьютера – этапы обработки информации в соответствии с разработанным алгоритмом.
Рассмотрим эти этапы на следующем примере: пусть требуется вычислить сумму двух целых чисел и вывести на экран видеомонитора результат.
Первый этап – постановка задачи. На этом этапе участвует человек, хорошо представляющий предметную область задачи. Он должен четко определить цель задачи, дать словесное описание содержания задачи и предложить подход к ее решению. Для задачи вычисления суммы двух целых чисел человек, знающий, как складываются числа, может описать задачу следующим образом: ввести два целых числа, сложить их и вывести сумму в качестве результата решения задачи.
Второй этап – математическое или информационное моделирование. Цель этого этапа – создать такую математическую модель решаемой задачи, которая может быть реализована в компьютере. Существует целый ряд задач, где математическая постановка сводится к простому перечислению формул и логических условий. Этот этап тесно связан с первым этапом, и его можно отдельно не рассматривать, однако возможно, что для полученной модели известны несколько методов решения, и тогда предстоит выбрать лучший. Для вышеописанной задачи данный этап сводится к следующему: введенные в компьютер числа запомним в памяти под именами А и В, затем вычислим значение суммы этих чисел по формуле А+В, и результат запомним в памяти под именем Summa.
Третий этап – алгоритмизация задачи. На основе математического описания необходимо разработать алгоритм решения.
Алгоритмом называется точное предписание, определяющее последовательность действий исполнителя, направленных на решение поставленной задачи. В роли исполнителей алгоритмов могут выступать люди, роботы, компьютеры.
Используются различные способы записи алгоритмов. Широко распространен словесный способ записи: это записи рецептов приготовления различных блюд в кулинарной книге, инструкции по использованию технических устройств, правила правописания и многие другие. Наглядно представляется алгоритм языком блок-схем.
Например, алгоритм решения задачи вычисления суммы двух целых чисел на языке блок-схем будет записан, как показано на рис. 1.
Свойства алгоритма. При составлении и записи алгоритма необходимо обеспечить, чтобы он обладал рядом свойств.
Однозначность алгоритма, под которой понимается единственность толкования исполнителем правил выполнения действий и порядка их выполнения. Чтобы алгоритм обладал этим свойством, он должен быть записан командами из системы команд исполнителя.
Для нашего примера исполнитель алгоритма должен понимать такую запись действий, как сложить числа А и В.
Конечность алгоритма – обязательность завершения каждого из действий, составляющих алгоритм, и завершаемость выполнения алгоритма в целом. Записанный на рис.1 алгоритм обладает этим свойством, так как запись действий исполнителя завершается записью об окончании алгоритма.
Результативность алгоритма, предполагающая, что выполнение алгоритма должно завершиться получением определенных результатов. Алгоритм в нашем примере обладает этим свойством, так как для целых чисел А и В всегда будет вычислена сумма.
Массовость, т.е. возможность применения данного алгоритма для решения целого класса задачи. Так как алгоритм, показанный на рис.1, позволяет правильно подсчитать сумму не только чисел 2 и 3, но любой другой пары целых чисел, он обладает свойством массовости. Для того чтобы алгоритм обладал свойством массовости, следует составлять алгоритм, используя обозначения величин и избегая конкретных значений.
Правильность алгоритма, под которой понимается способность алгоритма давать правильные результаты решения поставленных задач. Представленный в примере алгоритм обладает свойством правильности, так как в нем использована правильная форма сложения целых чисел, и для любой пары целых чисел результат выполнения алгоритма будет равен их сумме.
Четвертый этап – программирование. Программой называется план действий, подлежащих выполнению некоторым исполнителем, в качестве которого может выступать компьютер. Составление программы обеспечивает возможность выполнения алгоритма и соответственно поставленной задачи исполнителем-компьютером. Во многих задачах при программировании на алгоритмическом языке часто пользуются заменой блока алгоритма на один или несколько операторов, введением новых блоков, заменой одних блоков другими.
Пятый этап – ввод программы и исходных данных в ЭВМ. Программа и исходные данные вводятся в ЭВМ с клавиатуры с помощью редактора текстов, и для постоянного хранения осуществляется их запись на гибкий или жесткий магнитный диск.
Шестой этап – тестирование и отладка программы. На этом этапе происходят исполнение алгоритма с помощью ЭВМ, поиск и исключение ошибок. При этом программисту приходится выполнять рутинную работу по проверке работы программы, поиску и исключению ошибок, и поэтому для сложных программ этот этап часто требует гораздо больше времени и сил, чем написание первоначального текста программы.
Отладка программы – сложный и нестандартный процесс. Исходный план отладки заключается в том, чтобы оттестировать программу на контрольных примерах.
Контрольные примеры стремятся выбрать так, чтобы при работе с ними программа прошла все основные пути блок-схемы алгоритма, поскольку на каждом из путей могут быть свои ошибки, а детализация плана зависит от того, как поведет себя программа на этих примерах: на одном она может зациклится (т.е. бесконечно повторять одно и то же действие); на другом – дать явно неверный или бессмысленный результат и т.д. Сложные программы отлаживают отдельными фрагментами.
Для повышения качества выполнения этого этапа используются специальные программы – отладчики, которые позволяют исполнить программу «по шагам» с наблюдением за изменением значений переменных, выражений и других объектов программы, с отслеживанием выполняемых операторов.
Седьмой этап – исполнение отлаженной программы и анализ результатов. На этом этапе программист запускает программу и задает исходные данные, требуемые по условию задачи.
Полученные в результате решения выходные данные анализируются постановщиком задачи, и на основании этого анализа вырабатываются соответствующие решения, рекомендации, выводы. Например, если при решении задачи на компьютере результат сложения двух чисел 2 и 3 будет 4, то следует сделать вывод о том, что надо изменить алгоритм и программу.
Возможно, что по итогам анализа результатов потребуются пересмотр самого подхода к решению задачи и возврат к первому этапу для повторного выполнения всех этапов с учетом приобретенного опыта. Таким образом, в процессе создания программы некоторые этапы будут повторяться до тех пор, пока мы получим алгоритм и программу, удовлетворяющие показанным выше свойствам.
Основные этапы решения задач с использованием компьютера
©Reshak.ru — сборник решебников для учеников старших классов. Здесь можно найти решебники, ГДЗ, переводы текстов по школьной программе. Практически весь материал, собранный на сайте — авторский с подробными пояснениями профильными специалистами. Вы сможете скачать гдз, решебники, улучшить школьные оценки, повысить знания, получить намного больше свободного времени.
Главная задача сайта: помогать школьникам и родителям в решении домашнего задания. Кроме того, весь материал совершенствуется, добавляются новые сборники решений.
Подписи к слайдам:
Домашнее задание §2.1 с.62 упр.3-7
РЕШЕНИЕ ЗАДАЧ НА КОМПЬЮТЕРЕ АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
Ключевые слова постановка задачи формализация алгоритмизация программирование отладка и тестирование выполнение отчётов
Этапы решения задач на компьютере Исходные данные Словесная информационная модель Формализация Математическая модель Алгоритмизация Алгоритм Программирование Программа Отладка, тестирование Уточнение модели Этап Результат Выполнение расчётов Получение результата
Задача о пути торможения автомобиля Водитель автомобиля, движущегося с некоторой постоянной скоростью, увидев красный свет светофора, нажал на тормоз. После этого скорость автомобиля стала уменьшаться каждую секунду на 5 метров. Требуется найти расстояние, которое автомобиль пройдёт до полной остановки. Первый этап Дано: v 0x — начальная скорость; v x — конечная скорость (равна нулю); a x — ускорение (равно -5 м/с) Требуется найти: расстояние, которое пройдёт автомобиль до полной остановки.
Второй этап Задача о пути торможения автомобиля В данной ситуации мы имеем дело с прямолинейным равноускоренным движением тела. Формула для перемещения при этом имеет вид: Упростим эту формулу с учётом того, что конечная скорость равна нулю: При a x = — 5м/с получим:
Задача о пути торможения автомобиля Третий этап Представим алгоритм решения задачи в виде блок-схемы: Начало v 0 s Конец
Задача о пути торможения автомобиля Четвёртый этап Запишем данный алгоритм на языке программирования Паскаль: program n_1; var v0, s: real; begin write (‘Введите начальную скорость (м/с)> ‘); readln (v0); s:=v0*v0/10; writeln (‘До полной остановки автомобиль пройдет’, s:8:4,’ м.’) end.
Задача о пути торможения автомобиля Пятый этап Протестировать составленную программу можно, используя ту информацию, что при скорости 72 км/ч с начала торможения до полной остановки автомобиль проходит 40 метров. Выполнив программу несколько раз при различных исходных данных, можно сделать вывод: чем больше начальная скорость автомобиля, тем большее расстояние он пройдет с начала торможения до полной остановки. Шестой этап
Самое главное Этапы решения задачи с использованием компьютера: 1) постановка задачи; 2) формализация; 3) алгоритмизация; 4) программирование; 5) отладка и тестирование; 6) выполнение расчётов. Для решения задач на компьютере необходимо владеть языком программирования, обладать знаниями в области информационного моделирования и алгоритмизации.
S = где a и s вещественные
Опорный конспект Компьютер обладает огромным быстродействием и абсолютной исполнительностью. Он способен решать только ту задачу, программу решения которой ему подготовил человек. Исходные данные Формализация Алгоритмизация Программирование Отладка и тестирование Этапы решения задачи с использованием компьютера Выполнение расчётов
Вопросы и задания
1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Какими слайдами вы могли бы дополнить презентацию?
2. Перечислите основные этапы решения задачи с использованием компьютера.
3. Что происходит на этапе постановки задачи? Что является результатом этого этапа?
4. Что происходит на этапе формализации? Что является результатом этого этапа?
5. Что происходит на этапе алгоритмизации? Что является результатом этого этапа?
6. Что происходит на этапе программирования? Что является результатом этого этапа?
7. Что происходит на этапе компьютерного эксперимента? Что является результатом этого этапа?
8. Какой этап решения задачи на компьютере, по вашему мнению, является наиболее трудоёмким?
9. Как вы считаете, по силам ли одному специалисту реализация всех этапов решения сложной практической задачи? Обоснуйте свою точку зрения. Проведите аналогию между этапами решения задачи на компьютере и этапами разработки программного обеспечения. Обсудите эти вопросы в группе.
10. Как правило, сложные практические задачи решаются большими коллективами разработчиков. Отдельные группы в этих коллективах специализируются на выполнении одного или нескольких этапов решения задачи. Нужно ли в таком случае им иметь представление обо всех этапах решения задачи с использованием компьютера? Обоснуйте свою точку зрения.
11. Может ли пригодиться в жизни представление об этапах решения задачи с использованием компьютера? Обоснуйте свою точку зрения.
12. В аэробусе, вмещающем 160 пассажиров, три четверти мест находятся в салонах экономического класса и одна четверть мест — в салоне бизнес-класса. Стоимость билета в салоне бизнес-класса составляет х рублей, что в два раза выше стоимости билета в салонах экономического класса. Разработайте программу, которая вычислит сумму денег, полученную авиакомпанией от продажи билетов на этот рейс, если известно, что остались нераспроданными а билетов бизнес-класса и b билетов экономического класса. Выделите все этапы решения этой задачи и опишите свои действия на каждом из них.
13. Уличный продавец газет получает а рублей с продажи каждой из первых 50 газет. С продажи каждой из последующих газет он получает на 20% больше.
Разработайте программу, которая вычислит заработок продавца, если он продаст за день 200 газет. Зафиксируйте свои действия на каждом из этапов решения этой задачи.
Этапы решения задач на ЭВМ
Процесс решения любой задачи с использованием компьютера предполагает последовательное выполнение следующих этапов:
Формализация или постановка задачи.
Задачи, которые приходится решать людям, очень часто формулируются таким образом, что их решение невозможно предложить компьютеру. Предварительно необходимо переформулировать задачу, сделать ее постановку более четкой. Решение надо начинать с определения того, какие факторы существенны для задачи, а какими можно пренебречь. Процесс описания факторов с помощью параметров называется формализацией.
Четко сформулировать задачу – значит высказать те предположения, которые позволят в большом объеме информации об изучаемом явлении или объекте выбрать исходные данные, какие их значения допустимы, определить, что будет служить результатом, какие значения результатов возможны.
Построение математической модели. Частный случай информационной модели, который очень часто используют при решении задач на ЭВМ – математическая модель.
Математическая модель – описание объекта или процесса математическими формулами, связывающими их количественные параметры.
Создавая математическую модель задачи, нужно выделить предположения, на которых будет основана математическая модель, записать математические соотношения (формулы, уравнения, неравенства и так далее), связывающие результаты вычислений с исходными данными.
Разработка алгоритма .
Для разработки алгоритма необходимо продумать правила ввода данных в ЭВМ, форму предоставления информации людям, реакцию машины на вводимые команды и данные. Необходимо определить правила работы людей с ЭВМ. Создание алгоритмов учебных задач по программированию обычно должно учитывать диалог, который будет происходить между ЭВМ и человеком при выполнении программы. При решении задач с электронными таблицами и базами данных необходимо продумывать заголовки строк, столбцов, названия полей.
Часто используют метод пошаговой детализации, при котором задача разбивается на подзадачи, и конструируются алгоритмы для подзадач. Затем алгоритмы подзадач соединяются в алгоритм задачи.
Запись алгоритма выполняют словесным или графическим способом.
Написание программы.
Компьютерная модель – модель, реализованная средствами программной среды.
Любому шагу алгоритма нужно подобрать соответствующие команды языка программирования или инструменты соответствующего приложения (соответствующей программной среды).
Компьютерный эксперимент. (Запуск и отладка программы .)
Этап включает синтаксическую отладку, которая может выполняться многократно для исправления ошибок в программе, пока появляются сообщения о них, отладку семантики и логической структуры, тестовые расчеты и анализ результатов тестирования.
Синтаксические ошибки – нарушения правил записи команд.
Семантические – нарушения параметров команд.
Семантические и логические ошибки приводят к получению неправильных результатов, либо к зацикливанию программы, либо к аварийному ее завершению.
Тестовое задание – определенный набор исходных данных, для которого результат работы известен заранее. Тестирование помогает выявить ошибки, но не может гарантировать их отсутствие. При подборе тестов предусматривают: проверку основных частных случаев задачи: проверку граничных условий; проверку основных типов недопустимых данных.
Существуют определенные способы анализа правильности алгоритмов: линейных, содержащих ветвления, циклы, сложных алгоритмов.
Анализ результатов .
Проведя моделирование на ЭВМ, необходимо проанализировать результаты. Ведь сколько бы свойств не учитывалось, модель всегда основана на некотором упрощении, и трудно быть абсолютно уверенным, что модель соответствует реальной задаче. Такую уверенность можно обрести, лишь сопоставив результаты расчетов с экспериментальными фактами, теоретическими воззрениями и другой информацией об изучаемом объекте. При этом может возникнуть необходимость уточнить математическую модель, учесть еще какие-либо свойства объекта.
Рассмотрим решение с помощью компьютера следующей простейшей задачи :
Вычисление площади верхней поверхности стола, имеющей прямоугольную форму.
Выполним или выясним вид этапов для нее.
1. Что дано? Несущественно — деревянная, голубая.
Существенно — длина и ширина: А и В, которые являются действительными положительными числами.
Что найти? Площадь: S — действительное положительное число.
2. Отбрасывая несущественные отклонения формы стола от прямоугольника, запишем формулу: S=А*В.
3. Теперь следует продумать алгоритм. Можно записать его словесным способом:
Ввод исходных данных (А, В)
Если исходные данные не положительны, то вернуться к вводу
Вычисление результата (S)
Сообщение результата (S)
или начертить блок-схему:
4.Запишем программу, соответствующую выбранному алгоритму.
На этом этапе следует ввести программу в память ЭВМ.
5. Для пробного запуска программы нужно выполнить специальную команду. При этом на запрос «Введи две стороны?» вы будете набирать на клавиатуре какие-либо числа. Эти числа будут тестовым заданием. Увидев на экране монитора сообщение об ошибке, необходимо проверить строчку программы в памяти ЭВМ с указанным номером, исправить ошибку и еще раз запустить программу. Так поступают до выполнения программы без сообщений об ошибках.
Теперь обсудим, какие данные стоит использовать для тестовых заданий. Простой для устного счета случай, когда стороны равны единице. Результат также должен быть равен единице. Случаи граничных и недопустимых значений – нули и отрицательные стороны. Для таких данных результатом должно быть сообщение о неправильном вводе и предложение ввести стороны еще раз.
6. Если программа работает, но результаты нереальны, например площадь нулевая или отрицательная при вводе положительных сторон, нужно искать ошибки, начиная с постановки задачи. Возможно, вы использовали различные имена площади в математической модели и в разработанном диалоге или допустили какие-либо еще ошибки.
Если выяснится, что площадь необходимо высчитывать с большей точностью, также придется вернуться к постановке задачи и построению математической модели и использовать другой математический аппарат, например интегральное исчисление.
Электронное приложение к уроку
Презентация «Программирование как этап решения задачи на компьютере» (Open Document Format)
Ссылки на ресурсы ЕК ЦОР
- демонстрация «Этапы решения расчетных задач» (125855)
http://school-collection.edu.ru/catalog/res/59b634ac-095e-419e-a7f3-1de2e5b6fc15/?from=a30a9550-6a62-11da-8cd6-0800200c9a66&interface=catalog - демонстрация «Назначение и средства программирования» (126138)
http://school-collection.edu.ru/catalog/res/91545cb9-27bf-4b1a-882e-825c28eff4fa/?from=a30a9550-6a62-11da-8cd6-0800200c9a66&interface=catalog
Презентации, плакаты, текстовые файлы | Вернуться к материалам урока | Ресурсы ЭОР |
Cкачать материалы урока