programstruktur;vari,j,silnia:integer;z:char;beginwriteln('Witaj!');beginwrite('Na początek jakieś instrukcje w bloku. ');write('Nic szczególnego z tego nie wynika. ');writeln('Chociaż blok liczy się za jedną instrukcję');readln;{przypominam, że średnik przed end nie jest konieczny}end;write('Podaj liczbę całkowitą: ');readln(i);ifi>0then{instrukcja warunkowa: "jeśli i > 0 to"}writeln('To jest liczba dodatnia.');writeln('Jeszcze raz, z bardziej rozbudowaną instrukcją.');ifi>0then{"jeśli i jest większe od 0 to"}writeln('To jest liczba dodatnia.'){ważne - brak średnika}else{"a jeżeli nie jest"}writeln('To jest liczba ujemna (chyba, że 0).');write('Podaj kolejną liczbę całkowitą: ');readln(i);{zagnieżdżanie instrukcji warunkowych}ifi>0thenifimod2=0thenwriteln('To jest liczba dodatnia parzysta.')elsewriteln('To jest liczba dodatnia nieparzysta.')elseifimod2=0thenwriteln('To jest liczba niedodatnia parzysta.')elsewriteln('To jest liczba niedodatnia nieparzysta.');write('Czy mam odejmować? (t/n) ');readln(z);ifz='t'thenbegin{i tu przyda się instrukcja złożona}write('i=');readln(i);write('j=');readln(j);writeln('i-j=',i-j);end;writeln('Zajmijmy się jeszcze liczbą ',i);{trochę mniej instrukcji}ifi>0thenifimod2=0thenwriteln('To jest liczba dodatnia parzysta.')elsewriteln('To jest liczba dodatnia nieparzysta.')elseifimod2=0thenwriteln('To jest liczba niedodatnia parzysta.');{A to nie działa tak, jak można by się spodziewać}ifi>0thenifimod2=0thenwriteln('To jest liczba dodatnia parzysta.')elseifimod2=0thenwriteln('To jest liczba niedodatnia parzysta.')elsewriteln('To jest liczba niedodatnia nieparzysta.');{begin end jest niezbędne}ifi>0thenbeginifimod2=0thenwriteln('To jest liczba dodatnia parzysta.');endelseifimod2=0thenwriteln('To jest liczba niedodatnia parzysta.')elsewriteln('To jest liczba niedodatnia nieparzysta.');write('Podaj ocenę: ');readln(i);caseiof1:writeln('niedostateczny');2:writeln('dopuszczający');3:writeln('dostateczny');4:writeln('dobry');5:writeln('bardzo dobry');6:writeln('celujący');7:beginwriteln('geniusz?');writeln('nieprawidłowa ocena');end;elsewriteln('nieprawidłowa ocena');end;writeln('Przyszedł czas na pętle.');readln;fori:=1to100dowrite(i,' ');writeln;writeln('Podaj liczbę, której silnię mam policzyć');readln(i);silnia:=1;forj:=idownto2do{dla j od i do 2 w dół }beginsilnia:=silnia*j;write(j,' * ');end;writeln('1 = ',silnia);writeln('Teraz będzie się powtarzać, aż wpiszesz "f".');repeat{powtarzaj}writeln('powtarzam');{tutaj nie potrzeba begin-end}readln(z);untilz='f';{aż z="f"}writeln('a teraz będzie się powtarzać, póki wpisujesz "f".');{początkowe z="f" jest zapewnione przez poprzednią pętlę}whilez='f'do{póki z="f" rób}readln(z);{Na koniec dziwne zjawisko}writeln('Pętla for nie przejmuje się zmianami wartości po swoim rozpoczęciu.');i:=10;forj:=1toidobeginwriteln(j);{wypisze liczby od jednego do dziesięciu}{j := 5;}{co więcej nie pozwala na ręczną zmianę zmiennej pętli - to byłby błąd}i:=5;end;writeln('Ten przykładowy program jest strasznie długi, a i tak nie obejmuje wszystkich funkcji. W każdym razie na razie żegna.');readln;end.