Файл: Алгоритмизация как обязательный этап разработки программы.pdf
Добавлен: 22.04.2023
Просмотров: 104
Скачиваний: 1
В частности, в псевдокоде, как и в формальных языках, есть служебные слова, смысл которых определен раз и навсегда. Их выделяют в печатном тексте жирным шрифтом, а в рукописном - подчеркиванием.
Графическая запись, или блок-схема, - логичное описание структуры алгоритма при помощи геометрических фигур и линий связи, которые предусматривают порядок выполнения отдельных инструкций. Описание алгоритмов с помощью блок-схем - один из самых визуальных и рациональных способов. Данный способ описания алгоритма имеет целый ряд преимуществ перед другими способами:
- наглядность отображения типовых конструкций алгоритма;
- концентрация внимания на структуре алгоритма;
- применение принципа разбиения при коллективном решении сложной задачи;
- преобразование алгоритма методом укрупнения (сведения к единому блоку) или детализации (разбиения на ряд блоков);
- быстрая проверка разработанного алгоритма.
Существует два вида графических схем: блок – схемы и структурные схемы.
Блок-схема состоит из блоков нескольких видов: овальных блоков «начало» и «конец», блоков «ввода» и «вывода» данных в виде параллелограмма и т.д.
В блок-схеме каждому типу действий (ввод исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т. п.) соответствует геометрическая фигура, называемая блоком. Блочные символы соединяются линиями переходов (стрелками), определяющими очередность выполнения действий.
Условные графические изображения, используемые при построении схем, называются символами. Система символов и правила построения алгоритмов определены соответствующими стандартами: блок-схема выстраивается в одном направлении: либо сверху вниз, либо слева направо, в порядке выполнения действий.
Для наглядности операции различного вида изображаются в схеме различными геометрическими фигурами (таблица).
Программа - это последовательность действий, записанная в виде набора команд, понятных ЭВМ. При записи алгоритмов в виде программ для ЭВМ используются языки программирования – системы кодирования инструкций и правила их использования. Такие языки являются искусственными языками со строго определенным синтаксисом и пунктуацией.
Существует большое количество языков программирования, предназначенных для решения прикладных задач.
Для записи алгоритмов в виде программ характерна высокая степень формализации. Перед составлением программ чаще всего используются словесно-формульный или графический способ.
1.2 Основные алгоритмические структуры как базовые элементы алгоритмизации
Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых (т.е. основных) элементов. Эти элементарные шаги объединяются в алгоритмические конструкции. В зависимости от особенностей своего построения алгоритмы можно разделить на следующие группы:
1) линейные (последовательные);
2) разветвленные;
3) циклические;
4) рекурсивные.
Разнообразие алгоритмов определятся тем, что любой алгоритм состоит из фрагментов, каждый из которых представляет собой алгоритм одного из указанных видов. Поэтому важно знать структуру каждого из алгоритмов и принципы их составления. Для решения любой задачи могут быть построены несколько алгоритмов, приводящие к получению результата ее решения. Из всех возможных алгоритмов следует выбирать лучший по различным критериям: по точности решения задачи, временных затрат, количества этапов в алгоритме, их простоте и т. д.
Линейным называется алгоритм, в котором все этапы решения задачи выполняются ровно один раз и строго последовательно. Т. е. линейный (последовательный) алгоритм выполняется в естественном порядке его написания и не содержит разветвлений или повторений.
Примерами линейных алгоритмов являются: алгоритм отпирания дверей - получить ключ, вставить ключ в замочную скважину, открыть замок; алгоритм заваривания чая - получить чайник, насыпать в него чай, залить кипятком, настоять 5-10 мин.
Линейный алгоритм применяется при исчислении арифметического выражения, если в нем используются только самые простые алгебраические действия.
На практике редко удается представить схему алгоритма решения задачи в виде линейной структуры. Задача может содержать условие, в зависимости от которого вычислительный процесс идет с той или иной ветви, т. е. появляется разветвление алгоритма.
Разветвленной называется конструкция, которая обеспечивает выбор между двумя альтернативами в зависимости от значения входных данных. Разветвленный алгоритм - это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.
Часто при решении задач приходится проверять одно условие для нескольких значений или повторять некоторые действия несколько раз.
Алгоритмы, отдельные действия которых многократно повторяются, называются алгоритмами циклической структуры. Данная структура позволяет существенно сократить объем алгоритма, представить его компактно за счет организации повторений большого числа одинаковых вычислений над различными данными для получения необходимого результата.
Циклической называется структура, в которой какая-то подряд идущая группа действий (шагов), может выполняться несколько раз, в зависимости от входных данных или условия задачи.
Совокупность повторяющихся действий алгоритма называют циклом, то есть циклические алгоритмы включают в себя циклы.
Группа повторяющихся действий на каждом шаге цикла называется телом цикла.
Циклический алгоритм включает:
1. Подготовку цикла - действия, связанные с задачей исходных данных, используемых в цикле;
2. Тело цикла - повторяющиеся действия для вычисления искомых величин, а также подготовка значений, необходимых для повторного выполнения действий в теле цикла;
3. Условия продолжения цикла - действия, которые определяют необходимость дальнейшего выполнения тела цикла.
Рекурсивным называется алгоритм, который в процессе выполнения на каком-то шаге прямо или косвенно обращается сам к себе. Как правило, в основе такого алгоритма лежит рекурсивное определение какого-то понятия.
Пример рекурсивного определения - определение факториала числа n: n! = 1 * 2 * 3 * 4 * ... * n.
При решении большинства задач используется определенный набор типовых приемов алгоритмизации. Среди них рассмотрим те, которые наиболее часто применяются при решении практических задач.
- Комбинированные алгоритмы. На практике часто встречаются задачи, алгоритм решения которых распадается на части, фрагменты и каждый фрагмент представляет собой алгоритм одного из трех описанных типов. Алгоритм, содержащий несколько структур одновременно, называется комбинированным.
В теории алгоритмов доказано, что любой, сколь угодно сложный алгоритм может быть составлен из трех основных алгоритмических структур: линейной, ветвления и цикла. Алгоритмы решения сложных задач могут включать все перечисленные структуры или комбинации некоторых из них.
- Вложенные циклы. Частным случаем комбинированных алгоритмов являются алгоритмы, в которых необходимо использовать несколько циклов, которые меняются одновременно. Например, внутри одного цикла могут находиться один или несколько других циклов. Такие комбинации называются вложенными циклами. Охватываемый цикл называется внешним, а вложенные в него циклы - внутренними (вложенными), при этом область действия внутреннего цикла должна полностью находиться в области внешнего цикла, то есть циклы не должны пересекаться.
Заключение
Алгоритмизация, как раздел информатики, который изучает процессы создания алгоритмов, традиционно относится к теоретической информатике вследствие своего фундаментального характера.
Проектирование любой задачи, независимо от уровня ее сложности и сферы применения, ставит разработчика перед необходимостью выбора способа ее решения и составление алгоритма.
В данной работе были рассмотрены основные понятия и свойства алгоритмов, как основы, составляющей алгоритмизацию. Проанализированы основные способы описания алгоритмов, среди которых выделены следующие: словесное описание, формульно-словесное описание, псевдокод, графический способ (блок-схема), программа. Приведены и охарактеризованы основные алгоритмические структуры как элементы алгоритмизации, среди которых были выделены следующие: линейные (последовательные), разветвленные, циклические, рекурсивные.
Подводя итог, отметим, что алгоритмизация как один из этапов разработки программы является важным, так как именно на этом этапе формируется дальнейшая жизнь программы и правильность ее результатов.
Список использованной литературы
- Дузельбаев С.Т., Омарбекова А.С., Шарипбаев А.А., Юсубекова С.О «Основы алгоритмизации и программирования»:- Астана 2008.
- Аглицкий Д.С., Любченко С.Р. Работа на персональном компьютере для всех. М.: Филинъ, 2010.
- Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. Единая система программной документации. [Текст]: ГОСТ 19.701-90 (ИСО 5807-85). Введен 01.01.92
- Схемы алгоритмов и программ. Обозначения условные графические. Единая система программной документации. [Текст]: ГОСТ 19003-80. Взамен ГОСТ 19428-74. Введен 01.01.92
- Мовшович С. М., Кравченко О. А. Алгоритмизация и программирование. – 2008.
- Долинский М. С. Алгоритмизация и программирование на TURBO PASCAL. – Питер, 2005.
- Есмагамбетова М. М., Есмагамбетов Т. У. Алгоритмизация и программирование //Вестник научных конференций. – ООО Консалтинговая компания Юком, 2016. – №. 12-2. – С. 35-37.
- Трофимов В. В. и др. Информатика. В 2 тт. 3-е изд., пер. и доп.: учебник для академического бакалавриата. – 2016.
- Попов С. Н. Алгоритмизация и основы программирования. – 2017.
- Самовендюк Н. В. Алгоритмизация и программирование. – 2015.