Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы алгоритмизации.doc
Скачиваний:
43
Добавлен:
19.03.2015
Размер:
477.7 Кб
Скачать

6. Тест по основам алгоритмизации

1. Отметьте основные способы описания алгоритмов.

Блок-схемный

Словесно-формульный

С помощью сетей Петри

С помощью нормальных форм

С помощью граф-схем

2. Пронумеруйте в правильной последовательности этапы решения на ЭВМ научно-инженерных задач

Отладка программы

Решение задачи на ЭВМ и анализ результатов

Математическое описание задачи

Постановка задачи

Выбор и обоснование метода решения

Составление программы

Алгоритмизация вычислительного процесса

3. На каком из этапов устраняются синтаксические и логические ошибки в программе?

Алгоритмизация вычислительного процесса

Отладка программы

Составление программы

Решение задачи на ЭВМ и анализ результатов

4. Отметьте простейшие алгоритмические структуры.

Последовательность двух или более операций

Выбор направления действия

Вложенные повторения операций

Повторение действий

5. Какое из ниже перечисленных свойств не относится к основным свойствам алгоритма?

Результативность

Массовость

Корректность

Определенность

7. Практические задания

7.1. Примеры линейного и разветвленного алгоритмов

Пример 1 Составить блок-схему вычисления переменной

y = a3 / (a2 + x2)

при а и x, введенных с клавиатуры.

Решение

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

  1. ввод значений а и х

  2. вычисление значения y по заданной формуле

  3. вывод полученного значения y

Изобразим данные шаги в виде блок-схемы:

Пример 2 Вычислить значение переменной y, в зависимости от значения переменных a и x, введенных с клавиатуры по правилу:

Решение

Данный алгоритм относится к типу разветвленных, так как значение переменной y вычисляется по разным формулам в зависимости от значений а и х. Алгоритм предполагает следующие шаги:

  1. ввод значений а и х

  2. определение соотношения переменных а и х

  3. если a < x, то вычисление значения y по первой формуле и переход к шагу 8

  4. если а ≥ х, то вычисление значения y по второй формуле

  5. вывод полученного значения y

Изобразим данные шаги в виде блок-схемы:

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

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

Структура цикл существует в трех основных вариантах:

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

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

Обозначение цикла с параметром в блок-схемах алгоритмов.

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

Предписывает выполнять тело цикла до тех пор, пока выполняется проверочное условие (условие – истинно). Таким образом, тело цикла может не выполниться ни разу, если условие цикла изначально не верно.

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

  1. Цикл с постусловием.

Предписывает выполнять тело цикла до тех пор, пока не выполнится проверочное условие (условие – ложно). Условие проверяется после выполнения тела цикла. Тело цикла выполнится как минимум один раз, даже если условие окончания цикла изначально верно.

Обозначение цикла с постусловием в блок-схемах алгоритмов.

Пример 1.

Составить блок-схему алгоритма вычисления функции в точках изменения аргумента:

Решение

Так как заранее известно количество точек измерения и параметр k изменяет свое значение с шагом 1, то для решения можно использовать цикл с параметром. Из условия задачи неявно следует, что вывод значений функции осуществляется в точках изменения значений аргумента. Таким образом, тело цикла содержит два оператора: оператор вычисления значения функции и оператор вывода этого значения на экран.

Пример 2.

Составить блок-схему вычисления функции

с параметром и при x, изменяющимся от 0 до 3 с шагом Dx = 0,1.

Решение

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

Задание 1(общее): переделать данный алгоритм так, чтобы использовать цикл с параметром.

Пример 3.

Составить алгоритм вычисления суммы ряда

с заданной точностью ε (для данного знакочередующегося степенного ряда требуемая точность будет достигнута, когда очередное слагаемое станет по абсолютной величине меньше ε).

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

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

Решая эту задачу "в лоб" путем вычисления на каждом i-ом шаге частичной суммы

мы получим очень неэффективный алгоритм, требующий выполнения большого числа операций. Гораздо лучше организовать вычисления следующим образом: если обозначить числитель какого-либо слагаемого буквой р, то у следующего слагаемого числитель будет равен -р*х (знак минус обеспечивает чередование знаков слагаемых), а само слагаемое m будет равно p/i, где i - номер слагаемого.

Задание 2 (общее): переделать алгоритм так, чтобы использовался цикл с постусловием.

Задание 3 (индивидуальное):

Практическое задание по вариантам взять из методички «Информатика», тема 7: Программирование разветвляющихся и циклических алгоритмов, задание 2: нахождение суммы бесконечного ряда.

Задание 4 (индивидуальное). Составьте блок-схему алгоритма, позволяющего вычислить значение функции при значениях переменной х в интервале от -p до p с шагом 0,2. значение р вводится с клавиатуры.

Вариант

Функция

1

2

3

4

5

6

7

8

9

Блок-схему нарисуйте в Word, используя Автофигуры  => раздел Блок-схемы и раздел Соединительные линии.

Полученную блок-схему алгоритма сгруппируйте.

26