ATW - takinfo03

Takács István informatika tanár e-mail: takinfo.taki@freemail.hu


2016/2017-es tanév

10. D osztály Adatbázis- és szoftverfejlesztés >>> 11. D osztály Adatbázis- és szoftverfejlesztés >>> 12. D osztály Adatbázis- és szoftverfejlesztés >>>

 

Feladat - 2014-május c# programozás

Feladat - 2015-május c# programozás

Feladat - 2016-május c# programozás

Feladat - 01. c# programozás

Feladat - Lista c# programozás

 

Adatbázis és szoftverfejlesztés gyakorlat - KÖZÉPSZINTŰ KÖVETELMÉNYEK - Programozási nyelv „A”





3. TÖBB SOROZATHOZ EGY SOROZATOT RENDELŐ TÉTELEK
 
3.1 Metszetképzés tétele

 
3.1.1 Kitűzés
    Adott két sorozat, a sorozatokon belül egy-egy elem csak egyszer szerepel.
    Feladat: Határozzuk meg azt a sorozatot, amely a két sorozat közös elemeit tartalmazza.
 
3.1.2 Specifikáció
    A,B:Tömb[1..Max]:H
    N,M:egész / A és B elemszáma
    C:Tömb[1..Max]:H
    L: egész / C elemszáma
    Ef.: A,B adott, elemeik egyediek; 0<=N<=Max , 0<=M<=Max
    Uf: C tartalmazza A és B közös elemeit, 0<=L<=Min(A,B) /a metszet legfeljebb annyi elemet tartalmaz, mint a kisebb elemszámú sorozat/

3.1.3 Algoritmus
    Elve: minden A-beli elemet keresünk a B tömbben. Ha egy A-beli megtalálható a B-ben, akkor felvesszük a közös elemek közé, a C-be.

Eljárás Metszet:
    L:=0;
    Ciklus I:=1-től N-ig
        J:=1;     / A[I] keresése B-ben
        Ciklus amíg J<=M és A[I]<>B[J]
            J:=J+1
        Ciklus vége
        Ha J<=M     / Ha A[I] megtalálható B-ben
            akkor
                L:=L+1
                C[L]:=A[I]
        Elágazás vége
    Ciklus vége
Eljárás vége

program szövege  PÉLDA:   A = { 3, 8, 20, 5, 1, 4, 13, 16, 10, 18, 69, 21 }      B = { 10, 3, 8, 1, 17, 9, 4, 20, 18, 19, 21, 22, 69 }     MEGOLDÁS >>> (Vacsi Bálint 11.D)




 
3.2
Unióképzés tétele
 
3.2.1 Kitűzés
    Adott két sorozat, a sorozatokon belül egy-egy elem csak egyszer szerepel.
    Feladat: Határozzuk meg azt a sorozatot, amely minden olyan elemet tartalmaz, amely legalább az egyiknek eleme.
 
3.2.2 Specifikáció
    A,B:Tömb[1..Max]:H
    N,M:egész / A és B elemszáma
    C:Tömb[1..2*Max]:H
    L: egész / C elemszáma
    Ef.: A, B adott; elemeik egyediek; 0<=N<=Max , 0<=M<=Max  
    Uf: C tartalmazza az A és B sorozatok unióját, Max(A,B)<=L<=M+N
    Megjegyzés: a kimenő sorozat elemszáma legrosszabb esetben 2*Max, ez akkor áll elő, ha A és B is Max elemet tartalmaz, és nincsen közös elemük. 


3.2.3 Algoritmus
    Elve: először A összes elemét átmásoljuk C-be. Majd B elemeit sorra vesszük, és mindazokat, amelyek nem szerepelnek az A tömbben, szintén C-be másoljuk

Eljárás Unió:
    Ciklus I:=1-től N-ig     / A elemeinek másolása C-be
        C[I]:=A[I]
    Ciklus vége
    L:=N
    Ciklus J:=1-től M-ig
        I:=1                         / B[J] keresése A-ban
        Ciklus I<=N és B[J]<>A[I]
            I:=I+1
        Ciklus vége
        Ha (I>N)                 / Ha B[J] nem szerepel A-ban
            akkor
                L:=L+1
                C[L]:=B[J]
        Elágazás vége
    Ciklus vége
Eljárás vége

 

program szövege  PÉLDA:   A = { 3, 8, 20, 5, 1, 4, 13, 16, 10, 18 }      B = { 10, 3, 8, 1, 17, 9, 4, 2, 18, 19 }     MEGOLDÁS >>>

 

forrás: Petrik tananyagtár - Petrik Lajos Vegyipari, Környezetvédelmi és Informatikai Szakközépiskola

Hasznos linkek: