Kezdőoldal » Számítástechnika » Programozás » Mi lehet a baja? (PASCAL)

Mi lehet a baja? (PASCAL)

Figyelt kérdés

Az első IF-es sornál az első := helyett akar "then"-t iratni... HÜLYE EZ?


program elso;

uses crt;

var a, b, rn1, rn2 :integer;

bill : char;


begin

a:=0;

b:=0;

repeat


randomize;

rn1:=random(5)+1;

rn2:=random(5)+1;

writeln(rn1, '-' rn2);

readln(bill);


if rn1:=rn2 and bill:='a' then a:=a+1;

else if rn1<>rn2 and bill:='a' then a:=a-1;

else if rn1:=rn2 and bill:='l' then b:=b+1;

else if rn1<>rn2 and bill:='l' then b:=b-1;


until a:=20 or b:=20;


end.


Köszi előre is :)


2011. szept. 6. 17:19
 1/5 anonim ***** válasza:
Pascalhoz nem értek, de általában a := az értékadás, a vizsgálat más, általában == (vagy =).
2011. szept. 6. 17:39
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
100%

Elég régen pascaloztam, de a hiba mindig meg van adva helyileg.


a := (legyen egyenlő) egy művelet, míg az = (egyenlő) egy vizsgálat. Ha a feltétel úgy szól hogy rn1 egyenlő rn2-vel, akkor ott nincs kettőspont.

Amit te írtál, így néz ki: HA rn1 legyen egyenlő r2-vel..., aminek nincs értelme.

2011. szept. 6. 17:43
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:
100%

Ezt írtad: if rn1:=rn2 and bill:='a' then a:=a+1;

És ez így helyes (elvileg, én is régen pascaloztam):

if "rn1=rn2 and bill=a" then a:=a+1;

De lehet hogy a " karakter valójában ' :) Már nem emlékszem pontosan. De ha AND vagy OR parancsot használsz, akkor "-be kell tenni.

2011. szept. 6. 20:58
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
100%

"Az első IF-es sornál az első := helyett akar "then"-t iratni... HÜLYE EZ?"

Szintaktikus hiba itt a := értékadó művelet. Ez csak egy "mechanikus" kód szintaxis ellenőrző, ír ajánlást ami nem mindig releváns, nincs 50-es IQ-ja.


Szintaktikailag így helyes:


program elso;

uses crt;

var a, b, rn1, rn2 :integer;

bill : char;


begin

a:=0;

b:=0;

repeat


randomize;

rn1:=random(5)+1;

rn2:=random(5)+1;

writeln(rn1, '-',rn2);

readln(bill);


if (rn1=rn2) and (bill='a') then a:=a+1

else if (rn1<>rn2) and (bill='a') then a:=a-1

else if (rn1=rn2) and (bill='l') then b:=b+1

else if (rn1<>rn2) and (bill='l') then b:=b-1;


until (a=20) or (b=20);


end.

2011. szept. 6. 22:52
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:
köszönöm szépen a segítségeteket, sikerült megoldani, már működik :)
2011. szept. 7. 16:26

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!