Witam mam na zadanie napisac program w pascalu mianowicie program ma wszytac tekst i liczyc ilosc duzych i małych liter ilosc społgłosek i samogłosek i cyfr oraz znaków specjalnych np "!?>, i spacje . Z góry dziekuje i obecuje wiecej punktów jak tylko je bede posiadał czekam na odp potrzebna mi do niedzieli do 24h
Przetwarzanie tekstu znak po znaku jest opisane tu: http://wazniak.mimuw.edu.pl/index.php?title=Wst%C4%99p_do_programowania/Pliki (sekcja "Przykład przetwarzania plików tekstowych")
wystarczy zdefiniować wymienioną procedurę `Przetwórz` tak, aby zliczała to co potrzeba (możemy np. wprowadzić zmienne globalne typu całkowitego reprezentujące ile jest małych liter, ile jest wielkich liter, ile znaków białych, reszta..). Procedura będzie wyglądała jakoś tak:
if ch jest wielką literą then inc(wielkieLitery) else if ch jest małą literą then inc(małeLitery) ... else inc(reszta);
warunki można zrealizować za pomocą funkcji ord, która dla znaku zwraca jego kod ASCII (tablicę ASCII można znaleźć np. tu: http://pl.wikipedia.org/wiki/ASCII).
P.S. jeżeli zabroniono używania zmiennych globalnych (i bardzo słusznie) można ten sam cel osiągnąć za pomocą przekazywania argumentów całkowitych (dot. liczności różnych typów znaków) do procedury `Przetwórz` przez referencję do zmiennej (tj. ze słówkiem var przed nazwą argumentu). Wtedy przypisanie na argument modyfikuje zmienną podaną przy wywołaniu funkcji.
Przetwarzanie tekstu znak po znaku jest opisane tu:
http://wazniak.mimuw.edu.pl/index.php?title=Wst%C4%99p_do_programowania/Pliki
(sekcja "Przykład przetwarzania plików tekstowych")
wystarczy zdefiniować wymienioną procedurę `Przetwórz` tak, aby zliczała to co potrzeba (możemy np. wprowadzić zmienne globalne typu całkowitego reprezentujące ile jest małych liter, ile jest wielkich liter, ile znaków białych, reszta..). Procedura będzie wyglądała jakoś tak:
if ch jest wielką literą then
inc(wielkieLitery)
else if ch jest małą literą then
inc(małeLitery)
...
else
inc(reszta);
warunki można zrealizować za pomocą funkcji ord, która dla znaku zwraca jego kod ASCII (tablicę ASCII można znaleźć np. tu: http://pl.wikipedia.org/wiki/ASCII).
P.S. jeżeli zabroniono używania zmiennych globalnych (i bardzo słusznie) można ten sam cel osiągnąć za pomocą przekazywania argumentów całkowitych (dot. liczności różnych typów znaków) do procedury `Przetwórz` przez referencję do zmiennej (tj. ze słówkiem var przed nazwą argumentu). Wtedy przypisanie na argument modyfikuje zmienną podaną przy wywołaniu funkcji.
Pozdrawiam,
cbart