Что не является характерным признаком линейного алгоритма

Тест по теме «Линейные алгоритмы»

Тест по теме «Линейные алгоритмы»: 3 варианта по 5 вопросов. Ответы прилагаются.

Просмотр содержимого документа
«Тест по теме «Линейные алгоритмы»»

Тест по теме «Линейные алгоритмы»

правила выполнения определенных действий;

понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение поставленных целей;

набор команд для компьютера;

протокол вычислительной сети.

2. Суть такого свойства алгоритма как результативность заключается в том, что:

алгоритм должен иметь дискретную структуру (должен быть разбит на последовательность отдельных шагов);

записывая алгоритм для конкретного исполнителя, можно использовать лишь те команды, что входят в систему его команд;

алгоритм должен обеспечивать решение не одной конкретной задачи, а некоторого класса задач данного типа;

при точном исполнении всех команд алгоритма процесс должен прекратиться за конечное число шагов, приведя к определенному результату.

Исполнитель алгоритмов – это:

человек или автомат (в частности компьютер), умеющий выполнять некоторый, вполне определенный набор действий;

понятное и точное предписание;

связи между этапами при помощи стрелок;

4. Алгоритм называется линейным:

если он составлен так, что его выполнение предполагает многократное повторение одних и тех же действий;

если ход его выполнения зависит от истинности тех или иных условий;

если его команды выполняются в порядке их естественного следования друг за другом независимо от каких-либо условий;

если он включает в себя вспомогательный алгоритм.

5Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма. Следующая фигура в блок-схемах обозначает:

ввод или вывод данных;

начало или конец алгоритма;

блок изменения параметров;

Тест по теме «Линейные алгоритмы»

набор команд для компьютера;

правила выполнения определенных действий;

понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение поставленных целей;

протокол вычислительной сети.

2. Суть такого свойства алгоритма как массовость заключается в том, что:

алгоритм должен иметь дискретную структуру (должен быть разбит на последовательность отдельных шагов);

записывая алгоритм для конкретного исполнителя, можно использовать лишь те команды, что входят в систему его команд;

алгоритм должен обеспечивать решение не одной конкретной задачи, а некоторого класса задач данного типа;

исполнитель алгоритма не должен принимать решения, не предусмотренные составителем алгоритма.

В расчете на кого должен строиться алгоритм?

в расчете на умственные способности товарища;

на всех одновременно;

в расчете на конкретного исполнителя.

4. Характерным признаком линейного алгоритма является:

строго последовательное выполнение команд в порядке их записи;

наличие в каждой строке только одной команды;

использование в нем исключительно команд с формулами;

присутствие в ней команд условного и безусловного перехода.

5Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма. Следующая фигура в блок-схемах обозначает:

ввод или вывод данных;

начало или конец алгоритма;

блок изменения параметров;

Тест по теме «Линейные алгоритмы»

правила выполнения определенных действий;

набор команд для компьютера;

протокол вычислительной сети;

понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение поставленных целей.

2. Суть такого свойства алгоритма как понятность заключается в том, что:

алгоритм должен иметь дискретную структуру (должен быть разбит на последовательность отдельных шагов);

записывая алгоритм для конкретного исполнителя, можно использовать лишь те команды, что входят в систему его команд;

при точном исполнении всех команд алгоритма процесс должен прекратиться за конечное число шагов, приведя к определенному результату;

исполнитель алгоритма не должен принимать решения, не предусмотренные составителем алгоритма.

система программ исполнителя;

система алгоритмов исполнителя;

система команд исполнителя;

система задач исполнителя.

Линейный алгоритм – это:

способ представления алгоритма с помощью геометрических фигур;

набор команд, которые выполняются последовательно друг за другом;

понятное и точное предписание исполнителю для выполнения различных ветвлений;

строгое движение как вверх, так и вниз.

5Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма. Следующая фигура в блок-схемах обозначает:

Источник

Итоговый тест по теме «Линейный алгоритм», вариант 1

Выбранный для просмотра документ БО учащегося.docx

