Hjálp í forritun!!!


Höfundur
baddeh
Nýliði
Póstar: 5
Skráði sig: Mán 22. Ágú 2011 01:16
Reputation: 0
Staða: Ótengdur

Hjálp í forritun!!!

Pósturaf baddeh » Fös 07. Okt 2011 16:40

Sælir

Ég er á fyrsta ári í HÍ og er í miklu vandræðum í Tölvunarfræði. Þetta er bara inngangurinn að Java Porgramming. http://introcs.cs.princeton.edu/java/home/ (Erum komin í kafla 2.1, næsta vika verður 2.2-2.3)

Ef einhver er til í að taka mig í einkennslu/aðstoð þá væri það snilld! Aðsjálfsögðu borga ég fyrir hana.

Þið megið hringja í mig (847-6218) eða senda mér mail á baddeh@hotmail.com

(Vissi ekkert hvar ég átti að posta þessu)

Takk fyrir, Barði Páll




Höfundur
baddeh
Nýliði
Póstar: 5
Skráði sig: Mán 22. Ágú 2011 01:16
Reputation: 0
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf baddeh » Fös 07. Okt 2011 20:54

Ég get líka sent verkefnin í tölvupósti ef einhver hefur meiri áhuga fyrir því



Skjámynd

SolidFeather
Vaktari
Póstar: 2699
Skráði sig: Mán 15. Des 2003 21:11
Reputation: 151
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf SolidFeather » Fös 07. Okt 2011 21:13

Komdu bara með dæmin hingað




Höfundur
baddeh
Nýliði
Póstar: 5
Skráði sig: Mán 22. Ágú 2011 01:16
Reputation: 0
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf baddeh » Fös 07. Okt 2011 21:59

1. Write a static method max3() that takes three int values as arguments and returns the value of the largest one. Add an overloaded function that does the same thing with three double values.

2. Write a static method lg() that takes an int value N as argument and returns the largest int not larger than the base-2 logarithm of N. Do not use Math.

3. Write a method any() that takes an array of boolean values as argument and returns true if any of the entries in the array is true, and false otherwise. Write a method all() that takes an array of boolean values as argument and returns true if all of the entries in the array are true, and false otherwise.

4.

