Большинство вирусов не выполняет никаких действий, кроме своего распространения (заражения других программ, дисков и т.д.) и, иногда, выдачи каких-либо сообщений или иных эффектов, придуманных автором вируса: игры, музыки, перезагрузки компьютера, выдачи на экран разных рисунков, блокировки или изменения функций клавиш клавиатуры, замедления работы компьютера и т.д. Однако сознательной порчи информации эти вирусы не производят. Такие вирусы условно называются неопасными. Впрочем, и эти вирусы причинить большие неприятности (например, перезагрузки каждые несколько минут вообще не дадут вам работать).
Семейство "Ionkin". Нерезидентные неопасные вирусы. При старте ищут файлы х*.COM (где х – случайный символ от A до Z, зависящий от текущего времени) и стандартно заражают их. Вирус "Ionkin-2372" создает и запускает файл . Этот файл остается в памяти резидентно и периодически выдает сообщение:
"Работает вирус имени Валерия Ионкина…
Засуньте рублей в дисковод А: или форматирую диск".
Очень не корректно поставлен вопрос. Что есть Текст? Это текстовый файл, строка, введенная пользователем, еще что-то? Думайте, прежде чем спросить, и, скорее всего, получите нормальный ответ.
Поэтому, поскольку нет конкретики, будем считать текстом строку, введенную пользователем.
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 Можно было бы не делать второй проход, если предварительно преобразовать введенный текст к одному регистру, а затем искать подстроку в этом регисте.
Большинство вирусов не выполняет никаких действий, кроме своего распространения (заражения других программ, дисков и т.д.) и, иногда, выдачи каких-либо сообщений или иных эффектов, придуманных автором вируса: игры, музыки, перезагрузки компьютера, выдачи на экран разных рисунков, блокировки или изменения функций клавиш клавиатуры, замедления работы компьютера и т.д. Однако сознательной порчи информации эти вирусы не производят. Такие вирусы условно называются неопасными. Впрочем, и эти вирусы причинить большие неприятности (например, перезагрузки каждые несколько минут вообще не дадут вам работать).
Семейство "Ionkin". Нерезидентные неопасные вирусы. При старте ищут файлы х*.COM (где х – случайный символ от A до Z, зависящий от текущего времени) и стандартно заражают их. Вирус "Ionkin-2372" создает и запускает файл . Этот файл остается в памяти резидентно и периодически выдает сообщение:
"Работает вирус имени Валерия Ионкина…
Засуньте рублей в дисковод А: или форматирую диск".
ответ:Доброго времени суток.
Очень не корректно поставлен вопрос. Что есть Текст? Это текстовый файл, строка, введенная пользователем, еще что-то? Думайте, прежде чем спросить, и, скорее всего, получите нормальный ответ.
Поэтому, поскольку нет конкретики, будем считать текстом строку, введенную пользователем.
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 Можно было бы не делать второй проход, если предварительно преобразовать введенный текст к одному регистру, а затем искать подстроку в этом регисте.