Filozoficzny bit.
Ktoś kiedyś powiedział, że “życie jest sztuką priorytetów”. Kierując się tą myślą zauważyłem, że hierarchia ważności, to nic innego jak struktura o cechach obiektywnego doboru tego, na czym nam najbardziej zależy. Wdrażając taką postawę można wyraźniej zarysować kontury przyszłości, nadając kierunek i sens temu co robimy oraz skuteczniej realizować wytyczone zadania.
Zastosowałem tą metodę półtora roku temu, decydując się na “pełnoetatowy” rozwój projektu PPCG. Dzięki polityce małych kroczków i pracy zespołowej zrealizowaliśmy większość wspólnie ustalonych celów. Efekt był na tyle zadowalający, że pojawiły się kolejne pomysły i propozycje związane z naszą dotychczasową działalnością. Niestety, ostatnio życie zaczęło narzucać zupełnie inny bieg zdarzeń – odbiegający od “Wielkiego Planu” – coraz częściej skupiając moją uwagę i czas na innych zadaniach. Powrócił drażliwy dla mnie temat studiów, który okazał się “złem ostatecznym”, na szczęście tylko w teorii. W praktyce bowiem, przy odpowiednim nakładzie pracy przekonałem się, iż studia mogą dać wiele satysfakcji i nieocenionej wiedzy. Zaangażowałem się do tego stopnia, że moja obecność przy projekcie PPCG spadła ze sporadycznej do równej zeru. W efekcie większość zaplanowanych, tegorocznych zadań nie miała okazji ujrzeć światła dziennego, a społeczność zaczęła wątpić w ich realizację. Niewątpliwie jest to moja wina i zamierzam to naprawić.
Czytaj więcej…
Do Waszej dyspozycji udostępniam dziś dwie ostatnie, najbardziej pracochłonne listy: 8 i 9. Zadania poświęcone są przede wszystkim tematyce zmiennych rekordów i plikom, będących przykładem zmiennych złożonych.
Laboratorium 8
Zadanie 1
Przeanalizowałem :).
Czytaj więcej…
Z dużym poślizgiem, ale są! W dzisiejszej notce udostępniam rozwiązania zadań z Listy 7.
Laboratorium 7
Zadanie 1
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 lista7_zad1(INPUT, OUTPUT);
USES
CRT;
VAR
wymiar, x, y : INTEGER;
macierz : ARRAY OF ARRAY OF INTEGER;
BEGIN
CLRSCR;
WRITE('Podaj wymiar miacierzy: ');
READLN(wymiar);
SETLENGTH(macierz, wymiar, wymiar);
WRITELN;
FOR x := 0 TO (wymiar - 1) DO
BEGIN
FOR y := 0 TO (wymiar - 1) DO
BEGIN
macierz[x][y] := (x + 1) * (y + 1);
WRITE(macierz[x][y]:4);
END;
WRITELN;
END;
REPEAT UNTIL KEYPRESSED;
END. |
Czytaj więcej…
Udostępniam rozwiązania Listy 6!
Laboratorium 6
Zadanie 1
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
| PROGRAM lista6_zad1(INPUT, OUTPUT);
USES
CRT;
PROCEDURE WypelnijTablice(a, b : INTEGER);
VAR
tablica : ARRAY OF INTEGER;
x : INTEGER;
BEGIN
SETLENGTH(tablica, a);
RANDOMIZE;
FOR x := 0 TO (a - 1) DO
tablica[x] := RANDOM(b) + 1;
FOR x := 0 TO (a - 1) DO
WRITE(tablica[x], ' ');
END;
BEGIN
CLRSCR;
WypelnijTablice(10, 20);
REPEAT UNTIL KEYPRESSED;
END. |
Czytaj więcej…
Kolejne rozwiązania już dostępne – tym razem Lista 5 – wykorzystujące pojęcie rekurencji.
Laboratorium 5
Zadanie 1
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
| PROGRAM lista5_zad1(INPUT, OUTPUT);
USES
CRT;
VAR
wybor : CHAR;
liczba : INTEGER;
FUNCTION SilniaIteracyjnie(x : INTEGER) : EXTENDED;
VAR
wynik : EXTENDED;
licznik : INTEGER;
BEGIN
wynik := 1;
IF (x = 0) OR (x = 1) THEN
SilniaIteracyjnie := 1
ELSE
BEGIN
FOR licznik := x DOWNTO 1 DO
wynik := wynik * licznik;
SilniaIteracyjnie := wynik;
END;
END;
FUNCTION SilniaRekurencyjnie(x : INTEGER) : EXTENDED;
BEGIN
IF (x = 0) OR (x = 1) THEN
SilniaRekurencyjnie := 1
ELSE
SilniaRekurencyjnie := SilniaRekurencyjnie(x - 1) * x;
END;
BEGIN
CLRSCR;
WRITELN('Jaki sposób liczenia silnii wybierasz:');
WRITELN(' a) Iteracyjnie');
WRITELN(' b) Rekurencyjnie');
GOTOXY(4, 5);
WRITELN('Wybór: [ ]');
GOTOXY(12, 5);
wybor := READKEY;
WRITE(wybor);
GOTOXY(4, 7);
IF (wybor = 'a') OR (wybor = 'A') THEN
BEGIN
WRITE('Podaj liczbę: ');
READLN(liczba);
GOTOXY(4, 9);
WRITELN('Wynik: ', SilniaIteracyjnie(liczba):0:0)
END
ELSE IF (wybor = 'b') OR (wybor = 'B') THEN
BEGIN
WRITE('Podaj liczbę: ');
READLN(liczba);
GOTOXY(4, 9);
WRITELN('Wynik: ', SilniaRekurencyjnie(liczba):0:0)
END
ELSE
WRITELN('Błędny wybór!');
REPEAT UNTIL Keypressed;
END. |
Czytaj więcej…