Posts Tagged “Pascal”

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.

Comments 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.

Comments 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>

Comments Brak komentarzy »

(c) 2007 by Michał Terbert