Author Topic: Programovanie  (Read 188233 times)

esperian

  • Hero Member
  • *****
  • Posts: 873
    • View Profile
Programovanie
« on: 18.02.2011, 22:35:36 »
hojte mate niekto riesenie tejto ulohy

Úloha:  Upravte program tak, aby Karel počas značkovania rohov sveta neznačkoval aj tie rohy, ktoré už sú označené.

je to z prveho cvika, kedze ja som zabudol cely zaklad unixu tak som dlho maturoval hladanim prikazou na nete cez cvika, a potom som uz nic nestihal, tak som si nato teraz sadol a poriadne prestudoval, ale tato ulaha mi este chyba .. som rozmyslal nad niecim takym ale neide mi to.

Quote
#include <karel.h>   

void pohyb5(){
          movek();
          movek();
          movek();
          movek();
          movek();
}

int main(){
     turnOn("empty1.kw");
    
     if(noBeeperPresent){
       putBeepers();
       pohyb5();}    
     else
       pohyb5();

     turnLeft();

     if(noBeeperPresent){
       putBeepers();
       pohyb5();}
     else
       pohyb5();

     turnLeft();
    
     if(noBeeperPresent){
       putBeepers();
       pohyb5();}
     else
       pohyb5();

     turnLeft();
     pohyb5();
    
      
          
turnOff();
   
     return 0;
}

dik ak to niekto ma
« Last Edit: 20.04.2011, 17:48:38 by Tux »

rastodt

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: Programovanie
« Reply #1 on: 19.02.2011, 00:00:09 »
oprav si prikaz putBeepers() na putBeeper()

//nevravim ze po opraveni tohoto pojde cely program

rastodt

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: Programovanie
« Reply #2 on: 19.02.2011, 00:32:53 »
ja som to spravil takto, hlavne ze to funguje :)
ty mas chyby v podmienkach

Quote
#include <karel.h>

void runMile(){
   movek();
   movek();
   movek();
   movek();
   movek();
}

int main(){
   turnOn("empty1.kw");

   if(beepersPresent())
   {
      runMile();
   }
   else
   {
      putBeeper();
      runMile();
   }
   turnLeft();

   if(beepersPresent())
   {
      runMile();
   }
   else
   {
      putBeeper();
      runMile();
   }
   turnLeft();
   
   if(beepersPresent())
   {
      runMile();
   }
   else
   {   
      putBeeper();
      runMile();
   }

   turnLeft();

   if(beepersPresent())
   {
      runMile();
   }
   else
   {
      putBeeper();
      runMile();
   }


   turnOff();
   return 0;
}

orsi

  • Full Member
  • ***
  • Posts: 182
    • View Profile
Re: Programovanie
« Reply #3 on: 19.02.2011, 01:41:54 »
vsade tam mas chybu if(noBeeperPresent), spravne ma byt if(noBeepersPresent()).  ;)

Zomrieš hlúpy

  • Jr. Member
  • **
  • Posts: 98
    • View Profile
Re: Programovanie
« Reply #4 on: 19.02.2011, 02:09:00 »
 else {
       pohyb5();
}

toto oprav

AnvilOfFury

  • Full Member
  • ***
  • Posts: 220
    • View Profile
Re: Programovanie
« Reply #5 on: 19.02.2011, 02:21:11 »
else {
       pohyb5();
}

toto oprav
Pri jednom príkaze je jedno či je v tvare:
Code: [Select]
else pohyb5();

alebo v tvare
Code: [Select]
else {
    pohyb5();
}
Keep information to yourself - Knowledge is power. Think job security. Never provide documentation.
Use Real Tools - No "fancy-pancy" IDEs. Real developers only use vi.
Compiled = Ship It - User acceptance testing is an absolute waste of time.

esperian

  • Hero Member
  • *****
  • Posts: 873
    • View Profile
Re: Programovanie
« Reply #6 on: 19.02.2011, 03:04:23 »
super takze som aj celkom dobre rozmyslal , apon vidim aku sarapatu narobi jedno pismenko ..chyba bola v :

putBeepers() na putBeeper()
if(noBeeperPresent) na if(noBeepersPresent()).

diky hosi  :ropebanana:

RiTChi

  • Full Member
  • ***
  • Posts: 218
    • View Profile
Re: Programovanie
« Reply #7 on: 19.02.2011, 06:26:04 »
Moje riesenie (pocita aj so zmenenou velkostou mapy :) ):

Code: [Select]
#include <karel.h>
int main() {
  turnOn("empty1.kw");
  for(int i=0; i<4; i++) {
    while(frontIsClear()) {
      movek();
    }
    if (i!=3) {
      turnLeft();
    }
    if(noBeepersPresent()) {
       putBeeper();
    }
  }
  turnOff();
  return 0;
}
« Last Edit: 19.02.2011, 06:31:12 by RiTChi »

