Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания_ДС.doc
Скачиваний:
8
Добавлен:
03.03.2016
Размер:
349.7 Кб
Скачать

Министерство образования и науки Украины

Донецкий национальный технический университет

Задания к практическим занятиям по курсу “дискретные структуры”

Донецк, 2012

Тема 1. Интуитивное понятие алгоритма

Материал этой темы является вводным при изучении классической теории алгоритмов. Основные задачи изучения темы – повторение и закрепление понятия и свойств алгоритма, рассматриваемых в курсе « Программирование и работа на ЭВМ », дальнейшее развитие навыков алгоритмизации, демонстрация проявления основных свойств алгоритмов на конкретных примерах. Рекомендуемая литература : [1,2,3,4].

Задания на самостоятельную работу

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

- в чем смысл интуитивного понятия алгоритма ?

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

- в чем особенность рекурсивных алгоритмов ?

Задачи.

1.Составьте следующие алгоритмы :

а) вычисление произведения двух целых чисел без использования операции умножения;

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

в) перевод целого десятичного числа в P-ичную систему счисления;

г) подсчет количества делителей целого числа X;

д) вычисление n! , где n - любое целое число;

  1. Выполните трассировку алгоритмов: Евклида, решета Эратосфена, разложения числа на простые множители по исходным данным в соответствии с вариантом задания.

Алгоритм

№ п/п

Алгоритм

Евклида

Решето

Эратосфена

Разложение чисел на простые

множители

1

2 3

4

5

1

25

60

150

68

2

70

42

160

36

3

100

30

130

100

4

85

60

200

96

5

78

29

65

72

6

36

48

112

106

7

112

40

120

85

8

30

120

250

48

9

52

13

220

90

10

72

38

80

200

11

86

92

146

66

12

40

100

150

70

13

35

150

210

82

14

128

192

160

30

15

81

27

230

102

16

68

96

125

78

17

68

26

170

128

18

64

160

240

86

19

172

43

111

56

20

105

50

195

44

21

116

48

190

122

22

256

64

99

108

23

49

70

300

39

24

26

104

119

115

25

121

22

270

45

  1. Отсортировать массив X с помощью методов вставок, слияния и «взбалтывания». Привести всю последовательность шагов алгоритма для заданного массива.

1. 7,1,4,9,53,39,33.

  1. 87,72,41,12,50,67,52.

  2. 15,23,85,19,56,13,55.

  3. 15,70,81,57,36,16,85,46.

  4. 11,73,14,24,28,29,43,27.

  5. 35,47,33,11,18,38,94,36.

  6. 80,25,95,20,62,53,56,62.

  7. 24,99,23,83,12,75,12,2,14.

  8. 17,68,18,16,19,71,87,11,59.

  9. 12,14,51,13,71,89,39,16.

  10. 11,66,12,79,22,87,21,19,20.

  11. 26,27,95,30,11,62,29,45.

  12. 80,72,73,81,38,46,24,30.

  13. 32,14,79,27,79,58,69,74.

  14. 67,37,73,83,29,81,16,53,94.

  15. 25,65,19,99,26,74,32,33.

  16. 106,274,301,221,241,188.

  17. 13,52,11,73,25,91,26,82.

  18. 46,95,43,50,76,45,57,61.

  19. 10,31,34,11,7,17,18,58,24.

  20. 24,28,61,19,27,15,95,26.

  21. 20,86,16,19,81,71,26,82.

  22. 96,86,73,42,46,27,39.

  23. 14,79,37,11,34,36,38,46.

  24. 18,16,26,23,24,29,31,32.

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

а) суммы n элементов массива чисел;

б) произведения n элементов массива;

в) поиск максимального и минимального элементов в массиве чисел;

г) сортировка методом « взбалтывания » . Указание : составить два рекурсивных алгоритма : один выполняет просмотр массива, другой – использует просмотры для сортировки всего массива;

д) поиск заданного элемента в неупорядоченном массиве;

е) поиск заданного элемента в упорядоченном массиве методом деления массива пополам.

  1. Выполните трассировку рекурсивных алгоритмов :

а) игра « Ханойская башня » для n=3 и n=4;

б) функция «91» ; в качестве n возьмите номер своего варианта, увеличенный на 30;

в) алгоритмы, указанные в п.4.