Бланк ответов ученика 8____ класса МБОУ СОШ №

Фамилия, имя полностью

Примечание: В столбце «Вариант ответа» записываете не сам ответ, а только букву, которая соответствует правильному ответу. В задании №9 и №10 записать ответ.

Выбранный для просмотра документ БО учителя.docx

Тест «Линейный алгоритм»

Выбранный для просмотра документ Инструкция.docx

Инструкция по выполнению теста

В данном архиве находятся три файла:

Инструкция по выполнению теста.

Собственно сам тест, вариант 1

Прочитав тест и ответив на его вопросы, необходимо заполнить бланк ответов и переслать его на электронную почту учителю информатики.

Успехов при работе с тестом!

Выбранный для просмотра документ тест ЛА вар 1.docx

Тест по теме «Линейные алгоритмы»

Какой из документов является алгоритмом?
а) Правила техники безопасности.
б) Инструкция по получению денег в банкомате.
в) Расписание уроков.

Укажите наиболее полный перечень способов записи алгоритмов:

а). словесный, графический, псевдокод, программный; б) словесный;

в) графический, программный; г) словесный, программный.

Суть такого свойства алгоритма как результативность заключается в том, что:

а) алгоритм должен иметь дискретную структуру (должен быть разбит на последовательность отдельных шагов);

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

в) алгоритм должен обеспечивать решение не одной конкретной задачи, а некоторого класса задач данного типа;

г) при точном исполнении всех команд алгоритма процесс должен прекратиться за конечное число шагов, приведя к определенному результату.

4. Алгоритм называется линейным, если:
а) он составлен так, что его выполнение предполагает
многократное повторение одних и тех же действий;
б) ход его выполнения зависит от истинности тех или иных условий;
в) его команды выполняются в порядке их естественного следования друг за другом независимо от каких-либо условий.

5. Характерным признаком линейной программы является:

а) выполнение операторов в порядке их записи;

б) использование в ней исключительно операторов присваивания;

в) присутствие в ней операторов условного и безусловного перехода.

6. Какую смысловую нагрузку несет блок

а) блок ввода-вывода;
б) блок начала алгоритма;

г) проверка условия.

7. Определить значение a :

а) x+2*y/3*x*y; б) (x+2*y)/3*x*y; в) (x+2y)/(3xy); г) (x+2*y)/(3*x*y).

9. Ёмкость носителя информации задана в байтах. Перевести это значение в килобайты и мегабайты. Составьте блок-схему для решения задачи. Вычислите полученные значения если известно, что ёмкость носителя информации равна 5242880 байт.
10. У исполнителя Калькулятор две команды, которым присвоены номера:

Запишите порядок команд в программе преобразования числа 1 в число 34, содержащей не более пяти команд, указывая лишь номера команд. Составьте блок-схему для решения задачи.

Источник

Тест с ответами “Линейные алгоритмы. Алгоритмы с ветвлениями. Алгоритмы с повторениями” для 6 класса

1. Алгоритм, в котором команды выполняются в порядке их записи, то есть последовательно друг за другом, называется:
а) линейным +
б) ветвлением
в) циклическим

2. Алгоритм:
а) правила выполнения определенных действий
б) понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение поставленных целей +
в) набор команд для компьютера

3. Один из типов алгоритма:
а) линейчатый
б) практический
в) линейный +

4. Сколько фигур овал присутствуют в алгоритме:
а) 2 +
б) 1
в) 3

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. Сколько выходов имеет фигура овал:
а) всегда 1
б) 1 или 0 +
в) 1 или 2

Источник

Основные структуры алгоритмов: сравнительный анализ и примеры их использования (Линейные алгоритмы)

Содержание:

Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма

ВВЕДЕНИЕ

Цель работы. Рассмотреть основные структуры алгоритмов и на практических примерах провести их сравнительный анализ.

