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++

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