Помогите пожалуйста с решением следующей задачи:
Дан файл, содержащий большой словарь русских слов и выражений. Составить программу, которая обеспечивает:
1.поиск слов-палиндромов (слова, которые читаются одинаково слева направо, так справа налево, например, казак, шалаш )
2.поиск фраз-палиндромов. Например, "А роза упала на лапу Азора"
Поиск фраз и слов палиндромов в файле-словаре
Определение полиндром или нет:
загрузку из файла писать лень)
Код: Выделить всё
var i: integer;
s: string;
pol : boolean;
begin
pol := true;
write('s=');readln(s);
for i := 1 to trunc(length(s) / 2) do
if(s[i] <> s[length(s) - i + 1]) then
pol := false;
writeln('pol = ', pol);
end.
Замечания к вышеприведенному коду:
1. Если pol:=false, то дальше уже можно смело ставить break. Все равно true оно больше не станет.
2. trunc(length(s) / 2) спокойно меняется на length(s) div 2.
3. Значение pol лучше возвращать как результат функции, а не выводом напрямую на экран. Это вообще ко всем программам относится.
1. Если pol:=false, то дальше уже можно смело ставить break. Все равно true оно больше не станет.
2. trunc(length(s) / 2) спокойно меняется на length(s) div 2.
3. Значение pol лучше возвращать как результат функции, а не выводом напрямую на экран. Это вообще ко всем программам относится.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
-
- Сообщения: 2
- Зарегистрирован: 02 фев 2010, 11:48
Спасибо, за помощь, но если я правильно поняла то приведенная выше процедура определяет только слова палиндромы, а как быть с фразами? Или я ошибаюсь и эту процедуру можно использовать и для фраз? Подскажите пожалуйста.
Фраза отличается от слова только наличием в ней пробелов и знаков препинания. В коде никакие пробелы и знаки препинания не упоминаются, стало быть, эту функцию можно использовать для любой строки, вне зависимости от того, содержит ли она отдельное слово или целую фразу.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.