Rajo

  • Sr. Member
  • ****
  • Posts: 346
    • View Profile
Re: Programovanie
« Reply #8 on: 19.02.2011, 16:27:06 »
no akurát, že v cykle máš chybu...

RiTChi

  • Full Member
  • ***
  • Posts: 218
    • View Profile
Re: Programovanie
« Reply #9 on: 19.02.2011, 17:53:18 »
no akurát, že v cykle máš chybu...

Ako je potom možné, že program beží? Kde je chyba? Ak ju vypísal kompilátor, tak skús pridať do gcc príkazu "-std=c99". Malo by to jechať.

Rajo

  • Sr. Member
  • ****
  • Posts: 346
    • View Profile
Re: Programovanie
« Reply #10 on: 19.02.2011, 18:44:59 »
no akurát, že v cykle máš chybu...

Ako je potom možné, že program beží? Kde je chyba? Ak ju vypísal kompilátor, tak skús pridať do gcc príkazu "-std=c99". Malo by to jechať.

nj, s tým parametrom to beží :)

hardest

  • Sr. Member
  • ****
  • Posts: 338
    • View Profile
Re: Programovanie
« Reply #11 on: 19.02.2011, 20:45:05 »
jedna vec, mal som cviko s Pietrikovou, vravela, ze bleskovka bude vzdy z toho, z coho sa treba pripravit na to cvicenie, na ktorom bude bleskovka ... cize na buduci tyzden bude z toho, z coho mame byt pripraveny na buducotyzdnove cviko ... cize si mam prezriet to co je na moodle Cvicenie #2 ? .. potom co budeme robit na tom druhom cviceni ked si to uz vsetko spravim doma ?
Ake otazky asi mozem cakat ?

hardest

  • Sr. Member
  • ****
  • Posts: 338
    • View Profile
Re: Programovanie
« Reply #12 on: 19.02.2011, 21:21:51 »
ďakujem  :)

AnvilOfFury

  • Full Member
  • ***
  • Posts: 220
    • View Profile
Re: Programovanie
« Reply #13 on: 19.02.2011, 21:37:42 »
By som chcel len pochváliť spracovanie cvičení :) Páčia sa mi viac ako minulého roka.
Keep information to yourself - Knowledge is power. Think job security. Never provide documentation.
Use Real Tools - No "fancy-pancy" IDEs. Real developers only use vi.
Compiled = Ship It - User acceptance testing is an absolute waste of time.

esperian

  • Hero Member
  • *****
  • Posts: 873
    • View Profile
Re: Programovanie
« Reply #14 on: 19.02.2011, 22:17:54 »
ja mam tiez cvika s pietrikovou a u nas vravela, ze si nemas doma spravit ulohy z druheho cvicenia, ale teoreticky sa pripravit z toho, co je uvedene v cieloch daneho cvicenia.
tusim, ze v druhom cviku je uvadzane nieco take:
   1. Precvičiť si vetvenie toku programu na základe podmienok v programovacom jazyku C.
   2. Naučiť sa používať logické cykly v programovacom jazyku C.
   3. Osvojiť si príkazy break a continue pre riadenie behu cyklov.

ja si teda doma pozriem, co sa pouziva na vetvenie toku programu (to uz bolo aj na prvom cviku), co sa pouziva pri logickych cykloch, co je to break a continue; a k tomu si samozrejme pozriem aj prislusnu teoriu.

na stranke druheho cvicenia som nasla aj take, ze Pavel Herout: Učebnice jazyka C (1. díl) - kapitoly 5.1, 5.4 a 5.5, takze aj hned viem, kde si to mozem pozriet

xD

AnvilOfFury

  • Full Member
  • ***
  • Posts: 220
    • View Profile
Re: Programovanie
« Reply #15 on: 19.02.2011, 22:36:59 »
BTW. nejaké rýchle materiály v prílohe :)
Stručný přehled základní syntaxe jazyka C a Syntax Jazyka C
Keep information to yourself - Knowledge is power. Think job security. Never provide documentation.
Use Real Tools - No "fancy-pancy" IDEs. Real developers only use vi.
Compiled = Ship It - User acceptance testing is an absolute waste of time.

hardest

  • Sr. Member
  • ****
  • Posts: 338
    • View Profile
Re: Programovanie
« Reply #16 on: 19.02.2011, 22:45:18 »
btw nemate niekto zo starsich spravene vsetky tie doplnujuce ulohy z cviceni ? ... lebo k 1. cviceniu su lahke doplnujuce, ale ako tak pozeram tak ku 2. cviceniu su doplnujuce ulohy tazsie ako tie riadne ulohy, ktore by sa mali stihnut na cviceni .. ze keby som si nevedel s tymi doplnujucimi rady aby som videl ako to ma byt spravene a podla toho by som to pochopil a dalsie by som uz mozno vedel aj sam

