Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program slajdyNumery;
- uses crt;
- var
- f : byte;
- odK, doK, rzeczywLiczbS, liczbaS,
- aktStr, strNiep, strParz, a : integer;
- aktNP : byte;
- kolN, kolP, strA, strAktStr : string;
- t : text;
- function cutLastChar(var str : string) : string;
- var tmpStr : string;
- begin
- tmpStr := '';
- for a := 1 to Length(str) - 1 do
- begin
- tmpStr := tmpStr + str[a];
- end;
- cutLastChar := tmpStr;
- end;
- function odmiana(var liczba : integer) : string;
- var
- strP : string;
- begin
- strP := 'stron';
- if(liczba = 1) then
- strP := 'strona'
- else if((liczba > 1) AND (liczba < 5)) then
- strP := 'strony';
- odmiana := strP;
- end;
- begin clrscr;
- f := 2;
- REPEAT
- if f = 0 then
- begin
- clrscr;
- writeln('Podany przez ciebie przedzial sladjow jest nieprawidlowy');
- readkey;
- end;
- writeln('Podaj przedzial slajdow, jaki bedziesz chcial drukowac');
- write('Od: ');
- readln(odK);
- write('Do: ');
- readln(doK);
- if (odK >= doK) OR (odK <= 0) OR (doK <= 0) then f := 0 ELSE f := 1;
- UNTIL f = 1;
- write('Ile slajdow chcesz miec na stronie? Podaj liczbe: ');
- readln(liczbaS);
- rzeczywLiczbS := doK - odK + 1;
- if rzeczywLiczbS < liczbaS then
- begin
- writeln('Liczba slajdow jaka miec chcesz na stronie przewyzsza liczbe wszystkich');
- write('slajdow, ktore chcesz wydrukowac');
- readkey;
- halt;
- end;
- assign(t, 'strony.txt');
- rewrite(t);
- strNiep := 0;
- strParz := 0;
- aktNP := 0;
- aktStr := 0;
- kolN := '';
- kolP := '';
- for a := odK to doK do
- begin
- aktStr := a + liczbaS - 1;
- if aktStr > doK then aktStr := doK;
- if aktNP = 0 then
- begin
- str(a, strA);
- str(aktStr, strAktStr);
- kolN := kolN + strA + '-' + strAktStr + ',';
- aktNP := 1;
- Inc(strNiep);
- end ELSE
- begin
- str(a, strA);
- str(aktStr, strAktStr);
- kolP := kolP + strA + '-' + strAktStr + ',';
- aktNP := 0;
- Inc(strParz);
- end;
- a := aktStr;
- end;
- writeln(t, 'Nieparzyste: ', cutLastChar(kolN), ' - łącznie ', strNiep, ' ',odmiana(strNiep));
- if(liczbaS <> doK - odK + 1) then
- write(t, 'Parzyste: ', cutLastChar(kolP), ' - łącznie ', strParz, ' ', odmiana(strParz));
- close(t);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement