Author Topic: ZADANIA Z predmetu PROGRAMOVANIE  (Read 204713 times)

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #200 on: 04.03.2010, 18:48:40 »
ja som take nieco napisal? :) "...vo vseobecnosti..."
All code is crap.

42

radix

  • Hero Member
  • *****
  • Posts: 3506
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #201 on: 05.03.2010, 04:30:04 »
neviem ako by som oznacil cloveka "vo vseobecnosti" len ze ma dve nohy ruky oci usi...ale davat cloveku obecnemu(mozno su aj nadludia a podludia) lenivost a hlupost... :) ale zas kto je dnes idealny? :D

Safyia

  • Hero Member
  • *****
  • Posts: 1328
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #202 on: 05.03.2010, 04:32:00 »
Nehadajte sa! :D
Radsej mi povedze, ci existuje nejaky prikaz, aby sa ten Karel tak nevliekol jak sopel z nosa. Nejaky RedBull(); alebo tak  ;D

revelc

  • Sr. Member
  • ****
  • Posts: 275
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #203 on: 05.03.2010, 05:01:21 »
Code: [Select]
//turbo karel :D
setStepDelay(0)
Čo môžeš urobiť dnes odlož na pozajtra a ziskaš deň voľna.

"I'm a man of simple tastes. I enjoy dynamite...and gunpowder...and gasoline! "

dEVIANT

  • Hero Member
  • *****
  • Posts: 1311
  • Robím, čo môžem. Keď nerobím, nemôžem!
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #204 on: 05.03.2010, 05:07:05 »
Code: [Select]
//turbo karel :D
setStepDelay(0)

Ďakuje  :)...
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

revelc

  • Sr. Member
  • ****
  • Posts: 275
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #205 on: 05.03.2010, 19:41:50 »
za malo  :)
Čo môžeš urobiť dnes odlož na pozajtra a ziskaš deň voľna.

"I'm a man of simple tastes. I enjoy dynamite...and gunpowder...and gasoline! "

cenki

  • Guest
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #206 on: 07.03.2010, 03:17:58 »
Ináč dostal už niekto zadanie? Nech máme predstavu o čom bude?

psicho

  • VIP
  • Hero Member
  • *****
  • Posts: 3173
  • Markus[pSicho]Fesi
    • View Profile
    • codemazing
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #207 on: 07.03.2010, 21:47:33 »
ano xem aj ja mat predstavu ocom bude :D
read my blog> www.codemazing.com <read my blog

vojto

  • Guest
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #208 on: 07.03.2010, 21:52:42 »
Zevraj vlastna implementacia Karla da Robota, ci?

a000000

  • Newbie
  • *
  • Posts: 18
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #209 on: 13.03.2010, 03:51:01 »
vie niekto kod ako dostalenm karola dostrebu hocijakeho sveta ?
nejak mi to nechce ist, ten movekAll ma vratit pocet krokov ale nejako nevracia , respektive vrati vzdy 2 hm...

Safyia

  • Hero Member
  • *****
  • Posts: 1328
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #210 on: 13.03.2010, 04:23:46 »
posli svoj kod a povieme ti ;) :D

a000000

  • Newbie
  • *
  • Posts: 18
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #211 on: 13.03.2010, 17:38:54 »

Tu to mas :   :ropebanana:
Code: [Select]
http://www.vlacik.sk/index.php?page=download&file=ef3cdcb53f7bcf001ee3d0748d96419f

Safyia

  • Hero Member
  • *****
  • Posts: 1328
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #212 on: 13.03.2010, 19:18:13 »
Code: [Select]
/*
 * main.c
 */
 
#include "impl/karel.h"
#include "pomocne-prikazy.h"

/* tu si pisete svoje funkcie */



/* preskoci akukolvek prekazku */
void preskoc() {
    turnLeft();
    /* vylez hore */
    while(rightIsBlocked()) {
        movek();
    }
    turnRight();
    movek();
    turnRight();
    /* zlez */
    movekAll();
    turnLeft();
}

void behaj() {
    /* opakuj pokial karel nenajde beeper */
    while(!beepersPresent()) {
        if(frontIsBlocked()) {
            /* ked je prekazka, preskoc ju */
            preskoc();
        } else {
            /* ked nie je prekazka, chod dopredu */
            movek();
        }
    }
}

/* behaj spat na zaciatok */
void behajSpat() {
    /* dorobit */
}






void akeSiroke() {
     turnWest();
     movekAll();
     turnEast();
     movekAll();
     turnWest();
     }

void akeVysoke() {
     turnSouth();
     movekAll();
     turnNorth();
     }

int main(){
    int kolko;
    nemamCas();
    turnOn("worlds/middleearth2.kw");
   
    turnNorth();
    movekAll();
    akeSiroke();
    kolko = kolko/2;
    while(kolko>0){
                  movek();
                  kolko=kolko-1;
                  }
    akeVysoke();
    kolko = kolko/2;
    while(kolko>0){
                  movek();
                  kolko=kolko-1;
                  }
    turnOff();
}

Taakto... Po prvé, netuším aké príkazy máš v pomocne-prikazy.h, takže s tým movekAll() ti nepomôžem asi.  ;D Možno to máš zle tam.  ??? Skús to urobiť cez premennu  ako napr. :

Code: [Select]
void moveVerticaly() {
     while (frontIsClear()) {
           movek();
           pocet_krokovV++;
           }
           }

Takto by si to mal mať nejak aj v tej knižnici...
A potom ho len otočíš a prikážeš mu nech spraví movek() pocet_krokovV/2 a bude v polovici vertikálne. To isté pre moveHorizontaly a bude v strede.

stricky

  • Moderator
  • Hero Member
  • *****
  • Posts: 6641
  • "LOCKnem vsetkych vratane Hun?a"
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #213 on: 13.03.2010, 20:12:35 »
salafatka ty sa nezdas :D

Safyia

  • Hero Member
  • *****
  • Posts: 1328
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #214 on: 13.03.2010, 20:22:20 »
salafatka ty sa nezdas :D
Taa, sak na co som na tej skole? Studujem!  ;D  ;D

a000000

  • Newbie
  • *
  • Posts: 18
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #215 on: 14.03.2010, 01:19:27 »
moje movekAll
Code: [Select]
int movekAll() {
    int kolko = 0;
    while(frontIsClear()) {
        movek();
        kolko = kolko + 1;
    }
    return kolko;
}
a nefunguje to ajtak :(((((( aaaaaaaaaaaaaaa  bp bp bp
« Last Edit: 14.03.2010, 01:26:08 by a000000 »

Safyia

  • Hero Member
  • *****
  • Posts: 1328
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #216 on: 14.03.2010, 01:59:15 »
napíš to ako

Code: [Select]
void movekAll() {
    int kolko;
    while(frontIsClear()) {
        movek();
        kolko++;
    }
}

a isto to pojde. :D

tommy-sv

  • Sr. Member
  • ****
  • Posts: 308
  • kapitalista
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #217 on: 14.03.2010, 03:24:18 »
napíš to ako

Code: [Select]
void movekAll() {
    int kolko;
    while(frontIsClear()) {
        movek();
        kolko++;
    }
}

a isto to pojde. :D

ale on pouziva tu funkciu na zistovanie poctu krokov, nemoze pouzit void. jedine keby mal premennu definovanu globalne - co by bolo ale od veci.

to a000000: nepuzivaj zapisy typu x = x + 1, ale unarny operator x++ (resp. x--). nema zmysel pisat navyse tolko znakov ;)

skus toto:
Code: [Select]
/* @return int the width/height of the world
 */
int countSpan()
{
   int span;
   while(frontIsClear())
   {
      movek();
      span++;
   }
   return ++span; // pretoze zaciname na pozicii 1
}


to a000000: este k tym unaries, zamerne som nepisal int span = 1 ale na konci ++span. oba inkrementuju span o 1 ale span++ vracia hodnotu pred zvysenim pokym span++ hodnotu po zvyseni o 1.
« Last Edit: 14.03.2010, 03:48:30 by tommy-sv »
"Čím skôr zomrieš, tým dlhšie budeš mŕtvy."
"Radšej viac vypiť, ako menej zjesť."

a000000

  • Newbie
  • *
  • Posts: 18
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #218 on: 14.03.2010, 03:57:44 »
takze , tu je cely kod zdrojovy ... a ajtak to nefunguje  :xmas: a je to aj s timy ++
Code: [Select]
/*
 * main.c
 */
 
#include "impl/karel.h"
#include "pomocne-prikazy.h"

/* tu si pisete svoje funkcie */



/* preskoci akukolvek prekazku */
void preskoc() {
    turnLeft();
    /* vylez hore */
    while(rightIsBlocked()) {
        movek();
    }
    turnRight();
    movek();
    turnRight();
    /* zlez */
    movekAll();
    turnLeft();
}

void behaj() {
    /* opakuj pokial karel nenajde beeper */
    while(!beepersPresent()) {
        if(frontIsBlocked()) {
            /* ked je prekazka, preskoc ju */
            preskoc();
        } else {
            /* ked nie je prekazka, chod dopredu */
            movek();
        }
    }
}

/* behaj spat na zaciatok */
void behajSpat() {
    /* dorobit */
}


int movekAll() {
    int kolko;
    while(frontIsClear()) {
        movek();
        kolko++;
    }
    return ++kolko;
}



void akeSiroke() {
     turnWest();
     movekAll();
     turnEast();
     movekAll();
     turnWest();
     }

void akeVysoke() {
     turnSouth();
     movekAll();
     turnNorth();
     }

int main(){
    int kolko;
    nemamCas();
    turnOn("worlds/middleearth2.kw");
    
    turnNorth();
    movekAll();
    akeSiroke();
    kolko = kolko/2;
    while(kolko>0){
                  movek();
                  kolko++;
                  }
    akeVysoke();
    kolko = kolko/2;
    while(kolko>0){
                  movek();
                  kolko++;
                  }
    turnOff();
}

je to podla spravene podla tvojho prikladu a malo y to ist ale nejde :D

cenki

  • Guest
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #219 on: 14.03.2010, 04:15:42 »
Tolko tu babarania s najdenim stredu... pekne sa da cez jednu premennu a par cyklov. Moje riesenie spred tyzdna.
Code: [Select]
#include <stdio.h>
void (turnRight()){
     turnLeft();
     turnLeft();
     turnLeft();
     }
void (turnAround()){
     turnLeft();
     turnLeft();
     }
     
int main()
{
  setStepDelay(50);
  turnOn("middleearth1.kw");
  int a; /* premenna na pocitanie krokov */
 
  /* Dojde ku jednej zo stien */
  while(frontIsClear()){
  movek();
  }
 
  /* Otoci sa a dojde k opacnej stene, pricom zrata kolko spravil krokov */
  a=1;
  turnAround();
  while(frontIsClear()){
  movek();
  a++;
  }
 
  /* Otoci sa a podla poctu krokov ktore spravil prejde len polovicu */
  a=(a/2);
  turnAround();
  while (a!=0){
  movek();
  a--;
  }
 
  /* Otoci sa vlavo a dojde ku druhej stene */
  turnLeft();
  while(frontIsClear()){
  movek();
  }
 
  /* Otoci sa a dojde k opacnej stene, pricom zrata kolko spravil krokov */
  a=1;
  turnAround();
  while(frontIsClear()){
  movek();
  a++;
  }
 
  /* Otoci sa a podla poctu krokov ktore spravil prejde len polovicu */
  a=(a/2);
  turnAround();
  while (a!=0){
  movek();
  a--;
  }

  turnOff();
  system("PAUSE");
  return 0;
}

tommy-sv

  • Sr. Member
  • ****
  • Posts: 308
  • kapitalista
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #220 on: 14.03.2010, 04:19:18 »
takto, ty si sice implementoval kod do funkcie movekAll (ktorej nazov je ale tiez troska nepresny, lebo robi to ze spocita sirku resp. vysku sveta, preto som ja nazval countSpan) ale...
volas ju z void funkcie akeSiroke, bez ulozenia navratovej hodnoty cize ty vobec nepouzivas zistenu informaciu
v prilohe postu mas kod s 3 funkciami vratane main ktory ti najde stred, asi najjednoduchsia implementacia riesenia ktora je este stale lahko citatelna, pls prestuduj si tok programu.
« Last Edit: 14.03.2010, 04:29:43 by tommy-sv »
"Čím skôr zomrieš, tým dlhšie budeš mŕtvy."
"Radšej viac vypiť, ako menej zjesť."

dEVIANT

  • Hero Member
  • *****
  • Posts: 1311
  • Robím, čo môžem. Keď nerobím, nemôžem!
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #221 on: 14.03.2010, 05:06:35 »
Musíš si zadeklarovať funkciu private void FindCenterOfTheWorld() { .. }

A definíciu ponechávam na čitatela...
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

vojto

  • Guest
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #222 on: 14.03.2010, 05:07:17 »
Najenie stredu

No pozeram, ze zdielate kod (ktory nebudem komentovat) tak pridam aj svoj:

http://pastie.org/868356

Safyia

  • Hero Member
  • *****
  • Posts: 1328
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #223 on: 14.03.2010, 05:10:34 »
ale on pouziva tu funkciu na zistovanie poctu krokov, nemoze pouzit void. jedine keby mal premennu definovanu globalne - co by bolo ale od veci.

Ja som si to voidla, osobitne pre verikalne a pre horizontalne, pripadalo mi to prehladne :D Kod nejdem pastovat je ich tu milion :D Vlastne ja pisem a ked to ide, tak sa uz so zjednodusovanim nebabrem :D:D

Eeej ale pekne riesenie mas :D Nabuduce budem zjednodusovat... Ale to vseetko pride praxou! :D

Musíš si zadeklarovať funkciu private void FindCenterOfTheWorld() { .. }

A definíciu ponechávam na čitatela...

Spamer  :P ;D

tommy-sv

  • Sr. Member
  • ****
  • Posts: 308
  • kapitalista
    • View Profile
Re: ZADANIA Z predmetu PROGRAMOVANIE
« Reply #224 on: 14.03.2010, 05:30:21 »
Musíš si zadeklarovať funkciu private void FindCenterOfTheWorld() { .. }

pozor, "private" jazyk C (ANSI) nepozna ;) ako ani "public" alebo "protected". platne su v C++, Java, C# a vo vseobecnosti v jazykoch ktore podporuju enkapsulaciu clenov
"Čím skôr zomrieš, tým dlhšie budeš mŕtvy."
"Radšej viac vypiť, ako menej zjesť."