Вы находитесь на странице: 1из 14

Задача 1.

Вычисление значений полинома Лежандра


Входные данные: вводятся с клавиатуры
Выходные данные: выводятся в файл “output.txt”

Напишите рекурсивную программу, которая по заданным N и M


вычисляет значения полинома Лежандра
1,еслиn  0

Pn ( x)   x,еслиn  1
((2n  1) xP ( x)  (n  1) P ( x)) / n,еслиn  2
 n 1 n2

Входные данные
Целое число N и вещественное число X.
Выходные данные
Выдать значения P0 ( x)...Pn ( x) .
Примеры входных и выходных данных
Входные данные Выходные данные
0 0 1
0 10 1
1 0.2 1 0.2
3 1 1 1 1 1
2 0.5 1 0.5 -0.125
 
Указания
Оформите в виде функции вычисление P(n,x).
 
   
Задача 2. Вычисление целой части от деления
Входные данные: вводятся с клавиатуры
Выходные данные: выводятся в файл “output.txt”

Напишите рекурсивную программу, которая по заданным A и B


вычисляет целую часть от деления A/B.
Входные данные
Два натуральных числа A и B.
Выходные данные
Выдать значение в формате:
div(<A>,<B>)=<значение>

Примеры входных и выходных данных


Входные данные Выходные данные
10 2 div(10,2)=5
9 2 div(9,2)=4
1 2 div(1,2)=0
 
Указания
Оформите в виде функции вычисление div(a,b).
   
Задача 3. Нахождение наибольшего общего делителя
Входные данные: вводятся с клавиатуры
Выходные данные: выводятся в файл “output.txt”

Напишите рекурсивную программу, которая по заданным A и B


вычисляет наибольший общий делитель A и B.
Входные данные
Два натуральных числа A и B.
Выходные данные
Выдать значение в формате:
НОД(<A>,<B>)=<значение>

Примеры входных и выходных данных


Входные данные Выходные данные
10 2 НОД(10,2)=2
9 2 НОД(9,2)=1
6 8 НОД(6,8)=2
18 12 НОД(18,12)=6
 
Указания
Оформите в виде функции вычисление НОД(a,b).
   
Задача 4. Вычисление биномиальных коэффициентов
Входные данные: вводятся с клавиатуры
Выходные данные: выводятся на экран

Напишите рекурсивную программу, которая по заданным n и m


m 1
вычисляет Cn  Cn 1  Cn 1 , где Cn  Cn  1 при 0  m  n .
m m 0 n

Входные данные
Два целых числа N и M.
Выходные данные
m
Выдать значение Cn .

Примеры входных и выходных данных


Входные данные Выходные данные
2 0 1
3 3 1
4 2 6

Указания
Оформите в виде функции вычисление Cnm .
   
Задача 5. Цифровик
Входные данные: считываются из файла “input.txt”
Выходные данные: выводятся на экран

Во входном файле имеется строка символов, которая заканчивается


точкой. Напишите рекурсивную программу, которая определяет количество
цифр в заданной последовательности.
Входные данные
В файле входных данных записана строка символов, заканчивающаяся
точкой.
Выходные данные
На экран выводится количество цифр в заданной последовательности.

Примеры входных и выходных данных


Входные данные Выходные данные
4 черненьких чумазеньких чертенка. 1
Тел (3512)55-77-22. 10
Privet :0)) 1
абракадабра 0
 
Указания
1. Оформите в виде функции вычисление количества цифр.
2. Реализуйте алгоритм без использования стандартных функций
   
Задача 6. Корень уравнения
Входные данные: вводятся с клавиатуры
Выходные данные: выводятся на экран

Напишите рекурсивную программу, которая по заданным A, B и EPS


методом деления отрезка пополам находит с точностью EPS корень
уравнения f(x)=0 на отрезке [A,B], где EPS>0, A<B, f(A)*f(B)<0, f(x)=x2-3.
Входные данные
Три вещественных числа A,B и EPS.
Выходные данные
Выдать приближенное значение корня уравнения f(x)=0, с точностью
EPS в формате:
Корень уравнения x = <значение>.

Примеры входных и выходных данных


Входные данные Выходные данные
0 2 0.1 Корень уравнения x = 1.7
-2 1 0.01 Корень уравнения x = -1.73
1 2 0.0001 Корень уравнения x = 1.7320
 
