• 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 »

sulo

1. Prečo sú v tej zloženej podmienke operátory "alebo" (||) miesto "a" (&&)? Veď čiastkové podmienky musia byť splnené všetky naraz. Ak je napr. x záporné, darmo že y bude kladné.

2. Pozri si tieto časti kódu:

for(i=0;i<height;i++){
for(j=0;j<width;j++){
...
if(karel_y==i && karel_x==j)
...
if (world[i][j] ...)


Od čoho je závislý prvý index poľa? Od x-ovej (vodorovnej) alebo zvislej (y-ovej) súradnice?

3. if (world[x][y] == EMPTY || ...
Ako už písal tommy-sv, čo ak bude na danej pozícii beeper?

tommy-sv

Quote from: Shwollo on  20.04.2010, 04:26:22
Quote from: mirek on  20.04.2010, 02:02:24
skus sa este pozriet na to, ako pracujes s y-ovou a x-ovou osou v poli - ako ich pouzivas pri nacitavani pola v turnOn() a ako ich pouzivas v senzore frontIsClear()
neviem, čo tam mám zle ???

tipujem ze mirek narazal na to, ci nahodou nemas "posunuty" index sveta voci karel_x resp y
nestiham teraz prebehnut cely kod, ale ak nacitavas do karel_x napr poziciu 1 zo suboru, v matici sveta ta pozicia zodpoveda indexu 0
v tom pripade by si mohol napr.:
int x = karel_x - 1;
int y = karel_y - 1;
"Čím skôr zomrieš, tým dlhšie budeš mŕtvy."
"Radšej viac vypiť, ako menej zjesť."

sulo

Quote from: tommy-sv on  20.04.2010, 05:10:25
tipujem ze mirek narazal na to, ci nahodou nemas "posunuty" index sveta voci karel_x resp y
nestiham teraz prebehnut cely kod, ale ak nacitavas do karel_x napr poziciu 1 zo suboru, v matici sveta ta pozicia zodpoveda indexu 0

V tomto by problém nemal byť, pri všetkých operáciách sa používa začiatočný index 0.

Shwollo

1. prečo všetky naraz? Keď je karel mimo sveta tak world[ x ][ y ] == EMPTY stráca význam nie? Takže tam nie je hodnota 0... Či...?

2. na to sa pozriem zajtra

3. ak tam bude beeper tak to znamená, že daná súradnica je väčšia ako 0 takže x>0, y>0. Alebo by som mal dať radšej, že world[ x ][ y ] > 0??
nepíšte mi SS - radšej mi píšte mail. (tá obálka pod mojim avatarom :)))

sulo

1. Máš pravdu, že keď je Karel mimo sveta, tak to porovnávanie stráca význam a viedlo by k chybe. Ale tak, ako to máš zapísané, to nebude fungovať. Mal by si najprv zistiť, či je Karel vnútri sveta a až potom porovnávať s EMPTY (resp. WALL).

Môžeš využiť skrátené vyhodnocovanie výrazov v Céčku. V takomto prípade:
if (...karel_je_vnutri_sveta... && ...) platí, že akonáhle je jedna podmienka nepravdivá, ďalšie sa už netestujú.

Pre zjednodušenie si môžeš vytvoriť pomocnú funkciu, ktorá vráti 0 alebo 1 podľa toho, či sú súradnice dané ako parametre vnútri sveta. Napr:
int inWorld(int x, int y) {...}

3. Súradnice sú celočíselné premenné (napr. x, y). Hodnota, ktorá je v poli (svete) uložená na týchto súradniciach je world[...][...].

Safyia

Quote from: Shwollo on  20.04.2010, 05:19:49
1. prečo všetky naraz? Keď je karel mimo sveta tak world[ x ][ y ] == EMPTY stráca význam nie? Takže tam nie je hodnota 0... Či...?

2. na to sa pozriem zajtra

3. ak tam bude beeper tak to znamená, že daná súradnica je väčšia ako 0 takže x>0, y>0. Alebo by som mal dať radšej, že world[ x ][ y ] > 0??
1. Urob radšej ošetrenia pre kraj sveta, teda keď je karel na [ 0 ][ y ], [ x ][ 0 ], [maxx][ y ], [ x ][maxy], aby ti karel v daných smeroch na týchto pozíciach vyhadzoval frontIsBlocked, mimo sveta  teda nic neries...

2. Pozri ;D

3. Eieš to cez [ x ] [y ]<0, tým pádom si budeš istý, že ti to pri beeproch a pod. nebude robiť blbosti ;)

Palike

