Menu
Coddy logo textTech

Powtórka: przegląd funkcji

Część sekcji Logika i przepływ programu ścieżki PHP w Coddy. Lekcja 9 z 68.

challenge icon

Wyzwanie

Łatwy

Utwórz system przetwarzania tekstu, który łączy kilka poznanych przez Ciebie zagadnień związanych z funkcjami. Musisz zaimplementować kilka funkcji i użyć ich razem do przetwarzania danych tekstowych.

Najpierw utwórz funkcję anonimową zapisaną w zmiennej o nazwie $reverseText, która przyjmuje ciąg znaków i zwraca go w odwrotnej kolejności.

Następnie utwórz zwykłą funkcję o nazwie countVowels, która przyjmuje ciąg znaków i zwraca liczbę samogłosek (a, e, i, o, u — bez rozróżniania wielkości liter) w tym ciągu.

Potem utwórz funkcję o nazwie processText, która przyjmuje trzy parametry: ciąg tekstowy, nazwę operacji i funkcję zwrotną. Funkcja ta powinna:

  • Jeśli operacją jest "reverse", zastosować funkcję zwrotną, aby odwrócić tekst, i zwrócić wynik
  • Jeśli operacją jest "vowels", zastosować funkcję zwrotną, aby policzyć samogłoski, i zwrócić ich liczbę
  • Jeśli operacją jest "length", zwrócić długość tekstu

Otrzymasz dwa wejścia: nazwę operacji ("reverse", "vowels" lub "length") oraz tekst do przetworzenia. Odczytaj oba wejścia, ustal na podstawie operacji, której funkcji użyć, wywołaj processText z odpowiednimi parametrami i wypisz wynik.

Format wejścia: Dwa wiersze — pierwszy wiersz zawiera nazwę operacji, drugi wiersz zawiera tekst do przetworzenia

Oczekiwany wynik: Wynik zależny od operacji — tekst w odwrotnej kolejności dla "reverse", liczba samogłosek dla "vowels" lub długość tekstu dla "length"

Spróbuj swoich sił

<?php
// Odczytaj dane wejściowe
$operation = trim(fgets(STDIN));
$text = trim(fgets(STDIN));

// TODO: Napisz swój kod poniżej
// Utwórz funkcję anonimową $reverseText
// Utwórz funkcję countVowels
// Utwórz funkcję processText
// Wywołaj processText z odpowiednimi parametrami zależnie od operacji

// Wyświetl wynik
echo $result;
?>

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator PHP online