Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР СиАОД №1 Разработка алгоритмов.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
307.71 Кб
Скачать

Примеры составления алгоритмов Линейные алгоритмы

Линейным называется алгоритм, в котором все этапы решения задачи выполняются последовательно.

Пример 1. Даны переменные А и В. Требуется обменять их значения, т. е. переменная А должна получить значение В, а В - значение А.

Решение. Исходные данные: А, В. Результат: А, В.

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

Решение задачи распадается на три этапа.

Соответствующие им блоки и порядок их выполнения изображены на схеме алгоритма (рисунок 1.7 а).

Пример 2. Даны величины А, В, С, D. Требуется переместить значения величин: В должно получить значение А; С - значение B; D - значение C. Блок-схема решения задачи представлена на рисунок 1.7 б. Исходные данные А, В, С, D. Результат: А, В, С, D.

Решение данной задачи должно выполняться в следующем порядке:

  1. Ввод A, B, C, D.

  2. D=C.

  3. C=B.

  4. B=A.

  5. Вывод A, B, C, D.

Разветвляющиеся алгоритмы

Пример 1. Блок-схема решения задачи представлена на рисунок 1.8.

Вычислить значение Y по одной из формул:

Y=x+a, если x<10;

Y=x+b1, если 10<=x<=20;

Y=c+b2, если 20<x<30;

Y=c-b3, если x>=30, где .

Порядок решения задачи следующий:

  1. Ввод a, b1, b2, b3, c.

  2. Вычисление x.

  3. Проверка условия x<10. Если условие выполняется, то вычислить Y=x+a и вывести результат. Если нет – перейти к 4.

  4. Проверка условия x<=20. Если условие выполняется, то вычислить Y=x+b1 и вывести результат. Если нет – перейти к 5.

  5. Проверка условия x<30. Если условие выполняется, то вычислить Y=c+b2 и вывести результат. Если нет – перейти к пункту 6.

  6. Вычислить Y=c-b3 и вывести результат.

Циклические алгоритмы

Пример 1. Вычислить сумму целых чисел от n до m.

Решение. Блок-схема данного алгоритма представлена на рисунке 1.9.

Алгоритм решения на естественном языке можно представить следующим образом:

  1. Ввести значения n, m.

  2. Присвоить L=n.

  3. Присвоить k=0.

  4. Если L>m идти к 8.

  5. Вычисление суммы k=k+L.

  6. Вычисление нового значения L=L+1.

  7. Идти к 4.

  8. Вывод значений n, m, k.

  9. Закончить вычисления.

Пример 2. В переменную x по очереди помещаются (вводятся) 10 чисел. В переменной Р получить максимальное из этих чисел. Блок-схема решения задачи 2 представлена на рисунке 1.10.

Решение. Если до входа в цикл переменной Р присвоить значение первого введенного числа х, то в цикле для очередного значения х нужно проверять условие Р>=x, и если оно не выполняется, то заменить старое значение Р на новое, равное текущему значению х.

После чего вводится следующее значение х.

Алгоритм имеет вид:

  1. Ввод х.

  2. Присвоение Р=х.

  3. Присвоение I=2.

  4. Ввод очередного значения х.

  5. Если P>=x идти к 6.

  6. Присвоение Р=х.

  7. I=I+1.

  8. Если I<=10 идти к 3.

  9. Вывод Р.

  10. Закончить вычисления.