Í þessu verkefni sönnum við fallið að vitlausHelmingunarLeit skili alltaf réttri útkomu
(þegar það skilar útkomu).
// Notkun: i = vitlausHelmingunarLeit(a,x)
// Fyrir: a er raðað í vaxandi röð
// Eftir: i er -1 ef x er ekki í fylkinu a
// annars er í þ.a. a[i] == x
public static int vitlausHelmingunarLeit(int[] a, int x) {
int low = 0, high = a.length-1;
int mid = (low+high)/2;
while (low <= high) {
// Fastayrðing: 0<= low, high <= a.length-1
// x getur aðeins verið í a[low] : : : a[high]
mid = (low+high)/2;
if (a[mid] < x) {
low = mid;
}
else if (a[mid] > x) {
high = mid;
}
else{
return mid;
}
}
return -1;
}
Sannið að forritið er rétt í því tilviki að stakið x er í fylkinu a. Munið þau 3 atriði sem
þarf að sanna fyrir while lykkjur. Þar sem það er return setning inni í while lykkjunni þá
eru í raun tvö skilyrði sem þurfa að gilda. R1 sem er skilyrðið low <= high og R2 sem er
a[mid] != x. Þar sem við gerum ráð fyrir að x er í a þá þurfum við aðeins að einbeita
okkur að R2 skilyrðinu. Sameiginlega R skilyrðið er því R = R1 ^ R2.Athugið að forskilyrðið fyrir while lykkjuna er forskilyrði fallsin og eins með eftirskilyrðið.
Gefið dæmi um fylki a og tölu x þar sem að fallið skilar réttu gildi. Gefið annað dæmi þar
sem fallið lendir í endalausri lykkju, rekið ástand forritsins í hverju skrefi (þ.e. skrifið gildi á
öllum breytum).
(veit að það er

Er ekki að biðja um eingöngu lausnirnar enda læri ég lítið á því...



Skjámynd

Daz
Besserwisser
Póstar: 3813
Skráði sig: Sun 20. Okt 2002 09:35
Reputation: 141
Staðsetning: Somewhere something went horribly wrong
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf Daz » Fös 07. Okt 2011 22:11

nr. 1.
Skilurðu spurninguna? Geturðu t.d. leyst
"Write a static method max3() that takes three int values as arguments and returns the value of the largest one."?
Leystu þetta, svo höldum við áfram.




Höfundur
baddeh
Nýliði
Póstar: 5
Skráði sig: Mán 22. Ágú 2011 01:16
Reputation: 0
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf baddeh » Fös 07. Okt 2011 22:31

public class Max{
pulbic static void main(String[]args){

}
public static int max3(int a, int b, int c){
int max = a;
if (b > max) max = b;
if (c > max) max = c;
return max;
}
public static double max3(double a, double b, double c){
double max = a;
if (b > max) max = b;
if (c > max) max = c;
return max;
}
}

Er ekki viss hvað ætti að koma í main og hvernig ég á að prenta þetta,,,



Skjámynd

hagur
Besserwisser
Póstar: 3095
Skráði sig: Mið 17. Des 2003 16:11
Reputation: 443
Hafðu samband:
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf hagur » Fös 07. Okt 2011 22:34

Sýnist max3 föllin hjá þér vera alveg rétt ...

Í main þarftu nú bara að kalla í föllin með einhverjum 3 tölum sem parameter og skrifa út það sem þau skila.

Hint: System.out.println




coldcut
Vaktari
Póstar: 2192
Skráði sig: Mið 21. Nóv 2007 02:25
Reputation: 0
Staðsetning: /dev/random
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf coldcut » Fös 07. Okt 2011 22:45

Barði...

Mættu bara niðrí nemendaaðstöðu og ég er viss um að það eru einhverjir sem vilja hjálpa þér með þetta, enda eintómir öðlingar í þessu námi!



Skjámynd

Daz
Besserwisser
Póstar: 3813
Skráði sig: Sun 20. Okt 2002 09:35
Reputation: 141
Staðsetning: Somewhere something went horribly wrong
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf Daz » Fös 07. Okt 2011 23:32

:happy

nr. 2. Það eru til einhverjar aðferðir til að reikna log í base 2, aðrar en math. Það er örugglega búið að nefna það í bókinni þinni og þess vegna er dæmið um það.

svo er þægilegt að nota code tögin þegar maður setur kóða inn hérna

Kóði: Velja allt

public helloWorld
{
   public static void main(String[] args)
   {
      System.out.println("Hello world!")
   }
}




stuxnet
Græningi
Póstar: 25
Skráði sig: Lau 08. Okt 2011 00:30
Reputation: 7
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf stuxnet » Lau 08. Okt 2011 02:20

Kóði: Velja allt

public class Runner {
    public static void main(String[] args) {
        // Kall í dæmi 1
        System.out.println(max3(2,5,7));
        System.out.println(max3(2.0,5.0,7.0));

        // Kall í dæmi 2
        System.out.println(lg(1024));

        // Kall í dæmi 3
        boolean[] b={true, false, true};
        System.out.println(any(b));
        System.out.println(all(b));
    }

    // Dæmi 1
    public static int max3(int x, int y, int z) {
        return x>y?(x>z?x:(y>z?y:z)):(y>z?y:(x>z?x:z));
    }
    public static double max3(double x, double y, double z) {
        return x>y?(x>z?x:(y>z?y:z)):(y>z?y:(x>z?x:z));
    }
    // Dæmi 2
    public static int lg(int n) {
        int lg=0;
        while((n>>=1)!=0){lg++;}
        return lg;
    }

    // Dæmi 3
    public static boolean any(boolean[] a) {
        boolean r=false;
        for(boolean b:a) {r|=b;}
        return r;
    }

    public static boolean all(boolean[] a) {
        boolean r=true;
        for(boolean b:a) {r&=b;}
        return r;
    }
}



Skjámynd

Marmarinn
has spoken...
Póstar: 181
Skráði sig: Mið 13. Feb 2008 16:57
Reputation: 0
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf Marmarinn » Lau 08. Okt 2011 03:03

return x>y?(x>z?x:(y>z?y:z)):(y>z?y:(x>z?x:z));

Ljótur , einstaklega ljótur, og ólæsilegur kóði sem mér sýnist þar að auki að sé ekki kendur í bókinni sem var vísað í.
Kafli. http://introcs.cs.princeton.edu/java/13flow/ (ekki notað en minnst á þarna)



Skjámynd

Daz
Besserwisser
Póstar: 3813
Skráði sig: Sun 20. Okt 2002 09:35
Reputation: 141
Staðsetning: Somewhere something went horribly wrong
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf Daz » Lau 08. Okt 2011 10:12

stuxnet skrifaði:--snip code nema--

Kóði: Velja allt

        return x>y?(x>z?x:(y>z?y:z)):(y>z?y:(x>z?x:z));


Lausnir verða ekki betri ef þær eru í færri línum, ég sé ekki betur en að þetta séu 5 if setningar sem baddeh leysti með 2. Svo er ekki mikil hjálp í því að gefa upp heila lausn í fyrsta heimaverkefni, þá er ekki góð von á að næsta verkefni takist.




stuxnet
Græningi
Póstar: 25
Skráði sig: Lau 08. Okt 2011 00:30
Reputation: 7
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf stuxnet » Lau 08. Okt 2011 14:37

Daz skrifaði:
stuxnet skrifaði:--snip code nema--

Kóði: Velja allt

        return x>y?(x>z?x:(y>z?y:z)):(y>z?y:(x>z?x:z));


Lausnir verða ekki betri ef þær eru í færri línum, ég sé ekki betur en að þetta séu 5 if setningar sem baddeh leysti með 2. Svo er ekki mikil hjálp í því að gefa upp heila lausn í fyrsta heimaverkefni, þá er ekki góð von á að næsta verkefni takist.


Aðalmálið var ekki að gefa honum lausn, heldur að sýna honum hvernig kallað er í föll og hvernig prenta á skilagildið út. Hann er augljóslega ekki að fara að nota svona "obfuscated" kóða, þótt hann gefi rétt svör.



Skjámynd

Daz
Besserwisser
Póstar: 3813
Skráði sig: Sun 20. Okt 2002 09:35
Reputation: 141
Staðsetning: Somewhere something went horribly wrong
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf Daz » Lau 08. Okt 2011 15:27

Ef þú vildir sýna honum hvernig á að kalla á föll þá gastu bara gert

Kóði: Velja allt

public class HelloWorld2
{
   public static void main(String[] args)
   {
      System.out.println(hellostring());
   }
   public String hellostring()
   {
      return "Hello world!";
   }
}


Og þetta var ekki "obfuscated" þetta var bara illa uppsett nested if. En ég er ekki beint að setja út á kóðann hjá þér, datt bara í hug að einhver gæti ruglast og haldið að einnar línu lausn gæti verið betri/hraðvirkari en þessi lausn sem baddeh bjó til, en það er fjöldi og tegund aðgerða sem skiptir mestu máli, ekki fjöldi lína.




stuxnet
Græningi
Póstar: 25
Skráði sig: Lau 08. Okt 2011 00:30
Reputation: 7
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf stuxnet » Lau 08. Okt 2011 16:09

baddeh, þú átt einkaskilaboð með MSN netfangi mínu ef þig vantar aðstoð (í þau skipti sem ég hef tíma). Skal reyna að útskýra fyrir þér hluti á sem einfaldastan hátt, gefið að ég skilji það sjálfur. :)

