Пользователь

Добро пожаловать,

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

Меню сайта




Ваше мнение
Оцените скорость загрузки страниц сайта

Реактивная
Быстрая
Нормальная
Неважная
Медленная
Черепашья


Результаты
Другие опросы

Всего голосов: 971
Комментарии: 4


Наши партнеры



Статистика




Programming books  Download software  Documentation  Scripts  Content Managment Systems(CMS)  Templates  Icon Sets  Articles  Contacts  Voting  Site Search




Книги-online



Практикум — Глава 7. Алгоритмы обработки символьной информации
[ домой ] [ следующий ] [ начало главы ] [ предыдущий ] [ содержание ]

Пример 7.2. Определить, является ли заданное слово "перевёртышем" (слово называется "перевёртышем", если совпадает с собой после переворачивания).

Система тестов

N теста Данные Результат
1 Slovo = ''казак'' Otvet = ''Перевертыш''
2 Slovo = ''коза'' Otvet = ''Не перевертыш''

Демонстрация

Школьный АЯ

алг Перевертыш (арг лит Slovo, рез лит Otvet)
  надо | Otvet = "Перевертыш", если Slovo совпадает с собой
       | после переворачивания
нач цел Dlina, i, лог Flag
  Dlina:=длин(Slovo)
  i:=1; Flag:=да
  нц пока (i<=Dlina/2) и Flag          | цикл пока с прерыванием до
    Flag:=(Slovo[i]=Slovo[Dlina-i+1])  | первой несовпавшей пары букв,
    i:=i+1                             | если такая имеется в слове
  кц
  если Flag
    то Otvet:="Перевертыш"
    иначе Otvet:="Не перевертыш"
  все
кон
Исполнение алгоритма
  Обозначения проверяемых условий:
  (i<=Dlina/2) и Flag   => (1)
  Slovo[i]=Slovo[Dlina-i+1]  => (2)
 
Номер теста i (1) (2) Flag Otvet
1 1  2  3 +  +  -(кц) +  + да  да  да "Перевертыш"
2   2   -(кц) - да  нет "Не перевертыш"
 
Turbo Pascal
Program TurnOver;
  Uses Crt;
  Var Slovo    : String;
      Dlina, i : Integer;
      Flag     : Boolean;
BEGIN
  ClrScr;
  Write('Введите слово : ');  ReadLn(Slovo);
  Dlina:= Length(Slovo);
     {Сравниваются пары букв: первая буква с последней, }
     {вторая буква с предпоследней и т.д. } 
  i:=1;  Flag := TRUE;  
  While (i <= Dlina/2) and Flag do        {цикл до первой несовпавшей }
    begin                                 {пары букв (если такая есть)}
      Flag := (Slovo[i]=Slovo[Dlina-i+1]);
      i := i+1
    end;
  WriteLn; Write( 'О т в е т : слово ', Slovo);
  If Flag then WriteLn(' — перевертыш. ')
          else WriteLn(' — не перевертыш');
  ReadLn
END.
 
QBasic
CLS : INPUT "Введите слово : ", SLOVO$ 
Dlina = LEN(SLOVO$) 
  ' Сравниваются пары букв: первая буква с последней, 
  ' вторая буква с предпоследней и т.д. 
i = 1 : Flag = 0 
WHILE (i<=Dlina/2) AND (Flag=0) 'цикл до первой несовпавшей пары букв 
  Letter1$ = MID$(SLOVO$, i, 1)          'первая буква пары 
  Letter2$ = MID$(SLOVO$, Dlina-i+1, 1)  'вторая буква пары 
  IF Letter1$ = Letter2$ THEN i=i+1 ELSE Flag=1 
WEND 
PRINT : PRINT "О т в е т : слово "; SLOVO$; 
IF Flag = 0 THEN PRINT " — перевертыш." ELSE PRINT " — не перевертыш." 
END
 
[ домой ] [ следующий ] [ начало главы ] [ предыдущий ] [ содержание ]


Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском


.



книги по программированию исходники компоненты шаблоны сайтов C++ PHP Delphi скачать