Preskoči na sadržaj
Ista raja. Nova runda.
GAMERZ.ba — REBORN
Diskusija Zaključana

Pascal problem

124 pregleda · 6 odgovora · otvorena 17.04.2013. u 23:40

Imam problem sa pascalom . Trebam da rijesim ovaj zadatak :

Napisite program koji za broj unesen sa tast. ispituje da li je prirodan ibr. ili nije , a ukoliko jeste prirodan, da li je paran ili nije . Uputa broj je prirodan ukolikoo je veci od 0 i ukoliko je jednak svom cijjelom dijelu. Za odredivanje cijelog dijela moze se koristi funkcija trunc. Broj je paran ukoliko ostatak dijeljenja sa 2 = 0 .


http://pokit.org/get/?af8b28564c084c6e11ec00f2399b1668.jpg


Eh sad sam dosao do ovdje i kad pokrenem javlja mi eror ovdje iza ; kod 2 . U cemu je problem ??
Nisam imao priliku raditi u Pascalu ali mislim da je slicno kao u ostalim programskim jezicima.

Kod ispitivanja da li je broj paran ili neparan koristi naredbu "mod" tj.
IF x mod 2 = 0 then
ovo sto je iznad rekao i :

var y,z : integer ; ( razmak, moze da trazi to kao gresku.)
zadnje else if if izbaci jedno if trebalo bi da radi.

i fali ti gore program nekirad(input,output);
Sindrom1ran je napisao/la:
ovo sto je iznad rekao i :

var y,z : integer ; ( razmak, moze da trazi to kao gresku.)
zadnje else if if izbaci jedno if trebalo bi da radi.

i fali ti gore program nekirad(input,output);
ma ne fali mi pise nego kako izbaci eror prekrije to. Nego meni je problem negdje sa mod kako god i ako pokusam i sa ovim sto je ovaj iznad rekao i ono kako sam ja pokusao izbaci ovaj eror ali hajde nema veze .
Z ti mora biti real, ne integer jer je Z rezultat djeljenja. Ako je X real, mora biti i Z.

EDIT: Nisam dugo radio u PASCAL-u, sta ti radi funckija "trunc"?

EDIT2: Mislim da ti i ne treba "else if" u trecem poredjenju nego samo if. Ako moze postavi tekst zadatka.
Philosopher je napisao/la:
Z ti mora biti real, ne integer jer je Z rezultat djeljenja. Ako je X real, mora biti i Z.

EDIT: Nisam dugo radio u PASCAL-u, sta ti radi funckija "trunc"?

EDIT2: Mislim da ti i ne treba "else if" u trecem poredjenju nego samo if. Ako moze postavi tekst zadatka.
Ima eto text zadatka. Trunc je naresba koja cijeli broj pretvara u prirodni odbacivanjem decimala . Npr trunc od 3.25 je 3. Pokusavao sam i sa tim da mijenjam da stavim z kao real ali ne ide i ne javlja tu gresku a i mislim da nije ovako greske jer je mod ostatak pri cjelobrojnom djelenju 6 mod 4 je 2 i uvijek je znaci prirodan broj tako da nije greska ako je integer ( bar tako mislim)
emsel je napisao/la:
Ima eto text zadatka. Trunc je naresba koja cijeli broj pretvara u prirodni odbacivanjem decimala . Npr trunc od 3.25 je 3. Pokusavao sam i sa tim da mijenjam da stavim z kao real ali ne ide i ne javlja tu gresku a i mislim da nije ovako greske jer je mod ostatak pri cjelobrojnom djelenju 6 mod 4 je 2 i uvijek je znaci prirodan broj tako da nije greska ako je integer ( bar tako mislim)
Ja koliko se sjecam "mod" i "div" funkcije primaju samo integer varijable, a ne real. Sto bi znacilo da ne mozes koristiti X kod njih. Moras X pretvorti u neku integer varijablu (mozes koristiti Y).
Znaci pokusaj staviti Y umjesto X, da ti bude
z:=y div 2;


Takodjer, poredjenja ti nisu dobra. Program ti nikada nebi ispisao da li je broj paran ili neparan.
Ako je broj prirodan, poredjenja prestaju odmah u prvom redu. Ako nije prirodan poredjenje se zaustavlja u drugom redu. Nikada ti nece doci do 3. ili 4.

Prvo napises poredjenje da vidis da li je prirodan.
U tom poredjenju moras ispisati da jeste i unutar njega gledas da li je paran ili ne paran.
Kada to zavrsis, samo napises "else writeln ('Nije prirodan'); jer ako prvo poredjenje dadne negativan rezultat, automatski ti je neprirodan broj. (ako nije prirodan onda je neprirodan  )

Prijavi se da bi odgovorio/la na ovu temu.