Archiv für das Tag 'programmieren'



Piwik: Aufenthaltsdauer und Absprungrate korrigieren

Browservertelung 12/2011

Bereits vor drei Jahren habe ich einen Artikel über die Aufenthaltsdauer und Absprungrate in Piwik geschrieben. Durch ein Kommentar wurde ich darauf aufmerksam gemacht, dass sich beim Piwik-Tracking-Code etwas getan hat, also habe ich es mir genauer angeschaut. Der aktuelle Piwik-Tracking-Code sieht, je nach dem welche Optionen man ausgewählt hat, so oder so ähnlich aus: Der neue Tracking-Code sieht komplizierter aus, tut aber genau das… Weiterlesen

Maxwell-Boltzmann-Verteilung in C++

Maxwell-Boltzmann-Verteilung bei drei Temperaturen.

C++ bietet einige statistische Verteilung an, aber eine wichtige Verteilung der statistischen Physik – die Maxwell-Boltzmann-Verteilung wird nicht angeboten (zumindest konnte ich sie nicht finden), also habe ich mir selbst einen Generator für diese Verteilung geschrieben. Der Algorithmus ist nur wenige Zeilen lang: man würfelt ein Koordinatenpaar (Energie und Verteilungsdichte) und schaut ob der Wert der gewürfelten Verteilungsdichte kleiner als der Funktionswert der Maxwell-Boltzmann-Funktion ist…. Weiterlesen

Cache-Optimierung: Zeitliche und Räumliche Lokalität

Cache-Hierarchie.

Wenn man schnelle Programme schreiben möchte, so muss man auch die Funktionsweise der Hardware beachten, wie ich im Folgenden zeige werde. Nehmen wir an, es muss ein zweidimensionales Array vollständig durchlaufen werden. Dieser Fall trifft beispielsweise oft auf, wenn man Bildmanipulationen durchführt. Dazu ein minimales Beispiel. Es wird ein zweidimensionales Integer-Array erstellt und auf zwei unterschiedliche Weisen durchlaufen. In jedem Durchgang wird ein Wert in… Weiterlesen

Pi mit Monte-Carlo-Simulation und Leibnitz-Formel berechnen

Ein Tausend zufällig verteilte Punkte.

Die Kreiszahl π≈3,14159 ist jedem bekannt, aber wie berechnet man sie? Viele Mathematiker haben sich damit beschäftigt und sehr viele interessante und mächtige Algorithmen entwickelt, so das mittlerweile über 5 Billionen Nachkommastellen von Pi bekannt sind. Am einfachsten bestimmt man die Kreiszahl nach ihrer Definition. Man nimmt also einen Kreis, misst seinen Durchmesser und seinen Umfang und berechnet das Verhältnis Durchmesser/Umfang, welches der Kreiszahl entspricht…. Weiterlesen

C++ Teil 10 – Funktionen I

Funktionsaufbau

Inhalt Einleitung Funktionen erstellen Funktionsaufruf Wertübergabe Rückgabewert Ein Beispiel Übungsaufgaben Einleitung In diesem und in mindestens einem weiteren Teil dieser Artikelreihe werden wir uns mit Funktionen beschäftigen. Funktionen sind ein absolut grundlegendes Element einer (funktionaler) Programmiersprache. C++ ist zwar hauptsächlich eine objektorientierte Programmiersprache (dafür wurde sie schließlich entwickelt), aber im Gegensatz zu Java oder C# ist C++ auch gleichzeitig eine funktionale Programmiersprache und erlaubt einem… Weiterlesen

C++: auto Schlüsselwort

auto keyword Beispiel

Der neue C++ Standard wird viele Neuerungen mit sich bringen und bereits jetzt unterstützen einige Compiler die neuen Konzepte. Eines der kleineren Neuerungen ist das Schlüsselwort auto. Es steht für einen unbekannten Datentyp, den der Compiler selbst bestimmt. Am einfachsten versteht man es anhand eines Beispiels. Führt man das Beispiel aus, so bekommt man folgende Bildschirmausgabe zu sehen. Der Compiler erkennt aus dem Zusammenhang welcher… Weiterlesen

C++ Teil 9 – Zeiger

Zeigeraddition

Das Konzept der Zeiger bzw. Pointer(eng. für Zeiger) ist für Anfänger wahrscheinlich der unbeliebteste und für einen Profi der mächtigste Bestandteil von C++. Viele Anfänger verstehen sie anfangs nicht und sogar Profis machen manchmal Fehler im Umgang mit ihnen. Nichtsdestotrotz sind Zeiger ein sehr wichtiges Thema, von dem sich kein C++ – Programmierer drücken kann. In diesem Abschnitt werde ich eine Einführung in dieses komplexe… Weiterlesen