Средний уровень Задание:написать блок-схему и программу согласно заданию.
№
вар.
| Задача
|
1
| Перевести заданное в десятичной системе число aв двоичную систему, используя функцию перевода.
|
2
| Даны два натуральных числа. Найти наименьшее общее кратное этих чисел, используя функцию реализующую алгоритм Евклида.
|
3
| Получить все четырехзначные счастливые номера. Счастливым называ- ется номер, у которого сумма первых двух цифр номера равна сумме последних двух цифр. Использовать функцию для расчета суммы цифр
двухзначного числа.
|
4
| Написать программу определения максимального предельного заряда и потенциала для трех шаров с диаметром r1,r2, r3, используя функции расчета максимального предельного заряда и потенциала . Напряжен-
ность поля, при которой начинается ударная ионизация, равна 3 МВ/м.
| 5
| Для заданного массива экспериментальных данных рассчитать диспер-
сию, используя функции определения среднего и дисперсии.
|
6
| Получить все шестизначные счастливые номера. Счастливым называется номер, у которого сумма первых трех цифр номера равна сумме послед- них трех цифр. Использовать функцию для расчета суммы цифр трех-
значного числа.
|
7
| Даны два натуральных числа. Определить , является хотя бы одно из них палиндромом ( число, которое читается одинаково слева направо и справа налево), используя функцию распознавания таких чисел
|
76
№
вар.
| Задача
|
8
| Даны два логических выражения ( X Y) ( X Z) и X (Y Z) Y.
Составить таблицу истинности для этих выражений (те для всех воз- можных значений переменных X,Y,Z), используя функции представления этих выражений
|
9
| Рассчитать рабочий диапазон длин волн приемника, если емкость кон- денсатора в его колебательном контуре плавно изменяется от 50 до 500 пФ, а индуктивность катушки постоянна и равна 20 мкГн. Использовать
функцию для определения длины волны
| 10
| Отсортировать по убыванию заданный массив чисел, используя функцию
сортировки.
| 11
| Перевести заданное в двоичной системе число aв десятичную систему,
используя функцию перевода.
|
12
| Даны два логических выражения (X Z ) (Y Z ) и Y ( X Z ) Z . Составить таблицу истинности для этих выражений (те для всех воз- можных значений переменных X,Y,Z), используя функции представления
этих выражений.
| 13
| Отсортировать по возрастанию заданный массив чисел, исключив отри-
цательные числа. Использовать функцию сортировки.
|
14
| Даны два натуральных числа aи b, обозначающие соответственно числи- тель и знаменатель дроби. Сократить дробь, используя функцию опреде-
ления наибольшего общего делителя.
|
15
| В заданном массиве целых чисел найти максимальное и минимальное число, использую функции определения максимального и минимального
числа.
|
16
| Задан одномерный массив из 16 элементов .Сформировать двухмерный массив 4×4, используя функцию преобразования любого одномерного массива в двухмерный массив размерностью n×nс добавлением нулевых
элементов.
|
17
| Дана матрица-строка из 16 элементов , их всех ее элементов построить
верхнюю треугольную матрицу, использую функцию построения верхней треугольной матрицы.
|
18
| Дана матрица-строка из 16 элементов , из всех ее элементов построить
нижнюю треугольную матрицу, используя функцию построения нижней треугольной матрицы.
|
19
| Задан одномерный массив из 16 элементов. Сформировать двухмерный массив 4×4, в котором элементы увеличиваются слева направо, используя функции сортировки и преобразования одномерного массива в двухмер-
ный массив.
|
20
| Дан одномерный массив вещественных чисел. Получить массив целых чисел и найти максимальное по модулю число, создав свою функцию
округления до ближайшего целого числа и функцию определения макси- мального.
|
77
№
вар.
| Задача
|
21
| Дана двухмерная матрица Aразмером n×m. Рассчитать нормы матрицы
||A||mи ||A||lматрицы, используя функции расчета этих норм (||A||m– это максимальный элемент столбца, полученного из сумм модулей элементов строк матрица, ||A||l– это максимальный элемент строки, полученной из сумм модулей элементов столбцов матрицы).
|
22
| Дана двухмерная матрица Aразмером n×m.Рассчитать Евклидову норму
n m
a2
i, j
матрицы ||A||е, используя функции расчета этой нормы (||A||е= i1 j1 )
|
23
| 4
S (x3 2x2 1)dx
Вычислить значение определенного интеграла 1 по
n1
S h(x3 2x2 1)
i i
формуле i0 , где h=(4-1)/n, n– заданное число точек
разбиения интервала интегрирования, для n=10 и 100. Подынтегральную функцию и формулу расчета интеграла представить в виде функций.
|
24
| 4
S (3x3 2x2 x 5)dx
Вычислить значение определенного интеграла 1 по
n1
S h(3x3 2x2 x 5)
i i
формуле i0 , где h=(4-1)/n, n=10 – заданное число
точек разбиения интервала интегрирования, а также по формуле точного решения этого интеграла. Результаты вывести на экран. Подынтеграль- ную функцию и формулу расчета интеграла представить в виде функций.
| 25
| Написать программу, создающую таблицу истинности для 2, 3 или 4
логических переменных, использую функцию создания таблицы.
|
26
| С помощью функции random(n) сгенерировать массив чисел от 0 до 50 и
определить количество четных и нечетных чисел в этом массиве. Для определения четных и нечетных чисел использовать функцию.
|
27
| С помощью функции random(n) сгенерировать 3 массива чисел от 0 до 50
и определить сумму элементов каждого массива. Для определения суммы использовать функцию.
|
28
| Рассчитать коэффициент корреляции по формуле Бравэ-Пирсона
n
1 (xi x)( yi y) r i1
n σxσy , для двух одномерных массивов xnи yn, полученных в
результате эксперимента исследования связи между двумя характеристи- ками явления, xи y- среднеарифметическое, σxи σy- среднеквадратич-
ное отклонение. Среднеарифметическое и среднеквадратичное отклонение рассчитать с помощью функции.
| 29
| Перевести заданное в десятичной системе число aв восьмеричную
систему, используя функцию перевода .
|
78
№
вар.
| Задача
| 30
| Перевести заданное в восьмеричной системе число aв десятичную
систему, используя функцию перевода.
|
Высокий уровень Задание:написать блок-схему и программу согласно заданию.
Следует заметить, что практически все задания этой подгруппы можно легко решить и без использования рекурсии. Данное обстоятельство связано с тем, что в заданиях рассматриваются действительно простейшие примеры рекурсии, легко сводимые к итерационным алгоритмам. Более того, в некоторых случаях использование рекурсии приводит к неэффективным алгоритмам (см, напри- мер, задания 4 и 5). Однако, именно на подобных примерах проще всего полу- чить первоначальные навыки разработки рекурсивных алгоритмов.
№
вар.
| Задача
|
1
| Описать рекурсивные функции Fact(N) и Fact2(N) вещественного типа, вычисляющие значения факториала N! и двойного факториала N!! соответ- ственно (N > 0 — параметр целого типа). С помощью этих функций вы-
числить факториалы и двойные факториалы пяти данных чисел.
|
2
| Описать рекурсивную функцию PowerN(x,n) вещественного типа, находя- щую значение n-й степени числа x по формуле: x0 = 1, xn = x·xn–1 при n > 0, xn = 1 / x–n при n < 0 (x >= 0 – вещественное число, n – целое). С помо- щью этой функции найти значения XN при 5 различных значениях N для
данного X.
|
3
| Описать рекурсивную функцию SqrtK(x,k,n) вещественного типа, находя- щую приближенное значение корня k-й степени из числа x по формуле: y(0)= 1, y(n+1) = y(n) – (y(n) – x/ y(n)k–1) / k, где y(n) обозначает SqrtK(x,k,n) (x– вещественный параметр, kи n – целые; x> 0, k> 1, n> 0).
С помощью этой функции найти приближенные значения корня K-й степени из Xпри 6 различных значениях Nдля данных Xи K.
|
4
| Описать рекурсивную функцию FibRec(N) целого типа, вычисляющую N-е число Фибоначчи F(N) по формуле: F(1) = F(2) = 1, F(k) = F(k–2) + F(k–1), k = 3, 4, ... С помощью этой функции найти пять чисел Фибоначчи с указанными номерами и вывести эти числа вместе с количеством рекур-
сивных вызовов функции FibRec, потребовавшихся для их нахождения.
|
5
| Описать рекурсивную функцию C(m,n) целого типа, находящую число сочетаний из n элементов по m, используя формулу: C(0,n) = C(n,n) = 1, C(m,n) = C(m,n–1) + C(m–1,n–1) при 0 < m< n(mи n— целые параметры; n
> 0, 0 <= m<= n). Дано число Nи пять различных значений M. Вывести числа C(M,N) вместе с количеством рекурсивных вызовов функции C, потребовавшихся для их нахождения.
|
79
№
вар.
| Задача
|
6
| Описать рекурсивную функцию NOD(A,B) целого типа, находящую наибольший общий делитель двух натуральных чисел A и B, используя алгоритм Евклида: NOD(A,B) = NOD(Bmod A,A), если A<> 0; NOD(0,B) =
B. С помощью этой функции найти наибольшие общие делители пар Aи B,
Aи C, Aи D, если даны числа A, B, C, D.
|
7
| Описать рекурсивную функцию MinRec(A,N) вещественного типа, которая находит минимальный элемент вещественного массива Aразмера N, не
используя оператор цикла. С помощью функции MinRec1 найти мини- мальные элементы массивов A, B, Cразмера NA, NB, NCсоответственно .
|
8
| Описать рекурсивную функцию Digits(S)целого типа, находящую количе-
ство цифр в строке Sбез использования оператора цикла. С помощью этой функции найти количество цифр в данных пяти строках.
|
9
| Описать рекурсивную функцию Simm(S) логического типа, проверяющую,
является ли симметричной строка S, без использования оператора цикла. С помощью этой функции проверить данные пяти строк .
|
10
| Алгоритм сортировки фон Неймана. Упорядочить массив а1, а2,, аnпо неубыванию с помощью алгоритма сортировки слияниями:
а) каждая пара соседних элементов сливается в одну группу из двух элементов (последняя группа может состоять из одного элемента);
б) каждая пара соседних двухэлементных групп сливается в одну четырех- элементную группу и т.д. При каждом слиянии новая укрупненная группа сортируется. Использовать функцию сортировки.
|
11
| Задано положительное и отрицательное число в двоичной системе. Соста- вить программу вычисления суммы этих чисел, используя функцию
сложения чисел в двоичной системе счисления.
|
12
| Описать рекурсивную функцию Root (а, b, ε), которая методом деления отрезка пополам находит с точностью ε корень уравнения f(x)= 0 на отрезке [а, b] (считать, что ε > 0, а< b, f(a)- f(b)< 0 и f(x)— непрерывная и
монотонная на отрезке [а, b] функция) .
|
13
| Описать функцию min(X) для определения минимального элемента линей- ного массива X, введя вспомогательную рекурсивную функцию minl(k), находящую минимум среди последних элементов массива X, начиная с k-
го.
|
14
| Описать рекурсивную логическую функцию Simm(S,I,J), проверяющую, является ли симметричной часть строки S, начинающаяся i-м и заканчи-
вающаяся j-м ее элементами .
|
15
| Составить программу для нахождения числа, которое образуется из данно-
го натурального числа при записи его цифр в обратном порядке. Напри- мер, для числа 1234 получаем результат 4321 .
|
16
| Составить программу для перевода данного натурального числа в р-ичную систему счисления (2 ≤ р≤ 9).
|
80
№
вар.
| Задача
|
17
| Дана символьная строка, представляющая собой запись натурального
числа в p-ичной системе счисления (2 ≤ р≤ 9). Составить программу для перевода этого числа в десятичную систему счисления.
| 18
| Дано n различных натуральных чисел. Напечатать все перестановки этих
чисел.
|
19
| Логическая функция возвращает True, если ее аргумент — простое число. Описать функцию, которая удаляет из строки все лишние пробелы. Пробе- лы считаются лишними, если их подряд идет более двух, если они стоят в
конце строки после последней точки, если стоят после открывающегося парного знака препинания.
|
20
| Описать процедуру Smooth(A,N), заменяющую каждый элемент вещест- венного массива A размера N на его среднее арифметическое со своими соседями ("сглаживание массива"). Массив A— входной и выходной параметр, N — входной параметр. С помощью этой процедуры выполнить пятикратное сглаживание данного массива Aразмера N, выводя на экран
результаты каждого сглаживания.
|
21
| Описать процедуру Gauss(A,M,N,i1,i2,X), преобразующую вещественную матрицу A размера M×N следующим образом: из строки i1 вычитается строка i2, умноженная на вещественное число X. Двумерный массив A — входной и выходной параметр, прочие параметры — входные. С помощью этой процедуры, используя в качестве вспомогательной первую строку, обнулить в остальных строках данной матрицы Aразмера M×Nэлементы
k-го столбца (число kдано, причем A[1,k] <> 0) .
|
22
| Описать процедуру DelIJ(A,M,N,i,j), удаляющую из матрицы A размера M×N строку и столбец, содержащие элемент A[i,j] (если i > M или j > N, то матрица не изменяется). Двухмерный вещественный массив A и целые числа M(> 1), N(> 1) являются входными и выходными параметрами, iи j
— входные параметры. Дана матрица Aразмера M× Nи числа i, j. Приме- нить к матрице Aпроцедуру DelIJ и вывести полученную матрицу.
|
|