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

6. Вычисления во вложенных циклах

Цель

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

Теория

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

Трассировка

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

В среде TurboPascal есть встроенный отладчик, доступ к функциям которого осуществляется через пункт меню Debug:

Breakpoints – точки останова программы, т.е. места в программе, где выполнение будет остановлено при следующей компиляции и запуске. Добавляются пунктом меню Add Breakpoint

Call Stackвызов содержимого стека

Registerвызов содержимого регистров процессора

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

Output – окно консоли, куда по умолчанию выводятся данные.

В пункте меню Run, помимо команды Run, которая компилирует и запускает программу на выполнение, имеются также два пункта Step Over и Trace Into, которые позволяют выполнять программу пошагово.

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

Вложенный цикл может

Задачи.

1. Дано натуральное число n. Получить все натуральные числа, меньшие n и взаимно простые с ним.

2. Найти наименьшее натуральное число n, представимое двумя различными способами в виде суммы кубов двух натуральных чисел х3 + y3 (х  у).

3. Натуральное число называется совершенным, если оно равно сумме всех своих делителей, за исключением себя самого. Число 6 - совершенное, так как 6 = 1 + 2 + 3. Число 8 - не совершенное, так как 8  1 + 2 + 4.

Дано натуральное число n. Получить все совершенные числа, меньшие n.

4. Даны целые числа р и q. Получить все делители числа q, взаимно простые с р.

5. Даны натуральные числа a, b (ab). Получить все простые числа p, удовлетворяющие неравенствам apb.

6. Найти 100 первых простых чисел.

7. Найти натуральное число от 1 до 10000 с максимальной суммой делителей.

8. Дано натуральное число n. Получить все простые делители этого числа.

9. Даны натуральные числа n, m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m.

10. Даны целые числа a1, …, an (в этой последовательности могут быть повторяющиеся члены). Получить все числа, которые входят в последовательность по одному разу.

12. Даны целые числа a1, …, an (в этой последовательности могут быть повторяющиеся члены). Получить числа, взятые по одному из каждой группы равных членов.

13. Даны целые числа a1, …, an (в этой последовательности могут быть повторяющиеся члены). Найти число различных членов последовательности.

14. Даны целые числа a1, …, an (в этой последовательности могут быть повторяющиеся члены). Выяснить, имеется ли в последовательности хотя бы одна пара совпадающих чисел.

15. Даны пять различных целых чисел. Найти среди них два числа, модуль разности которых имеет наибольшее значение.