У меня определены две функции: y = 5 + 2x и tabulate. Функция tabulate принимает функцию, концы отрезка и количество точек, в которых нужно вычислить значение. Внутри этой функции в цикле вычисляется и выводится значение функции, на каждой итерации к текущему значению аргумента прибавляется (b - a)/n.
Очень не корректно поставлен вопрос. Что есть Текст? Это текстовый файл, строка, введенная пользователем, еще что-то? Думайте, прежде чем спросить, и, скорее всего, получите нормальный ответ.
Поэтому, поскольку нет конкретики, будем считать текстом строку, введенную пользователем.
Write('Введите текст : ');
ReadLn(S);
В переменной S теперь находится некоторый текст. Начнем с ним работать. Будем считать словом последовательность символов, ограниченных с обеих сторон пробелами. Сначала сделаем копию введенного текста.
S1 := ' ' + S + ' '; {чтобы не потерять первое и последнее слова}
А дальше,
N := 0; {счетчик слов Мама}
while Pos(' Мама ', S1) > 0 then begin
Delete(S1, Pos(' Мама ', S1)+1, 4);
N := N + 1;
end;
Поскольку может в тексте быть и "мама", то повторим
while Pos(' мама ', S1) > 0 then begin
Delete(S1, Pos(' мама ', S1)+1, 4);
N := N + 1;
end;
Вот и все. Осталось вывести результат.
WriteLn('Во ввденном тексте слово "мама" встречается ', N, ' раз');
Удачи!
PS Можно было бы не делать второй проход, если предварительно преобразовать введенный текст к одному регистру, а затем искать подстроку в этом регисте.
У меня определены две функции: y = 5 + 2x и tabulate. Функция tabulate принимает функцию, концы отрезка и количество точек, в которых нужно вычислить значение. Внутри этой функции в цикле вычисляется и выводится значение функции, на каждой итерации к текущему значению аргумента прибавляется (b - a)/n.
Программа (python 3.6):
def y(x):
return 5 + 2 * x
def tabulate(f, a, b, n):
h = (b - a)/n
while a <= b:
print(f"{a:7.4f} {f(a):7.4f}")
a += h
tabulate(y, 1., 10., 9)
Вывод:
1.0000 7.0000
2.0000 9.0000
3.0000 11.0000
4.0000 13.0000
5.0000 15.0000
6.0000 17.0000
7.0000 19.0000
8.0000 21.0000
9.0000 23.0000
10.0000 25.0000
ответ:Доброго времени суток.
Очень не корректно поставлен вопрос. Что есть Текст? Это текстовый файл, строка, введенная пользователем, еще что-то? Думайте, прежде чем спросить, и, скорее всего, получите нормальный ответ.
Поэтому, поскольку нет конкретики, будем считать текстом строку, введенную пользователем.
Write('Введите текст : ');
ReadLn(S);
В переменной S теперь находится некоторый текст. Начнем с ним работать. Будем считать словом последовательность символов, ограниченных с обеих сторон пробелами. Сначала сделаем копию введенного текста.
S1 := ' ' + S + ' '; {чтобы не потерять первое и последнее слова}
А дальше,
N := 0; {счетчик слов Мама}
while Pos(' Мама ', S1) > 0 then begin
Delete(S1, Pos(' Мама ', S1)+1, 4);
N := N + 1;
end;
Поскольку может в тексте быть и "мама", то повторим
while Pos(' мама ', S1) > 0 then begin
Delete(S1, Pos(' мама ', S1)+1, 4);
N := N + 1;
end;
Вот и все. Осталось вывести результат.
WriteLn('Во ввденном тексте слово "мама" встречается ', N, ' раз');
Удачи!
PS Можно было бы не делать второй проход, если предварительно преобразовать введенный текст к одному регистру, а затем искать подстроку в этом регисте.