Daz skrifaði:Ef þú vildir sýna honum hvernig á að kalla á föll þá gastu bara gert

Kóði: Velja allt

---removed---


Og þetta var ekki "obfuscated" þetta var bara illa uppsett nested if. En ég er ekki beint að setja út á kóðann hjá þér, datt bara í hug að einhver gæti ruglast og haldið að einnar línu lausn gæti verið betri/hraðvirkari en þessi lausn sem baddeh bjó til, en það er fjöldi og tegund aðgerða sem skiptir mestu máli, ekki fjöldi lína.


Daz: Þetta er alveg hárrétt hjá þér, þetta er mjög slæmt dæmi um hvenær á að nota ternary operatorinn, uppsetningin á forritinu er það sem ég vildi koma til skila, og gefa honum smá template til að vinna með og skilja. Það á alltaf að hafa læsileikann í fyrirrúmi þegar verið er að forrita þar sem að compilerinn myndi líklegast sjá við manni og outputta sama kóða í lokinn fyrir mismunandi útfærslur af if(og margt annað) ef það er notað til að reikna út sama hlutinn.



Skjámynd

Daz
Besserwisser
Póstar: 3813
Skráði sig: Sun 20. Okt 2002 09:35
Reputation: 141
Staðsetning: Somewhere something went horribly wrong
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf Daz » Lau 08. Okt 2011 17:06