Указания
1. Изучите информацию по теме «Решение уравнения методом
деления отрезка пополам»
2. Оформите в виде функции вычисление корня уравнения.
Задача 7. Корень уравнения
Входные данные: вводятся с клавиатуры
Выходные данные: выводятся на экран

Напишите рекурсивную программу, которая по заданным A, B и EPS


методом деления отрезка пополам находит с точностью EPS корень
уравнения f(x)=0 на отрезке [A,B], где EPS>0, A<B, f(A)*f(B)<0, f(x)=x4-10.
Входные данные
Три вещественных числа A,B и EPS.
Выходные данные
Выдать приближенное значение корня уравнения f(x)=0, с точностью
EPS в формате:
Корень уравнения x = <значение>.

Примеры входных и выходных данных


Входные данные Выходные данные
0 2 0.1 Корень уравнения x = 1.7
-2 1 0.01 Корень уравнения x = -1.77
1 2 0.0001 Корень уравнения x = 1.7782
 
Указания
1. Изучите информацию по теме «Решение уравнения методом
деления отрезка пополам»
2. Оформите в виде функции вычисление корня уравнения.
Задача 8. Строка цифр
Входные данные: считываются из файла “input.txt”
Выходные данные: выводятся в файл “output.txt”

Дана последовательность ненулевых целых чисел, за которой следует 0


(0 – признак конца строки). Составить рекурсивную программу, которая
печатает сначала все отрицательные числа этой последовательности, а затем
- все положительные (в любом порядке).
Входные данные
В файле входных данных записана непустая последовательность
ненулевых целых чисел, за которой следует 0.
Выходные данные
Последовательность целых чисел, в которой сначала следуют все
отрицательные, затем все положительные числа (0 печатать не нужно!).

Примеры входных и выходных данных


Входные данные Выходные данные
2 -1 3 -4 0 -1 -4 3 2
1 0 1
-1 0 -1
-1 2 -4 0 -1 -4 2
 
Указания
Оформите в виде функции чтение из файла.
Задача 9. Перевертыш
Входные данные: считываются из файла “input.txt”
Выходные данные: выводятся в файл “output.txt”

Во входном файле имеется строка символов, которая заканчивается


признаком конца строки. Напишите рекурсивную программу, которая вводит
символы строки и выводит те же символы, но в обратном порядке.

Входные данные
В файле входных данных записана строка символов, заканчивающаяся
признаком конца строки.
Выходные данные
В выходном файле: строка-перевертыш.

Примеры входных и выходных данных


Входные данные Выходные данные
Друг гурД
ОЛЯ ЯЛО
Privet :0)) ))0: tevirP
 
Указания
1. Изучите информацию по теме «обратный ход рекурсии»
2. Оформите в виде функции чтение строки из файла.
   
Задача 10. Идентификаторы
Входные данные: считываются из файла “input.txt”
Выходные данные: выводятся в файл “output.txt”

Во входном файле задан текст, за которым следует точка. Составить


программу, которая содержит рекурсивную процедуру и проверяет,
удовлетворяет ли его структура следующему определению:
<идентификат>::=<буква>|<идентификат><буква>|<идентификат><цифра>
<буква>::=a|b|c|d|…|x|y|z
<цифра>::=0|1|2|…|8|9
Входные данные
В файле входных данных записана непустая последовательность
символов, за которой следует точка.
Выходные данные
TRUE – если текст удовлетворяет определению;
FALSE – в противном случае.

Примеры входных и выходных данных


Входные данные Выходные данные
2ab1. FALSE
a. TRUE
ab1c3k5. TRUE
Hello! FALSE
i am. FALSE
 
Задача 11. Список списков
Входные данные: считываются из файла “input.txt”
Выходные данные: выводятся в файл “output.txt”

Во входном файле задан текст, за которым следует точка. Составить


программу, которая содержит рекурсивную процедуру и проверяет,
удовлетворяет ли его структура следующему определению:
<список списков>::=<список>|<список списков>;<список>
<список>::=<элемент>|<список>,<элемент>
<элемент>::=<буква>
<буква>::=a|b|c|d|…|x|y|z
Входные данные
В файле входных данных записана непустая последовательность
символов, за которой следует точка.
Выходные данные
TRUE – если текст удовлетворяет определению;
FALSE – в противном случае.

Примеры входных и выходных данных


Входные данные Выходные данные
d,d,k;f. TRUE
a. TRUE
a;a;a; FALSE
a,a,a FALSE
b,b,b. TRUE
 
