Computer-Ag am WvS Blog der Computer-AG am Werner von Siemens Gymnasium Berlin

24. Mai 2019

24.5.2019

Filed under: Allgemein — admin @ 15:34

Quint und Jannik und Daniel und Angelo sind da. Frank Oppermann ist auch kurz gekommen.

Wir „spielen“ mit Holzklötzen (n über k). Fotos beim nächsten Mal.

17. Mai 2019

17.5.2019

Filed under: Allgemein — admin @ 16:05

Morten, Angelo sind da und irgendwann auch Daniel. Angelo und Robert sinnieren über Summenbildung und n über k.

Nächste Mal normal.

10. Mai 2019

10.5.2019

Filed under: Allgemein — admin @ 13:39

Felix ist da.

In PHP mit rekursiver Funktion muss für eine Ergebnis ein „return“ eingefügt werden. Kapiere ich nicht so ganz, ist aber so:

function recur($n,$k,$res=0) {
$res = $res + $n;
if ($n>3) {
return recur($n-1,1,$res);
} else {
var_dump($res);
return $res;
}
}

Für n über k geht es so:

$res = 0;
function recur1($n,$k) {
if ($k === 1) {
return $n;
}
if ($k === $n) {
return 1;
}
while($n > 0) {
return recur1($n-1,$k) + recur1($n-1,$k-1);
$n = $n-1;
}
return $res;
}
var_dump(recur1(10,4));

nächste mal normal …;

3. Mai 2019

3.5.2019

Filed under: Allgemein — admin @ 13:37

Jannik und Felix sind da. Wir reden über RAM und vRAM (Video-RAM).

Robert baut ein Summierskript, basierend auf dem Memoizer von Crockford:

<input type="text" id="input">
</input>
<button id="go">go</button>
<div id="output">
</div>
<script>
var memoizer = function (memo, formula) { 
  var recur = function (n) {
    var result = {
          calc:"",
	  notation:""
    }
    result.calc = memo.calc[n]; 
    result.notation = memo.notation[n];
    if (typeof result.calc !== 'number') {
      result = formula(recur, n); 
//~       console.log(result);
      memo.calc[n] = result.calc;
      memo.notation[n] = result.notation;
    } 
    return result;
  }; 
  return recur;
};

var sumUp = memoizer({calc:[0, 1], notation:["", "1"]}, function (recur, n) {
    var result = {
          calc:"",
	  notation:""
    }
  result.calc = parseInt(n,10) + recur(n -1).calc;
  result.notation = n + "+" + recur(n -1).notation;
  return result; 
})

var input = document.getElementById("input");

var button = document.getElementById("go");

var output = document.getElementById("output");

button.onclick = function() {
//	alert(input.value);
       res = sumUp(input.value);
console.log(typeof (input.value | 0));
console.log(res);
       output.innerHTML = res.calc + " = " + res.notation;
}


</script>


Angelo ist in Schweden.

Powered by WordPress