НАПИШИТЕ ПРОГРАММУ Необходимо вычислить площадь криволинейной трапеции, ограниченной квадратной параболой, а также точность – величину, на которую истинное значение может отличаться от вычисленного нами. Задаются коэффициенты параболы, правая и левая границы, а также N – количество элементарных трапеций, на которые мы разбиваем криволинейную трапецию. Выводится вычисленное значение площади и точность
В задаче есть проблема. Тем методом, что описан в учебнике, точность можно определить только при условии монотонности функции. Но квадратная парабола не монотонна. Проблема решается Нужно найти участки монотонности, применить метод к ним по-отдельности и сложить результаты.
Ниже находится «рыба» для программы. Вместо многоточий вы можете описать дополнительные переменные, ну и собственно программу.
Program xxx;
Var
a,b,c:real;
x1,x2:real;
N:integer;
S,e:real;
…
Begin
Write(‘Введите коэффициенты параболы’);
Read(a,b,c);
Write(‘Введите границы интервала’);
Read(x1,x2);
Write(‘Введите N’);
Read(N);
…
Write(‘Площадь:’, S, ‘ Точность:’, e);
End.
word = "abracabra"
n = len(word)
words = set([word])
to_proceed = [word]
while len(to_proceed) > 0:
word = to_proceed.pop()
for l in range(n):
for r in range(l + 1, n + 1):
new_word = word[:l] + word[l:r][::-1] + word[r:]
if new_word not in words:
words.add(new_word)
to_proceed.append(new_word)
print(len(words))
2. Комбинаторика: такими операциями можно получить любую перестановку букв исходного слова (переворачиваем подстроку [1:n], затем [2:n], получаем слово, в котором на 1 месте стоит n-й символ. Такими операциями можно последовательно на все места поставить любые символы). Подсчитаем число слов:
- места для 4 букв a можно выбрать
- 2 буквы b на оставшиеся 5 мест можно поставить
- 2 буквы r на оставшиеся 3 места можно поставить
- место для c определяется однозначно
Всего
ответ: 3780