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-30 14:08]
Joakim Forsgren
prog1_11 [2017-03-27 10:59]
Daniel Viström
Line 21: Line 21:
  
 3a. 3a.
-Skriv en rekursiv funktion som anropar sig själv och på så sätt räknar ner heltalen  +Skriv en rekursiv funktion **calculate1($tal)** som anropar sig själv och på så sätt räknar ner heltalen  
-från till 1 och skriver ut samtliga tal.+från **$tal** till 1 och skriver ut samtliga tal.
  
-3b*+3b. 
-Skriv en rekursiv funktion som anropar sig själv och på så sätt räknar upp heltalen  +Skriv en rekursiv funktion **calculate2($tal)** som anropar sig själv och på så sätt räknar upp heltalen  
-från 1 till och skriver ut samtliga tal.+från 1 till **$tal** och skriver ut samtliga tal.
  
 4. 4.
Line 66: 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>