#331
co je zle na tom zapise?..

for (i=0;i<height;i++)
      {
                         for (j=0;j<width;j++)
                         {world [ i ] [j]=world1 [j];
                         world1 [ i ] [j]=0;}
      }


chcem docielit to aby cely svet bol vynulovany... lebo ked si na zaciatku pri vstupe zadam ze ma svet byt napr. 6x6 tak mi to zobrazi svet.. ale hodnota v nom su random cisla.. a zobrazuje mi ze tam mam napr 46393 beeperov na zemi..a chcem docielit to aby bola vsade nula pokial to ja nezmenim.. devcpp mi to skomprimuje.. ale ked zapnem program zadam suradnice ako ma vyzerat svet a ma mi ho zobrazit tak napise ze program prestal pracovat... ked tam ale nedam to world1 [ i ] [j]=0; tak ide vsetko ako ma.. :-$

mirek

#332
Quote from: Palike on  20.04.2010, 17:22:32
co je zle na tom zapise?..


for (i=0;i<height;i++)
      {
                         for (j=0;j<width;j++)
                         {world [i] [j]=world1 [i] [j];
                         world1 [i] [j]=0;}
      }


prva vec - pouzivaj na zverejnovanie kodu na to vhodne bbcode znacky
dalsia vec - devcpp kod skompiluje (ale obcas aj skomplikuje)
a to hlavne - vyzera to byt v poriadku. otazkou uz len je, ze aku hodnotu maju widht a height ked to spustas a mozno aj to, ze na co potrebujes nulovat world1, kedze on je len lokalnou premennou v turnOn() (pokial tvoje turnOn() pracuje podla scenara). problem pri vykreslovani este moze byt v tom, ze nespravne pouzivas indexy (napr. opacne, co je castou chybou)

p.s. len tu prosim nepastuj cely kod, lebo niektore deti si myslia, ze ho na cviku potom staci skopirovat a spustit (nehladiac na to, aky problem riesi dotycny na fore) a cely zvysok sa potom tvaria, ze studuju, ako to robil kamarat.

So say we all!

mirek

Quote from: tommy-sv on  20.04.2010, 05:10:25
tipujem ze mirek narazal na to, ci nahodou nemas "posunuty" index sveta voci karel_x resp y

mirek narazal na to, ze v turnOn() indexuje pole sposobom: world[y][x], ale vo zvysnom kode indexuje presne opacne - world[x][y] (teda tiez som nepozeral cely kod, ale spominane funkcie su implementovane prave opacne).
So say we all!

vojto

http://github.com/vojto/karel

Moje zadanie, zatial po 8 cviko.

Nedavam to tu preto, zeby si to niekto cele okopcil, myslim, ze to by bolo
aj tak kazdemu na hovno.

Ak vam nieco nejde, pozrite si ako to mam ja, pripadne mi nieco okomentujte
(urobte si konto na github a mozte komentovat priamo kod) ..

mirek

Quote from: vojto on  20.04.2010, 18:09:45
http://github.com/vojto/karel
Nedavam to tu preto, zeby si to niekto cele okopcil, myslim, ze to by bolo
aj tak kazdemu na hovno.

lenze tymto svojim cinom si to prave spravil. na hovno im to sice bude, ale to pochopia az pri odovzdavani, ze nestaci len mat. ty im davas dovod vobec si k tomu nesadnut a uz vobec nerozmyslat. takze diky za uslachtily cin ;)
So say we all!

lecter

najuchvatnejsie su tie pokecy k niektorym zadaniam, napriklad, ze karel ide robit velkoplosnu obrazovku na MS v hokeji :D
alebo pri cvikach, ako sa karel pripravuje na olympiadu robotov :D
jak v materskej skole :D
teda take je cele ucenie sa programovania s karlom a cely system, ako sa to uci...

mirek

Quote from: lecter on  20.04.2010, 18:41:17
najuchvatnejsie su tie pokecy k niektorym zadaniam, napriklad, ze karel ide robit velkoplosnu obrazovku na MS v hokeji :D
alebo pri cvikach, ako sa karel pripravuje na olympiadu robotov :D
jak v materskej skole :D
teda take je cele ucenie sa programovania s karlom a cely system, ako sa to uci...

aha - takze ty patris k tym, ktori uz maju cele zadanie hotove, vsak?

a k veselym pokecom - skus sa napriklad pozriet na stranku acm icpc (international collegiate programming contest) a nalistuj si znenia zadani sutazi, ktore pouzili oni. cuduj sa svete - niektore su tiez pomerne dost dobre beletristicke. podla tvojich meritok - mozno uroven zakladnej skoly. alebo sa mylim?
So say we all!

