pascal DU

Programovacie jazyky, rady, poradňa...
daniel.daniel
Medium Star
Medium Star
Príspevky: 483
Registrovaný: 30 jan 2005, 16:39
Bydlisko: NO / BA

pascal DU

Príspevok od používateľa daniel.daniel »

potrebujem pomoc s domacou
ucitel nam dal za ulohu vytvorit program kde zadame dve hodnoty a,b a ked stlacim + vypocita mi sucet ked - rozdiel ked * vynasoby ked / vydeli.
mame tam pouzit nieco take ako char ale ja nieviem vobec co to je.
daniel.daniel
Medium Star
Medium Star
Príspevky: 483
Registrovaný: 30 jan 2005, 16:39
Bydlisko: NO / BA

Príspevok od používateľa daniel.daniel »

a este pozivam program DEV-Pascal 1.9.2
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

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

Napríklad takto nejako

Kód: Vybrať všetko

Program pocty;
var a,b,vyber:integer;
begin
write ('Zadaj cislo a: ');
read (a);
write ('Zadaj cislo b: ');
read (b);
writeln ('Ak chces cisla ',a,'a ',b,' spocitat tak stlac tlacidlo +');
writeln ('Ak chces cisla ',a,'a ',b,' odcitat tak stlac tlacidlo -');
writeln ('Ak chces cisla ',a,'a ',b,' vynasobit tak stlac tlacidlo *');
writeln ('Ak chces cisla ',a,'a ',b,' vydelit tak stlac tlacidlo /');
read (vyber);
case vyber of
+:  begin
     a:=a+b;
     write (a);
     end;
-: begin
    a:=a-b;
    write (a);
    end;
*: begin
    a:=a*b;
    write (a);
    end;
/: if b=0 then write ('BLAZON') else begin
                                    a:=a/b; 
                                    write (a);
                                    end;
end;
end.
mastermind: spokojný? :D to kukáš, čo?
daniel.daniel
Medium Star
Medium Star
Príspevky: 483
Registrovaný: 30 jan 2005, 16:39
Bydlisko: NO / BA

Príspevok od používateľa daniel.daniel »

dakujem ti velmi pekne
daniel.daniel
Medium Star
Medium Star
Príspevky: 483
Registrovaný: 30 jan 2005, 16:39
Bydlisko: NO / BA

Príspevok od používateľa daniel.daniel »

mam nejaky problem na 14 riadku mi vypisuje chyby.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

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

no jasné.. ja pako.. vyber nemôže byť integer, ale char.. potom aj tie znaky daj do apostrofov a ak to aj tak nepôjde, tak ich daj v ascii
daniel.daniel
Medium Star
Medium Star
Príspevky: 483
Registrovaný: 30 jan 2005, 16:39
Bydlisko: NO / BA

Príspevok od používateľa daniel.daniel »

uz vsetko funguje ako ma okrem
ked je +-* v apostrofoch tak to ide ale / nejde tam mi hodi chybu.
tak som si nasiel tabulku ascii kodov len neviem ako to mam napisat v tom algoritme
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

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

fúúú tak to si už nepamätám.. ale sa mi zdá že mriežka a číslo ascii kódu.. neviem, opravte ma ak sa mýlim, už je to nejaká doba čo som v pascale nerobil
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

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

iba strielam ale namiesto '/' skus dat '//'
daniel.daniel
Medium Star
Medium Star
Príspevky: 483
Registrovaný: 30 jan 2005, 16:39
Bydlisko: NO / BA

Príspevok od používateľa daniel.daniel »

strielas zle :D
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

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

:lol: mastermind, že programátor.. to nie je php, to je pascal

//edit: teraz ma napadlo: pre pascal je jedná funkcia chr(číslo ascii) ktoré ti pridá znak do premennej.. napríklad a:=chr(35) ale neviem či to pôjde použiť aj v case podmienke
daniel.daniel
Medium Star
Medium Star
Príspevky: 483
Registrovaný: 30 jan 2005, 16:39
Bydlisko: NO / BA

Príspevok od používateľa daniel.daniel »

tak to nechajte tak pomohli ste mi dost a mne to bude na ulohu stacit :D
sundevil
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4169
Registrovaný: 18 mar 2005, 12:03
Bydlisko: BA

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

lenze ak tam ma pouzit char, tak potom vyhodnocovanie o aku operciu pojde podla stlacenej klavesy by malo potom prebiehat podla ascii kodu, nie?
stlacis klavesu, vyhodnoti vstup - priradi ciselny kod a podla toho vykona co od neho pozadujes
caesar1987
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3001
Registrovaný: 02 okt 2005, 0:57
Bydlisko: Nové Zámky
Kontaktovať používateľa:

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

daj tam a div b
daniel.daniel
Medium Star
Medium Star
Príspevky: 483
Registrovaný: 30 jan 2005, 16:39
Bydlisko: NO / BA

Príspevok od používateľa daniel.daniel »

ked zmenim integer na real tak to funguje len to vo vystupe vyzera blbo.
div je pre celociselne delenie takze to tam nema byt lebo vtedy 5/2=2
caesar1987
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3001
Registrovaný: 02 okt 2005, 0:57
Bydlisko: Nové Zámky
Kontaktovať používateľa:

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

tak tam daj real a uprav vytup

napr

(y:0:2)
daniel.daniel
Medium Star
Medium Star
Príspevky: 483
Registrovaný: 30 jan 2005, 16:39
Bydlisko: NO / BA

Príspevok od používateľa daniel.daniel »

kurnik tak to ma nenapadlo zajtra to vyskusam
lubo1310
Novice
Novice
Príspevky: 2
Registrovaný: 14 nov 2010, 11:09

Re: pascal DU

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

Ahojte mohol by mi niekto poradit? Mam spravit test v pascle. budem mat 100 otazok ku kazdej 4 odpovede a nieviem ako to mam dat do tych konštánt (const, array, alebo record)? Mohol by mi to niekto načrtnúť ako to mam zapísať? Ďakujem.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: pascal DU

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

100 otázok a na každú 4 odpovede? V pascale? úúf :D

Osobne by som to možno skúšal tak, že otázky do poľa stringov, a správne odpovede do poľa znakov. Teda napr:

Kód: Vybrať všetko

var otazka : array[1..100] of string;
    odpoved : array[1..100] of char;

begin
 otazka[1] := "Otazka 1, moznosti:";
 otazka[2] := "Otazka 2, moznosti:";
 .
 .
 otazka[100] := "Otazka 100, moznosti:";

 odpoved[1] := 'a';
 odpoved[2] := 'c';
 .
 .
 odpoved[100] := 'b';
end.
A potom v cykle od 1 do sto vypísal všetky zaradom a kontroloval, že ak sa stlačená odpoveď na otázku i rovná odpoved, tak je správna, inak nie.

Aj keď neviem, či som napísal to čo chceš, lebo takáto úloha sa mi zdá hlúpa :roll:

// A stačí, keď prísp. napíšeš do jednej, alebo svojej osobitnej témy, nemusíš ho písať 2x.
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: pascal DU

Príspevok od používateľa c-ice »

Pozrime sa na to trocha "objektovo":

Kód: Vybrať všetko

//....
Type
   Odpoved = Record
      isSpravna: Boolean;
      text: String;
   end;
Type
   Otazka = Record
      odpovede: array[1..4] of Odpoved;
      text: String;
   end;
var otazky: array[1..100] of Otazka;
     yourChoice: char;
begin
  //inicializovat otazky
  otazky[0].text := "Je programovanie super ?";
  otazky[0].odpovede[0].text := "Ano suhlasim.";
  otazky[0].odpovede[0].isSpravna := true;
  otazky[0].odpovede[1].text := "Trocha ale neviem to.";
  //...
  // ...
Vyhodou je ze teraz mozes Random generovat Testy a cele to bude viac konzistentne ...
+ okrem random vygenerovanych otazok mozes este random poprehadzovať odpovede a vzdy budes vediet ktora je spravna

// pascal si nepamatam pouzil som na syntax http://www.learn-programming.za.net/pro ... arn07.html
Napísať odpoveď