PASCAL,program wypisuje litery i ilosc slow wpisanych

PASCAL !!

mam do napisania program, ktory oczekuje na pwisanie dowolnegozdania, nastepnie informuje z ilu liter i ilu wyrazow sklada sie wpisane zdanie. UWAGA! spacja nie jest litera…

program zaczyna sie w ten sposob:

program abc;

uses crt;

var zdanie:string;

i,litery,wyrazy:byte;

begin

clrscr;

writeln(‘Program oczekuje na wpisanie dowolnego zdania, nastepnie informuje z ilu’);

writeln(’ liter i ilu wyrazow sklada sie wpisane zdanie.’);

writeln;

writeln(‘UWAGA=spacja nie jest litera.’);

writeln;

writeln('Wpisz dowolne zdanie: ');

readln(zdanie);

for i := 1 to length(zdanie) do

if zdanie ’ ’ then litery := litery+1;

wyrazy := length(zdanie)-litery+1;

Writeln('Liter w zdaniu jest: ',litery);

Writeln('Wyrazow w zdaniu jest: ',wyrazy);

readln;

end.

Ale cos w nim jest nie tak, bo po pierwsze liczy spacje, a po drugie nie wylicza ile jest zdan, czy ktos może to poprawic?

Nie rozumiem jednego, czemu program który liczy “… z ilu liter i ilu wyrazow sklada sie …” miał by liczyć ilość zdań?

Jest to bardzo prymitywny program, zakładający że oprócz liter i spacji nic innego nie zostanie wprowadzone a na dodatek użytkownik nigdy nie wprowadzi więcej niż jedną spację pod rząd, więc dopóki te założenia będą spełnione program będzie działać poprawnie.

Jak chcesz coś poprawić to najpierw musisz sam zrozumieć co.