Главная страница
Навигация по странице:

  • Г (рекурсивные подпрограммы)

  • Задачи для самостоятельного решения

  • Задачи. Задачи для самостоятельного решения (подпрограммы). Задачи для самостоятельного решения


    Скачать 104.5 Kb.
    НазваниеЗадачи для самостоятельного решения
    АнкорЗадачи
    Дата01.12.2022
    Размер104.5 Kb.
    Формат файлаdoc
    Имя файлаЗадачи для самостоятельного решения (подпрограммы).doc
    ТипДокументы
    #822243

    Задачи для самостоятельного решения

    Каждый студент должен решить одну задачу из блока А, две задачи из блока Б, одну задачу из блока В или Г. При решении задач этой лабораторной работы обязательно использование подпрограмм.

    А

    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 – четное). (Тип результата значения функции — длинное целое).


    написать администратору сайта