Literały, napisy, konwersja

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa

Perl: programowanie - Literały, napisy, konwersja

  1. Wypisz na ekran za pomocą polecenia print lub znanego ci z języka C printf następujące liczby:
  2. Sprawdź, ilu cyfrowa jest największa liczba szesnastkowa, jaką można bez dodatkowych zabiegów wypisać w perlu. Wskazówka: przypomnij sobie o bitach i dopełnieniu bitowym.
  3. Sprawdź, czy sekwencja \a generuje sygnał dźwiękowy. Niezależnie od tego, upewnij się, czy można sygnał ten włączyć lub wyłączyć przez polecenie xset.
  4. Sprawdź, czy sekwencja \n generuje jeden, czy dwa znaki. Wymyśl sposób sprawdzenia, jakie to znaki.
  5. Sprawdź, co uzyskasz, po wypisaniu słów "abc\r123\n". Jaka jest przyczyna obserwowanego efektu?
  6. Zbadaj, jakimi programami do generowania dokumentacji POD dysponujesz w swoim systemie.
  7. Wykorzystaj programy do generowania dokumentów POD, aby stworzyć dokument w którym wpiszesz swoje uwagi odnośnie perla lub pytania, które ci się nasuwają. Zadbaj o odpowiedni tytuł, nagłówki oraz formatowanie tekstu. Dokument POD po jego przetworzeniu na HTML wyślij prowadzącemu zajęcia.
  8. Sprawdź, czy po jakiejkolwiek linii w postaci __COKOLWIEK__ perl będzie analizował program. W ten sposób dowiesz się, czy tylko literały __FILE__, __END__, __LINE__ i __DATA__ są interpretowane.
  9. Przekonaj się, czy perl potrafi wypisać tekst wielowierszowy. Użyj na przykład następującego kodu: $tekst = "To jest tekst próbny";Po wypisaniu takiej zmiennej zaobserwuj, czy tekst zawiera nowy wiersz czy nie.
  10. Sprawdź, co otrzymasz wypisując znak o kodzie \x0394. Czy notacja taka działa prawidłowo? Porównaj z \x{0394}.
  11. Aby wypisać znaki UTF, można użyć nazw znaków. Aby zobaczyć, jak to działa, zastosuj kod: use charnames qw(greek); print "\N{Sigma}, \N{sigma}\n";
  12. Sprawdź efekt działania funkcji reverse w odniesieniu do napisów.
  13. Używając operatora || (lub) sprawdź, jaka będzie różnica w zawartości zmiennych po wykonaniu poleceń: $a = 0 || "abc"; $b = 1 || "efg"; O czym może świadczyć zawartość zmiennych? Zastanów się, jak zadziała polecenie: $x = $a || $b || $c || "bla";To,co obserwujesz, jest często stosowanym sposobem definiowania zmiennych z ewentualną wartością domyślną. Jeżeli zmienne nie są zdefiniowane, operator LUB (||) powoduje, ze perl oblicza kolejne podwyraźenie, i tak aż do momentu, gdy osiągnięta zostanie ostatnia wartość lub wynik, który można zakwalifikować jako prawdę.
  14. Napisz program, który wczytuje dowolny ciąg znaków z klawiatury i zamienia go na ciąg w którym tylko pierwsza litera jest wielka, a reszta liter jest mała.
  15. Nie używając instrukcji warunkowej if napisz program, który wczyta dwa wyrazy z klawiatury i napisze na standardowe wyjście wyraz "OK" jeżeli wczytane wyrazy będą sobie równe. Wyzwanie: program ten można napisać nie używając operatora trójargumentowego.
  16. Napisz program, który wczytuje dowolny tekst i informuje, czy są w nim wielkie litery czy nie. W tym programie także nie trzeba korzystać z instrukcji warunkowej.
  17. Napisz program, który wczyta dwa wyrazy i wypisze je w kolejności alfabetycznej.
  18. Napisz program, który wczytuje temperaturę w stopniach Celsjusza i wypisuje temperaturę w stopniach Kelvina.
  19. Zdefiniuj zmienną $bla, nadaj jej wartość 1 i spróbuj wypisać ciąg "1b" używając jednej instrukcji print oraz jednego łańcucha interpolowanego. To znaczy - sprawdź, czy zadziała polecenie print "$blab". W razieproblemów, wypróbuj zastosowanie nawiasów klamrowych.
Uniwersytet Gdański - Instytut Informatyki - Strona domowa - Perl
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.