Указания
Оформите в виде функции чтение из файла.
Задача 12. Дифференцирование
Входные данные: вводятся с клавиатуры
Выходные данные: выводятся на экран

Составить программу, которая содержит рекурсивную процедуру


реализующую алгоритм L-кратного дифференцирования полинома степени n
n
Pn ( x)   Ck x n  k
k 0

Формальными параметрами процедуры считать n, l, и вектор С,


коэффициентов полинома. Коэффициенты полинома
n l
P n
(l )
  Ck( l ) x n  k l
k 0
получить в первых N-L+1 компонентах массива С.
Входные данные
n, l, и вектор C (n+1 компонента) вводятся с клавиатуры
Выходные данные
Необходимо вывести результат дифференцирования полинома

Примеры входных и выходных данных


Входные данные Выходные данные
3 6*x
2
1 0 1 1
3 0
5
2 1 5 1
4 4*x^3+0*x^2+4*x^1+3
1
1 0 2 3 1
2 -10*x^1+-2
1
-5 -2 1
 
   
Задача 13. Многочлен Чебышева
Входные данные: нет входных данных
Выходные данные: выводятся на экран

Составить программу вычисления таблицы значений многочлена


Чебышева степени n=6 на отрезке [0,1]с шагом 0,1. Для вычисления значений
многочлена в точке написать рекурсивную и итерационную процедуры.
Вычисления значений многочлена проводить по рекуррентной формуле:

Tn 1 ( x)  2 xTn ( x)  Tn 1 ( x),T0 ( x)  1,T1 ( x)  x


Входные данные
Отсутствуют
Выходные данные
Результат вычислений выдать в следующем формате:
N|X 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0
0 T0(0.0) T0(0.1) T0(0.2) - - - - - - - -
||- ||- ||- ||- ||- ||- ||- ||-
1 T1(0.0) T1(0.1) T1(0.2) - - - - - - - -
||- ||- ||- ||- ||- ||- ||- ||-
2 T2(0.0) T2(0.1)  T2(0.2) - - - - - - - -
||- ||- ||- ||- ||- ||- ||- ||-
3 T3(0.0) T3(0.1)  T3(0.2) - - - - - - - -
||- ||- ||- ||- ||- ||- ||- ||-
4 T4(0.0) T4(0.1)  T4(0.2) - - - - - - - -
||- ||- ||- ||- ||- ||- ||- ||-
5 T5(0.0) T5(0.1)  T5(0.2) - - - - - - - -
||- ||- ||- ||- ||- ||- ||- ||-
6 T6(0.0) T6(0.1)  T6(0.2) - - - - - - - -
||- ||- ||- ||- ||- ||- ||- ||-
 
   
Задача 14. Планирование
Входные данные: считываются из файла “input.txt”
Выходные данные: выводятся в файл “output.txt”

Когда Петя Бейсиков принес домой "двойки" по математике, русскому,


литературе и географии, его папа сказал:
— Хватит! Теперь я буду контролировать, как ты делаешь уроки.
Немедленно составь план выполнения домашних заданий по этим предметам
на следующую неделю. Для каждого из этих предметов отметь начало и
завершение выполнения домашних заданий. Используй следующие
обозначения:
Начало  Завершение 
Предмет 
выполнения домашнего задания  выполнения домашнего задания 
Математика  ( )
Русский язык { }
Литература [ ]
География < >

Твой план должен подчиняться следующим правилам:


1. Каждое начатое домашнее задание нужно завершить.
2. Нельзя завершать домашнее задание, которое не начато.
3. Если начато более одного домашнего задания, то завершать нужно
сначала то, которое было начато последним.
Напишите программу, которая поможет папе проверить составленный Петей
план выполнения домашних заданий.
Входные данные
В файле входных данных записана одна строка – непустой план
выполнения домашних заданий. План состоит из условных обозначений,
указанных выше. План заканчивается точкой, обрабатывать которую не
нужно. Длина строки не превышает 200
Выходные данные
Если план выполнения домашних заданий удовлетворяет всем
правилам, то в файл выходных данных требуется БОЛЬШИМИ буквами
записать строку YES, иначе записать строку NO.

Примеры входных и выходных данных


Входные данные Выходные данные
(). YES
(. NO
). NO
({<[]>}). YES
({<[>]}). NO
((({{[[<>]]}}))){[]<()>}. YES
((({{[[<>]]}})))[{]<>()}. NO
 

Оценить