JMaster30

vies preco je to tak ???
aby si sa ku tomu nemal staviat s odporom ale aby ta to troska aj zabavilo :P
lebo ked si prvak. Tak neveis ake to bolo minuly rok

Agamemnon

Quote from: mirek on  20.04.2010, 18:51:47
Quote from: lecter on  20.04.2010, 18:41:17
najuchvatnejsie su tie pokecy k niektorym zadaniam, napriklad, ze karel ide robit velkoplosnu obrazovku na MS v hokeji :D
alebo pri cvikach, ako sa karel pripravuje na olympiadu robotov :D
jak v materskej skole :D
teda take je cele ucenie sa programovania s karlom a cely system, ako sa to uci...

aha - takze ty patris k tym, ktori uz maju cele zadanie hotove, vsak?

a k veselym pokecom - skus sa napriklad pozriet na stranku acm icpc (international collegiate programming contest) a nalistuj si znenia zadani sutazi, ktore pouzili oni. cuduj sa svete - niektore su tiez pomerne dost dobre beletristicke. podla tvojich meritok - mozno uroven zakladnej skoly. alebo sa mylim?

btw, mirek... uz sa nerobia nesutaze? :) ako to vyzera teraz s nimi? pripadne s ucastou na icpc?
All code is crap.

42

mirek

Quote from: Agamemnon on  20.04.2010, 18:56:38
btw, mirek... uz sa nerobia nesutaze? :) ako to vyzera teraz s nimi? pripadne s ucastou na icpc?

aktualne nie - nestiham. ale na pozadi sa pracuje na podpore, takze ak sa vsetko podari, do noveho semestra ideme s nesutazami. a vyzera to tak, ze sa veru podari ;)
So say we all!

Agamemnon

daj vediet potom nejak... resp. som v tom mailing liste zaregistrovany :D si to pridem skusit mozno :D uz som aj tak vsetko zabudol :)
All code is crap.

42

lecter

Quote from: mirek on  20.04.2010, 18:51:47

aha - takze ty patris k tym, ktori uz maju cele zadanie hotove, vsak?

a k veselym pokecom - skus sa napriklad pozriet na stranku acm icpc (international collegiate programming contest) a nalistuj si znenia zadani sutazi, ktore pouzili oni. cuduj sa svete - niektore su tiez pomerne dost dobre beletristicke. podla tvojich meritok - mozno uroven zakladnej skoly. alebo sa mylim?
ide o to, ze nie kazdy studuje informatiku. mam predmet, kde sa predpoklada, ze studenti sa naucia programovat na predmete programovanie na kpi. lenze pri karlovi sa to tazko naucia. to, co sa uci na programovani teraz je aj podla niektorych vyucujucich minimalne pozoruhodne... je to podla mojho nazoru nestrukturovane, najprv prednasky o karlovi, potom zrazu smerniky.

mirek

nepocitujem potrebu odpovedat na kazdy takyto "vsedoXXXpchajuci" prispevok, ale ked sme uz zacali, tak to vezmem po poriadku...

Quote from: lecter on  20.04.2010, 20:05:45
ide o to, ze nie kazdy studuje informatiku.

pred chvilou si ale tvrdil, ze sposob vyucby je ako pre matersku skolu. takze informatici nech zostanu v materskej skole? alebo maju na to cas? kdezto ty by si rad na konci predmetu programovanie mal rozpracovane pokracovanie quake-a?

Quote from: lecter on  20.04.2010, 20:05:45
mam predmet, kde sa predpoklada, ze studenti sa naucia programovat na predmete programovanie na kpi. lenze pri karlovi sa to tazko naucia.
zvlastne. vzdy som si myslel, ze programovat znamena riesit problemy. problem je riesitelny algoritmom. a algoritmus predstavuje postupnost krokov riesiacich dany problem. a karel mi pride ako velmi dobry sposob (nastroj), pomocou ktoreho sa da velmi pekne vizualizovat tato postupnost krokov algoritmu, ktore riesia dany problem ludi, ktori programuju. ako uvod do programovania a riadiacich struktur - super. dalsie pozitivum bolo napr. v tom, ze ludia vedeli pisat jednoduche postupy (algoritmy) uz na prvom cviku, co sa o mnohych killer examploch neda povedat. ale samozrejme - mozes zostat pri killer examploch v style - vypiste cisla od 1 do 10 alebo vypocitajte obvod stvorca, ktoreho strana bude zadana z klavesnice. takze kludne si aj nadalej utahuj z toho, ze karla pouzivaju aj na inych sedliackych univerzitach, akymi je aj standford. ak mas vhodne riesenie, tak ta rad vezmem za svojho poradcu (alebo aspon na kofolu).

