Lécci, Lécci tanícsatok meg programozni
  • Aquli
    #211
    Sziasztok!
    A segítségeteket szeretném kérni egy egyszerű érettségi-feladatban. A lényeg: a megnevezéseket össze kell párosítani az algoritmusokkal, az algoritmus nélkül maradt megnevezésekhez algoritmust írni a típusdefiníciók alapján, illetve a megnevezés nélkül maradt algoritmusoknak nevet adni:

    Típusdefiníció:
    v, w: logikai;
    h, i, j, k, l, m, n: integer; (i, j, k: számláló; l, m, n: a tömb elemszáma)
    s: feladatfüggő típus
    A[], B[], C[], D[], E[], F[], G[]: tömb; (F[] és G[] rendezett, az elemek típusa feladatfüggő)
    t: feladatfüggő tulajdonság vagy függvény

    Eldöntés algoritmusa
    Keresés algoritmusa
    Kiválasztás algoritmusa
    Kiválogatás algoritmusa
    Megszámlálás algoritmusa
    Sorozatszámítás algritmusa
    Szétválogatás algoritmusa
    Unióképzés algoritmusa

    ---------------1--------------
    i:=1;
    s:=kezdőérték;
    Ismételd amíg i<=n
    s:=t(s, A[i)];
    i:=i+1;
    Ismétlés vége;
    Ki(s);

    ---------------2----------------
    i:=1;
    Ismételd amíg (i<=n) és nem(t(A[i]))
    i:=i+1;
    Ismétlés vége;
    v:=(i<=n);
    Ki(v);

    ----------------3------------------
    h:=0
    i:=1;
    Ismételd amíg (i<=n) és nem(t(A[i]))
    i:=i+1;
    Ismétlés vége;
    v:=(i<=n);
    Ha v akkor h:=i;
    Ki(h);


    -----------------4--------------------

    h:=1;
    i:=2;
    Ismételd amíg i:=n
    Ha A[i]<A[h] akkor h:=i;
    i:=i+1;
    Ismétlés vége;
    Ki( h, A[h] );


    ------------------5--------------------
    Ismételd i:=2-től n-ig
    j:=n
    Ismételd amíg j>=i
    Ha A[j-1]>A[j] akkor
    kezd
    s:=A[j-1];
    A[j-1]:=A[j];
    A[j]:=s;
    vége;
    j:=j-1;
    Ismétlés vége;
    Ismétlés vége;
    Ki(A[]);


    ---------------------6-----------------------
    i:=1;
    j:=n;
    Ismételd amíg i<j
    Ismételd amíg t(A[i])
    i:=i+1;
    Ismétlés vége;
    Ismételd amíg nem(t(A[j]))
    j:=j-1;
    Ismétlés vége;
    s:=A[i];
    A[i]:=A[j];
    A[j]:=s;
    Ismétlés vége;


    --------------------7--------------------------
    i:=1;
    j:=1;
    k:=0;
    Ismételd amíg (i<=n) és (j<=m)
    k:=k+1;
    Ha F[i]<G[j] akkor
    kezd
    A[k]:=F[i];
    i:=i+1;
    vége;
    különben Ha F[i]>G[j] akkor
    kezd
    A[k]:=G[i]
    j:=j+1;
    vége;
    különben
    kezd
    A[k]:=F[i];
    i:=i+1;
    j:=j+1;
    vége;
    Ismétlés vége;
    Ismételd h:=i-től n-ig
    k:=k+1;
    A[k]:=F[i];
    Ismétlés vége;
    Ismételd h:=j-től m-ig
    k:=k+1;
    A[k]:=G[i];
    Ismétlés vége;


    -------------------------8-----------------------
    k:=0;
    Ismételd i:=1-től N-ig
    j:=1;
    Ismételd amíg (j<=m) és (A[i]<>B[j])
    j:=j+1;
    Ismétlés vége;
    Ha A[i]=B[j] akkor
    kezd
    k:=k+1;
    C[k]:=A[i];
    vége;
    Ismétlés vége;


    --------------------------9----------------------------
    Ismételd i:=1-től N-ig
    C[i]:=A[i];
    Ismétlés vége;
    k:=n;
    Ismételd j:=1 től m-ig
    i:=1;
    Ismételd amíg (i<=n) és (A[i]<>B[j])
    i:=i+1;
    Ismétlés vége;
    Ha i>n akkor
    kezd
    k:=k+1;
    C[k]:=B[j];
    vége;
    Ismétlés vége;

    Hogyha vkinek van kedve/ideje, meg tudná csinálni, ill. egy-két mondat magyarázatot is írni hozzá?