Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pabop_e2 [2011-02-15 09:38]
Joakim Forsgren
pabop_e2 [2017-09-01 14:54]
Line 1: Line 1:
-====== Extrauppgifter 2 ====== 
- 
-1. 
-Skriv en funktion 
-**bool isprime(int $tal)** 
-som tar emot ett tal och undersöker om det är ett primtal. Om det är ett  
-primtal skall funktionen returnera true annars false. 
-Utgå från att det endast kommer godkända värden till funktionen. 
-Du skall använda funktionen i följande program. 
- 
-<code php> 
- 
-$antal = 100; 
-echo "Detta är alla primtal mellan 2 och " . $antal . "\n"; 
-$i=2; 
-while ($i <= antal) { 
-  if(isprime(i)) 
-     echo $i . "\n"; 
-  } 
-  $i++; 
-} 
-</code> 
- 
-2. 
-I ett samboförhållnade hade det i många år varit prat om att man skulle gifta sig.  
-När ämnet än en gång togs upp (2002-12-03) sade mannen i huset att han hade som  
-enda villkor att han skulle gifta sig ett datum och klockslag där alla tal var primtal. 
-a. Skriv ett program som listar alla rimliga datum som är primtal.  
-Utgå från att mannen var 36 år. Obs! år, månad och dag skall vara primtal.  
-b. Skriv ett tillägg som listar alla klockslag som är primtal. 
- 
-Du skall använda dig av din funktion isprime() 
- 
-I exemplet ovan så skrev mannen ett program som listade alla godkända datum och den blivande frun fick välja.  
-De gifte sig i Arnäs kyrka 2003-07-05 kl 13.59 och är idag mycket lyckligt gifta. Inte undra på... 
- 
-3. 
-Skriv en funktion  
-**double my_sqrt(double $tal)**  
-som beräknar ett närmevärde till roten ur ett tal, du skall använda följande enkla algoritm: 
- 
-  IN A 
-  X = A/2 
-  upprepa 10 ggr 
-      X = (A/X + X)/2 
-  UT X 
- 
-Funktionen skall användas av ett program. 
- 
-4. 
-Du skall göra om funktionen så att man skickar med hur många gånger man skall upprepa 
-**double my_sqrt(double $tal, int $n)**  
-Pröva med lite oilka tal för att se hur många gånger som är lämpligt för att få att värde som kan anses som ok. 
- 
-5. 
-Skriv ett program som läser in ett tal och faktorisera det i primtal. 
- 
-6. 
-Skriv ett program som hittar alla perfekta tal under 10 000 (4 st).\\ 
-Ett perfekt tal är ett heltal som är större än 1 och som är summan av sina delare. \\ 
-Som delare räknas talet 1 in, men naturligtvis inte talet självt (då hade de perfekta talen definierats bort).\\  
-Exempel: 6 är ett perfekt tal eftersom det är delbart med 1, 2 och 3 och summan av dessa är just 6. 
- 
- 
-Det finns flera olösta gåtor angående de perfekta talen:\\ 
-- Man vet inte om det finns ändligt eller oändligt många perfekta tal. \\ 
-- Hittills har alla perfekta tal man hittat slutat på 6 eller 28. Men ingen har lyckats visa om alla perfekta tal gör det. \\ 
-- Hittills har man inte lyckats hitta något udda perfekt tal. Men det är inte bevisat att det inte finns några sådana.\\ 
-- 2005 känner man till 42 perfekta tal. 
- 
-7. 
-Vad kommer följade program att skriva ut? 
-<code php> 
-<?php 
-function printname($name, $n) { 
-    if($n<1) { 
-      return 0; 
-    } 
-    printname($name,$n-1); 
-    echo $name  . " n = " . $n . "\n"; 
-} 
- 
-printname("Joakim",3); 
- 
-</code> 
- 
- 
-8. 
-Ett program ska "rita" en diamant vars storlek bestäms av ett inmatat positivt heltal. 
-  Programkörnings exempel: 
-  Diamantens storlek: 5 
-         ¤ 
-        ¤ ¤ 
-       ¤ ¤ ¤ 
-      ¤ ¤ ¤ ¤ 
-     ¤ ¤ ¤ ¤ ¤ 
-      ¤ ¤ ¤ ¤ 
-       ¤ ¤ ¤ 
-        ¤ ¤ 
-         ¤ 
- 
-9. 
-Gör ett program som läser in ett tal (max 5000) och skriver ut talet med romerska siffror. Kan ju vara klokt att googla lite om hur det egentligen funkar... 
-  Skriv in ett tal: 9 
-  Blir med romerska siffror: IX 
-  Skriv in ett tal: 49 
-  Blir med romerska siffror: XLIX (Ej IL) 
-  Skriv in ett tal: 1999 
-  Blir med romerska siffror: MCMXCIX (Ej MIM) 
-  Skriv in ett tal: 445 
-  Blir med romerska siffror: CDXLV (Ej CDVL) 
- 
-10. 
-UPPGIFT 1 – KANINER (uppgift nr1 ur kval till PO 2003)\\ 
-Kaniner är bra på att föröka sig. I den här uppgiften tänker vi oss att det finns obegränsat med hannar 
-och att inga kaniner dör. Vi ska försöka simulera hur många kaninhonor det finns efter varje månad om 
-det vid tiden 0 finns en enda nyfödd kaninhona. Vi antar att det tar x månader innan varje kaninhona är 
-könsmogen och att hon från och med denna ålder (x månader) varje månad föder en kull innehållande 
-y kaninungar av honkön. \\ 
-Indata: Programmet ska fråga efter honornas könsmognadsålder x; <m>1 <= x <= 5</m>, samt antal honor per 
-kull y; <m>1 <= y <= 5</m>. \\ 
-Utdata: Programmet ska skriva en rad för varje månad under totalt 10 månader \\ 
-Exempel: 
-  Könsmognadsålder ? 2 
-  Honor per kull ? 1 
-  Efter 1 m: 1 
-  Efter 2 m: 2 
-  Efter 3 m: 3 
-  Efter 4 m: 5 
-  Efter 5 m: 8 
-  Efter 6 m: 13 
-  Efter 7 m: 21 
-  Efter 8 m: 34 
-  Efter 9 m: 55 
-  Efter 10 m: 89 
-Förklaring: Från början finns 1 nyfödd hona, låt oss kalla henne Lisa. Efter 1 månad är Lisa fortfarande 
-ensam. Efter 2 månader har Lisa fått en kull. Efter 3 månader finns 3 honor eftersom Lisa fått ytterligare 
-en kull. Efter 4 månader finns 5 honor eftersom både Lisa och hennes första unge har fått varsin kull 
-med en hona i varje.