Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Lag en funksjon som tar inn et slikt Extra-brett, og som returnerer true hvis brettet er et vinnerbrett og false hvis det ikke er det.

Videoforklaring (24:24)

Del 1 (8:35)Del 2 (6:38)Del 3 (6:40)Del 4 (2:31)
Widget Connector
urlhttps://www.youtube.com/watch?v=sAp6myK9NOQ
Widget Connector
urlhttps://www.youtube.com/watch?v=_DtIm4Ic4L0
Widget Connector
urlhttps://www.youtube.com/watch?v=cxcUcjXlyj4
Widget Connector
urlhttps://www.youtube.com/watch?v=yMKretVpSsE
Tolkning av oppgaveteksten, oppdeling av problemet i mindre biter, og bruk av funksjoner for å strukturere problemløsningen.Hvordan finne ut om det indre området i brettet er fylt, vha posisjonsindeksering og funksjonen all.Hvordan finne ut om det ytre området av brettet er fylt, vha posisjonsindeksering og funksjonen all.Testing av den endelige løsningen, og konklusjon rundt fremgangsmåte for problemløsning.

 

Utdelt kode

Dette scriptet lager noen variabler som inneholder eksempelbrett man kan teste løsningen sin med.

Expand
titleopprett_testbrett.m
Code Block
titleopprett_testbrett.m
fylt_brett = true(5);
fylt_ramme = fylt_brett;
fylt_ramme(2:4,2:4) = false;
fylt_bilde = ~fylt_ramme;
ufylt_1 = fylt_bilde;
ufylt_1(3, 3) = false;
ufylt_2 = fylt_ramme;
ufylt_2(1, 1) = false;
ufylt_3 = fylt_ramme;
ufylt_3(5, 5) = false;

 

...

Løsningsforslag

Expand
titleHvis du har prøvd selv, trykk her for å se svaret...
Code Block
titleer_vinnerbrett.m
function retur = er_vinnerbrett(brett)
    retur = har_fylt_bilde(brett) || har_fylt_ramme(brett);
end
Code Block
titlehar_fylt_bilde.m
 function retur = har_fylt_bilde(brett)
    bilde = brett(2:4, 2:4);
    kol_har_bare_true = all(bilde);
    retur = all(kol_har_bare_true);
end
Code Block
titlehar_fylt_ramme.m
 function retur = har_fylt_ramme(brett)
    rad1 = brett(1, :);
    rad5 = brett(5, :);
    kol1 = brett(:, 1);
    kol5 = brett(:, 5);
    retur = all(rad1) && all(rad5) && all(kol1) && all(kol5);
end