Этапы разработки программы. Структурное программирование для АСУб и ЭВМб (тема 1-2)

Содержание

Слайд 2

В предыдущих лекциях: Что такое программирование?

Процесс создания программы для ЭВМ:
Программа = Данные

В предыдущих лекциях: Что такое программирование? Процесс создания программы для ЭВМ: Программа
+ Алгоритм + Язык
ЭВМ
Архитектура: процессор + память + остальное
фон Неймана (Принстонская)
Гарвардская
Язык
Низкого уровня: машинный, ассемблер
Высокого уровня: С++

Слайд 3

Разработка программы на языке высокого уровня никогда не должна начинаться собственно с

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

В предыдущих лекциях: принцип разработки программ

Слайд 4

Этапы разработки программы

Внешнее проектирование
Определение общей структуры и взаимодействия функций
Составление внешних спецификаций
Таблица спецификаций

Этапы разработки программы Внешнее проектирование Определение общей структуры и взаимодействия функций Составление

Внутреннее проектирование
Разработка алгоритма решения задачи
Кодирование
Отладка
Тестирование

Слайд 5

Внешнее проектирование

На этом этапе рассматривается возможность разбиения задачи на подзадачи, каждая из

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

Слайд 6

Составление внешних спецификаций

– приведение условия задачи к некоторому стандарту, что позволяет задачи

Составление внешних спецификаций – приведение условия задачи к некоторому стандарту, что позволяет
из различных предметных областей описывать более или менее унифицировано.
Таким стандартом для простых программ или отдельных функций являются внешние спецификации.
Спецификации определяют входные и выходные данные задачи и оформляются в виде таблицы:

Слайд 7

Таблица спецификаций

Таблица спецификаций

Слайд 8

Таблица спецификаций

Входные величины – это те, значения которых необходимо задать в начале

Таблица спецификаций Входные величины – это те, значения которых необходимо задать в
решения задачи.
Выходные величины – это те, которые являются результатом решения задачи.
Имя ставится в соответствие любой входной и выходной величине; имена сохраняются на всех этапах решения задачи.
Назначение – словесное описание величины, для чего она нужна.
Тип –определяет тип данных (целое число, действительное число, текст)
Диапазон определяет область изменения величины (целое число, действительное число, текст, целое число от 0 до 5 и т.д.)

Слайд 9

Разработка алгоритма решения задачи

Алгоритм – это описание последовательности действий, необходимых для

Разработка алгоритма решения задачи Алгоритм – это описание последовательности действий, необходимых для
решения задачи
Алгоритм обладает свойствами
Аль-Хорезми

Слайд 10

Реализация алгоритма

Программирование алгоритма. На этом этапе (называемом также кодированием), происходит запись алгоритма

Реализация алгоритма Программирование алгоритма. На этом этапе (называемом также кодированием), происходит запись
на каком-либо языке программирования.
Синтаксическая отладка программы, то есть исправление ошибок, связанных с неверным использованием конструкций языка программирования. Эти ошибки выявляются на этапе компиляции программы.

Слайд 11

Реализация алгоритма

Тестирование программы, то есть проверка ее работоспособности на различных вариантах исходных

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

Слайд 12

Таблица тестов

Таблица тестов

Слайд 13

Программирование

Процесс создания программы для ЭВМ:
Программа = Данные + Алгоритм
ЭВМ
Архитектура: процессор + память

Программирование Процесс создания программы для ЭВМ: Программа = Данные + Алгоритм ЭВМ
+ остальное
фон Неймана (Принстонская)
Гарвардская
Язык
Низкого уровня: машинный, ассемблер
Высокого уровня: С++

Слайд 14

Разработка алгоритма решения задачи

Алгоритм – это описание последовательности действий, необходимых для

Разработка алгоритма решения задачи Алгоритм – это описание последовательности действий, необходимых для
решения задачи
Алгоритм обладает свойствами
Аль-Хорезми

Слайд 15

Свойства алгоритма

Массовость – алгоритм должен описывать не одну конкретную задачу, а

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

Слайд 16

Свойства алгоритма

Детерминированность - алгоритм должен всегда давать один и тот же

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

Слайд 17

Свойства алгоритма: пример

Существует два различных действительных корня
Существует два равных действительных
Нет

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

Слайд 18

Описание алгоритма

Словесное описание алгоритма - это последовательность пронумерованных шагов, описывающих решение задачи.

Описание алгоритма Словесное описание алгоритма - это последовательность пронумерованных шагов, описывающих решение

Шаги могут иметь многоуровневую нумерацию, чтобы показать, что одни шаги являются частью других шагов
Блок-схема решения задачи – графическое изображение алгоритма в виде взаимосвязанных блоков.

Слайд 19

Элементы блок-схемы

Печать, вывод на экран

