Просмотр содержимого документа
«Практическая работа №12»
Практическая работа №12.
Линейные алгоритмы.
Тема: Разработка несложного алгоритма решения задачи.
Краткие теоретические сведения
Алгоритмом называется точное предписание, определяющее последовательность действий исполнителя, направленных на решение поставленной задачи. В роли исполнителей алгоритмов могут выступать люди, роботы, компьютеры.
Понятие алгоритма в программировании является фундаментальным. Для алгоритма важен не только набор определенных действий, но и то, как они организованы, т.е. в каком порядке они выполняются.
Свойства алгоритма:
понятность – все действия должны входить в систему команд исполнителя, т.е. быть понятны ему;
дискретность - алгоритм делится на отдельные элементарные шаги;
определенность - каждая команда однозначно определяет действие исполнителя;
конечность(результативность) - алгоритм должен завершаться за конечное число шагов.
массовость – алгоритм позволяет решать целый класс похожих задач.
Способы записи алгоритма:
1. Словесно-формульный
Пример.
Алгоритм деления обыкновенных дробей
1. Числитель первой дроби умножить на знаменатель второй;
2. Знаменатель второй дроби умножить на числитель второй;
3. Записать дробь, числитель которой есть результат
выполнения пункта 1, а знаменатель - результат
выполнения пункта 2.
2. Графический способ (в виде блок-схемы )
Блок схема – это графическое представление алгоритма при помощи стандартных обозначений. Блок схемы составляются в соответствии с ГОСТами. ГОСТы алгоритмов: ГОСТ 19.002-80, ГОСТ 19.003-80. На схемах алгоритмов выполняемые действия изображаются в виде отдельных блоков, которые соединяются между собой линиями связи в порядке выполнения действий. На линиях связи могут ставиться стрелки, причем, если направление связи слева направо или сверху вниз, то стрелки не ставятся. Блоки нумеруются. Внутри блока дается информация о выполняемых действиях.
Таблица 1 – Основные блоки, используемые при составлении алгоритмов
| Название | Обозначение | Назначение |
| Пуск, Останов | | Начало-конец алгоритма |
| Процесс | | Любое вычислительное действие |
| Решение | | Проверка условия |
| Модификатор | | Цикл |
| Ввод-вывод | | Ввод-вывод данных |
| Документ | | Вывод на печатающее устройство |
| Соединитель | | Используется на линиях разрыва |
| Комментарий | | Комментарий |
3. Запись алгоритма в виде последовательности команд для ЭВМ
Алгоритм, записанный на одном из языков программирования называется программой.
Типы вычислительных процессов
Вычислительные процессы могут быть: линейные, разветвляющиеся и циклические.
Линейные алгоритмы
Линейный алгоритм – алгоритм, в котором все команды выполняются последовательно друг за другом.
Пример 1: составить алгоритм обмена значений переменных a и b.


| Команды | a | b | c |
| a=5, b=12 | 5 | 12 | - |
| c=a | 5 | 12 | 5 |
| a=b | 12 | 12 | 5 |
| b=c | 12 | 5 | 5 |
Пример 2: Составить алгоритм обмена значений переменных a и b без использования дополнительной переменной.

| Команды | a | b |
| a=3, b=7 | 3 | 7 |
| a=a+b | 10 | 7 |
| b=a-b | 10 | 3 |
| a=a-b | 7 | 3 |
П
ример 2: составить алгоритм вычисления a8, используя не более 3х действий умножения (возведение в степень не использовать)
a: 2 -4 -16 - 256
a=a*a | a2
a=a*a | a4
a=a*a | a8
| Команды | a |
| a=2 | 2 |
| a=a*a | 4 |
| a=a*a | 16 |
| a=a*a | 256 |
Пример 3: Составить алгоритм вычисления a6, используя не более трех команд умножения.

| Команды | a | b |
| a=2 | 2 | - |
| a=a*a | 22 | - |
| b=a | 22 | 22 |
| a=a*a | 24 | 22 |
| a=b*a | 26 | 22 |