od TheCarlos » 27. 5. 2011 16:11
Nová úloha - matlab
naprogramujte maticovou kalkulačku s následujícími funkcemi
load var file
--načte matici z file do var - oddělovač ve file je \t (sloupečky) a
(řádky), reprezentace var je součástí úlohy
save var file
--uloží matici z proměnné do souboru
show var
--vypište matici na stdout
a = b [+-*] c
uloží do proměnné a matici, kt. vznikne danou operací
dále b nebo c může být nahrazenou 0 (= nulová matice) nebo 1 (=jednotková matice), obě vhodného tvaru, u násobení může být násobení konstantou.
dále na konci programu (^D) vypište obsah všech proměnných.
(názvy proměnných jsou alfanum, alespoň jedno nečíslo)
Nástin řešení:
reprezentace proměnných: nejlépe asi soubory ve stejném formátu jako specifikováno pro file
proměnné držet v exta adresáři
load musel kontrolovat, že matice je fakt obdélník (nejlépe asi awk), load, show a save po kontrolách vstupu (proměnná/file existuje, název nové proměnné je alfanum apod.) už pak běhalo jen pomocí cp a cat...
sčítání a další operace - po naparsování vstupu awk, buď dva soubory a pohyb mezi nima, nebo je slepit do jednoho (s prázdnou řádkou) a dělat najednou, asociativní pole je pak odpověď asi na vše.
nulová matice je jen opruz, u násobení vrátit správně velkou nulovou, u sčítání tu druhou než 0, u 0 - var vrátit -var... jednotková se dala i nagenerovat (a pak použít obyč operace), nebo extra awk script, kterej sahá na diagonálu...obdobně asi i násobení konstantou, taky extra awk...
Každopádně mu stačilo, když jsme napsali slušně to load, save show a alespoň sčítání, ty co vymazlili jen load/save a vnitřní strukturu (byť geniálně) a nedostali se k operacím vyhodil. Mě stačilo na 2 to sčítání + load, save, show (asi v tom bylo dost chyb, možná že perfektně napsané by tohle bylo i na 1)
Skóre:
3x1
1x2
2xpohovor (nevim jak skončil)
3xznovu.
Nová úloha - [u]matlab[/u]
naprogramujte maticovou kalkulačku s následujícími funkcemi
load var file
--načte matici z file do var - oddělovač ve file je \t (sloupečky) a
(řádky), reprezentace var je součástí úlohy
save var file
--uloží matici z proměnné do souboru
show var
--vypište matici na stdout
a = b [+-*] c
uloží do proměnné a matici, kt. vznikne danou operací
dále b nebo c může být nahrazenou 0 (= nulová matice) nebo 1 (=jednotková matice), obě vhodného tvaru, u násobení může být násobení konstantou.
dále na konci programu (^D) vypište obsah všech proměnných.
(názvy proměnných jsou alfanum, alespoň jedno nečíslo)
Nástin řešení:
reprezentace proměnných: nejlépe asi soubory ve stejném formátu jako specifikováno pro file
proměnné držet v exta adresáři
load musel kontrolovat, že matice je fakt obdélník (nejlépe asi awk), load, show a save po kontrolách vstupu (proměnná/file existuje, název nové proměnné je alfanum apod.) už pak běhalo jen pomocí cp a cat...
sčítání a další operace - po naparsování vstupu awk, buď dva soubory a pohyb mezi nima, nebo je slepit do jednoho (s prázdnou řádkou) a dělat najednou, asociativní pole je pak odpověď asi na vše.
nulová matice je jen opruz, u násobení vrátit správně velkou nulovou, u sčítání tu druhou než 0, u 0 - var vrátit -var... jednotková se dala i nagenerovat (a pak použít obyč operace), nebo extra awk script, kterej sahá na diagonálu...obdobně asi i násobení konstantou, taky extra awk...
Každopádně mu stačilo, když jsme napsali slušně to load, save show a alespoň sčítání, ty co vymazlili jen load/save a vnitřní strukturu (byť geniálně) a nedostali se k operacím vyhodil. Mě stačilo na 2 to sčítání + load, save, show (asi v tom bylo dost chyb, možná že perfektně napsané by tohle bylo i na 1)
Skóre:
3x1
1x2
2xpohovor (nevim jak skončil)
3xznovu.