Объявление переменных или ввод данных

Соединительный узел

Элементы блок-схемы Печать, вывод на экран Объявление переменных или ввод данных Соединительный узел

Слайд 20

Утверждение структурного программирования
Теорема Бёма — Якопини
Алгоритм любой сложности можно реализовать, используя только

Утверждение структурного программирования Теорема Бёма — Якопини Алгоритм любой сложности можно реализовать,
три конструкции:
следования (линейные)
выбора (ветвления)
повторения (циклические)

Линейный - алгоритм, в котором все указанные действия выполняются один раз в том порядке, в котором они записаны.

Слайд 21

Виды вычислительных процессов

Линейный процесс - последовательное размещение шагов
Разветвляющийся процесс - в зависимости

Виды вычислительных процессов Линейный процесс - последовательное размещение шагов Разветвляющийся процесс -
от условия нужно выполнять либо одно, либо другое действие
Циклический процесс - это такой процесс, в котором некоторая последовательность действий выполняется несколько раз до тех пор, пока выполняются некоторые условия

Все задачи являются комбинацией этих трех видов процессов

Слайд 22

Например, алгоритм посадки дерева:

Выкопать в земле ямку;
Опустить в ямку саженец;
Засыпать ямку с

Например, алгоритм посадки дерева: Выкопать в земле ямку; Опустить в ямку саженец;
саженцем землей;
Полить саженец водой.

Слайд 23

Разветвляющийся процесс - в зависимости от условия нужно выполнять либо одно, либо

Разветвляющийся процесс - в зависимости от условия нужно выполнять либо одно, либо другое действие
другое действие

Слайд 25

Разветвляющийся процесс

ЕСЛИ условие ТО
Действия
ИНАЧЕ
Действия
ЕСЛИ ВСЕ

В качестве действий может стоять проверка другого условия

Разветвляющийся процесс ЕСЛИ условие ТО Действия ИНАЧЕ Действия ЕСЛИ ВСЕ В качестве

Слайд 26

Разветвляющийся процесс

ВЫБОР ПО переменная
Значение_1: Действия
Значение_2: Действия
Значение_n: Действия
*: Действия
ВЫБОР ВСЕ

*

Разветвляющийся процесс ВЫБОР ПО переменная Значение_1: Действия Значение_2: Действия Значение_n: Действия *:
означает, что переменная не равна ни одному значению

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

Слайд 27

Ветвление и выбор

Полная форма

Неполная форма

Ветвление и выбор Полная форма Неполная форма

Слайд 28

Выбор (вариант блок схемы)

Выбор (вариант блок схемы)

Слайд 29

Выбор (вариант блок схемы)

Выбор (вариант блок схемы)

Слайд 30

Циклический процесс – это такой процесс, в котором некоторая последовательность действий может

Циклический процесс – это такой процесс, в котором некоторая последовательность действий может
выполняться несколько раз в зависимости от заданного условия.

ПОКА условие ВЫПОЛНИТЬ
Действия
ПОКА ВСЕ

Слайд 32

Алгоритм поиска Золушки:

Алгоритм поиска Золушки:

Слайд 33

Линейный и разветвляющийся алгоритмы

Линейный и разветвляющийся алгоритмы

Слайд 34

Циклические алгоритмы

Циклические алгоритмы

Слайд 35

Алгоритмы со структурами вложенных циклов

Алгоритмы со структурами вложенных циклов

Слайд 36

Разветвляющийся процесс: пример

Студенты Иванов и Петров за время практики заработали определенную сумму.

Разветвляющийся процесс: пример Студенты Иванов и Петров за время практики заработали определенную

Кто из них заработал большую сумму?
Определить средний заработок.

Слайд 37

Разветвляющийся процесс: таблица спецификаций

Разветвляющийся процесс: таблица спецификаций

Слайд 38

Разветвляющийся процесс: словесное описание алгоритма

1. Ввод Х и У.
2. M=(X+Y)/2
3. ЕСЛИ Х>У ТО
3.1.S=«Иванов

Разветвляющийся процесс: словесное описание алгоритма 1. Ввод Х и У. 2. M=(X+Y)/2
заработал больше».
3.2. Переход к п. 5
ЕСЛИ ВСЕ
4. ЕСЛИ У>Х ТО
4.1. S=«Петров заработал больше»
4.2. Переход к п. 5
ИНАЧЕ
4.3. S=«Они заработали поровну»
ЕСЛИ ВСЕ
5.Вывод S и M

Слайд 39

Разветвляющийся процесс: тесты

Разветвляющийся процесс: тесты
Имя файла: Этапы-разработки-программы.-Структурное-программирование-для-АСУб-и-ЭВМб-(тема-1-2).pptx
Количество просмотров: 36
Количество скачиваний: 0