Yay, ég hafði mögulega ekki fullkomlega rangt fyrir mér :sleezyjoe

Annars held ég að það sé fínt að hafa svona umræður fyrir opnum tjöldum, það auðveldar þeim sem eru að leita sér hjálpar að finna hana. Að því gefnu að einhver sé tilbúinn að spyrja spurninga sem öðrum gæti þótt "augljósar".



Skjámynd

intenz
Besserwisser
Póstar: 3337
Skráði sig: Mið 08. Okt 2008 22:07
Reputation: 35
Staðsetning: /dev/null
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf intenz » Lau 08. Okt 2011 18:49

Java + IntelliJ er æði.

Ef þú ert með IntelliJ mæli ég með því að nota sout<tab> og psvm<tab> ... sparar manni mikil skrif. :japsmile


i7 920 @ 2.8 GHz | Gigabyte EX58-UD3R | CSX 3x2 GB DDR3 @ 1600 MHz | Gigabyte ATi Radeon HD 5850 | Sileo 500 | RealPower 600W | Corsair Force 3 120 GB | 27" FullHD | W7 x64


Höfundur
baddeh
Nýliði
Póstar: 5
Skráði sig: Mán 22. Ágú 2011 01:16
Reputation: 0
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf baddeh » Mán 10. Okt 2011 11:36

Takk fyrir hjálpin! Ég er búinn með 1-3 með ykkar hjálp :D

Ef einhver hefur einhver tips um nr. 4 þá eru þau vel þegin :megasmile



Skjámynd

appel
Stjórnandi
Póstar: 5487
Skráði sig: Fös 13. Jún 2003 16:46
Reputation: 1012
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf appel » Mán 10. Okt 2011 19:58

IntelliJ er sorp, hægvirkt og ljótt.

Notaðu Eclipse væni, og vendu þig á það.

:happy :megasmile


*-*

Skjámynd

Daz
Besserwisser
Póstar: 3813
Skráði sig: Sun 20. Okt 2002 09:35
Reputation: 141
Staðsetning: Somewhere something went horribly wrong
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf Daz » Mán 10. Okt 2011 20:32

appel skrifaði:IntelliJ er sorp, hægvirkt og ljótt.

Notaðu Eclipse væni, og vendu þig á það.

:happy :megasmile


úff ef eitthvað er hægvirkt...
En það er hægt að customiza það upp og niður aftur, sem getur stundum verið galli, ég hef of oft gefist upp og sett Eclipse upp upp á nýtt og reynt að fara rólega í addons.




axyne
Of mikill frítími
Póstar: 1777
Skráði sig: Fim 12. Jún 2003 17:16
Reputation: 72
Staðsetning: DK
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf axyne » Mán 10. Okt 2011 21:50

Daz og appel,

Hver er skoðun ykkar á NetBeans samanborið við t.d Eclipse ?


Electronic and Computer Engineer

Skjámynd

Daz
Besserwisser
Póstar: 3813
Skráði sig: Sun 20. Okt 2002 09:35
Reputation: 141
Staðsetning: Somewhere something went horribly wrong
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf Daz » Þri 11. Okt 2011 08:51

Hef ekki notað það, hef sett það upp og búið til hello world, en ekki meira. Hef raunar enga gríðarlega reynslu af IntelliJ heldur, en ég hef þó "unnið" á því í gegnum eitt trial period.



Skjámynd

appel
Stjórnandi
Póstar: 5487
Skráði sig: Fös 13. Jún 2003 16:46
Reputation: 1012
Staða: Ótengdur

Re: Hjálp í forritun!!!

Pósturaf appel » Þri 11. Okt 2011 14:26

Netbeans er í lagi svosem.


*-*