ak sa problem ale tyka predmetu, ktory bezi paralelne s programovanim, tak je chyba niekde inde. ktosi tu pisal niekedy na zaciatku diskusie svoj "odborny" pohlad na tuto skutocnost (tusim si to nebol ty). ale ocakavat, ze asi na tretom cviku maju byt ludia schopni riesit problem hanojskych vezi, ked iba zacali programovat, sa neda (ked si porovnas minulorocne osnovy s tymito, tak by si videl, ze vlani ludia este v tom case nevedeli ani to, ze existuje nejake podmienene vetvenie).

Quote from: lecter on  20.04.2010, 20:05:45
to, co sa uci na programovani teraz je aj podla niektorych vyucujucich minimalne pozoruhodne...
vies menovat? rad sa si vypocujem ich nazor. su to predsa len kolegovia...

Quote from: lecter on  20.04.2010, 20:05:45
je to podla mojho nazoru nestrukturovane, najprv prednasky o karlovi, potom zrazu smerniky.
podla prednasok na moodli boli prednasky o karlovi dokopy len dve (pokial sa nieco nepretiahlo) a bol to uvod do programovania. za nim nasleduju typy v jazyku c a vyrazy (prednaska c. 3) a pokial mi nic neuniklo, tak smernikovy typ je spominany na konci piatej prednasky. takze to nie je zrazu smerniky, ale postupne. alebo si zazil inu postupnost prednasiek?

a inac - neodpovedal si mi na povodnu otazku, tak ju uvadzam este raz (nedalo mi):
Quote from: mirek on  20.04.2010, 18:51:47
aha - takze ty patris k tym, ktori uz maju cele zadanie hotove, vsak?
So say we all!

dEVIANT

Podľa mňa, na Karla väčšinou pičujú tí, ktorí ho nevedia, a keby bol minuloročný systém, tak by si s najväčšou pravdepodobnosťou kúpili zadanie od psicha za 5 eur s argumentom, že "nám to netreba, my sme iný odbor", alebo by si našli inú výhovorku...

Edit: Už teraz mi napr. písal típek, či mu nespravím Karla zadanie. Cviká pomaly jak pre opice, ale... :D
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

Safyia

Lecter, nikto ti nebrani popri skole praktizovat samostudium. Ak sa ti to zda prilis jednoduche alebo nepostacujuce, kniziek a navodov je kopa aj na nete ;) Nie kazdy sem prisiel s tym, ze vie programovat, prisiel sa to naucit. A syntax je podla mna druhorada, ked ta nieco nenapadne, tak to vygooglis. No logicke riesenie musis dostat z hlavy.  :P

PS: Na tu kofolu v Mirekom chod, lebo sa mi uz zle pozera stale na to:" Na kofole s nami ešte nikto nebol :-( " ;D

PS2: Ak niekto rozmyslat nechce, nech mi pokojne napise, rada sa s nim dohodnem na nejakom vyhodnom ksefte :D

dEVIANT

Quote from: Safyia on  20.04.2010, 22:39:59
Lecter, nikto ti nebrani popri skole praktizovat samostudium. Ak sa ti to zda prilis jednoduche alebo nepostacujuce, kniziek a navodov je kopa aj na nete ;) Nie kazdy sem prisiel s tym, ze vie programovat, prisiel sa to naucit. A syntax je podla mna druhorada, ked ta nieco nenapadne, tak to vygooglis. No logicke riesenie musis dostat z hlavy.  :P

PS: Na tu kofolu v Mirekom chod, lebo sa mi uz zle pozera stale na to:" Na kofole s nami ešte nikto nebol :-( " ;D

PS2: Ak niekto rozmyslat nechce, nech mi pokojne napise, rada sa s nim dohodnem na nejakom vyhodnom ksefte :D

To je moje dievča!  8) :D
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

Safyia

Quote from: dEVIANT on  20.04.2010, 22:40:46
To je moje dievča!  8) :D
Ides mi prikladom, darmo! ;D
Quote from: eminkaa on  20.04.2010, 22:47:22
lea, dostanes za ucho
ah: Biznis je biznis, ked to nespravim ja, spravi to niekto iny! :D

lecter

Quote from: mirek on  20.04.2010, 22:16:14
nepocitujem potrebu odpovedat na kazdy takyto "vsedoXXXpchajuci" prispevok, ale ked sme uz zacali, tak to vezmem po poriadku...

Quote from: lecter on  20.04.2010, 20:05:45
ide o to, ze nie kazdy studuje informatiku.

pred chvilou si ale tvrdil, ze sposob vyucby je ako pre matersku skolu. takze informatici nech zostanu v materskej skole? alebo maju na to cas? kdezto ty by si rad na konci predmetu programovanie mal rozpracovane pokracovanie quake-a?

Quote from: lecter on  20.04.2010, 20:05:45
mam predmet, kde sa predpoklada, ze studenti sa naucia programovat na predmete programovanie na kpi. lenze pri karlovi sa to tazko naucia.
zvlastne. vzdy som si myslel, ze programovat znamena riesit problemy. problem je riesitelny algoritmom. a algoritmus predstavuje postupnost krokov riesiacich dany problem. a karel mi pride ako velmi dobry sposob (nastroj), pomocou ktoreho sa da velmi pekne vizualizovat tato postupnost krokov algoritmu, ktore riesia dany problem ludi, ktori programuju. ako uvod do programovania a riadiacich struktur - super. dalsie pozitivum bolo napr. v tom, ze ludia vedeli pisat jednoduche postupy (algoritmy) uz na prvom cviku, co sa o mnohych killer examploch neda povedat. ale samozrejme - mozes zostat pri killer examploch v style - vypiste cisla od 1 do 10 alebo vypocitajte obvod stvorca, ktoreho strana bude zadana z klavesnice. takze kludne si aj nadalej utahuj z toho, ze karla pouzivaju aj na inych sedliackych univerzitach, akymi je aj standford. ak mas vhodne riesenie, tak ta rad vezmem za svojho poradcu (alebo aspon na kofolu).

ak sa problem ale tyka predmetu, ktory bezi paralelne s programovanim, tak je chyba niekde inde. ktosi tu pisal niekedy na zaciatku diskusie svoj "odborny" pohlad na tuto skutocnost (tusim si to nebol ty). ale ocakavat, ze asi na tretom cviku maju byt ludia schopni riesit problem hanojskych vezi, ked iba zacali programovat, sa neda (ked si porovnas minulorocne osnovy s tymito, tak by si videl, ze vlani ludia este v tom case nevedeli ani to, ze existuje nejake podmienene vetvenie).

Quote from: lecter on  20.04.2010, 20:05:45
to, co sa uci na programovani teraz je aj podla niektorych vyucujucich minimalne pozoruhodne...
vies menovat? rad sa si vypocujem ich nazor. su to predsa len kolegovia...

Quote from: lecter on  20.04.2010, 20:05:45
je to podla mojho nazoru nestrukturovane, najprv prednasky o karlovi, potom zrazu smerniky.
podla prednasok na moodli boli prednasky o karlovi dokopy len dve (pokial sa nieco nepretiahlo) a bol to uvod do programovania. za nim nasleduju typy v jazyku c a vyrazy (prednaska c. 3) a pokial mi nic neuniklo, tak smernikovy typ je spominany na konci piatej prednasky. takze to nie je zrazu smerniky, ale postupne. alebo si zazil inu postupnost prednasiek?

a inac - neodpovedal si mi na povodnu otazku, tak ju uvadzam este raz (nedalo mi):
Quote from: mirek on  20.04.2010, 18:51:47
aha - takze ty patris k tym, ktori uz maju cele zadanie hotove, vsak?
- nie, nepatrim k tym, ktori maju hotove zadanie
- suhlasim, ze programovat znamena riesit problemy algoritmicky. lenze k programovaniu patri aj syntakticka stranka jazyka a prave toho je podla mojho nazoru malo. je to nazor mna, ktory som pred prichodom na tuke neprogramoval a prisiel som na skolu s tym, ze sa to tu naucim. zial na zaklade toho, ako je riesene programovanie to bez doplnkovej literatury nejde. suhlasim, ze karel je dobry na pochopenie algoritmizacie. mozno by ale stacilo prve druhe cviko na pochopenie zakladov algoritmizacie a potom sa mohlo prejst na ine veci. to je moj nazor.

petopetolkoo

na TUKE beru pomaly aj ludi s hodnotou IQ nizsou ako 0.(studentov myslim)
a zial na SR plati pravidlo prisposobovania sa vacsine => ucime sa ako pre malych => vacsina z prvakov suu?? ...doplnte si sami

lecter- ak je toto vsetko pre teba jednoduche tak bud len rad, a neboj sa, programovania budes mat za tych 5 rokov az az..len treba dockat casu jak hus klasu