/* PROJEKTC.C */ /* Ufuldstændigt program til brug ved test af og tidtagning på */ /* C funktionen julia til projekt C ved Datalogi A e97 */ /* Oprindelig version ved Søren Eilers 20.10.97 */ /* Denne version af XXXXXXXXXXX cpr.nr. xxxxxx-xxxx */ /* XXXXXXXXXXX cpr.nr. xxxxxx-xxxx */ /* XXXXXXXXXXX cpr.nr. xxxxxx-xxxx */ /* Resultat af tidskørsel i opgave 3(a): XXXXXXX sekunder */ /* Resultat af tidskørsel i opgave 3(b): XXXXXXX sekunder */ /* Resultat af tidskørsel i opgave 3(c): XXXXXXX sekunder */ /* PRÆPROCESSORDIREKTIVER */ /* bør ikke ændres */ #include #include /* FUNKTIONER TIL TIDTAGNING */ /* bør ikke ændres */ clock_t taendtid, sluktid; void taend_ur(void); void sluk_ur(void); double vis_ur(void); void taend_ur() { taendtid = clock(); } void sluk_ur() { sluktid = clock(); } double vis_ur() { return ((sluktid-taendtid)/CLOCKS_PER_SEC); } /* FUNKTIONEN JULIA */ /* kommandoer tilføjes her */ int julia(double, double, int); /* prototype */ int julia(double x0, double y0, int maxiteration) { /* erklæringer af variable til brug i funktionen her */ double a; /* kommenteret programkrop her */ a = x0 + y0; /*FULDSTÆNDIG IRRELEVANT */ /* returner resultatet (0 eller 1) med return kommando */ if (a > 1 && maxiteration > 30) /*FORKERT*/ return(0); else return(1); } /* HOVEDPROGRAM */ /* tester funktionen julia og måler tidsforbrug */ /* kommandoer til videre måling af tidsforbrug kan indsættes sidst i */ /* funktionen */ main() { int n; /* TEST OG TIDSBEREGNING AF julia(0.0, 0.0, 25) */ taend_ur(); /* tænd uret */ for(n=1; n<=10000; n++) /* gentag 10000 gange */ julia(0.0, 0.0, 25); sluk_ur(); /* sluk uret */ printf("julia(0.0, 0.0, 25)\t\t"); printf("[RESULTAT = %d]\t", julia(0.0, 0.0, 25)); /* udskriv resultat */ printf("[FACIT = 1]\t"); printf("[TID = %f]\n", vis_ur()); /* udskriv tidsforbrug*/ /* TEST OG TIDSBEREGNING AF julia(0.0, 0.0, 50) */ taend_ur(); for(n=1; n<=10000; n++) julia(0.0, 0.0, 50); sluk_ur(); printf("julia(0.0, 0.0, 50)\t\t"); printf("[RESULTAT = %d]\t", julia(0.0, 0.0, 50)); printf("[FACIT = 1]\t"); printf("[TID = %f]\n", vis_ur()); /* TEST OG TIDSBEREGNING AF julia(-0.12355, 0.885778, 25) */ taend_ur(); for(n=1; n<=10000; n++) julia(-0.12355, 0.885778, 25); sluk_ur(); printf("julia(-0.12355, 0.885778, 25)\t"); printf("[RESULTAT = %d]\t", julia(-0.12355, 0.885778, 25)); printf("[FACIT = 1]\t"); printf("[TID = %f]\n", vis_ur()); /* TEST OG TIDSBEREGNING AF julia(-0.12355, 0.885778, 50) */ taend_ur(); for(n=1; n<=10000; n++) julia(-0.12355, 0.885778, 50); sluk_ur(); printf("julia(-0.12355, 0.885778, 50)\t"); printf("[RESULTAT = %d]\t", julia(-0.12355, 0.885778, 50)); printf("[FACIT = 0]\t"); printf("[TID = %f]\n", vis_ur()); /* TEST OG TIDSBEREGNING AF julia(1.3, 1.3, 25) */ taend_ur(); for(n=1; n<=10000; n++) julia(1.3, 1.3, 25); sluk_ur(); printf("julia(1.3, 1.3, 25)\t\t"); printf("[RESULTAT = %d]\t", julia(1.3, 1.3, 25)); printf("[FACIT = 0]\t"); printf("[TID = %f]\n", vis_ur()); /* TEST OG TIDSBEREGNING AF julia(1.3, 1.3, 50) */ taend_ur(); for(n=1; n<=10000; n++) julia(1.3, 1.3, 50); sluk_ur(); printf("julia(1.3, 1.3, 50)\t\t"); printf("[RESULTAT = %d]\t", julia(1.3, 1.3, 50)); printf("[FACIT = 0]\t"); printf("[TID = %f]\n", vis_ur()); /* INDSÆT KOMMANDOER TIL MÅLING AF TIDSFORBRUG (OPGAVE 3) HER */ return(0); }