Пример поэтапной разработки программы решения задачи
Постановка задачи и формализация
Словом «задача» называют проблему, которая требует решения. Решение задачи начинается с ее постановки. На этапе постановки задачи в терминах предметной области (физики, экономики, биологии и др.) определяются исходные данные и результаты, которые надо получить.
Следующий этап — формализация задачи. Чаще всего процесс формализации означает перевод задачи на язык математики: формул, уравнений, неравенств, систем уравнений, систем неравенств и т. п.
Подробнее о формализации будет рассказано в разделе, посвященном информационному моделированию (в 11 классе). Некоторые представления об этом вы уже имеете из курса информатики для 7-9 классов.
Решение полученной математической задачи требует знания математики, умения выполнять анализ математической задачи. Такой анализ необходим для того, чтобы построить правильный алгоритм решения, обладающий всеми свойствами алгоритма.
Как Решать Задачи По Программированию?
Анализ математической задачи
Пусть в результате формализации некоторой задачи было получено квадратное уравнение: ах 2 + bх + с = 0, где коэффициенты а, b, с являются исходными данными. Требуется решить это уравнение, т. е. найти его корни. Проведем анализ этой математической задачи.
Рассмотрим различные варианты значений исходных данных, которые приводят к разным результатам для решающего ее алгоритма. Ограничимся только поиском вещественных корней уравнения.
Проанализируем все возможные варианты множества значений коэффициентов а, b, с:
Построение алгоритма
Построим блок-схему алгоритма решения квадратного уравнения (рис. 3.15), учитывающего все ситуации, описанные в анализе задачи. Здесь вместо слов «да» и «нет» использованы знаки « + » и « — ».
Построенный алгоритм, несомненно, удовлетворяет свойству универсальности по отношению к исходным данным. Запишем этот же алгоритм на учебном Алгоритмическом языке.
Обратите внимание на смещения строк в тексте алгоритма — соблюдается принцип структуризации внешнего вида («Программирование линейных алгоритмов»). Повторим его: запись всякой вложенной структуры должна быть смещена на несколько позиций вправо относительно записи внешней структуры, а конструкции одного уровня вложенности записываются на одном вертикальном уровне.
Программирование
Алгоритмический язык (АЯ) — это язык описания алгоритмов с русскими служебными словами. После того как алгоритм записан на АЯ, составление программы на Паскале становится несложной задачей. Основное внимание следует уделять строгому соблюдению синтаксических правил языка. Правило смещения строк в тексте программы то же, что было сформулировано (в «Программирование линейных алгоритмов») для АЯ. Соответствующие друг другу служебные слова Begin и End должны располагаться друг под другом.
Программирование разветвляющихся алгоритмов
Чем больше текст программы, тем больше вероятность совершения ошибок при ее записи и вводе в компьютер. Ошибки, нарушающие правила грамматики языка, называются синтаксическими ошибками. Поиск и устранение синтаксических ошибок в программе называются отладкой. Отладить программу программисту помогает система программирования на данном языке, которая автоматически обнаруживает ошибки и сообщает о них программисту.
Тестирование программы
Тестирование — это этап, на котором экспериментально доказывается правильность алгоритма, заключенного в программе, и работоспособность программы. Тест — это вариант решения задачи с заданными исходными данными, для которых известен результат.
Предварительно должен быть составлен план тестирования. Для ветвящегося алгоритма должны быть протестированы все его ветви. В нашем примере пять ветвей, пять вариантов ответа. Значит, в плане тестирования должно быть не менее пяти вариантов теста.
В таблице 3.5 представлен план тестирования программы Roots и результаты проведенного тестирования.
Теперь, анализируя результаты тестирования, делаем вывод: правильность алгоритма и работоспособность программы доказаны.
Если какой-то из вариантов теста не дает ожидаемого результата, то в программе есть ошибки. Например, пусть программист ошибочно записал следующие операторы присваивания для вычисления корней:
Результаты всех тестов, кроме 4-го, совпали с ожидаемыми, а в 4-м тесте получилось: х1 = 4, х2 = -6. После этого программист обратит внимание на выражения для вычисления корней и исправит ошибки: либо заменит знак умножения на знак деления, либо заключит в скобки выражение 2*а.
Вопросы и задания
1. Сформулируйте основные цели этапов алгоритмического решения задачи.
2. Проанализируйте задачу решения биквадратного уравнения, составьте алгоритм и напишите программу на Паскале.
Следующая страница Работа 3.2. Программирование логических выражений
Источник: xn—-7sbbfb7a7aej.xn--p1ai
§ 19. Программирование ветвлений
В § 13 был показан способ отображения ветвления (полного и неполного) на блок-схеме и учебном Алгоритмическом языке. Алгоритмическая структура ветвления программируется в Паскале с помощью условного оператора If. В 9 классе вы познакомились с этим оператором. Вспомним его формат.
То, что в алгоритмах называется условием, в Паскале является логическим выражением, которое вычисляется в первую очередь. Если его значение равно true, то будет выполняться (после Then), если — false, то (после Else) для полной формы или оператор, сразу следующий после условного, для неполной формы (без Else). На ветвях может быть как простой оператор, так и составной — серия операторов в операторных скобках Begin, End.
Пример 1. По длинам трех сторон треугольника а, Ь, с требуется вычислить его площадь.
Для решения задачи используется формула Герона
где р = (а + b + с)/2 — полупериметр треугольника. Исходные данные должны удовлетворять основному соотношению для сторон треугольника — длина каждой стороны должна быть меньше суммы длин двух других сторон, и длины сторон не могут быть отрицательными величинами.
Имея возможность в одном условном операторе записывать достаточно сложные логические выражения, используя логические операции, мы можем сразу «отфильтровать» все варианты неверных исходных данных.
Пример 2. Требуется перевести пятибалльную оценку в ее наименование: 5 — «отлично», 4 — «хорошо», 3 — «удовлетворительно», 2 — «неудовлетворительно».
Блок-схема алгоритма приведена на рис. 3.14.
Рис. 3.14. Алгоритм перевода числовой оценки в словесную
Этот алгоритм имеет структуру вложенных ветвлений и может быть запрограммирован с использованием условного оператора If следующим образом:
Пример 3. Решение рассмотренной в предыдущем примере задачи можно запрограммировать с помощью одного оператора выбора, имеющегося в языке Паскаль. Вот как будет выглядеть такая программа:
Оператор выбора имеет следующий формат:
Здесь — это выражение любого порядкового типа; — постоянная величина того же типа, что и селектор; — любой простой или составной оператор.
Выполнение оператора выбора происходит так: вычисляется выражение-селектор; затем в списках констант ищется такое значение, которое совпадает с полученным значением селектора; далее исполняется оператор, помеченный данной константой. Если такой константы не найдено, то происходит переход к выполнению оператора, следующего после слова Else.
Пример 4. В этом примере демонстрируется использование списка констант в операторе выбора. Программа сообщает, сдал студент экзамен или не сдал. Если оценка одна из следующих: 3, 4, 5, то экзамен сдан; если 2, то не сдан.
Так же как условный оператор, оператор выбора может использоваться в неполной форме, т. е. без ветви Else.
Если применить условный оператор, то эта программа запишется так:
В условии ветвления использовано сложное логическое выражение, содержащее операции логического сложения or (или).
Система основных понятий
Вопросы и задания
- Какие операторы используются для программирования ветвящихся алгоритмов?
- В каких случаях удобно использование оператора выбора?
- Составьте на Паскале программу упорядочения по возрастанию значений в трех переменных: X, Y, Z.
- Используя оператор выбора, составьте программу, которая по введенному номеру месяца будет выводить название соответствующего времени года (зима, весна, лето, осень).
Источник: tepka.ru
2. Разработка алгоритма или программы для решении задачи, содержащей команду ветвления (оператор ветвления)
Задача. Разработать алгоритм и программу для решения квадратного уравнения нида:
Рис. 13. Задание к билету 11. Блок-схема алгоритма для решения квадратного уравнения
а*х*+Ь*х+с = 0. Блок-схема алгоритма:
Программа, записанная на алгоритмическом языке, будет выглядеть следующим образом.
Если а=0. то «уравнение не является квадратным»
1. Система управления базами данных. Назначение и основные возможности.
2- Решение расчетной задачи с использованием математических функций при записи арифметического выражения в среде программирования.
1. Система управления базами данных. Назначение и основные возможности
Под термином «база данных» в широком смысле принято понимать совокупность сведений об объектах в какой-либо области или разделе области. Например— база данных поликлиники (медицина), база данных библиотеки (культура), база данных но стройматериалам (промышленность).
В информатике базой данных называют информационную модель, позволяющую упорядочивать и хранить данные о группе объектов, обладающих одинаковым набором свойств.
Существует три типа баз данных:
^ табличные— содержит перечень объектов одного типа.-В каждой строке таблицы последовательно размещаются значения свойств одного из объектов; каждое значение свойства— в своем столбце, оза: главленном именем свойства.
Пример. Таблица размеров:
Обхват груди
Длина рукава
«■ иерархические — можно представить как перевернутое дерево, состоящее из объектов различных уровней, В качестве примера здесь можно привести файловую структуру Windows. Объекты, более близкие к корню, называют предками. Потомками называют объекты более низкого уровня. При этом объекг-предок может иметь несколько потомков или совсем не иметь их. Разумеется, что объект-потомок обязательно имеет одного предка. Объекты, имеющие одного предка, называют близнецами:
ф сетевые— являются комбинацией многих иерархических Структур.
В них каждый объект-потомок может иметь нескольких предков
Примером такой базы данных является структура глобальной сети
Система управления базами данных (СУБД) — программа, которая позволяет создавать базы данных и обеспечивает обработку, сортировку и поиск данных.
Примером такой СУБД является офисное приложение Access. В отличие от других приложений Windows, Access может единовременно обрабатывать только одну базу данных.
Окно базы данных — один из главных элементов Access. В нем представлены все объекты БД:
ф таблицы — базовый объект БД. Все остальные объекты создаются на основе таблиц. Столбцы в такой таблице называются полями, строки — записями;
•» запросы — являются основным инструментом БД, С их помощью осуществляется отбор данных, исходя на заданных условий;
ф отчеты — предназначены для печати данных, выбранных согласно запросу;
♦ формы — позволяют добавлять в таблицы новые данные, корректировать существующие. Форма может содержать графики, рисунки и другие внедренные объекты;
о макросы — как и в других приложениях, служат для автоматизации часто повторяющихся операций.
Источник: studfile.net