
Технологии программирования.pptx
- Количество слайдов: 42
Технологии программирования (Структурный подход)
Программы = структуры данных + алгоритмы
Этапы решения задачи на ЭВМ. Работа по решению любой задачи с использованием компьютера делится на следующие этапы: 1. Постановка задачи. 2. Формализация задачи. 3. Построение алгоритма. 4. Составление программы на языке программирования. 5. Отладка и тестирование программы. 6. Проведение расчетов и анализ полученных результатов. Часто эту последовательность называют технологической цепочкой решения задачи на ЭВМ.
1. На этапе постановки задачи должно быть четко сформулировано, что дано и что требуется найти. Здесь очень важно определить полный набор исходных данных, необходимых для получения решения. 2. Второй этап — формализация задачи. Здесь чаще всего задача переводится на язык математических формул, уравнений, отношений. На данном этапе по результатам анализа условия задачи выбирают математические абстракции, адекватно, т. е. с требуемой точностью и полнотой, представляющие исходные данные и результаты, строят математическую модель задачи и определяют метод преобразования исходных данных в результат (метод решения задачи).
Например, при решении квадратного уравнения исходными данными являются коэффициенты а, Ь, с; результатами — корни уравнения х1, х2; промежуточными данными — дискриминант уравнения D = Ь 2 — 4 ас. Метод решения –
3. Третий этап — построение алгоритма. Опытные программисты часто сразу пишут программы на языках, не прибегая к каким-либо специальным способам описания алгоритмов (блок-схемам, псевдокодам). Однако в учебных целях полезно использовать эти средства (блок-схемы, псевдокоды), а затем переводить полученный алгоритм на язык программирования. Первые три этапа предусматривают работу без компьютера.
начало a, b, c-коэффициенты квадратного уравнения x 1, x 2 – корни квадратного уравнения Ввод а, b, c D=b 2 -4 ac D>0 Да Вывод x 1=(-b+ D)/(2 a) x 2=(-b- D)/(2 a) Нет D>0 Да Вывод x 1=x 2=-b/(2 a) конец Нет Вывод x 1=-b/(2 a)+i D/(2 a) x 2=-b/(2 a)-i D/(2 a)
Чтобы построить универсальный алгоритм, сначала требуется тщательно проанализировать математическое содержание задачи.
Этот же алгоритм на алгоритмическом языке: алг корни квадратного уравнения вещ а, Ь, с, d, x l , х2 нач ввод а, Ь, с если а=0 то если Ь=0 то если с=0 то вывод «Любое х — решение» иначе вывод «Нет решений» KB иначе х: =-с/Ь вывод X KB иначе d: =b 2 -4 ac если d<0 то вывод «Нет вещественных корней» иначе xl: =(-b+Vd )/(2 а) ; х2 : = (-b- Vd ) / (2 а) вывод «xl=» , xl, «х2=» , х2 KB KB кон
4. Дальше следует собственно программирование на определенном языке, в определенной системе программирования. 5. Отладка и тестирование программы 6. Последний (шестой) этап — это использование уже разработанной программы в практических целях. Таким образом, программист должен обладать следующими знаниями и навыками: • уметь строить алгоритмы; • знать языки программирования; • уметь работать в соответствующей системе программирования.
Для успешного освоения программирования необходимо усвоить следующее правило: всякая величина занимает свое определенное место в памяти ЭВМ (иногда говорят — ячейку памяти). У всякой величины имеются три основных свойства: адрес, значение и тип. На уровне команд процессора величина идентифицируется при помощи адреса ячейки памяти, в которой она хранится. В алгоритмах и языках программирования величины делятся на константы и переменные. Константа — неизменная величина, и в алгоритме она представляется собственным значением, например: 15, 34. 7, k, true и т. д. Переменные величины могут изменять свои значения в ходе выполнения программы и представляются символическими именами — идентификаторами, например: X, S 2, cod 15. Каждому идентификатору транслятор сопоставляет адрес ячейки памяти.
Тип данного. В каждом языке программирования существует своя концепция типов данных, своя система типов. Тем не менее в любой язык входит минимально необходимый набор основных типов данных, к которому относятся: целый, вещественный, логический и символьный типы. С типом величины связаны три ее характеристики: • множество допустимых значений, • множество допустимых операций, • форма внутреннего представления.
ЭВМ — исполнитель алгоритмов. Как известно, всякий алгоритм (программа) составляется для конкретного исполнителя в рамках его системы команд. Исполнителем является комплекс ЭВМ + Система программирования (СП).
Независимо от того, на каком языке программирования будет написана программа, алгоритм решения любой задачи на ЭВМ может быть составлен из команд: • присваивания; • ввода; • вывода; • обращения к вспомогательному алгоритму; • цикла; • ветвления. Для описания алгоритмов в дальнейшем мы будем использовать блок-схемы и учебный алгоритмический язык.
Логическое проектирование Программы = структуры данных + алгоритмы В теории программирования доказано, что для записи любого сколь угодно сложного алгоритма достаточно трех базовых структур: • следование - обозначает последовательное выполнение действий (рис. 1. 2, а); • ветвление - соответствует выбору одного из двух вариантов действий (рис. 1. 2, 6); • цикл «Пока» - определяет повторение действий, пока не будет нарушено условие, выполнение которого проверяется в начале цикла (рис. 1. 2, в).
Помимо базовых структур используют три дополнительные структуры, производные от базовых: • выбор - выбор одного варианта из нескольких в зависимости от значения некоторой величины (рис. 1. 3, а); • цикл «до» - повторение некоторых действий до выполнения заданного условия, проверка которого осуществляется после выполнения действий в цикле (рис. 1. 3, в); • цикл с заданным числом повторений {счетный цикл) – повторение некоторых действий указанное число раз (рис. 1. 3, д).
На рис. 1. 3, б, г и е показано, как каждая из дополнительных структур может быть реализована через базовые структуры.
• См. Структурное программирование