ďťż
  Pytania z egzaminu



Bednarz Przemysław - Pią Cze 18, 2010 12:53 pm
Co było na egzaminie ?
Jeśli pamiętacie pytania napiszcie. Może się nam (a może też wam ) przyda na wrzesień.




Lucy4n - Pią Cze 18, 2010 1:06 pm
A to dzisiaj był egzamin?




devO - Pią Cze 18, 2010 1:11 pm
4 zadania, 3 trzeba było zrobić.

Wszystkie praktyka.



Bednarz Przemysław - Pią Cze 18, 2010 1:58 pm

4 zadania, 3 trzeba było zrobić.

Wszystkie praktyka.


Na komupterach ? bez teorii ?
Jakie zadania ? (sortowanie / drzewa / grafy / kolejki ????) najlepiej jakby ktoś podał treść.




Cabe - Pią Cze 18, 2010 4:05 pm
ja pamietam ze bylo drzewo B byl graf tego drzewa namalowany i trzeba bylo napisac definicje drzewa B i przerysować jak bedzie wygladalgraf po dodaniu liczby (u mnie bylo 60)

potem bylo definicje listy napisac i procedure sumujaca dane w liscie np 1 + 3 + 5 ble ble

i 1 to byla napisana procedura przez rekurencje i trzeba bylo napisac co wyswietli program i czemu tak i jak to dziala

4 nie pamietam



ol0lo - Pią Cze 18, 2010 4:44 pm
coś z tablicą sąsiedztwa, wstawienie konkretnego elementu w konkretne pole...



Pavulon - Pią Cze 18, 2010 6:16 pm
i trzeba bylo miec 25% by myslec o ustnym w poniedzialek, 50% aby zaliczyc na 3,ponizej 25% - wrzesien



Stalker - Pią Cze 18, 2010 6:19 pm
Zad.1.
Kod: Zaznacz wszystkotype
     ref=^rekord;
     rekord=record
                 numer:integer;
                 nastepny:ref;
               end

i tablica zdefiniowana array[1..6] of ref;

1-6 to oznaczenia wierzchołków jeśli array[1]=nil to znaczy że nie ma żadnej krawędzi wychodzącej z tego wierzchołka.

zadanie napisać procedurę wstawiającą krawędź do listy sąsiedztwa.

zadanie można rozbić na dwa etapy w części pierwszej sprawdzamy czy podane wierzchołki do procedury w ogóle istnieją. Następnie wstawić odpowiednie rekordy.

Kod: Zaznacz wszystkoprocedure wstawlista(a,b:integer){a oznacza wierzchołek z którego wyprowadzamy krawędź b zaś to jest  wierzchołek na który krawędź wskazuje}
var  n,z:ref;
begin
    if (a or b)>6 then writeln('jeden lub oba wierzchołki nie istnieją')
    else
    begin
       z:=w[a];{w zadaniu było napisane, że w to zmienna tablicy wcześniej zdefiniowanej};
       new(n);
       n.^numer:=b;
       n.^nastepny:=nil;
    end;   
    {teraz można dołączyć nowy rekord na dwa sposoby albo go wsadzić na sam koniec albo na sam   początek}
       if w[a]=nil then w[a]:=n
       else
       begin
         n.^nastepny:=z;
         w[a]:=n;
       end;{rekord wstawiony na przód jeśli chcemy na koniec to
         while z.^nastepny<>nil do z:=z.^nastepny;
            z.^nastepny:=n;}
end.

zad.2.
Definicja b-drzewa i wstawienie 40 do narysowanego drzewa. Tego nie wiem

zad.3.
Napisać definicję listy i napisać procedurę sumującą na bazie listy z zadania 1.
Lista to struktura danych, która posiada lewy i prawy koniec. Na jej bazie można stworzyć stos lub kolejkę.Funkcje jakie ją dotyczą to push,pop,inject,eject,front i rear.

Kod: Zaznacz wszystkovar glowa:ref(zmienna zdefiniowania w zadaniu)
{zadanie sprowadza się do pętli while n.^nastepny <> nil}
procedure suma(glowa:ref){pamiętać o ":ref" bo inaczej jest parament formalny i jest jeden pkt w dół }
var
      w:ref;
      wynik:integer;
begin
   w:=glowa;{kopiowanie głowy do zmiennej w to taki bajer dla bezpieczeństwa równie dobrze można zrobić to na głownie tylko}
    wynik:=0;{zerujemy zmienną wynik}
    while w.^nastepny<>nil do
       begin
           wynik:=wynik+w.^numer;
           w:=w.^nastepny;
        end;
writeln('Suma rekordów wynosi',wynik);
end.

zad.4.
Była procedura licząca miejsce litery w alfabecie angielskim,

Kod: Zaznacz wszystkoprocedure ktora(litera:char):integer;

begin
   licznik:=1;
   if litera>'a' then
      begin
        licznik:=licznik+1;
         {tu była instrukcja pred, która zmniejszała o jeden wartość kodu ASCII zmiennej litera}
         pred(litera);
         ktora(litera);
       end;
writeln('Litera',litera,'jest w alfabecie',licznik);
end.
       
W temacie zadania było podane że do procedury wczytujemy literę d i podać co wyświetli procedura.
Jeśli zmienna litera jest większa od a to wykona się dodawanie zmiennej licznik a następnie mamy wywołanie rekurencyjne ktora(litera). Rekurencja ta jest ograniczona przez warunek if litera > 'a'. Odpowiedz to procedura wyświetli 4.

Ogólnie to było w miarę proste tylko Dr Zdobek czepiał się wszystkiego. Odebrał mi punkt za to że nie napisałem ':ref' procedure suma(glowa) zamiast procedure suma(glowa:ref) a w zadaniu 3 miałem napisane, że niepotrzebnie zdublowałem warunek dotyczący nila. Ale każdy wie, że z nim nie ma łatwo .

PS
Te kody nie były kompilowane w TP ale koncepcyjnie na pewno są OK.



Lucy4n - Pią Cze 18, 2010 10:18 pm
No stary, dziękówa!



Cabe - Pią Cze 18, 2010 11:14 pm
poprostu było tak ze nic nie umiesz programowac walisz ścieme przychodzi Pavulon i mówi ze braklo 1 punkta Ty mówisz jak on dr. Folta mówi masz Pan 3 i spier..... a potem idziesz pićjak ja xD



Pavulon - Sob Cze 19, 2010 7:50 am
no mniej wiecej tak to wygladalo grunt ze sie udalo a jak potem piwo smakowalo!



zajcev - Sob Cze 19, 2010 8:18 am
no to fest bylo... ch... trzeba zaliczyc te cwiczenia a martwic sie we wrzesniu:D



Tigra - Nie Cze 20, 2010 5:17 pm

no to fest bylo... ch... trzeba zaliczyc te cwiczenia a martwic sie we wrzesniu:D
tru.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • albionteam.htw.pl
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • cichooo.htw.pl