• kth.se
  • Studentwebben
  • Intranät
  • kth.se
  • Studentwebben
  • Intranät
Logga in
ID1021 HT22 (50347)
Introduktion
Hoppa över till innehåll
Översikt
  • Logga in
  • Översikt
  • Kalender
  • Inkorg
  • Historik
  • Hjälp
Stäng
  • Min översikt
  • ID1021 HT22 (50347)
  • Uppgifter
  • Introduktion
  • Startsida
  • Kursöversikt
  • Uppgifter
  • Course Evaluation

Introduktion

  • Inlämningsdatum 31 aug 2022 av 18:00
  • Poäng 2
  • Lämnar in en filuppladdning
  • Filtyper pdf
  • Tillgänglig 29 aug 2022 kl 8:00–2 sep 2022 kl 23.59
Den här uppgiften låstes 2 sep 2022 kl 23.59.

En mjukstart för att se till så att man kan mäta tider och skriva en snygg rapport. Rapporten skall skrivas i LaTeX och det gör du antingen (rekommenderas) genom att installera LaTeX lokalt på din laptop, eller genom att använda Overleaf. Links to an external site.  Fördelen men Overleaf är att kommer igång på fem minuter och att du ser vad resultatet blir hela tiden. Nackdelen är att du inte kan använda din egen editor och att det blir lite jobbigt när du skall uppdatera grafer mm.

  • arrays.pdf
  • template.tex

 

Förslag på hur man kan lösa första uppgiften:

  import java.util.Random;

class Access {

    private static int access(int[] arr, int[] indx) {

	int loop = indx.length;
	
	int sum = 0;
	for (int i = 0; i < loop; i++) {
	    sum += arr[indx[i]];
	}
	return sum;
    }

    private static void time(int tries, int loop, int n) {

	Random rnd = new Random();

	int[] indx = new int[loop];
	for (int i = 0; i < loop ; i++) {
	    indx[i] =  rnd.nextInt(n);
	}

	int[] arr = new int[n];
	for (int i = 0; i < n ; i++) {
	    arr[i] =  i;
	}

	double min = Double.POSITIVE_INFINITY;
	double max = 0;	
	double sum = 0;
	
	for (int i = 0; i < tries; i++) {
	    double n0 = System.nanoTime();	
	    access(arr, indx);
	    double n1 = System.nanoTime();
	    double t = (n1 - n0);
	    if ( t < min )
		min = t;
	    if ( t > max )
		max = t;
	    sum += t;
	}
	System.out.printf("n: %6d \t min: %.2fns\t avg: %.2fns\t max: %.2fns\n", n, (min/(loop)), (sum/(tries*loop)), (max/(loop)));
    }
    
    public static void main(String[] arg) {

	int[] sizes = {200,400,800,1600,3200,6400,12800,25600};

	for ( int n : sizes) {
	    time(10000, 100000, n);
	}

    }
}
  
1661961600 08/31/2022 06:00pm
Inkludera en beskrivning
Ytterligare kommentarer:
Maxresultat för gradering till > poäng
Inkludera en bedömningstitel

Matris

Hitta matris
Inkludera en titel
Hitta en matris
Titel
Du har redan bedömt studenter med den här matrisen. Större ändringar kan påverka resultaten för deras uppgifter.
 
 
 
 
 
 
 
     
Det går inte att ändra en matris efter att du börjat använda den.  
Titel
Kriterier Bedömningar Poäng
Det här kriteriet är länkat till ett lärandemål Beskrivning av kriterium
tröskel: 5 poäng
Redigera beskrivning av kriterium Ta bort kriterium rad
5 till >0 poäng Full poäng blank
0 till >0 poäng Inga poäng blank_2
Det här området kommer användas av utvärderaren för kommentarer relaterade till det här kriteriet.
poäng
  / 5 poäng
--
Ytterligare kommentarer
Det här kriteriet är länkat till ett lärandemål Beskrivning av kriterium
tröskel: 5 poäng
Redigera beskrivning av kriterium Ta bort kriterium rad
5 till >0 poäng Full poäng blank
0 till >0 poäng Inga poäng blank_2
Det här området kommer användas av utvärderaren för kommentarer relaterade till det här kriteriet.
poäng
  / 5 poäng
--
Ytterligare kommentarer
Poängsumma: 5 av 5