EGZAMIN POPRAWKOWY:
sobota 15.09.2007 godz. 9:15, sala 33C
WYNIKI (oceny pozytywne): 65834, 65852, 65880, 68791, 68787, 65898, 65820, 64447, 51629, 57796
EGZAMIN POPRAWKOWY II:
sobota 13.10.2007 godz. 8:00, sala ??
| punkty | ocena |
|---|---|
| 0-2.999 | 2 |
| 3-4.999 | 3 |
| 5-6.999 | 3+ |
| 7-8.999 | 4 |
| 9-11.999 | 4+ |
| 12- | 5 |
type
List = ^Element;
Element = record
nbr: real;
next: List;
end;
Stack = List; {Stos}
procedure InitS(var S: Stack); {wpisanie nil do S}
function EmptyS(S: Stack): boolean;
function OnTop(S: Stack): real;
procedure Push(var S: Stos; a: integer);
{ należy utworzyć nowy Element
new(e)
i przypisać
e^.liczba := a
i potem wstawić Element e na górze stosu (na początku listy)
}
procedure PopS(var S: Stack);
procedure Transfer(var Sin, Sout: Stack); {przerzucanie elementów ze stosu Sin do Sout}
type
Queue = record {Kolejka}
stack_in, stack_out: Stack;
end;
procedure InitQ(var K: Queue); {oba stosy są inicjalizowane}
function EmptyQ(K: Queue): boolean; {czy oba stosy są puste}
function First(K: Queue): real;
{podaje liczbę w pierwszym elemencie stack_out przerzucając wcześniej
elementy ze stack_in jeśli trzeba}
procedure Inject(var K: Queue; a: real); {robi Push do stack_in}
procedure PopQ(var K: Queue);
{usuwa pierwszy element ze stack_out przerzucając wcześniej
elementy ze stack_in jeśli trzeba}
Ćwiczenia: Obliczanie złożoności operacji na listach (zadania).
Program MergeSort;
uses Listy, crt;
procedure Dziel(var K,K1,K2: Kolejka);
begin
{ Dzieli kolejkę K na dwie części, które zapisuje do K1 i K2}
end;
procedure Scal(var K1,K2,K: Kolejka);
begin
{ scala posortowane kolejki K1 i K2 w pustą kolejkę K }
end;
procedure SortowaniePrzezScalanie(var K: Kolejka);
var K1,K2: Kolejka;
begin
Init(K1);
Init(K2);
if K.Count > 1 then
begin
Dziel(K,K1,K2);
SortowaniePrzezScalanie(K1);
SortowaniePrzezScalanie(K2);
Scal(K1,K2,K);
end;
end;
var K: Kolejka;
begin
{ Wczytanie z pliku 'dane.txt' liczb do sortowanie do kolejki K }
SortowaniePrzezScalanie(K);
{ Wypisanie kolejki K }
end.
Ćwiczenia: Obliczanie złożoności algorytmów stosujących
strategię ,,dziel i zwyciężaj'' (zadania).