Zadanie 8.
Wiązka zadań
Palindromy
Palindrom to słowo lub zdanie, które czytane od lewej do prawej i od prawej do lewej brzmi
tak samo. W zdaniu, które jest palindromem, ignorujemy odstępy między słowami. Ważne
jest tylko, że kolejność liter przy czytaniu od lewej do prawej i od prawej do lewej jest taka
sama. Dla potrzeb zadania przyjmujemy, że używamy tylko małych liter alfabetu łacińskiego.
Poniżej podajemy przykłady słów i zdań, które są palindromami:
kajak
anna
elf ukladal kufle
trafili popili fart
ewo zeby tu byly buty bezowe
Poniższy algorytm sprawdza, czy podane na wejściu słowo jest palindromem.
Specyfikacja
Dane:
S[1..d] — słowo zapisane w tablicy znaków, gdzie d > 1 oznacza liczbę znaków w słowie
Wynik:
TAK — gdy słowo S jest palindromem, NIE — w przeciwnym przypadku
Algorytm:
d ← długość(S)
i ← d div 2
(*) dopóki (i > 0) i (S[i] = S[d – i+1]) wykonuj
i ← i – 1
jeżeli i = 0
zwróć TAK i zakończ,
w przeciwnym razie
zwróć NIE i zakończ
Uwaga: div oznacza operator dzielenia całkowitego, a wartością funkcji długość jest liczba
znaków w słowie.