Figury

Wersja 1.

program figury;
uses crt;
var w, k: integer; {wiersze i kolumny}
    f: char;       {wybrana figura}
    i, j: integer; {iteracje}

begin
        clrscr;
        repeat begin
                WriteLn('Wybierz figure: ');
                WriteLn('P: prostokat');
                WriteLn('T: trojkat');
                Write('C: choinka ');
                f:=readkey;
                WriteLn;
                end
        until (f='P') or (f='T') or (f='C');
        Write('Podaj liczbe wierszy: ');
        ReadLn(w);
        clrscr;

        if(f='P') then begin
                Write('Podaj liczbe kolumn: ');
                ReadLn(k);
                clrscr;
                for i:=1 to w do begin
                        for j:=1 to k do Write('*');
                        WriteLn;
                end;
        end;

        if(f='T') then begin
                for i:=1 to w do begin
                        for j:=1 to i do Write('*');
                        WriteLn;
                end;
        end;

        if(f='C') then begin
                for i:=1 to w do begin
                        for j:=w-i downto 1 do Write(' ');
                        for j:=1 to 2*i-1 do write('*');
                        writeln;
                end;
        end;
delay(2000);
end.

Czytaj dalej

Instrukcje iteracyjne w języku Pascal

Pętla for ... to ... do

for licznik:=wartosc_poczatkowa to wartosc_koncowa do instrukcja_iteracyjna

for licznik:=wartosc_poczatkowa downto wartosc_koncowa do instrukcja_iteracyjna

Używa się tej pętli, gdy ilość powtórzeń jest z góry znana - instrukcja wykonuje określoną ilość iteracji. Pętla automatycznie zwiększa (zmniejsza) wartość licznika o 1.

for i:=1 to 10 do writeln(i); {wypisuje liczby od 1 do 10 w kolejnych liniach}

s:=1;
for i:=10 downto 1 do s:=s*i {oblicza silnię z 10}

Czytaj dalej

Yet another IFs

Zadanie 1. Wykonaj program, który zadecyduje o Twojej ocenie z dowolnego przedmiotu na podstawie WSO.

program ocena_ucznia;

uses crt;

var
    max, liczba : real;
    procent : real;
    ocena : string[16];

begin
    clrscr;
    Write('Uzyskane punkty: ');
    ReadLn(liczba);
    Write('Max punktow: ');
    ReadLn(max);
    Writeln;

	procent:=(liczba/max)*100;
	if procent<0 then ocena:='Blad danych';
	if procent<35 then ocena:='Niedostateczny';
	if (procent>=35) and (procent<50) then ocena:='Dopuszczajacy';
	if (procent>=50) and (procent<70) then ocena:='Dostateczny';
	if (procent>=70) and (procent<90) then ocena:='Dobry';
	if (procent>=90) and (procent<=100) then ocena:='Bardzo dobry';
	if procent>100 then ocena:='Celujacy';

	WriteLn('Uzyskana ocena: ', ocena);
	WriteLn('Procent calosci: ', procent:0:2, '%');

	ReadLn;
end.

Należy uważać, aby nazwa programu nie pokrywała się z nazwą jednej ze zmiennych. Otrzymamy wtedy błąd uniemożliwiający kompilację programu.