(H) Palindromi

Tavoite: Harjoittelen rekursion toteuttamista.

Ohjeita: Hae ohjelmakoodipohja: templates/06/palindrome/ -> student/06/palindrome/. Pohjassa on automaattitestausta varten määrittely RECURSIVE_FUNC. Siitä ei tarvitse välittää, eikä sille saa tehdä mitään.

Toteuta ohjelmakoodipohjaan funktio palindrome_recursive, joka suorittaa rekursiivisen algoritmin ja palauttaa tiedon siitä, onko sille parametrina annettu merkkijono palindromi vai ei.

Koska tarkoituksena on kirjoittaa rekursiivinen funktio, ohjelmassa ei sallita silmukkarakenteita (for tai while).

Kiinnitä huomiota hyvään ohjelmointityyliin.

Esimerkkejä ohjelman toiminnasta:

Enter a word: deleveled
deleveled is a palindrome
Enter a word: delevel
delevel is not a palindrome

Vinkkejä tehtävän tekemiseen:

  • Aloita miettiminen siitä, mikä on triviaalitapaus ja miten se kirjoitetaan ohjelmakoodiksi.
  • Tämän jälkeen mieti, miten tämän ongelman voi jakaa pienemmäksi mutta samanmuotoiseksi osaongelmaksi.
  • Tehtävässä voi olla hyötyä merkkijono-operaatiosta substr, josta on kerrottu Plussan kohdassa 2.6 Merkkijonot ja merkit.

A+ esittää tässä kohdassa tehtävän palautuslomakkeen.