Zdravím, potřeboval bych pomoci s vymyšlením programu s následujícím zadáním. Prosím kdyby byl někdo tak hodný a podíval se na to. Díky moc.
1.1 Zadání úlohy
Úkolem je napsat aplikaci, která dovede číslo zapsané v číselné soustavě (dvojkové až desítkové)
převést do soustavy jiné (opět dvojkové až desítkové).
Argumenty budou zadávány prostřednictvím standardního vstupu, konkrétně pak v pořadí:
1. hodnota - tj. číslo, které splňuje podmínky zápisu v dané číselné soustavě (viz níže zkouška)
2. soustava - tzv. původní soustava, v níž je číslo zapsáno
3. soustava - tzv. výsledná soustava, ve které se bude číslo po převodu nacházet
1.2 Implementace
Aplikace bude realizována prostřednictvím Console Application. GUI, v podobě Windows.Forms, je
záležitostí volitelnou.
1. hodnota - deklaraci, ve smyslu volby datové typu, doporučuji pole ( DT [] ) nebo řetězec (string)
2. soustava - vytvořte metodu ToDecimal() zajišťují převod z libovolné soustavy do desítkové
3. soustava - vytvořte metodu FromDecimal() zajišťující převod z desítkové soustavy do libovolné
Na počátku algoritmu by měla být provedena tzv. zkouška, kdy se otestuje správnost zápisu čísla pro
danou soustavu. Rozhodně číslo 571 nelze zapsat v trojkové soustavě, protože trojková soustava čísla
jako 5 nebo 7 vůbec nezná. (!)
1.3 Doporučení k implementaci
Vytvořte si rovněž metodu Conversion(), jenž bude kombinovat, resp. volat metody ToDecimal() a
FromDecimal().
Pro lepší pochopení uvádím tento příklad:
1. Uživatelem je zadáno -> 854 9 3 (číslo 854, které je zapsané v devítkové soustavě, má být
převedeno do soustavy trojkové).
2. Metoda Conversion() zavolá proto nejprve metodu ToDecimal(), jenž převede číslo 854 z
devítkové soustavy na desítkovou.
3. Následně ještě zavolá metoda Conversion() druhou metodu - FromDecimal().
4. Číslo 854, původně zapsané v devítkové soustavě, je převedeno nyní do soustavy trojkové.
Pokud by se stalo, že by uživatel zadal stejné hodnoty pro původní i výslednou soustavu, měla by si s
tím aplikace umět poradit.
mas velice podrobne zadani.. neni tam nic nepochopitelneho.. zacnes nejakym clankem o ciselnejch soustavach, pak to naklikas presne jako je to v zadani po krocich a mas hotovo
Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
#5KIIV
Toto nastudované mám. Na papíře není nic těžkého převádet mezi soustavama. Ale prostě to neumím dát do programu a proto se obracím zde na fóru, zda-li by to někdo neuměl naprogramovat.
#6undatra
musis se na to prevadeni podivat z hlediska "co se porad dokola opakuje"
kdyz prevadis na desitkovou (coz bude mezistupen - si ted nevzpominam, jestli sem nekdy videl primej prevod - ale nejspis nejaky existuje.. minimalne mezi 2,4,8,16 se da prevadet relativne snadno)
dobry je vedet, ze ten prevod do desitkovy se nemusi delat nutne 129 = 1 * 10^2 + 2 * 10^1 + 9 * 10^0
ale taky:
x = 0; // inicializace
x = x*10 + 1; // 0 + 1 // 1 je prvni znak ze 129
x = x*10 + 2; // 10 + 2 = 12
x = x*10 + 9; // 120 + 9 = 129
(jo a 10 je zaklad soustavy, ze ktere prevadime...)
Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...