Файл: Алгоритмизация как обязательный этап разработки программы (Понятие программы).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 22.04.2023

Просмотров: 195

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

При разработке алгоритма необходимо учитывать ресурсы используемой ЭВМ (ее скорость, память) и возможности применяемой для решения задачи операционной системы. Алгоритмы для несложных задач, требования которых к ресурсам невелики, являются обычно машинно–независимыми.

В ходе разработки общего алгоритма используется некоторый специальный язык, который по своему характеру является промежуточным, переходным между неформальным, словесным способом изложения метода решения задачи на этапе 1 (формулировка требований) и формальным алгоритмическим языком для программирования на этапе 3 (непосредственно программирование). Промежуточный язык должен сочетать в себе, с одной стороны, наглядность для отображения содержания и смысла, выполняемых в алгоритме действий (что делается) и, с другой стороны, формализм для указания конкретных операций и последовательности их выполнения (как делается) [7].

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

Блок–схемой называется графическое изображение логической структуры алгоритма, в котором каждый этап процесса обработки информации представляется в виде геометрических символов (блоков), имеющих определенную конфигурацию в зависимости от характера выполняемых операций. Перечень символов, их наименование, отображаемые ими функции, форма и размеры определяются ГОСТами [2].

При всем многообразии алгоритмов решения задач в них можно выделить три основных вида вычислительных процессов:

  • линейный;
  • ветвящийся;
  • циклический [9].

Линейным называется такой вычислительный процесс, при котором все этапы решения задачи выполняются в естественном порядке следования записи этих этапов. Пример линейного алгоритма представлен в таблице 1 [9].

Таблица 1

Пример линейного алгоритма

Блок–схема

Элементы программы

1. Заголовок

2. Объявление переменных

3. Начало блока операторов

4. Ввод исходных данных

5. Вычисление по формуле

6. Вывод результата

7. Конец блока операторов


Ветвящимся называется такой вычислительный процесс, в котором выбор направления обработки информации зависит от исходных или промежуточных данных (от результатов проверки выполнения какого–либо логического условия). Пример представлен в таблице 2 [9].

Таблица 2

Пример ветвящегося алгоритма

Блок–схема

Элементы программы

1. Заголовок

2. Объявление переменных

3. Начало блока операторов

4. Ввод исходных данных

5. Вычисление по формуле

6. Объявление условия

7. Проверка условия

8. Вывод результата

9. Конец блока операторов

Циклом называется многократно повторяемый участок вычислений. Вычислительный процесс, содержащий один или несколько циклов, называется циклическим. По количеству выполнения циклы делятся на циклы с определенным (заранее заданным) числом повторений и циклы с неопределенным числом повторений. Количество повторений последних зависит от соблюдения некоторого условия, задающего необходимость выполнения цикла. При этом условие может проверяться в начале цикла – тогда речь идет о цикле с предусловием, или в конце – тогда это цикл с постусловием. Наглядно циклические алгоритмы рассмотрены в таблице 3 [9].

Таблица 3

Пример циклического алгоритма

Задается количество повторений

Задается условие продолжения/окончания повторений

Цикл с параметром

Цикл с предусловием

Цикл с постусловием

...

2. Определение параметра проверки

3.Выполнение операций в теле цикла

...

...

2. Проверка выполнения условия

3.Выполнение операций в теле цикла/возврат к проверке условия

...

...

2. Выполнение операций в теле цикла

3.Проверка выполнения условия/возврат к операциям в теле цикла

...

Для достаточно сложных программ алторитмизация проводится в несколько шагов с целью постепенной детализации алгоритма. Критерием окончания детализации при этом является то, что для каждого (псевдо) оператора в полученном на очередном шаге алгоритме программист уже имеет четкое и конкретное мысленное представление о том, как этот оператор алгоритма может быть выражен средствами выбранного языка программирования на этапе 3. Для простых задач обычно разрабатывают блок–схемы на двух уровнях: общая блок–схема программы и блок–схемы отдельных частей (блоков) программы.


После последнего шага детализации алгоритма (а иногда и после отдельных крупных шагов) проводится проверка полученного алгоритма для выявления допущенных ошибок. Методы контроля алгоритма аналогичны некоторым методам контроля программы.

