43. Формы представления алгоритмов. Блок-схема алгоритма.
Алгоритм должен быть формализован по некоторым правилам посредством конкретных изобразительных средств. К ним относятся следующие способы записи алгоритмов: словесный, формульно-словесный, графический, язык операторных схем, программа (алгоритмический язык).
Словесный способ представления несложен, но имеет недостатки. Главный недостаток состоит в том, что при таком способе допускается некоторая произвольность изложения, нет четких стандартов описания. Сложные задачи с анализом условий, с повторяющимися действиями и возвратами к предыдущим пунктам трудно представляются в словесном и словесно-формульном виде.
Наибольшее распространение благодаря своей наглядности получил графический способ записи алгоритмов. Одной из форм такого представления являются рисунки, но более строгая формализованная форма – это схемы или графы.
Наиболее распространенной формой представления алгоритма является блок-схема.
Блок-схемой называется графическое изображение логической структуры алгоритма, в котором каждый этап процесса обработки информации представляется в виде геометрических символов (блоков), имеющих определенную конфигурацию в зависимости от характера выполняемых операций.
Арифметический блок
(операции присваивания)
Блок ввода – вывода
информации
Условный (логический)
блок — проверка условия
Блок начала – конца
алгоритма
Соединитель – для соединения
удаленных блоков
Любой, даже самый сложный алгоритм, можно представить с помощью трех основных конструкций (структур): последовательности, ветвления и цикла. Каждая структура имеет один вход и один выход.
В структуре «последовательность» действия выполняются последовательно, сверху вниз, без возвратов (рис. 1, а);
В структуре «ветвление» выполняется либо одна, либо другая группа действий в зависимости от истинности (выполнения) или ложности (невыполнения) условия (рис. 1, б);
В структуре «цикл» действия повторяются до тех пор, пока выполняется заданное условие (рис. 1, в).
Рис. 1 – Выполнение заданных условий
В зависимости от того, какие базовые структуры использованы при составлении алгоритмов, различают три основные разновидности алгоритмов:
линейный;
ветвящийся;
циклический.
Линейным называется такой алгоритм, в котором все этапы решения задачи выполняются в естественном порядке следования записи этих этапов.
Ветвящимся называется такой алгоритм, в котором выбор направления обработки информации зависит от исходных или промежуточных данных (от результатов проверки выполнения какого-либо логического условия).
Различают полную и неполную форму ветвления.
При полной форме ветвления действия выполняются в обоих случаях: и при истинности и при ложности условия. Ей соответствует следующее выражение: если <условие>, то <действие 1>, иначе <действие 2>.
Неполной форме ветвления соответствует выражение: если <условие>, то <действие 1>.
Циклом называется многократно повторяемый участок вычислений. Алгоритм, содержащий один или несколько циклов, называется циклическим.
Основные понятия циклического алгоритма:
счетчик цикла – переменная, которая изменяет свое значение при переходе от цикла к циклу;
тело цикла – действия, которые повторяются;
начальное значение счетчика цикла – значение, от которого начинает изменяться счетчик цикла;
конечное значение счетчика цикла – значение, до которого изменяется счетчик цикла;
шаг – значение, на которое изменяется счетчик цикла.
По количеству выполнения циклы делятся на циклы с определенным (заранее заданным) числом повторений и циклы с неопределенным числом повторений. Количество повторений последних зависит от соблюдения некоторого условия, задающего необходимость выполнения цикла. При этом условие может проверяться в начале цикла — тогда речь идет о цикле с предусловием, или в конце — тогда это цикл с постусловием.
Вспомогательный алгоритм — это блок последовательных действий в основном алгоритме, который выделен в качестве самостоятельного алгоритма, имеющего свое имя. [3]
Вспомогательные алгоритмы выступают в качестве сменных блоков алгоритма, которые могут быть составлены заранее и использованы в разных блок-схемах. Чем крупнее блоки, тем легче проходит сборка алгоритма. Вспомогательный алгоритм всегда является вложенным, если он включается в другой алгоритм. Но вложенная конструкция не является вспомогательным алгоритмом до тех пор, пока ей не дано имя.
К вспомогательным алгоритмам можно отнести процедуры, которые описываются перед выполнением основной программы и служат для выполнения одинаковых действий с различными параметрами.
При разработке алгоритма необходимо пройти минимум две стадии – сначала алгоритм должен быть понятен тому, кто его разрабатывает, а затем его следует преобразовать с учетом специфики среды. В том случае, если эти действия станет выполнять сам разработчик алгоритма, вторая стадия будет отсутствовать.
Блок-схема — распространенный тип схем (графических моделей), описывающих алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединенных между собой линиями, указывающими направление последовательности.
- 1. Информатика. Предмет информатики. Основные задачи информатики.
- 2. Понятие сообщения, данных, сигнала.
- 3. Атрибутивные свойства информации.
- 4. Показатели качества информации, формы и способы представления информации.
- 5. Системы передачи информации.
- 6. Кодирование информации (текст, числа, цвет, графика, звук).
- 7. Позиционные системы счисления. Двоичное кодирование.
- 8. Меры и единицы количества и объема информации. Энтропия.
- 9. Логические основы эвм.
- 10. Логические операции: дизъюнкция, конъюнкция, отрицание, импликация, эквивалентность.
- 11. Предикаты. Операнды. Законы логического вывода.
- 12. История развития эвм. Поколения вычислительных средств.
- 13. Понятие и основные виды архитектуры эвм.
- 14. Архитектура эвм по Фон Нейману.
- 15. Состав и назначение основных элементов персонального компьютера, их характеристики.
- 16. Центральный процессор, системная шина.
- 17. Хранение информации: запоминающие устройства.
- 18. Озу, пзу, винчестер, накопители на гибких и компакт-дисках, стример, флэш.
- 19. Устройства ввода/вывода данных, их разновидности и основные характеристики.
- 20. Координатные устройства ввода. Видео- и звуковые адаптеры. Мониторы.
- 21. Сканеры. Принтеры. Плоттеры.
- 22. Программы и их типы. Понятие программного обеспечения.
- 23. Понятие системного программного обеспечения: назначение, возможности, структура.
- 24. Операционная система. Назначение, типы, особенности.
- 25. Утилиты (драйверы).
- 26. Файловая структура операционных систем. Операции с файлами.
- 27. Понятие служебного программного обеспечения.
- 28. Архиваторы, диспетчеры файлов, средства диагностики компьютера.
- 29. Прикладные программы их разновидности.
- 30. Технологии обработки текстовой информации.
- 31. Основы машинной графики: растровая, векторная, трехмерная.
- 32. Электронные таблицы.
- 33. Электронные презентации.
- 34. Основы баз данных и знаний.
- 35. Автоматизированный банк данных. Его функции и составляющие.
- 36. Системы управления базами данных. Модели данных.
- 37. Моделирование как метод познания. Понятие модели. Типы моделирования.
- 38. Классификация и формы представления моделей. Формализация.
- 39. Информационная модель объекта. Типы информационных моделей.
- 40. Методы и технологии моделирования. Требования к моделированию.
- 41. Компьютерное моделирование.
- 42. Алгоритмизация. Понятие алгоритма, его свойства.
- 43. Формы представления алгоритмов. Блок-схема алгоритма.
- 44. Основные алгоритмические конструкции. Базовые алгоритмы.
- 45. Программы линейной структуры.
- 46. Операторы ветвления.
- 47. Циклы. Виды и блок-схемы.
- 48. Интегрированные среды программирования.
- 49. Языки программирования высокого уровня.
- 50. Основные элементы языков программирования.
- 51. Эволюция и классификация языков программирования: неструктурные, структурные, логические, функциональные, объектно-ориентированные, языки программирования для баз данных и Интернета.
- 52. Структуры и типы данных языка программирования.
- 53. Тестирование программного обеспечения.
- 54. Этапы разработки программного обеспечения.
- 55. Структурное программирование на языке Паскаль. Типы данных.Константы. Переменные.
- 56. Операторы ввода, вывода в Паскале. Операторы циклов while, for, repeat.
- 57. Условный оператор if. Оператор выбора case. Массивы.
- 58. История создания компьютерных сетей.
- 59. Сетевые технологии обработки данных.
- 60. Основы компьютерной коммуникации.
- 61. Классификации вычислительных сетей.
- 62. Коммуникационное оборудование. Технология клиент-сервер.
- 63. Принципы построения вычислительных сетей. Основные топологии компьютерных сетей.
- 64. Интернет. Сетевой сервис и сетевые стандарты. Протокол tcp/ip.
- 65. Принцип работы в сети Интернет. Адресация в Интернете. Система доменных имен dns.
- 66. Программы для работы в Интернете. Сервис World Wide Web.
- 67. Язык разметки гипертекста (html).
- 68. Информационно-поисковые системы и каталоги. Поиск информации.
- 69. Электронная почта.
- 70. Защита информации в локальных и глобальных компьютерных сетях.
- 71. Шифрование данных. Электронная подпись.