Для достижения заданной цели материал структурирован по главам. Во введении приводятся историческая справка и основные свойства, которыми должны обладать все алгоритмы. В первых трех главах выполнен анализ особенностей применения основных алгоритмических конструкций и приведены примеры их использования. В четвертой главе рассмотрена практическая задача разработки алгоритма для итерационного решения нелинейных уравнений с использованием комбинации основных алгоритмических конструкций. В заключении сделан общий вывод по работе. Литературные источники включают учебники, рекомендованные Министерством образования РФ для студентов высших учебных заведений и один справочник.

Прикладное значение работы определяется направленностью изложения материла на практическое применение основных алгоритмических конструкций для разработки алгоритмов.

Предмет курсовой работы. Особенности практического использования основных алгоритмических конструкций.

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

Дискретность – это свойство подразумевает, что алгоритм делится на простые шаги [3,4].

Массовость – это свойство показывает, что алгоритм представляет собой универсальную последовательность действий, которая применяется для решения всех задач данного типа [3,4].

Определенность – это свойство ал­горитма свидетельствует, что шаги инструкции алгоритма должны быть однозначны и не допускать двусмысленности [3,4].

Результативность – свойство состоит в том, что алгоритм должен завершаться за конечное число шагов [3,4].

Формальность – это свойство указывает, что инструкции алгоритма должны быть понятны любому исполнителю, для которого они предназначены [3,4].

Разработка алгоритма предшествует кодированию программы на языке программирования и представляет собой очень сложный процесс. Качество разработки алгоритма существенно влияет на эффективность написанной на его основе программы. Существуют уникальные алгоритмы для решения математических задач. Например, алгоритм Евклида для поиска наибольшего общего делителя двух чисел [1, 3]. Этот алгоритм очень эффективный и требует достаточно небольшого числа операций для решения поставленной задачи. Но таких алгоритмов очень мало и, как правило, они носят имена своих создателей.

На второй ступени по качеству разработки находятся алгоритмы, описанные в открытой печати, предназначенные для решения стандартных типовых задач, которые приходится решать программистам. Это такие задачи, как сортировка массивов (пузырьковая сортировка), поиск наикратчайшего пути (задача коммивояжера), быстрый поиск и многие другие [1, 3]. Эти стандартные алгоритмы тоже очень эффективны, так как в их создании участвовали группы специалистов, обладающие высокой квалификацией. Библиотека таких алгоритмов опубликована в известном труде «Искусство программирования» Дональда Кнута [1].

1. Линейные алгоритмы

1.1. Способы описания алгоритмов

Распространены четыре основные способа описания алгоритмов: словесное описание, псевдокод, блок-схема и программа [4].

Словесное описание алгоритма выполняется на естественном языке. Например, рецепт торта, инструкция к применению лекарственного препарата, правила включения и отключения электроприбора. Этот способ описания алгоритма не формализуем. Поэтому разработаны способы описания алгоритмов, когда используется формальный язык инструкций, и описание учитывает все возможные ситуации, возникающие в ходе решения [3,4].

Псевдокод — это язык описания алгоритма, который включает набор команд, представленных на естественном, ча­стично формализованном языке. На псевдокоде удобно разрабатывать алгоритмы, используя основные алгоритмические конструкции. Поэтому описанные на псевдокоде алгоритмы удобны для кодирования на языках программирования. Единого стандарта для псевдокода не разработано, поэтому на практике можно встретить различные его варианты [3,4].

Блок-схема — это язык описания алгоритмов с помощью геометрических фигур, соединенных линиями, показывающими порядок выполнения команд алгоритма. Этот способ представления алгоритма очень наглядный и, как правило, используется в отчётах и презентациях [3,4].

Программа — это способ описания алгоритма на языке программирования [3,4]. Применение такого способа описания алгоритмов должно опираться на включение в программный код большого количества комментариев. Такой способ описания алгоритма требует минимальных изменений для его практической реализации, но не обладает достаточной наглядностью для использования его в презентациях.

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

1.2. Применение линейных алгоритмов

Ниже приведены примеры линейных алгоритмов с применением всех четырех способов их описания (они выделены в тексте курсивом).