hardest

  • Sr. Member
  • ****
  • Posts: 338
    • View Profile
Re: Programovanie
« Reply #17 on: 20.02.2011, 04:12:13 »
jednoduchsie by bolo, keby boli niekde zverejnene riesenia pre vsetky tie ulohy :) ... napriklad takym sposobom, ze riesenia z druheho tyzdna budu zverejnene az treti tyzden a tak .. aby sme sa najskor sami potrapili a az keby nam to nijak neslo tak by sme siahli po tych rieseniach ... osobne by som nerad stale otravoval cviciaceho s tym, ze nieco neviem spravit ... mi to pride kus blbe

AnvilOfFury

  • Full Member
  • ***
  • Posts: 220
    • View Profile
Re: Programovanie
« Reply #18 on: 20.02.2011, 04:54:34 »
btw nemate niekto zo starsich spravene vsetky tie doplnujuce ulohy z cviceni ? ... lebo k 1. cviceniu su lahke doplnujuce, ale ako tak pozeram tak ku 2. cviceniu su doplnujuce ulohy tazsie ako tie riadne ulohy, ktore by sa mali stihnut na cviceni .. ze keby som si nevedel s tymi doplnujucimi rady aby som videl ako to ma byt spravene a podla toho by som to pochopil a dalsie by som uz mozno vedel aj sam
Cvičenia boli zmenené takže starešina asi nebude mať aktuálne cvičenia vypracované. Ale môžem sa ti na to zajtra pozrieť a zaspomínať si.
edit: ale tie bludiská sú easy, skús to podmienkovať na while(leftIsBlocked() && frontIsClear()) alebo podobne... aby obiehal stále popri jednej stene až kým nenarazí na beeper.
« Last Edit: 20.02.2011, 04:56:51 by AnvilOfFury »
Keep information to yourself - Knowledge is power. Think job security. Never provide documentation.
Use Real Tools - No "fancy-pancy" IDEs. Real developers only use vi.
Compiled = Ship It - User acceptance testing is an absolute waste of time.

hardest

  • Sr. Member
  • ****
  • Posts: 338
    • View Profile
Re: Programovanie
« Reply #19 on: 20.02.2011, 17:04:19 »
diky, ale zatial mi to netreba, nejdem to este robit, len tak ako som sa na to pozrel tak to vyzera zlozito :D ... ale potom ma napadlo, ze sa to mozno bude dat nejak s cyklami a tymi senzormi .. keby nieco tak napisem sem potom buduci tyzden

Robo7691

  • Guest
Re: Programovanie
« Reply #20 on: 20.02.2011, 20:44:05 »
Robim len take z jednej knizky somarinky a hadze mi to chybu v 3 riadku. Je to prevod teplot hoci nepresne bez desatinnych cisel. Uz som skusal vsetko furt ta ista chyba. Vie niekto pomôct?
Quote
#include <stdio.h>
/* vypise tabulku Fahrenheit-celsius pre fahr = 0,20,30,...,300 */
int main(); {

 int fahr. celsius;
 int dolna. horna. krok;

 dolna = 0;
 horna = 300;
 krok = 20;

 fahr = dolna;
 while ( fahr <= horna) {
  celsius = 5 * (fahr-32) / 9;
  printf("%d\t%d\n". fahr. celsius);
  fahr = fahr + krok;
  }
  }

hardest

  • Sr. Member
  • ****
  • Posts: 338
    • View Profile
Re: Programovanie
« Reply #21 on: 20.02.2011, 20:45:33 »
za int main() nema byt bodkociarka

Robo7691

  • Guest
Re: Programovanie
« Reply #22 on: 20.02.2011, 20:49:00 »
Mal som to bez bodkociarky a hadzalo mi to 14 chyb. dal som ju tam a uz iba jednu chybu mi hadze. S ktorou som sem prisiel.

hardest

  • Sr. Member
  • ****
  • Posts: 338
    • View Profile
Re: Programovanie
« Reply #23 on: 20.02.2011, 20:55:27 »
no ale za tym main() ta bodkociarka byt NEMA a zle si to opisal z tej knihy, vsade mas miesto ciarky bodku

Robo7691

  • Guest
Re: Programovanie
« Reply #24 on: 20.02.2011, 20:58:43 »
Hej? no tak ta kvalita je fakt nanic som niektore veci nevedel rozlustit idem pozriet.
EDIT: Dig :D:D Ono to ide  :hug: vdaka fakt v tej knizke to vyzeralo ako bodka.
« Last Edit: 20.02.2011, 21:00:32 by Robo7691 »