Категория B14 • задача №1
Условие задачи
Дано:
дан следующий программный код (для удобства, код программы приведен на самом популярном языке программирования высокого уровня – Turbo Pascal)
Найти:
определите, что будет напечатано в результате выполнения представленного алгоритма
Решение
I этап: детальный анализ каждой строки заданной программы
Проанализируем код заданной функции:
Промежуточный вывод: данная функция проверяет входную строку на палиндромность (палиндром - строка (как правило, отдельное и законченное слово), одинаково читающееся в обоих направлениях).
Проанализируем код главного блока программы:
Промежуточный вывод: данная программа определяет количество слов палиндромов среди заданных слов.
II этап: точечное тестирование программы
Программа содержит следующие слова, подлежащие проверке на палиндромность:
El;
kazak;
ribu;
ili;
myaso.
Рассмотрим слово 'El':
E | l |
l | E |
Очевидно, что слово 'El' не является палиндромом.
Рассмотрим слово 'kazak':
k | a | z | a | k |
k | a | z | a | k |
Очевидно, что слово 'kazak' явяется палиндромом (это первый найденный палиндром).
Рассмотрим слово 'ribu':
r | i | b | u |
u | b | i | r |
Очевидно, что слово 'ribu' не является палиндромом.
Рассмотрим слово 'ili':
i | l | i |
i | l | i |
Очевидно, что слово 'ili' явяется палиндромом (это второй найденный палиндром).
Рассмотрим слово 'myaso':
m | y | a | s | o |
o | s | a | y | m |
Очевидно, что слово 'myaso' не является палиндромом.
В итоге программа "насчитала" 2-а палиндрома из заданных пяти слов.
Вывод: |
после выполнения предложенного фрагмента программы на экран будет выведено число 2. |
Ответ: |
2 |
Комментарии