Пример. Пример алгоритма линейной структуры сложения двух чисел, описанный с помощью псевдокода и блок-схемы.

Блок схема алгоритма приведена на рисунке 1

Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма

Рисунок 1 – Блок-схема алгоритма сложения двух чисел

Пример использования псевдокода для описания алгоритма.

Ввод двух чисел а, b.

Вычислить сумму S = а + b.

Пример. Составить компьютерную программу для вычисления общей поверхности и объема конуса. Заданы значения радиуса основания R и длины образующей L.

Общая площадь поверхности вычисляется по формуле:

Объем конуса вычисляется по формуле:

Блок схема алгоритма представлена на рисунке 2.

Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма

Словесное описание алгоритма. На первом этапе работы алгоритма вводятся исходные значения: длина образующей (L) и радиус окружности (R). Затем следуют три вычислительные формулы, в которых последовательно вычисляются высота конуса (Н), площадь его поверхности (S) и объем (V). Завершается алгоритм выводом на экран вычисленных величин: площади S и объема V.

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

Вывод по главе. Применение линейной структуры алгоритма удобно для решения задач, где не требуется выбор вариантов. Увеличение числа вычислений влечет за собой большее количество расположенных последовательно друг за другом вычислительных блоков, а на сложность восприятия самого алгоритма практически не влияет.

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

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

2.1. Способы построения разветвляющегося алгоритма

Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма

Разветвляющейся конструкции на языке программирования ставится в соответствие оператор условного перехода, который на языке высокого уровня Паскаль имеет вид [2]:

if логическое выражение then

Оператор 1 и оператор 2 могут быть заменены на последовательность вычислительных блоков, представляющих собой линейную структуру.

Например, разветвляющийся алгоритм вычисления значения функции у(x) может быть представлен следующим участком программного кода.

В разветвляющейся структуре может быть и не предусмотрена последовательность действий в случае, если логическое условие не выполняется (ложь). Блок-схема такой конструкции представлена на рисунке 4.

Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма

На языке программирования Паскаль разветвляющаяся конструкция, предусматривающая выполнение одного оператора, имеет вид [2]:

if логическое выражение then Оператор 1;

Например, разветвляющаяся конструкция, представленная на языке Паскаль с одним оператором имеет вид.

Конструкция ветвления может применяться для решения задачи поиска наибольшего из нескольких чисел.

Пример. Даны три числа a, b, c. Найти наибольшее их этих трех чисел.

Решение. Для сравнения чисел необходимо воспользоваться двумя разветвляющимся конструкциями, которые используются последовательно друг за другом. Блок-схема алгоритма поиска максимального из трех чисел приведена на рисунке 5.

Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма

Описание алгоритма решения задачи. На первом этапе работы алгоритма вводятся три числа. Так как количество чисел больше двух, а операция сравнения чисел предусматривает только два варианта, то на втором этапе работы алгоритма для анализа всех возможных вариантов используются последовательно один за другим два условных перехода. Сначала сравниваются между собой два числа: a и b. Если величина числа a больше b, то в промежуточной переменой z сохранятся число a (z=a). Если условие (a>b) нарушается, то в промежуточной переменой z сохранятся число b (z=b). Таким образом, в результате выполнения первой операции сравнения будет найдено наибольшее из двух чисел a или b. Затем выполняется еще одна операция сравнения, где производится сопоставление переменной z с величиной числа с. Если условие (c>z) выполняется, то число c больше чисел a или b, и в этом случае за наибольшее принимается число c. В противном случае за наибольшую принимается величина, записанная в переменную z.

Программа, реализующая этот алгоритм на языке Паскаль, имеет вид.

2.2. Сложное ветвление

На практике возникают задачи, когда оператор условного перехода входит в одну из ветвей другого оператора условного перехода. Такое ветвление называют сложным. Вложенное внутреннее ветвление может содержаться как в одной, так и в обоих ветвях внешнего условного оператора.

Пример алгоритма, включающего сложное ветвление. Заданы переменные х и у. Необходимо выполнить три различных действия в зависимости от условий. При х = у необходимо вывести на экран значения этих переменных без изменения. Когда х > у, величины переменных необходимо уменьшить в 3 раза. При условии х y), которое позволяет завершить логическую цепочку выбора действий над числами. Когда величина x больше y, значения переменных величин (x и y) уменьшаются в 3 раза соответственно. Результаты выводятся на экран, и алгоритм завершает работу.

Если же логическое условие x>y нарушается, то в этом случае значения x и y увеличиваются на постоянное число 12. После выполнения вложенного условия на экран выводятся полученные результаты.

Реализация сложного ветвления на языке Паскаль представлено следующим программным кодом.

WriteLn (‘x= ‘, х:8:4, ‘у= ‘, у:8:4) ;

2.3. Ветвление с выбором варианта

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

Пример. Определить остаток от деления на 4 следующего выражения c=k*(a+b) и в зависимости от полученного результата выполнить следующие действия. Если остаток от деления равен нулю, то число с увеличить на 1, если остаток равен 1, то значение a увеличить на 4, а если остаток равен 2 или 3, то b увеличить на 2.

Блок-схема алгоритма имеет вид, приведенный на рисунке 7.

Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма

Алгоритм начинается с ввода переменных a, b, k. Далее вычисляется значение переменной c. На следующем шаге определяется значение селектора и в зависимости от полученного результата дальнейшая последовательность действий определяется одной из трех веток. Если остаток от деления равен нулю, то вычисляется значение с по формуле c:=c+1, и результат выводится на экран. При значении селектора равном единице выполняется другая ветвь, которая предусматривает совсем иную операцию a:=a+4, а затем вывод на экран переменной a. Для случая, когда значение селектора равно двум или трем, выполняется один и тот же оператор b:=b+2 с последующим выводом на экран переменной b. После выполнения последовательностей действий из выбранной ветки алгоритм завершает свою работу.

Реализация конструкции с выбором варианта на языке Паскаль представлена следующим кодом.

Вывод. Использование конструкции «оператор варианта» позволяет существенно увеличить читаемость программного кода. Если при решении задачи возникнет необходимость в большем количестве ветвей, чем две, то возможности структуры конструкции с выбором варианта легко позволяют нарастить число ветвей.

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

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

3.1 Цикл с параметром

Цикл с параметром предусматривает выполнение оператора или группы операторов, представляющих собой тело цикла, определенное и однозначно заданное количество раз. За количество повторений отвечает переменная, которая называется параметром цикла. Для задания числа повторений этой переменой присваивают начальное и конечное значения. При выполнении одной итерации переменная цикла увеличивается на единицу, и этот процесс повторяется до тех пор, пока величина переменой цикла не превысит максимальное заданное значение. Сама переменная цикла может использоваться в вычислениях внутри тела цикла. Но главная особенность цикла с параметром заключается в том, что переменная цикла внутри тела не переопределяется. Изменение этой переменной заранее предусмотрено при описании цикла. Возможны варианты применения оператора цикла с параметром, когда переменная цикла не увеличивается, а наоборот уменьшается. Такая организация цикла используется на практике, когда в программе необходимо организовать обратный отсчет. Некоторые языки программирования предусматривают изменение счетчика цикла не на единицу, а на заданную величину шага, которая определяется программистом при задании диапазона изменения параметров переменой цикла.

Блок-схема, определяющая цикл с параметром в общей структуре алгоритма представлена на рисунке 8.

Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма

Структура оператора цикл с параметром на языке Паскаль записывается следующим образом [2]:

For := to (или downto) do

Служебное слово For однозначно определяет цикл с параметром. Служебные слова to или downto задают прямой или обратный отсчет параметра цикла. Если тело цикла содержит только один оператор, то операторные скобки begin и end можно не применять, их присутствие для одного оператора только загромождает программу, но логику алгоритма не нарушает.

Пример. Вычислить значение функции y(x)=5*x+4 при изменении аргумента на заданном отрезке [1..20] c шагом 1.

