- •Тема №1. Основные понятия (2 Часа)
- •1.1 Основные понятия и определения дисциплины Алгоритмы эу
- •1.2 Понятие об исполнителе алгоритма
- •1.3 Способы записи (отображения) алгоритмов
- •1.4 Основные блоки используемые при отображении схем программ (алгоритмов) по гост 19.701 – 90
- •1.5 Понятие о типах алгоритмических структур
- •1.6 Понятие о уровне языка программирования
1.5 Понятие о типах алгоритмических структур
1. Базовая структура «Следование»
На рисунке 1.2 представлена базовая алгоритмическая структура — «Следование». Действия выполняются исполнителем последовательно, одно за другим. Алгоритм , в котором команды выполняются одна за другой, называется линейным алгоритмом.
Рисунок 1.2 — Пример алгоритма программы с линейной структурой
2. Базовая структура «Ветвление»
На рисунке 1.3 представлены варианты базовой алгоритмической структуры —«Ветвление». При использовании базовой структуры «Ветвление» одна или другая последовательность команд выполняется в зависимости от истинности условия. Алгоритм, содержащий к базовую структуру ветвление , называется разветвляющимся.
Рисунок 1.3 — Пример программы содержащей ветвления а) Содержащий выбор из двух возможностей (оператор if) б) Содержащей множественный выбор (оператор switch)
3. Структура с циклом
На рисунке 1.4 представлены варианты алгоритмической структуры содержащей циклы. При этом, алгоритм, предусматривающий многократное повторение одного и того же действия над новыми данными, называется циклическим, а повторяющаяся серия команд называется телом цикла.
Разновидности циклов:
1. Цикл с предусловием;
2. Цикл цикл с постусловием;
3 . Цикл с постоянным шагом (со счетчиком, арифметический).
Рисунок 1.4 — Пример программы содержащей циклы
а) Цикл с предусловием (условие проверяется перед выполнением тела цикла)
б) Цикл с постусловием (условие проверяется после выполнения тела цикла)
в) Цикл с постоянным шагом (оператор for)
1.6 Понятие о уровне языка программирования
В настоящее время в мире существует несколько сотен реально используемых языков программирования. Для каждого есть своя область применения.
Уровень языка программирования определяется в зависимости от степени детализации предписаний — чем меньше детализация, тем выше уровень языка.
По этому критерию можно выделить следующие уровни языков программирования:
машинные (запись машинных кодов команд АЛУ);
машинно-ориентированные (языки ассемблера);
машинно-независимые (языки высокого уровня).
Машинные языки и машинно-ориентированные языки — это языки низкого уровня, требующие указания мелких деталей процесса обработки данных.
Языки же высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека.
Языки высокого уровня делятся на:
алгоритмические (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов;
логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания.
объектно-ориентированные (C++, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над нами. Описание в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.