Polecenie
Przykład sortowania przez wstawienie rekordów.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| PROGRAM tablica;
USES CRT;
CONST
N = 3;
TYPE
PRACOWNIK = RECORD
NAZWISKO: STRING;
PLACA: REAL;
END;
VAR
BAZA : Array[1..N] of PRACOWNIK;
{POM: PRACOWNIK;}
p, i : BYTE;
BEGIN
CLRSCR;
WRITELN('BAZA DANYCH');
FOR i := 1 TO N DO
BEGIN
WRITE('Nazwisko: ');READLN(BAZA[i].NAZWISKO);
WRITE('Placa: ');READLN(BAZA[i].PLACA);
END;
TEXTCOLOR(YELLOW);
WRITELN('Sortowanie wstawienie z wartownikiem:');
TEXTCOLOR(WHITE);
FOR i:=2 TO N DO
BEGIN
BAZA[0] := BAZA[i];
p := i -1;
WHILE BAZA[0].NAZWISKO < BAZA[p].NAZWISKO DO
BEGIN
BAZA[p+1] := BAZA[p];
p := p-1;
END;
BAZA[p+1] := BAZA[0];
END;
WRITELN('Posortowane:');
FOR i := 1 TO N DO
WRITELN('Pracownik [',BAZA[i].NAZWISKO,'] zarabia: ', BAZA[i].PLACA:5:2, ' zl');
WRITELN('Pacnij buttona aby wyjsc...');
READKEY;
END. |
Brak komentarzy »
Polecenie
Wylosować elementy do tablicy prostokątnej X na Y. Obliczyć sumę wszystkich elementów dodatnich, ujemnych i zliczyć ile ich jest. Zliczyć ile jest elementów równych zero. Na koniec zapytać czy powtórzyć całość, dopuszczalne znaki to T/t/n/N. Program zabezpieczyć hasłem.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
| PROGRAM macierz;
USES crt;
CONST
X=5;
Y=2;
VAR
t: ARRAY[1..X,1..Y] OF Integer;
ix, iy, id,iu,sd, su, sz :integer;
pass : string;
k :char;
BEGIN
CLRSCR;
REPEAT
WRITELN('Podaj haslo:');
READLN(pass);
UNTIL pass = 'lol';
REPEAT
RANDOMIZE;
FOR iy:=1 TO Y DO
FOR ix:=1 TO X DO
t[ix,iy]:=RANDOM(9)-RANDOM(4);
iu:=0;
id:=0;
sz:=0;
su:=0;
sd:=0;
FOR iy:=1 TO Y DO
FOR ix:=1 TO X DO
BEGIN
IF t[ix,iy] >= 0 THEN
BEGIN
IF t[ix,iy] > 0 THEN
BEGIN
sd:=sd+1;
id:=id+t[ix,iy];
END
ELSE
sz:=sz+1;
END
ELSE
BEGIN
su:=su+1;
iu:=iu+t[ix,iy];
END;
WRITE(t[ix,iy],', ');
END;
WRITELN;
WRITELN('Ilosc dodatnich: ',sd,'. Ich suma: ',id);
WRITELN('Ilosc zer: ',sz);
WRITELN('Ilosc ujemnych: ', su,'. Ich suma: ',iu);
WRITELN;
REPEAT
WRITELN('Kontynuowac T/N? ');
k:=UPCASE(READKEY());
IF (k <> 'N') AND (k <> 'T') THEN
WRITELN('Zly klawisz!');
UNTIL (k='N') OR (k='T');
UNTIL (k='N') ;
END. |
Brak komentarzy »
Polecenie
Wczytaj początek przedziału i jego koniec. Wyświetl liczby z przedziału za pomocą pętli FOR, UNTIL, WHILE:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| PROGRAM przedzial;
USES CRT;
VAR
a,b,i:integer;
BEGIN
CLRSCR;
REPEAT
WRITELN('Podaj poczatek przedzialu: ');
READLN(a);
WRITELN('Podaj koniec przedzialu: ');
READLN(b);
IF a>=b THEN
WRITELN('Poczatek musi byc < od konca!');
UNTIL b>a;
WRITELN('Petla FOR:');
FOR i:=b DOWNTO a DO
WRITELN(i);
i:=b;
WRITELN('Petla REPEAT:');
REPEAT
WRITELN(i);
i:=i-1;
UNTIL i<a ;
i:=b;
WRITELN('Petla WHILE:');
WHILE i>=a DO
BEGIN
WRITELN(i);
i:=i-1;
END;
END.</a> |
Brak komentarzy »