Задачи. Задачи для самостоятельного решения (подпрограммы). Задачи для самостоятельного решения
Скачать 104.5 Kb.
|
Задачи для самостоятельного решения Каждый студент должен решить одну задачу из блока А, две задачи из блока Б, одну задачу из блока В или Г. При решении задач этой лабораторной работы обязательно использование подпрограмм. А 1. Треугольник задан координатами своих вершин. Составить программу вычисления его площади. 2. Составить программу нахождения наибольшего общего делителя и наименьшего общего кратного двух натуральных чисел: 3. Составить программу нахождения наибольшего общего делителя четырех натуральных чисел. 4. Составить программу нахождения наименьшего общего кратного трех натуральных чисел. 5. Написать программу нахождения суммы большего и меньшего из 3 чисел. 6. Вычислить площадь правильного шестиугольника со стороной а, используя подпрограмму вычисления площади треугольника. 7. На плоскости заданы своими координатами n точек. Составить программу, определяющую между какими из пар точек самое большое расстояние. (Указание. Координаты точек занести в массив.) 8. Проверить, являются ли данные три числа взаимно простыми. 9. Написать программу вычисления суммы факториалов всех нечетных чисел от 1 до 9. 10. Даны две дроби и (А, В, С, D — натуральные числа). Составить программу: деления дроби на дробь; умножения дроби на дробь; сложения этих дробей. Ответ должен быть несократимой дробью. 11. На плоскости заданы своими координатами n точек. Создать матрицу, элементами которой являются расстояние между каждой парой точек. 12. Даны числа X, Y, Z, T — длины сторон четырехугольника. Вычислить его площадь, если угол между сторонами длиной X и Y — прямой. 13. Сформировать массив X (n), n-ый член которого определяется формулой . 14. Составить программу вычисления суммы факториалов всех четных чисел от m до n. 15. Заменить отрицательные элементы линейного массива их модулями, не пользуясь стандартной функцией вычисления модуля. Подсчитать количество произведенных замен. 16. Дан массив A (n). Сформировать массив B (m), элементами которого являются большие из двух рядом стоящих в массиве A чисел. (Например, массив A состоит из элементов 1, 3, 5, -2, 0, 4, 0. Элементами массива B будут 3, 5, 4.) 17. Дан массив A (n) (n – четное). Сформировать массив B (m), элементами которого являются средние арифметические соседних пар рядом стоящих в массиве A чисел. (Например, массив A состоит из элементов 1, 3, 5, -2, 0, 4, 0, 3. Элементами массива B будут 2; 1,5; 2; 1,5.) 18. Дано простое число. Составить функцию, которая будет находить следующее за ним простое число. 19. Составить функцию для нахождения наименьшего нечетного натурального делителя k (k 1)любого заданного натурального числа n. Б 1. Дано натуральное число N. Составить программу формирования массива, элементами которого являются цифры числа N. 2. Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке (например, дано число 156, нужно получить 651). 3. Даны натуральные числа K и N. Составить программу формирования массива A, элементами которого являются числа, сумма цифр которых равна K и которые не больше N. 4. Даны три квадратных матрицы A, B, C n-го порядка. Вывести на печать ту из них, норма которой наименьшая. Нормой матрицы считать максимум из абсолютных величин ее элементов. 5. Два натуральных числа называются “дружественными”, если каждое из них равно сумме всех делителей (кроме его самого) другого (например, числа 220 и 284). Найти все пары “дружественных чисел”, которые не больше данного числа N. 6. Два простых числа называются “близнецами”, если они отличаются друг от друга на 2 (например, 41 и 43). Напечатать все пары “близнецов” из отрезка [n, 2n], где n — заданное натуральное число больше 2. 7. Написать программу вычисления суммы для заданного числа n. Дробь должна быть несократимой (p, q — натуральные). 8. Написать программу вычисления суммы для заданного числа n. Результат представить в виде несократимой дроби (p, q — натуральные). 9. Натуральное число, в записи которого n цифр, называется числом Амстронга, если сумма его цифр, возведенная в степень n равна самому числу. Найти все эти числа от 1 до k. 10. Написать программу, которая находит и выводит на печать все четырехзначные числа вида , для которых выполняется: а) a, b, c, d — разные цифры; б) . 11. Найти все простые натуральные числа, не превосходящие n, двоичная запись которых представляет собой палиндром, т.е. читается одинаково слева направо и справа налево. 12. Найти все натуральные n-значные числа, цифры в которых образуют строго возрастающую последовательность (например, 1234, 5789). 13. Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр. 14. Составить программу для нахождения чисел из интервала [М; N], имеющих наибольшее количество делителей. 15. Для последовательности составить программу печати k-го члена в виде обыкновенной несократимой дроби. Например, . 16. Дано натуральное число n. Выяснить, можно ли представить n в виде произведения трех последовательных натуральных чисел. 17. На части катушки с автобусными билетами номера шестизначные. Составить программу, определяющую количество счастливых билетов на катушке, если меньший номер билета — N, больший — М (билет является счастливым, если сумма первых трех его цифр равна сумме последних трех). 18. Написать программу, определяющую сумму n-значных чисел, содержащих только нечетные цифры. Определить также, сколько четных цифр в найденной сумме. 19. Из заданного числа вычли сумму его цифр. Из результата вновь вычли сумму его цифр и т.д. Через сколько таких действий получится нуль? 20. Составить программу разложения данного натурального числа на простые множители. Например, 200 = 23 • 52. 21. Дано натуральное число n. Найти все меньшие n числа Мерсена. (Простое число называется числом Мерсена, если оно может быть представлено в виде 2p - 1, где p — тоже простое число. Например, 31 = 25 – 1 — число Мерсена.) 22. Дано четное число n>2. Проверить для него гипотезу Гольдбаха: каждое четное n представляется в виде суммы двух простых чисел. В 1. Реализовать набор подпрограмм для выполнения следующих операций над обыкновенными дробями вида (Р — целое, Q — натуральное): а) сложение; б) вычитание; в) умножение; г) деление; д) сокращение дроби; е) возведение дроби в степень n (n — натуральное); ж) функции, реализующих операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше) 1.1. Дан массив А — массив обыкновенных дробей. Найти сумму всех дробей, ответ представить в виде несократимой дроби. Вычислить среднее арифметическое всех дробей, ответ представить в виде несократимой дроби. 1.2. Дан массив А — массив обыкновенных дробей. Отсортировать его в порядке возрастания. 2. Реализовать набор подпрограмм для выполнения следующих операций над векторами: а) сложение; б) вычитание; в) скалярное умножение векторов; г) умножение вектора на число; д) нахождение длины вектора. 2.1. Дан массив А — массив векторов. Отсортировать его в порядке убывания длин векторов. 2.2 С помощью датчика случайных чисел сгенерировать 2N целых чисел. N пар этих чисел задают N точек координатной плоскости. Вывести номера тройки точек, которые являются координатами вершин треугольника с наибольшим углом. 3. Реализовать набор подпрограмм для выполнения следующих операций над натуральными числами в Р-ичной системе счисления (2 Р 9): а) сложение; вычитание; умножение; деление; б) перевод из десятичной системы счисления в Р-ичную; в) перевод из Р-ичной системы счисления в десятичную; г) функция проверки правильности записи числа в Р-ичной системе счисления; д) функции, реализующие операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше). 3.1. Возвести число в степень (основание и показатель степени записаны в Р-ичной системе счисления). Ответ выдать в Р-ичной и десятичной системах счисления. 3.2. Дан массив А — массив чисел, записанных в Р-ичной системе счисления. Отсортировать его в порядке убывания. Ответ выдать в Р-ичной и десятичной системах счисления. 4. Реализовать набор подпрограмм для выполнения следующих операций над натуральными числами в шестнадцатеричной системе счисления: а) сложение; б) вычитание; в) умножение; г) деление; д) перевод из двоичной системы счисления в шестнадцатеричную; е) перевод из шестнадцатеричной системы счисления в десятичную; ж) функция проверки правильности записи числа в шестнадцатеричной системе счисления; з) функции, реализующие операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше). 4.1. Возвести число в степень (основание и показатель степени записаны в шестнадцатеричной системе счисления). Ответ выдать в шестнадцатеричной и десятичной системах счисления. 4.2. Дан массив А —массив чисел, записанных в шестнадцатеричной системе счисления. Отсортировать его в порядке убывания. Ответ выдать в шестнадцатеричной и десятичной системах счисления. Г (рекурсивные подпрограммы) 1. Найдите сумму цифр заданного натурального числа. 2. Описать функцию C (m, n), где 0 m n, для вычисления биномиального коэффициента Cmn по следующей формуле: C0n = Cnn = 1; Cmn = Cmn-1 + Cm-1n-1 при 0 3. Описать рекурсивную логическую функцию Simm (S, I, J), проверяющую, является ли симметричной часть строки S, начинающаяся i-м и заканчивающаяся j-m ее элементами. 4. Составить программу вычисления НОД двух натуральных чисел. 5. Составить программу нахождения числа, которое образуется из данного натурального числа при записи его цифр в обратном порядке. Например, для числа 1234 получаем ответ 4321. 6. Составить программу перевода данного натурального числа в p-ичную систему счисления (2 p 9). 7. Дана символьная строка, представляющая собой запись натурального числа в p-ичной системе счисления (2 p 9). Составить программу перевода этого числа в десятичную систему счисления. 8. Составить программу вычисления суммы: 1! + 2!+3! + ... +n! (n 15). (Тип результата значения функции — длинное целое). 9. Составить программу вычисления суммы: 2! + 4!+6! + ... +n! (n 16, n – четное). (Тип результата значения функции — длинное целое). Задачи для самостоятельного решения Каждый студент должен решить одну задачу из блока А, две задачи из блока Б, одну задачу из блока В или Г. При решении задач этой лабораторной работы обязательно использование подпрограмм. А 1. Треугольник задан координатами своих вершин. Составить программу вычисления его площади. 2. Составить программу нахождения наибольшего общего делителя и наименьшего общего кратного двух натуральных чисел: 3. Составить программу нахождения наибольшего общего делителя четырех натуральных чисел. 4. Составить программу нахождения наименьшего общего кратного трех натуральных чисел. 5. Написать программу нахождения суммы большего и меньшего из 3 чисел. 6. Вычислить площадь правильного шестиугольника со стороной а, используя подпрограмму вычисления площади треугольника. 7. На плоскости заданы своими координатами n точек. Составить программу, определяющую между какими из пар точек самое большое расстояние. (Указание. Координаты точек занести в массив.) 8. Проверить, являются ли данные три числа взаимно простыми. 9. Написать программу вычисления суммы факториалов всех нечетных чисел от 1 до 9. 10. Даны две дроби и (А, В, С, D — натуральные числа). Составить программу: деления дроби на дробь; умножения дроби на дробь; сложения этих дробей. Ответ должен быть несократимой дробью. 11. На плоскости заданы своими координатами n точек. Создать матрицу, элементами которой являются расстояние между каждой парой точек. 12. Даны числа X, Y, Z, T — длины сторон четырехугольника. Вычислить его площадь, если угол между сторонами длиной X и Y — прямой. 13. Сформировать массив X (n), n-ый член которого определяется формулой . 14. Составить программу вычисления суммы факториалов всех четных чисел от m до n. 15. Заменить отрицательные элементы линейного массива их модулями, не пользуясь стандартной функцией вычисления модуля. Подсчитать количество произведенных замен. 16. Дан массив A (n). Сформировать массив B (m), элементами которого являются большие из двух рядом стоящих в массиве A чисел. (Например, массив A состоит из элементов 1, 3, 5, -2, 0, 4, 0. Элементами массива B будут 3, 5, 4.) 17. Дан массив A (n) (n – четное). Сформировать массив B (m), элементами которого являются средние арифметические соседних пар рядом стоящих в массиве A чисел. (Например, массив A состоит из элементов 1, 3, 5, -2, 0, 4, 0, 3. Элементами массива B будут 2; 1,5; 2; 1,5.) 18. Дано простое число. Составить функцию, которая будет находить следующее за ним простое число. 19. Составить функцию для нахождения наименьшего нечетного натурального делителя k (k 1)любого заданного натурального числа n. Б 1. Дано натуральное число N. Составить программу формирования массива, элементами которого являются цифры числа N. 2. Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке (например, дано число 156, нужно получить 651). 3. Даны натуральные числа K и N. Составить программу формирования массива A, элементами которого являются числа, сумма цифр которых равна K и которые не больше N. 4. Даны три квадратных матрицы A, B, C n-го порядка. Вывести на печать ту из них, норма которой наименьшая. Нормой матрицы считать максимум из абсолютных величин ее элементов. 5. Два натуральных числа называются “дружественными”, если каждое из них равно сумме всех делителей (кроме его самого) другого (например, числа 220 и 284). Найти все пары “дружественных чисел”, которые не больше данного числа N. 6. Два простых числа называются “близнецами”, если они отличаются друг от друга на 2 (например, 41 и 43). Напечатать все пары “близнецов” из отрезка [n, 2n], где n — заданное натуральное число больше 2. 7. Написать программу вычисления суммы для заданного числа n. Дробь должна быть несократимой (p, q — натуральные). 8. Написать программу вычисления суммы для заданного числа n. Результат представить в виде несократимой дроби (p, q — натуральные). 9. Натуральное число, в записи которого n цифр, называется числом Амстронга, если сумма его цифр, возведенная в степень n равна самому числу. Найти все эти числа от 1 до k. 10. Написать программу, которая находит и выводит на печать все четырехзначные числа вида , для которых выполняется: а) a, b, c, d — разные цифры; б) . 11. Найти все простые натуральные числа, не превосходящие n, двоичная запись которых представляет собой палиндром, т.е. читается одинаково слева направо и справа налево. 12. Найти все натуральные n-значные числа, цифры в которых образуют строго возрастающую последовательность (например, 1234, 5789). 13. Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр. 14. Составить программу для нахождения чисел из интервала [М; N], имеющих наибольшее количество делителей. 15. Для последовательности составить программу печати k-го члена в виде обыкновенной несократимой дроби. Например, . 16. Дано натуральное число n. Выяснить, можно ли представить n в виде произведения трех последовательных натуральных чисел. 17. На части катушки с автобусными билетами номера шестизначные. Составить программу, определяющую количество счастливых билетов на катушке, если меньший номер билета — N, больший — М (билет является счастливым, если сумма первых трех его цифр равна сумме последних трех). 18. Написать программу, определяющую сумму n-значных чисел, содержащих только нечетные цифры. Определить также, сколько четных цифр в найденной сумме. 19. Из заданного числа вычли сумму его цифр. Из результата вновь вычли сумму его цифр и т.д. Через сколько таких действий получится нуль? 20. Составить программу разложения данного натурального числа на простые множители. Например, 200 = 23 • 52. 21. Дано натуральное число n. Найти все меньшие n числа Мерсена. (Простое число называется числом Мерсена, если оно может быть представлено в виде 2p - 1, где p — тоже простое число. Например, 31 = 25 – 1 — число Мерсена.) 22. Дано четное число n>2. Проверить для него гипотезу Гольдбаха: каждое четное n представляется в виде суммы двух простых чисел. В 1. Реализовать набор подпрограмм для выполнения следующих операций над обыкновенными дробями вида (Р — целое, Q — натуральное): а) сложение; б) вычитание; в) умножение; г) деление; д) сокращение дроби; е) возведение дроби в степень n (n — натуральное); ж) функции, реализующих операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше) 1.1. Дан массив А — массив обыкновенных дробей. Найти сумму всех дробей, ответ представить в виде несократимой дроби. Вычислить среднее арифметическое всех дробей, ответ представить в виде несократимой дроби. 1.2. Дан массив А — массив обыкновенных дробей. Отсортировать его в порядке возрастания. 2. Реализовать набор подпрограмм для выполнения следующих операций над векторами: а) сложение; б) вычитание; в) скалярное умножение векторов; г) умножение вектора на число; д) нахождение длины вектора. 2.1. Дан массив А — массив векторов. Отсортировать его в порядке убывания длин векторов. 2.2 С помощью датчика случайных чисел сгенерировать 2N целых чисел. N пар этих чисел задают N точек координатной плоскости. Вывести номера тройки точек, которые являются координатами вершин треугольника с наибольшим углом. 3. Реализовать набор подпрограмм для выполнения следующих операций над натуральными числами в Р-ичной системе счисления (2 Р 9): а) сложение; вычитание; умножение; деление; б) перевод из десятичной системы счисления в Р-ичную; в) перевод из Р-ичной системы счисления в десятичную; г) функция проверки правильности записи числа в Р-ичной системе счисления; д) функции, реализующие операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше). 3.1. Возвести число в степень (основание и показатель степени записаны в Р-ичной системе счисления). Ответ выдать в Р-ичной и десятичной системах счисления. 3.2. Дан массив А — массив чисел, записанных в Р-ичной системе счисления. Отсортировать его в порядке убывания. Ответ выдать в Р-ичной и десятичной системах счисления. 4. Реализовать набор подпрограмм для выполнения следующих операций над натуральными числами в шестнадцатеричной системе счисления: а) сложение; б) вычитание; в) умножение; г) деление; д) перевод из двоичной системы счисления в шестнадцатеричную; е) перевод из шестнадцатеричной системы счисления в десятичную; ж) функция проверки правильности записи числа в шестнадцатеричной системе счисления; з) функции, реализующие операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше). 4.1. Возвести число в степень (основание и показатель степени записаны в шестнадцатеричной системе счисления). Ответ выдать в шестнадцатеричной и десятичной системах счисления. 4.2. Дан массив А —массив чисел, записанных в шестнадцатеричной системе счисления. Отсортировать его в порядке убывания. Ответ выдать в шестнадцатеричной и десятичной системах счисления. Г (рекурсивные подпрограммы) 1. Найдите сумму цифр заданного натурального числа. 2. Описать функцию C (m, n), где 0 m n, для вычисления биномиального коэффициента Cmn по следующей формуле: C0n = Cnn = 1; Cmn = Cmn-1 + Cm-1n-1 при 0 3. Описать рекурсивную логическую функцию Simm (S, I, J), проверяющую, является ли симметричной часть строки S, начинающаяся i-м и заканчивающаяся j-m ее элементами. 4. Составить программу вычисления НОД двух натуральных чисел. 5. Составить программу нахождения числа, которое образуется из данного натурального числа при записи его цифр в обратном порядке. Например, для числа 1234 получаем ответ 4321. 6. Составить программу перевода данного натурального числа в p-ичную систему счисления (2 p 9). 7. Дана символьная строка, представляющая собой запись натурального числа в p-ичной системе счисления (2 p 9). Составить программу перевода этого числа в десятичную систему счисления. 8. Составить программу вычисления суммы: 1! + 2!+3! + ... +n! (n 15). (Тип результата значения функции — длинное целое). 9. Составить программу вычисления суммы: 2! + 4!+6! + ... +n! (n 16, n – четное). (Тип результата значения функции — длинное целое). |