Program v Pascale

Programovacie jazyky, rady, poradňa...
jank
Amateur
Amateur
Príspevky: 28
Registrovaný: 22 máj 2008, 12:31

Program v Pascale

Príspevok od používateľa jank »

Ahojte všetci.
Potreboval by som napisať program v pascale.Najde sa niekto , kto mi pomôže? Vopred Ďakujem

1.Mám vytvoriť program na prevod dekadických čisel do písanej formy (napr. 6 = šestnásť).
2.K nemu mám zostrojiť štrukturogram a vykonať analýzu všetkých potrebných vstupných a výstup. premenných+stanoviť ich dátový typ.
K b.2 by som potreboval nejaký obkec.Na nete som žiadny takýto program na prevod nenašiel,a potreboval by som sa s tým už trocha pohnúť,keďže zajtra mám zadanie odovzdať.Keby som sa spamätal skôr,verím tomu,že ma to celkom chytí a spravil by som si ho sám.No nestíham...
Ešte raz veľmi pekne díky za pomoc. :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Program v Pascale

Príspevok od používateľa audiotrack »

jank napísal:...

1.Mám vytvoriť program na prevod dekadických čisel do písanej formy (napr. 6 = šestnásť).
...
radšej sa nauč čítať čísla a nebudeš na to musieť využívať programy :) Predídeš tak zahambeniu keď budeš starší :)
digo
Zablokovaný
Zablokovaný
Príspevky: 537
Registrovaný: 05 aug 2007, 14:17

Re: Program v Pascale

Príspevok od používateľa digo »

audiotrack napísal:radšej sa nauč čítať čísla a nebudeš na to musieť využívať programy :) Predídeš tak zahambeniu keď budeš starší :)
a ty sa nauc pisat :) pise sa zahanbit, nie zahambit :P
:cookies:
Alofok
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 765
Registrovaný: 12 júl 2007, 14:58
Bydlisko: Vo flaške

Príspevok od používateľa Alofok »

:lol: 100 bodov
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Re: Program v Pascale

Príspevok od používateľa juho »

digo napísal:a ty sa nauc pisat :) pise sa zahanbit, nie zahambit :P
:cookies:
a co ak to pisal foneticky tak ako sa to vyslovuje. pretoze ono sa to vola "znelostna asimilacia"
tak proste bud si vytvoris constantne pole

Kód: Vybrať všetko

const a:array[1..9]of string=("jedna","dva","atakdalej",..);
b:array[1..9]of string=("desat","dvadsat",.....);
a tak dalej 
alebo pomocou case.

Kód: Vybrať všetko

case cislo of
1:
2:
3:
atak dalej
princip by mal byt v tom ze to postupne budes kratit o desat a po miestach budes do novej retazcovej premennej pridavat tie slova
jank
Amateur
Amateur
Príspevky: 28
Registrovaný: 22 máj 2008, 12:31

Príspevok od používateľa jank »

No tak programik som uz ako tak napisal,trvalo mi to sice ako hladnemu...A samozrejme s pomocou,teraz uz len strukturogram k takemuto niecomu:

Kód: Vybrať všetko

Program SpellNumber;

uses CRT;

var
    input, {cislo zadane uzivatelom}
    rest : Integer; {pomocna premenna pre urcenie cislic}
    continue : Char; {vstup uzivatela pre ukoncenie programu}
    digit : array[1..4] of Integer; {pole cislic}

function digitName (digit : Integer): String;
{funkcia vrati slovne pomenovanie cislice vlozenej ako jej parameter}
begin
     case digit of
          1 : digitName := 'jeden';
          2 : digitName := 'dva';
          3 : digitName := 'tri';
          4 : digitName := 'styri';
          5 : digitName := 'pat';
          6 : digitName := 'sest';
          7 : digitName := 'sedem';
          8 : digitName := 'osem';
          9 : digitName := 'devat';
     end;
end;

begin
repeat
    writeln ('Zadaj cislo (max. 9 999):');
    readln(input);

    {tisicky}
    digit[1] := input DIV 1000;

    {vypis tisicok}
    if (digit[1] > 1) then
       write(digitName(digit[1]), 'tisic', ' ')
    else
    if (digit[1] = 1) then
       write('tisic', ' ');

    {stovky}
    rest := input - (digit[1] * 1000);
    digit[2] := rest DIV 100;

    {vypis stoviek}
    if (digit[2] > 1) then
        write(digitName(digit[2]), 'sto', ' ')
    else
    if (digit[2] = 1) then
        write('sto', ' ');

    {desiatky}
    rest := rest - (digit[2] * 100);
    digit[3] := rest DIV 10;

    {jednotky}
    rest := rest - (digit[3] * 10);
    digit[4] := rest;

    {vypis desiatok}
    if(digit[3] > 1) and (digit[3] < 5) then
        write(digitName(digit[3]), 'dsat')
    else
    if(digit[3] > 4) then
        write(digitName(digit[3]), 'desiat');

    {vypis jednotiek}
    if (digit[4] <> 0) then
        if (digit[3] <> 1) then
            write(digitName(digit[4]))
        else
        if (digit[4] = 4) then
            write('strnast')
        else
        if (digit[4] = 1) then
            write('jedenast')
        else
            write(digitName(digit[4]), 'nast')
    else if (digit[3] = 1) then
        write('desat');

    if (input = 0) then
        write('nula');

    writeln();
    writeln('stlacte klavesu <a> pre opakovnie');
    readln(continue);
until continue <> 'a';
end.
Vedel by niekto?

A diky za poucenie panovi ZahaMbenemu.

Caute.
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

radsej sa o tom porad s vyucujucim mal by ti s tym poradit ak nie pomoct..
a potom uz nebudes potrebovat strukturogram od hojka.comka.
Napísať odpoveď