В ходе разработки алгоритма, возможно, придется уточнять или изменять решения, принятые на этапе 1, и в этом случае такие изменения обязательно вносятся в проект, который всегда должен соответствовать разрабатываемому алгоритму [11].

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

ЗАКЛЮЧЕНИЕ

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

Для этого были выполнены следующие задачи:

  • рассмотрено понятие программы;
  • охарактеризован процесс разработки программы;
  • проанализированы этапы разработки программного обеспечения;
  • рассмотрена алгоритмизация как обязательный процесс разработки программного обеспечения.

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

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


СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Гагарина, Л. Г. Введение в архитектуру программного обеспечения. Учебное пособие / Л. Г. Гагарина, А. Р. Федоров, П. А. Федоров. – М.: Инфра–М, Форум, 2016. – 320 c.
  2. Голицына, О. Л. Программное обеспечение / О. Л. Голицына, И. И. Попов, Т. Л. Партыка. – М.: Форум, 2015. – 448 c.
  3. Гончаров, В. А. Методы оптимизации. Учебное пособие / В. А. Гончаров. – М.: Юрайт, 2015. – 192 c.
  4. Добрынин, В. Ю. Технологии компонентного программирования / В. Ю. Добрынин. – Москва: Гостехиздат, 2014. – 216 c.
  5. Долгов, А. И. Алгоритмизация прикладных задач / А. И. Долгов. – М.: Флинта, 2017. – 136 c.
  6. Емельянова, Н. З. Проектирование информационных систем / Н. З. Емельянова, Т. Л. Партыка, И. И. Попов. – М.: Форум, 2018. – 432 c.
  7. Затонский, А. В. Программирование и основы алгоритмизации / А. В. Затонский, Н.В. Бильфельд. – М.: Дрофа, 2014. – 176 c.
  8. Зыков, С. В. Основы современного программирования / С. В. Зыков. – М.: Горячая линия – Телеком, 2016. – 448 c.
  9. Канцедал, С. А. Алгоритмизация и программирование. Учебное пособие. Гриф МО РФ / С. А. Канцедал. – М.: Инфра–М, Форум, 2018. – 206 c.
  10. Карпенко, А. П. Современные алгоритмы оптимизации. Учебное пособие / А. П. Карпенко. – М.: МГТУ им. Н. Э. Баумана, 2014. – 448 c.
  11. Колдаев, В. Д. Основы алгоритмизации и программирования / В. Д. Колдаев. – М.: Форум, Инфра–М, 2018. – 416 c.
  12. Колдаев, В. Д. Основы логического проектирования / В. Д. Колдаев. – Москва: РГГУ, 2017. – 448 c.
  13. Лукин, В. В. Технология разработки программного обеспечения. Учебное пособие / В. В. Лукин, В. Н. Лукин, Т. В. Лукин. – Москва: Гостехиздат, 2015. – 286 c.
  14. Милов, А. В. Основы программирования в задачах и примерах / А. В. Милов. – М.: Фолио, 2017. – 400 c.
  15. Новичков, В. С. Алгоритмизация и программирование на Турбо Паскале. Гриф УМО ВУЗов России / В. С. Новичков. – М.: Горячая линия – Телеком, 2014. – 967 c.
  16. Панюкова, Т. А. Проектирование программных средств / Т. А. Панюкова. – Москва: Гостехиздат, 2017. – 364 c.
  17. Потопахин, В. В. Искусство алгоритмизации / В. В. Потопахин. – М.: ДМК Пресс, 2014. – 372 c.
  18. Рудаков, А. В. Технология разработки программных продуктов. Учебник / А. В. Рудаков. – М.: Академия, 2015. – 208 c.
  19. Сафонов, В. О. Аспектно–ориентированное программирование / В. О. Сафонов. – Москва: Высшая школа, 2016. – 104 c.
  20. Семакин, И. Г. Основы алгоритмизации и программирования / И. Г. Семакин, А. П. Шестаков. – М.: Academia, 2017. – 304 c.
  21. Соколова, В. В. Вычислительная техника и информационные технологии. Разработка мобильных приложений. Учебное пособие / В. В. Соколова. – Москва: Высшая школа, 2016. – 176 c.
  22. Фалина, И. Н. Алгоритмизация и программирование (+ CD–ROM) / И. Н. Фалина и др. – М.: КУДИЦ–Пресс, 2018. – 280 c.