6. Тест по основам алгоритмизации
1. Отметьте основные способы описания алгоритмов.
Блок-схемный
Словесно-формульный
С помощью сетей Петри
С помощью нормальных форм
С помощью граф-схем
2. Пронумеруйте в правильной последовательности этапы решения на ЭВМ научно-инженерных задач
Отладка программы
Решение задачи на ЭВМ и анализ результатов
Математическое описание задачи
Постановка задачи
Выбор и обоснование метода решения
Составление программы
Алгоритмизация вычислительного процесса
3. На каком из этапов устраняются синтаксические и логические ошибки в программе?
Алгоритмизация вычислительного процесса
Отладка программы
Составление программы
Решение задачи на ЭВМ и анализ результатов
4. Отметьте простейшие алгоритмические структуры.
Последовательность двух или более операций
Выбор направления действия
Вложенные повторения операций
Повторение действий
5. Какое из ниже перечисленных свойств не относится к основным свойствам алгоритма?
Результативность
Массовость
Корректность
Определенность
7. Практические задания
7.1. Примеры линейного и разветвленного алгоритмов
Пример 1 Составить блок-схему вычисления переменной
y = a3 / (a2 + x2)
при а и x, введенных с клавиатуры.
Решение
Данный алгоритм относится к типу линейных. По условию переменные а и х вводятся с клавиатуры, следовательно, алгоритм начинается с ввода значений этих переменных. Затем можно вычислить значение переменной y и заканчивается алгоритм операцией вывода полученного значения. Таким образом, алгоритм предполагает следующие шаги:
ввод значений а и х
вычисление значения y по заданной формуле
вывод полученного значения y
Изобразим данные шаги в виде блок-схемы:
Пример 2 Вычислить значение переменной y, в зависимости от значения переменных a и x, введенных с клавиатуры по правилу:
Решение
Данный алгоритм относится к типу разветвленных, так как значение переменной y вычисляется по разным формулам в зависимости от значений а и х. Алгоритм предполагает следующие шаги:
ввод значений а и х
определение соотношения переменных а и х
если a < x, то вычисление значения y по первой формуле и переход к шагу 8
если а ≥ х, то вычисление значения y по второй формуле
вывод полученного значения y
Изобразим данные шаги в виде блок-схемы:
7.2. Циклические алгоритмы
Базовая структура цикл обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла.
Структура цикл существует в трех основных вариантах:
Цикл с параметром.
Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне. Как правило, параметр цикла пробегает этот диапазон с единичным шагом изменения.
Обозначение цикла с параметром в блок-схемах алгоритмов.
Цикл с предусловием.
Предписывает выполнять тело цикла до тех пор, пока выполняется проверочное условие (условие – истинно). Таким образом, тело цикла может не выполниться ни разу, если условие цикла изначально не верно.
Обозначение цикла с предусловием в блок-схемах алгоритмов.
Цикл с постусловием.
Предписывает выполнять тело цикла до тех пор, пока не выполнится проверочное условие (условие – ложно). Условие проверяется после выполнения тела цикла. Тело цикла выполнится как минимум один раз, даже если условие окончания цикла изначально верно.
Обозначение цикла с постусловием в блок-схемах алгоритмов.
Пример 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, используя Автофигуры => раздел Блок-схемы и раздел Соединительные линии.
Полученную блок-схему алгоритма сгруппируйте.