Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практические занятия по теории алгоритмов(13).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
189.93 Кб
Скачать

Пример вычисления сложности алгоритма.

В ычислить и вывести на экран значения функции F=5x2 + 3x – 2 для x = 1, 2, …, N. Значение N ввести с клавиатуры.

Для определения вида О-функции найдем количество

операций, выполняемых в цикле при данном значении N.

Один раз выполняется ввод N, цикл выполняется

N раз, при этом в цикле выполняется 7 операций.

Значит, общее количество операций

равно 1 + 7N. Это количество линейно зависит от

значения N. Функция временной сложности

T(x) = 7N.

Значит, О-функция имеет вид О(N).

Используемая литература.

1 Шишковский С.А. Компьютерное моделирование. Методические указания для студентов заочной формы обучения, тема 1.5

2 Семакин И.Г., Шестаков А.П.Основы программирования», стр. 291-293.

4 Порядок выполнения работы

  1. Переписать задание к работе в тетрадь.

  2. Выполнить задание

  3. Ответить на контрольные вопросы.

5 Содержание отчета

  1. Наименование практической работы.

  2. Цель работы.

  3. Конкретное задание и его выполнение.

  4. Ответы на контрольные вопросы.

6 Контрольные вопросы

  1. Какие формы сложности алгоритмов вы знаете?

  2. Что такое О-функция?

  3. Какие бывают виды О-функций ?

  4. Что такое емкостная сложность алгоритма?

7 Варианты заданий к практическому занятию № 6

Вариант 1

Составить блок-схемы алгоритмов и определить их сложность.

1. Ввести длину окружности. Найти площадь круга, ограниченного этой окружностью и вывести ее на экран.

2. Вычислить значения функции f=4x2 - 8x - 5 для значений х=2,4,6,…, 2N в цикле с постусловием. Вывод значений функции делать в теле цикла. Значение N ввести с клавиатуры.

Вариант 2

Составить блок-схемы алгоритмов и определить их сложность.

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

2. Посчитать в цикле с постусловием сумму натурального ряда чисел со значениями от 3 до N, вывести ее на экран со всеми промежуточными суммами. Значение N ввести с клавиатуры.

Вариант 3

Составить блок-схемы алгоритмов и определить их сложность.

1. Ввести с клавиатуры три целых числа А,В,С. Определить, какое из них равно числу D и вывести об этом сообщение. Если нет такого числа, то вывести «нет».

2. Посчитать в цикле с предусловием произведение четных чисел от 2 до N. Вывести на экран все значения произведений. Значение N ввести с клавиатуры.

Вариант 4

Составить блок-схемы алгоритмов и определить их сложность.

1. Ввести с клавиатуры два целых числа А и В. Перераспределить их так, чтобы в А оказалось меньшее из них, а в В – большее. Результаты вывести на экран.

2. В цикле с предусловием вычислить значение функции Y=2N путем умножения, построить таблицу всех промежуточных значений степени. Значение N ввести с клавиатуры.

Вариант 5

Составить блок-схемы алгоритмов и определить их сложность.

1. Ввести с клавиатуры три целых числа А,В,С. Определить, являются ли они сторонами треугольника. Если да, то найти площадь этого треугольника и вывести ее на экран.

2. Ввести матрицу из N строк и N столбцов и найти сумму ее элементов. Сумму вывести на экран. Значение N ввести с клавиатуры.

Вариант 6

Составить блок-схемы алгоритмов и определить их сложность.

1. Ввести с клавиатуры три целых числа А,В,С. Поменять их местами так, чтобы они оказались упорядоченными по возрастанию.

2. Ввести два целых числа А и В.Найти произведения всех чисел из диапазонов (1, 2, 3, , А) и (1, 2, …, В). Вывести на экран все произведения.

Вариант 7

Составить блок-схемы алгоритмов и определить их сложность.

1. Ввести с клавиатуры два радиуса R1 и R2. Посчитать для этих радиусов длины окружностей L1, L2 и площади кругов P1 и P2. Все величины вывести на экран.

3. Для значений 1, 2, 3, …N вывести на экран кубы этих чисел. Использовать цикл с предусловием. Значение N ввести с клавиатуры.

Вариант 8

Составить блок-схемы алгоритмов и определить их сложность.

1. Ввести площадь круга Р и площадь квадрата S. Определить, поместится ли квадрат в круге.

2. Вычислить факториал положительного числа N и вывести его на экран. Значение N ввести с клавиатуры.

Вариант 9

Составить блок-схемы алгоритмов и определить их сложность.

1. Ввести переменные х и у. Выяснить, находится ли точка с этими координатами в круге с радиусом 10 и центром в начале координат. Ответ дать в форме «находится в круге» или «не в круге».

2. Ввести массив из N чисел и посчитать количество отрицательных чисел. Вывести его на экран. Значение N ввести с клавиатуры.

Вариант 10

Составить блок-схемы алгоритмов и определить их сложность.

1. Ввести координаты двух точек А(х1, у1) и В( х2, у2), вычислить, какая из точек ближе к началу координат, вывести об этом сообщение. на экран.

2. Ввести матрицу из N строк и N столбцов и найти суммы элементов для каждой строки. Суммы вывести на экран. Значение N ввести с клавиатуры.

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 7