• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 

ZADANIA Z predmetu PROGRAMOVANIE

Started by psicho, 29.01.2010, 17:40:30

« predchdzajce - alie »

luky

To čo majú nejaký problém s knižnicou
keď priamo stiahnem libkarel-lin.a a použijem tak vypiše hard error a že asi 20 funkcii nedefinovaných ale keď použijem libkarel.a tak to šliape

totaluser

Quote from: luky on  24.02.2010, 20:23:26
To čo majú nejaký problém s knižnicou
keď priamo stiahnem libkarel-lin.a a použijem tak vypiše hard error a že asi 20 funkcii nedefinovaných ale keď použijem libkarel.a tak to šliape

samozrejme to slape aj s novou
jak 32bit linux tak 64bit linux a dokonca aj windows :D

chyba bude zrejme u teba

Safyia

#152
Takze tu idem trocha spekulovat :D Otazka je, ako je to s rightIsClear a rightIsBlocked a frontIsBlocked a pod. Lebo nejak neviem co je napr. "roh pred karlom" ;D
Aby to teda bolo jasne, modelová situacia...

Karel je v strede na cisle sedem, otoceny na vychod (teda na c.2 :) ). Cize rightIsBlocked znamena, ze medzi 7 a 9 je stena, ze? RightIsClear znamea, ze tam ta stena nie je? Alebo ze ta stena nie je medzi 2 a 8? Alebo ze vobec policko 8 existuje? ci???  :ohmygod: :ohmygod:

cenki

So Safyiou to tu riešime, aj prakticky a dáko nechápeme správanie karola.
Ak:

Tak ak dám:
if (rightIsClear())
movek();
else turnLeft();

a

if (rightIsBlocked())
movek();
else turnLeft();

čo a prečo spraví karol?

dEVIANT

http://karel.sourceforge.net/doc/html_chapter/karel_2.html

Test: right-is-clear
    True if there is no wall immediately to Karel's right. False if there is.

Test: right-is-blocked
    True if there is a wall immediately to Karel's right. False otherwise.
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

Safyia

Quote from: dEVIANT on  27.02.2010, 06:09:51
http://karel.sourceforge.net/doc/html_chapter/karel_2.html

Test: right-is-clear
    True if there is no wall immediately to Karel's right. False if there is.

Preco potom ked dam if(rightIsClear()){ //prikaz} a napravo od neho je stena, on ten prikaz i tak urobi?

dEVIANT

Quote from: Safyia on  27.02.2010, 06:14:46
Quote from: dEVIANT on  27.02.2010, 06:09:51
http://karel.sourceforge.net/doc/html_chapter/karel_2.html

Test: right-is-clear
    True if there is no wall immediately to Karel's right. False if there is.

Preco potom ked dam if(rightIsClear()){ //prikaz} a napravo od neho je stena, on ten prikaz i tak urobi?

Lebo je to starý hlúpy kokot !!!! :D
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

kubiik

Nejako nesledujem temu ale ten IF mi trosku vadi.. nemalo by byt nieco ako if rightisclear=true tak zrob prikaz else daco inse? resp nieco podobne? kebyze kecam nacisto tak nerieste :D

cenki

#158
Quote from: kubiik on  27.02.2010, 18:17:34
Nejako nesledujem temu ale ten IF mi trosku vadi.. nemalo by byt nieco ako if rightisclear=true tak zrob prikaz else daco inse? resp nieco podobne? kebyze kecam nacisto tak nerieste :D
No tiež si myslím...
http://i48.tinypic.com/wi6o3b.jpg
štartovná pozícia bola 3 2, dostal podmienku:
if (rightIsBlocked())
movek();
else turnLeft();
napravo od neho bola stena takže rightIsBlocked() malo mať hodnotu TRUE, mal sa vykonať movek(); prečo sa vykonal turnLeft();?

Edit: že toľko rýpem ale:
http://i46.tinypic.com/2iu85t2.jpg
tuto je príklad, v oboch prípadoch mal Karel napravo do seba stenu ale raz v horizontálnej polohe a raz vo vertikálnej.
Podmienka je ak máš napravo stenu sprav movek(); ak nie tak sprav turnLeft();
V oboch prípadoch by malo byť IF(rightIsBlocked = TRUE) a mal by spraviť krok. Ale v horizontálnej polohe spraví príkaz ELSE kdežto vo vertikálnej spraví príkaz IF.

tommy-sv

#159
Quote from: kubiik on  27.02.2010, 18:17:34
Nejako nesledujem temu ale ten IF mi trosku vadi.. nemalo by byt nieco ako if rightisclear=true tak zrob prikaz else daco inse? resp nieco podobne? kebyze kecam nacisto tak nerieste :D

nope... C nepozna true a false (C++ ano) preto je if (rightIsClear()) syntakticky spravne

mozes ale teoreticky:
#define true 1
#define false 0

dalsia vec, pouzil by si == nie =, cize:
if (rightIsClear() == true) { ... }
Ale je to zbytocne.

Pre mna rightIsClear funguje, vid screenshot v prilohe
"Čím skôr zomrieš, tým dlhšie budeš mŕtvy."
"Radšej viac vypiť, ako menej zjesť."

dEVIANT

Quote from: tommy-sv on  27.02.2010, 19:20:30
Quote from: kubiik on  27.02.2010, 18:17:34
Nejako nesledujem temu ale ten IF mi trosku vadi.. nemalo by byt nieco ako if rightisclear=true tak zrob prikaz else daco inse? resp nieco podobne? kebyze kecam nacisto tak nerieste :D

Pre mna rightIsClear funguje, vid screenshot v prilohe

Zmeň počiatočnú polohu na [4,2], daj preč riadky moveN(2);, turnLeft(); a pochopíš, že ani tebe to nejde. Čiže vertikálne to vyhodnocuje správne, ale horizontálne nie.
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

tommy-sv

Quote from: dEVIANT on  27.02.2010, 19:28:36
Zmeň počiatočnú polohu na [4,2], daj preč riadky moveN(2);, turnLeft(); a pochopíš, že ani tebe to nejde. Čiže vertikálne to vyhodnocuje správne, ale horizontálne nie.

horizontalne som neskusal to je pravda,, to je v prdeli potom
"Čím skôr zomrieš, tým dlhšie budeš mŕtvy."
"Radšej viac vypiť, ako menej zjesť."

cenki

#162
Quote from: tommy-sv on  27.02.2010, 19:20:30
dalsia vec, pouzil by si == nie =, cize:
if (rightIsClear() == true) { ... }
Nie! To rightIsClear() = TRUE som použil len ako príklad že by to malo nadobúdať hodnotu TRUE, (resp. ak aj nieje v C TRUE a FALSE malo by akceptovať správnu podmienku IF nie?) použil som presne ako je na fotke... čiže len if (rightIsClear()) {...}

edit:
@echo od Safyie: leftIsBlocked funguje normálne iba rightIsBlocked pri horizontálnom funguje opačne. (teraz overované)  ???

tommy-sv

Quote from: eminkaa on  27.02.2010, 19:44:23
skus znova stiahnut kniznicu, co je na stranke

thanks, 64b linux kniznica je ok
"Čím skôr zomrieš, tým dlhšie budeš mŕtvy."
"Radšej viac vypiť, ako menej zjesť."

totaluser

a ja uz som myslel ze som az tak blby ze toto nenaprogramujem aj ked ten kod som bol presvedceny ze je 100% ok
ani na omege (32bit unix) ani vo win7 mi to neslo spravne

linux 64bit OK
vdaka chlapi a Safyia :buttrock:

mirek

kniznica bola aktualizovana zatial len na linux, kedze neficim pod windowsami, takze tam by to malo byt v poriadku. windowsaci este chvilku pockajte, kym sa upravia dalsie drobnosti. ale hadam dnes v noci, ked budete pozerat hokej, to uz bude ok.
So say we all!

freshmakerik

v piatok som sa s tým sral pol dňa  :ohmigod: a som myslel že ma drbne  bu a myslím, že ma drbne až teraz.. :)
aj počítač je len človek..

mirek

Quote from: freshmakerik on  28.02.2010, 14:57:58
v piatok som sa s tým sral pol dňa  :ohmigod: a som myslel že ma drbne  bu a myslím, že ma drbne až teraz.. :)

nuz - istym kiksom sa clovek nevyhne, kedze cvika vznikaju priebezne. ospravedlnujem sa. kvoli podobnym problemom vznikli novinky - uvidite teda, ze co kedy bolo sposobene (nebude to typicky Changelog, ale informacie, ktore zrejme ocenite).

kazdopadne - uz je k dispozicii aj opravena windowsacka verzia, aj prazdny projekt pre dev-c++ a zmenil sa format suboru so svetmi. myslim, ze teraz je to hodne zrozumitelnejsie a jednoduchsie.
So say we all!

freshmakerik

Quote from: mirek on  28.02.2010, 22:46:31
nuz - istym kiksom sa clovek nevyhne, kedze cvika vznikaju priebezne. ospravedlnujem sa. kvoli podobnym problemom vznikli novinky
myslím že nie je dôvod sa ospravedlňovať, skôr by sme my mali ďakovať že sa rozbehla výučba s karolom..
aj počítač je len človek..

student41

Btw ako prebiehala výuka predmetu Programovanie doteraz? Lebo Karel bol zatiaľ dobrý len na to aby sa "celá" skupina Inteligentné systémy vyhovorila z "normálneho" programovania v Céčku (toť implementácia Tower of Hanoi v tomto prípade), nakoľko oni na predmete Programovanie robia iba v Karlovi a C neovládajú.

radix


mirek

Quote from: student41 on  01.03.2010, 23:41:53
Btw ako prebiehala výuka predmetu Programovanie doteraz? Lebo Karel bol zatiaľ dobrý len na to aby sa "celá" skupina Inteligentné systémy vyhovorila z "normálneho" programovania v Céčku (toť implementácia Tower of Hanoi v tomto prípade), nakoľko oni na predmete Programovanie robia iba v Karlovi a C neovládajú.

a to im zatial nikto nepovedal, ze ten karel je len kniznica v cecku? ze oni v podstate v tom cecku robia? ze karel im ma len pomoct zvladnut zakladne jazykove konstrukcie? a umoznit im programovat co najrychlejsie? teda v zmysle - co najskor?

a o ake "normalne" programovanie v cecku sa jedna? to je este nejaky iny predmet?
So say we all!

student41

implementácia Tower of Hanoi, predmet Umelá Inteligencia;
každopádne ten Karel sa míňa účinkom, imho mal byť už v prvom semestri na UPS, osobne sa mi tiež nepáči že máme pracovať s knižnicou ktorá, ako to tak vyzerá, neprešla fázou dostatočného testovania. Preto by som rád apeloval na zodpovedných aby sa vrátili k osvedčenému učebnému plánu a Karla si poriadne pripravili pre prvákov na ďalší, tentokrát zimný semester a UPS. Vďaka prípadne. Jou, a argumenty o Stanforde si prípadne strčte niekam do "šuflíka," ale nevyťahujte ich.

miskotz

vedeli by ste mi pomoct, kus stym idem dopredu robim si nektore svety nahral som to vsecko ok a ked dam spustit svet tak nic nerobi, toto mi vypisalo Error in world file: unknow block charakter E on line 2
kde robim chybu? :-) diky za odpoved
Otoč sa k svetlu a tiene ostanu za tebou

mirek

Quote from: miskotz on  02.03.2010, 03:54:04
vedeli by ste mi pomoct, kus stym idem dopredu robim si nektore svety nahral som to vsecko ok a ked dam spustit svet tak nic nerobi, toto mi vypisalo Error in world file: unknow block charakter E on line 2
kde robim chybu? :-) diky za odpoved

mas staru verziu kniznice. stiahni si novu - doslo ku niektorym zmenam a vylepseniam.
So say we all!