Очень не корректно поставлен вопрос. Что есть Текст? Это текстовый файл, строка, введенная пользователем, еще что-то? Думайте, прежде чем спросить, и, скорее всего, получите нормальный ответ.
Поэтому, поскольку нет конкретики, будем считать текстом строку, введенную пользователем.
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 Можно было бы не делать второй проход, если предварительно преобразовать введенный текст к одному регистру, а затем искать подстроку в этом регисте.
Program prog; function Search(n: integer): integer; var input: array[1..4] of integer; even: array[1..4] of integer; atLestOne: boolean; begin input[1] := n div 1000; input[2] := n mod 1000 div 100; input[3] := n mod 100 div 10; input[4] := n mod 10; if (input[1] mod 2 = 0) begin even[1] := input[1]; atLestOne := True; end; if (input[2] mod 2 = 0) begin even[2] := input[2]; atLestOne := True; end; if (input[3] mod 2 = 0) begin even[3] := input[3]; atLestOne := True; end; if (input[4] mod 2 = 0) begin even[4] := input[4]; atLestOne := True; end; if atLestOne = True then Search := Low(even) else Search := -1; end;
Перевод из двоичной системы счисления в десятичную Задание: Перевести число 11011012 в десятичную систему счисления.
Для перевода записываем данное число в общем виде: 1·2^6+1·2^5+0·2^4+1·2^3+1·2^2+0·2^1+1·2^0= =1·64+1·32+0·16+1·8+1·4+1·0+1·1=10910
ответ: 11011012=10910
Перевод из восьмеричной системы счисления в десятичную Задание: Перевести число 1738 в десятичную систему счисления.
Для перевода записываем данное число в общем виде: 1·8^2+7·8^1+3·8^0=1·64+7·8+3·1=12310
ответ: 1738=12310
Перевод из шестнадцатиричной системы счисления в десятичную Задание: Перевести число 2А3С16 в десятичную систему счисления.
Для перевода записываем число в общем виде (обратим внимание на то, что букве А соответствует значение 10, а букве С - 12): 2·16^3+10·16^2+3·16^1+12·16^0=2·4096+10·256+3·16+12·1=1081210
ответ:Доброго времени суток.
Очень не корректно поставлен вопрос. Что есть Текст? Это текстовый файл, строка, введенная пользователем, еще что-то? Думайте, прежде чем спросить, и, скорее всего, получите нормальный ответ.
Поэтому, поскольку нет конкретики, будем считать текстом строку, введенную пользователем.
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 Можно было бы не делать второй проход, если предварительно преобразовать введенный текст к одному регистру, а затем искать подстроку в этом регисте.