Avatar billede rasmuslarsen2 Nybegynder
05. juli 2005 - 12:12 Der er 14 kommentarer og
1 løsning

Opgave i javabog.dk

Hej. Jeg er igang med at lære Java fra javabog (bruger den rigtige bog, men den kan findes på javabog.dk) og er kommet til at skulle lave denne opgave:

2.10.2 Kurveprogram

  1.

      Skriv et program, der udskriver grafen over kvadratrod-funktionen (Math.sqrt()).
      Vink: Når du vil skrive en "*" uden linjeskift, kan du bruge System.out.print("*") (dvs. uden 'ln'). Når du vil skifte linje, kan du bruge System.out.println() uden parametre.
  2.

      Lav kurveprogrammet om, så det i stedet viser kurven over polynomiet 0.2*x*x +0.5*x +2. Lav programmet, så det er nemt at se, hvor man skal rette, for at ændre funktionen, intervalstart, intervalslut, skalering og forskydning af y-aksen. Dvs. lav det til variabler og brug kommentarer, til at markere stederne i programmet.
  3.

      Lav om på kurvetegningsprogrammet, så kurven ikke er udfyldt, men tegnes som en streg.
  4.

      Eventuelt: Udvid kurveprogrammet til at udregne det totale antal af stjerner, der skrives ud (udregn integralet af funktionen numerisk ved at summere arealet under grafen). Er det nemmest at gøre løbende, mens stjernerne tegnes, eller bagefter? Hvordan ville du gøre på den ene og på den anden måde?


----------------------
Det jeg ikke forstår er hvordan man kan lave en graf, uden at vide noget om GUI, hører den opgave overhovedet hjemme i Kap.2 Basal Programmering? Hvis den gør, kan i så give mig et lille kode eksempel til opgaven, dog helst ikke lav det hele, da jeg jo laver opgaverne for selv at lære noget :)


På forhånd tak!
Avatar billede arne_v Ekspert
05. juli 2005 - 12:16 #1
Jeg tror at de forventer at du tegner i ASCII !


      **
    **  **  **
  **      **
**       

(ser forfærdeligt ud men prøv og copy paste ind i notepad)
Avatar billede rasmuslarsen2 Nybegynder
05. juli 2005 - 12:22 #2
Hmm, hvordan gør man det med kode, sådan at de der * følger kvadratrodsfunktionen?
Avatar billede rasmuslarsen2 Nybegynder
05. juli 2005 - 12:31 #3
Også lige et lille andet spørgsmål i:

2.10.1 Befordringsfradrag

Lav et program, som udregner befordringsfradraget (det, der kan trækkes fra i skat ud fra, hvor langt der er mellem arbejde og hjem).

  1.

      Udregn og udskriv fradraget pr. dag fra 25 til 75 km på hver sin linje.
  2.

      Udregn og udskriv fradraget pr. dag fra 25 til 150 km på hver sin linje.
  3.

      Udregn og udskriv fradraget pr. dag fra 10 til 150 km på hver sin linje. Kun hver 10. km udskrives (10km, 20km, 30km...). Reglerne for fradraget for år 2000 var følgende:
      første 24 km intet fradrag
      25 - 100 km 154 øre pr. km
      over 100 km 77 øre pr. km


Tror i der ved:
1. Udregn og udskriv fradraget pr. dag fra 25 til 75 km på hver sin linje.
2. Udregn og udskriv fradraget pr. dag fra 25 til 150 km på hver sin linje.

at han virkelig mener først fra 25 til 75, og så fra 25 igen og til 150, tror i måske det skulle have været 1. 25 til 75 og 2. 75 til 150??
Avatar billede rasmuslarsen2 Nybegynder
05. juli 2005 - 12:34 #4
Bliver det ovenstånede (Befordingsfradrags opgaven) ikke også mega mange linier nedad så?
Avatar billede rasmuslarsen2 Nybegynder
05. juli 2005 - 13:00 #5
Jeg har løst befordringsfradrag opgaven, men jeg kan stadigvæk overhovedet ikke se hvordan jeg kan tegne en graf med de *'er. Nogen der kunne give et kode eksempel?
Avatar billede arne_v Ekspert
05. juli 2005 - 13:03 #6
prøv at lave et 2 dimensionelt char array f.eks. 20 x 20

så fylder du '*' og ' ' i elementerne udfra funktionen
Avatar billede rasmuslarsen2 Nybegynder
05. juli 2005 - 13:37 #7
Hmm, jeg har ikke lige lært om arrays endnu :/ Det kommer i Kap. 8 og dette er den sidste opgave i Kap. 2... fatter ikke hvad den laver her så, den er jo alt for svær til Basal programmering når jeg er nødt til at få jer til at hjælpe mig med den, og så har jeg alligevel ikke lært det jeg skal bruge endnu... burde den ikke være placeret i avanceret for dette Kap. ?
Avatar billede arne_v Ekspert
05. juli 2005 - 13:40 #8
så må du lave det uden arrays

for(int y = 20; y >= 0; y++) {
  for(int x = 0; x < 20; x++) {
      if(???) {
          System.out.print('*');
      } else {
          System.out.print(' ');
      }
    }
    System.out.println();
}
Avatar billede rasmuslarsen2 Nybegynder
05. juli 2005 - 14:12 #9
Ok, men hvordan skal Math.Sqrt() passe ind i den IF-sætning?
Avatar billede arne_v Ekspert
05. juli 2005 - 14:15 #10
skal du ikke lære noget selv ?

:-)

if(y == (int)Math.Sqrt(x)) {

lyder rigtig
Avatar billede jakoba Nybegynder
05. juli 2005 - 17:14 #11
Here er en 'sinuskurve' tegnet med stjerner sådan som opgaven lægger op til:

**********                  //  0 grader  sin(x) == 0
*************
***************          // 30 grader  sin(x) == 0,5
*****************
******************      // 60 grader  sun(x) == 8,???
*******************
*******************    //90 grader  sin(x) == 1
*******************
******************      //120 grader  sun(x) == 8,???
*****************
***************          // 30 grader  sin(x) == 0,5
*************
**********                  //180 grader  sin(x) == 0
*******
*****                          // 210 grader  sin(x) ==-0,5
***
**                                //240 grader  sin(x) ==-8,???
*
*                                  //270 grader  sin(x) ==-1
*                         
**                                // osv. osv.
***
*****
*******
**********
*************
***************
*****************
******************
*******************
*******************
*******************
******************
*****************
***************
*************
**********
*******
*****
***
**
*
*
*
**
***
*****
*******
**********
Avatar billede rasmuslarsen2 Nybegynder
05. juli 2005 - 18:19 #12
Tak for hjælpen, jeg fik som du siger ikke lært meget af det her, men jeg fik lavet opgaven og ellers ville jeg ikke have fået den lavet. Smid et svar hvis i vil have point.
Avatar billede arne_v Ekspert
05. juli 2005 - 19:48 #13
.
Avatar billede arne_v Ekspert
05. juli 2005 - 19:53 #14
var det me dvilje jeg fik dem alle eller skulle jakob havde haft ?
Avatar billede rasmuslarsen2 Nybegynder
06. juli 2005 - 12:48 #15
Øhm, ja det var med vilje, fordi jeg kun brugte det du skrev (jeg ville have en "vandret" graf). Men jakoba hvis du gerne ville have haft nogen, kan du så ikke skrive det her?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester