Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
prog1_11 [2013-04-29 14:59]
Daniel Viström
prog1_11 [2015-09-10 08:49]
127.0.0.1 external edit
Line 20: Line 20:
 antal år ( se uppgift 5036 ). antal år ( se uppgift 5036 ).
  
-3.+3a.
 Skriv en rekursiv funktion som anropar sig själv och på så sätt räknar ner heltalen  Skriv en rekursiv funktion som anropar sig själv och på så sätt räknar ner heltalen 
 från 5 till 1 och skriver ut samtliga tal. från 5 till 1 och skriver ut samtliga tal.
 +
 +3b*.
 +Skriv en rekursiv funktion som anropar sig själv och på så sätt räknar upp heltalen 
 +från 1 till 5 och skriver ut samtliga tal.
  
 4. 4.
Line 62: Line 66:
 10*. 10*.
 Skriv en rekursiv funktion **siffsum**, med en heltalsparameter **$n**. Funktionen ska returnera summan av siffrorna i talet. Skriv en rekursiv funktion **siffsum**, med en heltalsparameter **$n**. Funktionen ska returnera summan av siffrorna i talet.
 +
 +<php>
 +/*
 +<?php
 +function u1($n) {
 +  if ($n == 1) {
 +    return 4;
 +  }
 +  return 2*u1($n-1)-3;
 +}
 +echo "<br> u1, svar: " . u1(4);
 +
 +function u2($n) {
 +  if ($n == 1) {
 +    return 2.8;
 +  }
 +  return 1.12*u2($n-1);
 +}
 +echo "<br> u2, svar: " . u2(4);
 +
 +
 +echo '<br>u3 a och b';
 +function u3a($n) {
 +  echo '<br>' . $n;
 +  if ($n == 1) {
 +    return;
 +  }
 +  u3a($n-1);
 +}
 +u3a(5);
 +
 +function u3b($n) {
 +  if ($n == 1) {
 +    echo '<br>' . $n;
 +    return;
 +  }
 +  u3b($n-1);
 +  echo '<br>' . $n;
 +}
 +u3b(5);
 +
 +function u4($str, $antal){
 +  echo $antal . ':' . $str . '<br />';
 +  if ($antal == 1){  // Brytvillkor.
 +    return;
 +  }
 +  u4($str, $antal-1);
 +
 +}
 +echo '<br> u4:<br>';
 +u4('Hello World', 5);
 +
 +
 +function u5($b,$n) {
 +  if ($n == 1) {
 +    return $b;
 +  }
 +  return $b * u5($b,$n-1);
 +}
 +echo "<br> u5, svar: " . u5(2.2,3);
 +
 +function u6($n) {
 +  if ($n == 1) {
 +    return $n;
 +  }
 +  return $n * u6($n-1);
 +}
 +echo "<br> u6, svar: " . u6(4);
 +
 +function u7($n) {
 +  if ($n == 1) {
 +    echo "$n x 7 = " . $n*7 . "<br>";
 +    return;
 +  }
 +  u7($n-1);
 +  echo "$n x 7 = " . $n*7 . "<br>";
 +}
 +echo "<br> u7, svar: <br>";
 +u7(10);
 +function u8($n1,$n2) {
 +  if ($n1 > $n2) {
 +    return;
 +  }
 +  u8($n1,$n2-1);
 +  echo $n2 . ',';
 +}
 +echo "<br> u8, svar: ";
 +u8(3,6);
 +
 +function u9($n) {
 +  if ($n == 1) {
 +    return 15000;
 +  }
 +  return 1.04*u9($n-1)+400;
 +}
 +echo "<br> u9, svar: " . u9(3);
 +
 +
 +function u10($n) {
 +  if ((int)($n/10) == 0) {
 +    return $n;
 +  }
 +  return u10((int)($n/10)) + $n%10;
 +}
 +echo "<br> u10, svar: " . u10(981);
 +*/
 +</php>