Решение. Блок-схема алгоритма решения поставленной задачи приведена на рисунке 9.

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

Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма

На первой итерации значение переменной цикла равно единице, которая подставляется в функцию и вычисляется значение у равное 9. Затем 9 выводится на экран, и проверятся такое условие: значение переменной цикла меньше либо равно 20. Если условие истинно, то значение переменной цикла автоматически увеличивается на шаг, равный единице, и тело цикла выполняется снова. Итерационный процесс повторяется до тех пор, пока значение переменной цикла не превысит n=20. Тогда происходит выход из цикла, и алгоритм завершает свою работу.

Реализация алгоритма, использующего цикл с параметром на языке Паскаль, представлена следующим программным кодом.

При программной реализации цикла с параметром необходимо, чтобы переменная цикла x и переменные a и n были целого типа. Это создает ограничение для применения на практике алгоритмической конструкции «цикл с параметром». Хотя это ограничение легко обходится введением в тело цикла других переменных вещественного типа, но работу с ними и изменение их параметров программисту необходимо организовать.

Вывод. Итак, алгоритмическая конструкция «цикл с параметром» позволяет строить итерационные алгоритмы, достоинством которых является то, что зацикливание в бесконечный круг повторений тела цикла не происходит из-за точно определенного числа повторений. Недостатком является то, что цикл будет выполняться заданное число раз, даже когда в этом уже нет необходимости.

3.2 Цикл с предусловием

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

Блок-схема, определяющая цикл с параметром в общей структуре алгоритма, представлена на рисунке 10.

Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма

Структура алгоритмической конструкции «цикл с предусловием» на языке Паскаль записывается следующим образом [2]:

Служебное слово while свидетельствует, что этот программный код реализует алгоритмическую конструкцию «цикл с предусловием». Если логическое выражение истинно, то выполняется тело цикла, в противном случае происходит выход из цикла. Я решил в теле цикла отразить важный элемент цикла с предусловием: счетчик цикла, который со временем обеспечивает нарушение логического условия, что и позволяет завершить работу цикла и избежать бесконечного зацикливания. Синтаксис оператора не включает эту переменную, но в общей структуре я привел ее как элемент, отражающий особенности применения на практике этой алгоритмической конструкции.

Пример, иллюстрирующий практическое применение цикла с предусловием. Задача. Необходимо вычислить сумму чисел, чередующихся последовательно от 1 до n с заданным шагом.

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

Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма

На первом этапе работы алгоритма вводится последнее число последовательности (n) и величина шага (h). До начала работы цикла инициируются начальные значения суммы s и числа х. На следующем этапе начинает свою работу цикл с предусловием. Сначала проверяется логическое условие xn. Если это логическое условие нарушается, то происходит выход из цикла, и тело цикла не выполнится ни разу. Когда условие истинно, значение суммы увеличивается на величину x. После этого переменная x возрастает на величину шага h, и начинается следующая итерация цикла. Вновь проверяется условие, и в зависимости от результата происходит выход из цикла или итерационный процесс продолжается. Переменная x на каждой итерации все время увеличивает свое значение и рано или поздно превысит величину n. Количество итераций заранее неизвестно и определяется величинами n и h. После выхода из цикла выводится значение суммы s, и алгоритм завершает свою работу.

Реализация алгоритма, использующего цикл с предусловием на языке Паскаль.

Отличительной особенностью при кодировании цикла с постусловием от двух предыдущих циклических конструкций: цикла с параметром и цикла с предусловием является то, что при использовании нескольких операторов в теле этого цикла не требуется ставить операторные скобки begin и end.

Пример, иллюстрирующий применение цикла с постусловием. Составить программу, которая позволяет ограничить расходы на покупки в магазине. Общая стоимость покупок складывается и не должна превышать заданной суммы. Должна быть совершена минимум одна покупка.

Решение. Блок-схема алгоритма приведена на рисунке 13. На первом шаге работы алгоритма осуществляется ввод общего количества средств (переменная limit). Далее задается начальное значение суммы затрат. Так как не совершено еще ни одной покупки, начальная сумма затрат задается равной нулю.

Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма

На следующем шаге организуется цикл с постусловием. Цикл начинается с вывода текущих затрат. Затем необходимо ввести стоимость первой покупки. После того как будет задана сумма первой покупки, вычисляются общие затраты и проверяется условие выхода из цикла. Если величина затрат меньше заданного лимита, то тело цикла выполняется вновь. Выводится на экран сумма потраченных средств, и вводится стоимость новой покупки. Общая стоимость всех потраченных средств вычисляется прибавлением к уже потраченной сумме стоимости новой покупки. Снова проверяется условие выхода из цикла. Итерационный процесс завершается, когда количество потраченных средств превысит лимит. После выхода из цикла алгоритм завершает свою работу.

Реализация алгоритма, использующего цикл с постусловием на языке Паскаль.

zatrat, limit, stoim : real;

WriteLn(‘Введите лимит средств’);

WriteLn(‘Текущие затраты= ‘, zatrat:8:4);

WriteLn(‘Введите цену покупки’);

zatrat:= zatrat + stoim

Until zatrat > limit;

При программной организации цикла с постусловием необходимо обращать внимание на те же моменты, что и для цикла с предусловием. Это правильность выставления знака логического условия выхода из цикла и переопределение в теле цикла переменной, обеспечивающей выполнение или нарушения логического условия выхода из цикла. Чтобы не ошибиться, необходимо в процессе отладки программы выводить величину этой переменной на экран. Тогда можно избежать зацикливания или преждевременного выхода из цикла.

Вывод. Таким образом, в отличие от алгоритмической конструкции «цикл с предусловием» в цикле с постусловием тело цикла выполнится хотя бы один раз. Программная реализация для цикла с постусловием отличается от других циклических конструкций тем, что не требует использования операторных скобок при использовании нескольких операторов в теле цикла.

4. Сочетание основных алгоритмических конструкций решения практических задач

Алгоритмы, предназначенные для решения практических задач, строятся посредством комбинирования основных алгоритмических конструкций [2]. Далее разобран пример решения практической задачи, сочетающий три основные алгоритмические конструкции.

Пример. Найти корень уравнения y=f(x) с погрешностью  методом половинного деления.

Решение. Метод половинного деления заключается в следующем. На первом шаге интервал, которому принадлежит искомый корень, разбивается пополам и выбирается один из получившихся интервалов, например, расположенный слева. Если произведение значений функции на концах этого интервала меньше нуля, то искомый корень уравнения ему принадлежит, если нет, то считается, что искомый корень уравнения принадлежит другому интервалу. В результате этой операции область, включающая корень уравнения, уменьшается в два раза. В результате многократного деления интервала пополам он постоянно уменьшается и в пределе стягивается в точку, которая и является искомым корнем уравнения [3].

Var a, b, eps, x, y, z : real;

WriteLn(‘Ведите левую и правую границы a, b и погрешность eps’);

Обычно при разработке вычислительных алгоритмов применяется комбинация всех видов основных алгоритмических конструкций, так как каждая из них расширяет возможности другой, и только их совместное использование позволяет решать весь спектр задач, возникающих в профессиональной деятельности программиста.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Что не является характерным признаком линейного алгоритма. Смотреть фото Что не является характерным признаком линейного алгоритма. Смотреть картинку Что не является характерным признаком линейного алгоритма. Картинка про Что не является характерным признаком линейного алгоритма. Фото Что не является характерным признаком линейного алгоритма

При копировании любых материалов с сайта evkova.org обязательна активная ссылка на сайт www.evkova.org

Сайт создан коллективом преподавателей на некоммерческой основе для дополнительного образования молодежи

Сайт пишется, поддерживается и управляется коллективом преподавателей

Whatsapp и логотип whatsapp являются товарными знаками корпорации WhatsApp LLC.

Cайт носит информационный характер и ни при каких условиях не является публичной офертой, которая определяется положениями статьи 437 Гражданского кодекса РФ. Анна Евкова не оказывает никаких услуг.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *