Stránka 1 z 1

Algoritmizace - pole

Napsal: 17 pro 2013 18:54
od Darth Vader
Čau,

chtěl bych vás poprosit, jestli by si někdo z vás neporadil s následujícíma úkolama:

    1) Napiš pole tak, aby na každém políčku byla pětka

    2) Vynuluj v libovolném poli každý lichý sloupec

Když pominu, že mi zadání nedává moc smysl, musím přiznat, že ani nevím jak na to. Od robota Karla je na mě tohle až moc velkej skok :idea: .

Dalo by se tohle vůbec napsat algoritmem, třeba jako vývojovej diagram?

Děkuju.

D.V.

--- Doplnění předchozího příspěvku (17 Pro 2013 19:46) ---

Když mi s tim pomůžete, koupim vám pod stromeček nějakou levnou hru na Steamu nebo tak něco :D

Re: Algoritmizace - pole

Napsal: 17 pro 2013 19:50
od faraon
Tak trochu směs Pascalu a Karla:

Kód: Vybrat vše

for radek:=1 to vyska
    for sloupec:=1 to sirka
        pole[radek,sloupec]:=5
    end
end

A když budeš chtít každý lichý sloupec vynulovat, použiješ stejné cykly, jen místo vložení té pětky přijde podmínka, třeba takhle:

Kód: Vybrat vše

if (sloupec mod 2)=1 then pole[radek,sloupec]:=0

Nějaká nejasnost?

Re: Algoritmizace - pole

Napsal: 17 pro 2013 19:56
od Darth Vader
faraon: Děkuju moc :) My to ale píšem na papír jako vývojovej diagram, používáme akorát OR, AND a NOT a základní výpočty. Třeba to "for", "radek" "to" a "vyska" vuůbec nepoužíváme. Dá se to napsat nějak tak? :D

Re: Algoritmizace - pole

Napsal: 17 pro 2013 22:59
od faraon
Pomocí podmíněného větvení se dá udělat libovolný cyklus, takže se tohle samozřejmě udělat dá. Ono z toho po překladu do strojového kódu stejně bude nějaké "compare" a "jump", protože ničemu jinému procesor nerozumí ;-)

Ty neznámé sirka a vyska si nahraď rozměry toho tvého pole, psal jsem to obecně, aby to šlo použít na jakékoliv pole. Mohou to být i proměnné, pak by ten algoritmus byl univerzální. Proměnné radek a sloupec udávají tvojí aktuální pozici v poli, musíš ho prostě projít úplně celé a na každém provést nějakou operaci.

Takže teď jen otázka, umíš ve vývojovém diagramu nakreslit počítaný cyklus, který se skrývá pod příkazem for? V tom úkolu to bude trošinku komplikovanější, protože potřebuješ dokonce dva cykly vnořené v sobě.