Kezdőoldal » Számítástechnika » Programozás » Mi a hiba a programozási...

Mi a hiba a programozási feladatomban? (pascal)

Figyelt kérdés

Program ujsor;

Uses Crt;

Var V:boolean;

I,J:integer;

Begin

V:=true;

for i:=1 to 8 do

begin

if (i mod 2)>0 then v:=true

else v:=false;

end;


for j:=1 to 8 do

begin

if (j mod 2)>0 then begin v:=true;

writeln('A');

end

else writeln('B');

end;

end.


Nem fut le maga a program sem így.

Elvileg a megoldás ez lenne:

ABABABAB

BABABABA

ABABABAB

BABABABA

ABABABAB

BABABABA

ABABABAB

BABABABA


2010. dec. 13. 16:58
1 2
 1/12 anonim ***** válasza:

Egyeltalán minek bele a v, úgysem olvasod egyszer sem.

Másrészről a két ciklus egymásba kéne ágyazni

for i:=1 to 8 do begin

for j:=1 to 8 do begin

...

én az i+j mod 2 -t csinálnám, akkor az első sorban AB..., a második sorban BA...-al kezdődne, és így tovább.

Szerencséd, hogy a pascal nem case sensitive.

2010. dec. 13. 17:09
Hasznos számodra ez a válasz?
 2/12 anonim ***** válasza:

Nem értem a programod, hogy minek van két for, ami nincs is egymásban... talán ha egymásba tennéd őket... meg azt sem értem miért csak A és B betűket irsz ki és utánuk új sort hagysz... :D

Esetleg:

var s1,s2:string;

...

s1 := 'ABABABAB';

s2 := 'BABABABA';

for i:=1 to 8 do

if odd(i) (ha paratlan) then writeln(s1)

else writeln(s2)

2010. dec. 13. 17:10
Hasznos számodra ez a válasz?
 3/12 A kérdező kommentje:

Talán mert a feladat ez:

A KI(X) eljárás az X szöveges kifejezés értékét írja a szabványos kimenetre (általában a képernyőre), az aktuális karakter-pozícióba.

A KI(új_sor) eljáráshívás egy „új sor” karaktert ír a kimenetre.

A NEM(V) logikai függvény a paramétere tagadását adja eredményül.

Beadandó az algoritmust Pascal nyelven kódolva tartalmazó fájl!

Változók:

V:logikai

I:egész

J:egész

Program eleje

V := igaz

Ciklus i:=1-től 8-ig 1-esével

Ha i páratlan szám akkor V:= igaz

különben V:= hamis

elágazás vége

Ciklus j:=1-től 8–ig 1–esével

Ha V akkor KI(„A”)

különben KI(„B”)

elágazás vége

V := NEM(V)

Ciklus vége

KI(új_sor)

Ciklus vége

Program vége

2010. dec. 13. 17:43
 4/12 anonim ***** válasza:

Igen, ahogy a pszeudokódban van, ott értelmes, pár megjegyzést fűznék hozzá ezalapján a programodhoz:

-Ha jól megnézed a két ciklus egymásba van ágyazva (a ciklus vége majdnem a program végén van, a másik for után)

-A második for ciklusban már nem azt vizsgálja páros-e, hanem hogy a v értéke igaz-e.

-Az új sor kiírása csak a belső for ciklus után van

-A belső for ciklusban van egy NEM(v), ott ezt be kéne írni, ha jól emlékszek az a NOT(v)-nek felel meg

2010. dec. 13. 17:55
Hasznos számodra ez a válasz?
 5/12 ejbenjaro ***** válasza:

Így esetleg? :


program ujsor;


procedure ki(s:string);

begin

if s='új_sor' then writeln

else write(s);

end;


function nem(x:boolean):boolean;

begin

nem:=not x;

end;


var

v: boolean;

i: integer;

j: integer;


begin

v:=True;

for i:=1 to 8 do

begin

if (i mod 2)>0 then v:=True

else v:=False;

for j:=1 to 8 do

begin

case v of

True : ki('A');

False : ki('B');

end;

v:=nem(v);

end;

ki('új_sor');

end;

end.

2010. dec. 14. 10:41
Hasznos számodra ez a válasz?
 6/12 A kérdező kommentje:
Köszönöm, de sajnos így sem fut le a program.
2010. dec. 14. 14:13
 7/12 ejbenjaro ***** válasza:
Szerintem lefut az, csak nagyon gyorsan bezárja a DOS ablakot. Próbáld meg, hogy az utolsó end elé beteszel egy readln;-t. Ekkor addig nem zárja be az ablakot, amíg entert nem ütsz. Nálam remekül működik a program egyébként.
2010. dec. 14. 14:54
Hasznos számodra ez a válasz?
 8/12 A kérdező kommentje:
Betettem a readln-t is, de így sem működik.
2010. dec. 14. 15:39
 9/12 anonim ***** válasza:

1. Milyen hibaüzenetet ad?

2. Másold be ide a programod mostani állapotát.

2010. dec. 14. 16:30
Hasznos számodra ez a válasz?
 10/12 anonim ***** válasza:

program ujsor;

uses crt;

var i,j: integer;

betu: char;


BEGIN


betu:='A';


for i:=1 to 8 do

begin

for j:=1 to do

begin

write(betu);

if betu='A' then betu:='B'

else betu:='A';

end;

writeln();

end;



END.

2010. dec. 15. 21:30
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, 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!