Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika_Obschy_fayl.docx
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
330.15 Кб
Скачать
  1. Алгоритмы. Основные типы алгоритмов

Алгоритмы бывают трех основных видов, которые и являются базовыми при написании программ.

Первый тип — линейный алгоритм; такой, в котором все действия выполня­ются в строгом порядке, последовательно, одно за другим. Типичный жиз­ненный пример такого алгоритма — рецепт пирога.

Второй тип — разветвляющийся алгоритм; такой, в котором выполняются те или иные действия в зависимости от выполнения или невыполнения не­коего условия. Пример из жизни — правило перехода улицы по светофору. Если горит красный — стоим, если горит зеленый — идем.

Третий тип — циклический алгоритм; такой, в котором присутству­ют повторяющиеся действия с какой-либо изменяющейся величиной, такназываемым параметром. Пример — колка дров. Берем полено — колем топором, берем второе полено и т. д., пока поленья не закон­чатся, и эта работа нам не надоест.

Каждый   алгоритм   создаётся   автором   (человеком   или   группой людей) и рассчитан для выполнения конкретным исполнителем.

Исполнитель алгоритма — это человек или какое-либо устройство(компьютер или робот).

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

  1. Алгоритмы. Ветвящиеся алгоритмы. Примеры

Первая задача: даны два числа; выбрать большее из них.

Пусть исходными данными являются переменные А и В. Их значения будут задаваться вводом. Значение большего из них должно быть присвоено переменной С и выведено на экран компьютера. Например, если А = 5, В = 8, то должно получиться: С = 8.

Блок-схема алгоритма решения этой задачи изображена на рис. 3.6.

Рис. 3.6. Алгоритм выбора большего из двух чисел (с полным ветвлением)

Нетрудно понять смысл этого алгоритма. Если значение переменной А больше, чем В, то переменной С присвоится значение А. В противном случае, когда А < В, переменной С присвоится значение В.

Условием, по которому разветвляется алгоритм, является отношение неравенства А > В. Изучая базы данных и электронные таблицы, вы узнали, что такое отношение является логическим выражением. Если оно справедливо, то результатом будет логическая величина "истина" и выполнение алгоритма продолжится по ветви "да"; в противном случае логическое выражение примет значение "ложь" и выполнение алгоритма пойдет по ветви "нет".

До выполнения на компьютере правильность алгоритма можно проверить путем заполнения трассировочной таблицы. Вот как будет выглядеть трассировка нашего алгоритма для исходных значений А = 5, В = 8.

Шаг

Операция

А

В

С

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

1

ввод А, В

5

8

 

2

А>В

5

8

 

5 > 8, нет (ложь)

3

С:=В

5

8

8

 

4

вывод С

5

8

8

 

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

В алгоритме на рис. 3.6 используется полное ветвление. Эту же самую задачу можно решить, применяя структурную команду неполного ветвления. Блок-схема такого алгоритма изображена на рис. 3.7.

Рис. 3.7. Алгоритм выбора большего из двух значений (с неполным ветвлением)

  1. Циклический алгоритм.

 

Циклический алгоритм - это такой алгоритм, действия которого повторяются. Существует два типа циклических алгоритмов:

Цикл типа "Пока"

Цикл типа "Для"

Пример: алгоритм продавца по обслуживанию покупателей

Пример: алгоритм учителя по проверке тетрадей учеников

Циклический алгоритм типа "Для" - это такой циклический алгоритм, в котором число повторений известно. Для организации циклов с известным числом повторений (типа "Для") используют оператор FOR - NEXT.

Циклический алгоритм типа "Пока" - это такой циклический алгоритм, действия которого будут выполнятся до тех пор пока выполняется заданное условие.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]