Dienstag, 14. August 2018

Blogeintrag Juli 2018

Verschiedene Sortier Algorithmen  

 

Insertion Sort


Insertion Sort ist ein einfacher Sortieralgorithmus, der für kleine Listen und grossteils sortierte Listen relativ effizient ist und oft als Teil von komplizierteren Algorithmen verwendet wird. Er funktioniert, indem Elemente aus der Liste nacheinander genommen und in ihrer korrekten Position in eine neue sortierte Liste eingefügt werden. In Arrays können sich die neue Liste und die übrigen Elemente den Platz des Arrays teilen.

Selection Sort

 


Selection Sort ist eine direkte Vergleichssortierung. Es ist auf Grossen Listen relativ ineffizient und schneidet im Allgemeinen schlechter ab als das ähnliche Insertion sort. Die
Selection Sort ist für ihre Einfachheit bekannt und weist auch Leistungsvorteile gegenüber komplizierteren Algorithmen in bestimmten Situationen auf.

Der Algorithmus findet den minimalen Wert, tauscht ihn mit dem Wert an der ersten Position und wiederholt diese Schritte für den Rest der Liste. Es macht nicht mehr als n Swaps und ist daher nützlich, wenn möglichst wenige Swaps gemacht werden sollen.

 

Bubble Sort 


 

Beim Bubble sort wird in einer Reihe von Elementen nach und nach jedes mit dem Nachbar verglichen und wenn nötig getauscht. Da nach jedem Durchlauf der grösste Wert ganz rechts ist, wird auch entsprechend nach jedem Durchlauf die Anzahl noch zu sortierender elemente um 1 verringert.

Shell Sort


shell Sort verbessert die Sortierung, indem es um mehr als eine Position nach dem anderen versetzt. Shell Sort ist optimal für Daten, mit nur wenigen Elementen die sich nicht in der richtigen Position befinden. In diesem fall werden die einzelnen Elemente weit entfernt sortiert und die Lücke zwischen den zu sortierenden Elementen schrittweise verkleinert, was die endgültige Sortierung viel schneller macht.


Merge Sort


Merge sort nutzt die Möglichkeit, bereits sortierte Listen in eine neue sortierte Liste zusammenzufassen. Es beginnt damit immer zwei Elemente zu vergleichen (d.h. 1 mit 2, dann 3 mit 4 ...) und tauscht sie aus, wenn das erste nach dem zweiten kommen sollte. Es führt dann jede der resultierenden Listen von zwei in Listen von vier zusammen, führt dann diese Listen von vier zusammen und so weiter; bis zuletzt zwei Listen in der endgültigen sortierten Liste zusammengeführt werden. dieser Algorithmus ist gut auch für grosse Listen anwendbar.

Heap Sort

 

Das Heap sort ist ein relativ komplexes verfahren das als verbesserung des Selection Sort angesehen werden kann. Der Algorithmus arbeitet mit einer Sruktur in welcher immer das Grösste (oder Kleinste) Element nach oben Verschoben und anschliessend Einsortiert wird.

Quick Sort

 

Um ein Array mit Quick Sort zu sortieren, wird ein Element ausgewählt, das Pivot genannt wird. Alle Elemente, die kleiner als der Pivot sind, werden davor bewegt und alle größeren Elemente werden dahinter verschoben. Die kleineren und größeren Unterlisten werden dann rekursiv sortiert. Quick Sort ist eine der beliebtesten Sortieralgorithmen, und in vielen Standardprogrammierbibliotheken verfügbar.Der wichtige Vorbehalt gegenüber Quicksort ist seine Worst-Case-Leistung. Diese tritt ein wenn als Pivot Element das Grösste oder Kleinste Element Verwendet wird, da in diesem Fall kein Vorteil erzielt wird.

 
Die Sortier Algorithmen sind unter diesem Link noch mit einer Kurzen Animation dargestellt.

Blogeintrag Juni 2018

 Sortieren


Sortieren bezieht sich auf das Arrangieren von Daten in einem bestimmten Format. Sortieralgorithmen geben einem die Möglichkeit, Daten in einer bestimmten Reihenfolge anzuordnen. Die häufigsten Befehle sind numerisch oder lexikographisch geordnet.Die Wichtigkeit des Sortierens liegt in der Tatsache, dass die Datensuche auf eine sehr hohe Ebene optimiert werden kann, wenn Daten in einer sortierten weise gespeichert werden. Die Sortierung wird auch verwendet, um Daten in besser lesbaren Formaten darzustellen. Hier einige Beispiele:
 

  • Telefonbuch - Das Telefonbuch speichert die Telefonnummern von Personen sortiert nach ihren Namen, so dass die Namen leicht gesucht werden können. 
  • Wörterbuch - Das Wörterbuch speichert Wörter in alphabetischer Reihenfolge, so dass die Suche nach einem Wort einfach wird.


In-Place-Sortierung und nicht-in-Place-Sortierung


Sortieralgorithmen erfordern möglicherweise zusätzlichen Speicherplatz für den Vergleich und die temporäre Speicherung von wenigen Datenelementen.

Diese Algorithmen benötigen keinen zusätzlichen Platz, und das Sortieren wird an Ort und Stelle oder beispielsweise innerhalb des Arrays selbst durchgeführt. Dies wird als In-Place-Sortierung bezeichnet. Bubblesort ist ein Beispiel für eine Sortierung vor Ort.Bei einigen Sortieralgorithmen benötigt das Programm jedoch einen Platz, der größer oder gleich dem der zu sortierenden Elemente ist. Sortierung, die den gleichen oder mehr Speicherplatz verwendet, werden nicht-in-Place-Sortierung genannt. Merge-sort ist ein Beispiel für nicht-in-Place-Sortierung.


Stable und not Stable Sortierung


Wenn ein Sortieralgorithmus nach dem Sortieren des Inhalts die Reihenfolge zweier Gleicher Werte, nicht ändert, wird er als Stable bezeichnet.
Wenn ein Sortieralgorithmus nach dem Sortieren des Inhalts die Reihenfolge
zweier Gleicher Werte, wird dies als not Stable bezeichnet.
Die Stabilität eines Algorithmus ist wichtig, wenn wir die Reihenfolge der ursprünglichen Elemente beibehalten möchten.



Adaptiver und nicht-adaptiver Sortieralgorithmus


Ein Sortieralgorithmus wird als adaptiv bezeichnet, wenn er bereits sortierte Elemente in der zu sortierenden Liste nutzt. Das heißt
, wenn Teile des Inhalts bereits Sortiert sind, berücksichtigen Adaptive Algorithmen dies und versuchen sie nicht neu zu ordnen.Ein nicht-adaptiver Algorithmus ist einer, der die bereits sortierten Elemente nicht berücksichtigt. Sie versuchen, jedes einzelne Element neu zu ordnen, um ihre Sortierung zu bestätigen. 

 

Blogeintrag April 2018

Touchscreen


Der grösste Teil der SPS Anlagen die wir Produzieren ist mit einem Touch Panel ausgestattet, um die Bedienung zu erleichtern. In diesem Blogeintrag möchte ich die verschiedenen Arten von Touchscreens erklären und Vor- wie auch Nachteile aufzeigen.



Resistive Touchscreens

Bildschirme, die an Geldautomaten, Supermarkt-Kassen oder anderen öffentlichen geräten verwendet werden sind in der Regel mit einem resistiven Touchscreen ausgestattet. Die resistive Touch-Technologie ist heute die am weitesten verbreitete Touch-Technologie. Ein resistiver Touchscreen besteht aus zwei dünnen flexiblen Metallschichten mit einer Lücke dazwischen. Die 2 Schichten werden von sogenannten Spacer Dots (Abstandspunkten) auseinander gehalten. Diese zwei Schichten stehen unter Strom. Bei Berührung berührt die obere flexible Schicht die untere, wodurch der elektrische Strom unterbrochen wird. Das Gerät bemerkt dies und erkennt den Kontaktpunkt durch die Änderung des elektrischen Flusses, An der Stelle entsteht ein Spannungsteiler. Natürlich geschieht das alles mit Enormer Geschwindigkeit.Ein Resistives Touchscreen ist eine der günstigsten Touch-Technologien. Ein resistiver Touchscreen reagiert auf Druck und es ist egal, welches Objekt den Druck anwendet. Ein Finger, ein Handschuh oder ein Stift funktionieren alle. Wischen und Multitouch funktionieren nicht, da diese Technologie nur einen Berührungspunkt registriert. Deshalb funktioniert ein resistiver Touchscreen nicht auf Smartphones oder Tablets. Das eigentliche Display befindet sich immer hinter den Touch-Layern. Aber diese Schichten sind nicht ganz so klar wie Glas. Aus diesem Grund sind Geldautomaten und Self Chekout Kassen immer ein wenig verschwommen. 
Vorteile

  • Man kann das Touchscreen mit fast allem bedienen
  • Geringste Kosten
  • Energieeffizient
  • Beständig gegen Oberflächenverunreinigungen und Flüssigkeiten - Staub, Öl, Fett, Wasser usw.

Nachteile

  • Die Bildschärfe ist nicht so groß wie bei anderen Technologien
  • Äußere Berührungsschicht ist anfällig für Beschädigung - Kratzen, Stoßen mit scharfen Gegenständen usw.



Kapazitive Touchscreens

Lange Zeit war kapazitiver Touch die zweitbeliebteste Touch-Technologie. Ein kapazitiver Touchscreen verwendet eine transparente Elektrodenschicht. Diese Schicht wird auf eine Glasplatte gelegt und mit einer Schutzschicht bedeckt. Wenn ein Finger den Touchscreen berührt, wird ein Teil der elektrischen Ladung vom Bildschirm zum Benutzer übertragen. Sensoren in allen vier Ecken des Bildschirms erkennen die Abnahme des elektrischen Stroms. Der Controller bestimmt dann den Berührungspunkt. Kapazitive Touchscreens können nur aktiviert werden, wenn sie von menschlicher Haut oder einem Stift mit elektrischer Ladung berührt werden. Trotz seiner langfristigen Beliebtheit wird der kapazitive Touchscreen nun durch projizierte kapazitive Touchscreens ersetzt. 

Vorteile
  • Große Bildschärfe (besser als resistive Touchscreens)
  • Haltbarer Bildschirm
  • Ausgezeichnete Beständigkeit gegen Oberflächenverunreinigungen und Flüssigkeiten - Staub, Fett und Wasser
  • Hohe Kratzfestigkeit

Nachteile
  • Funktioniert nur mit dem bloßen Finger oder einem speziellen kapazitiven Stift 
  • Empfindlich gegen EMI (Elektromagnetische Interferenz) und RFI (Radio Frequency Interference)


Projizierte kapazitive Touchscreens (PCAP)

Ein projizierter kapazitiver Touchscreen funktioniert sehr ähnlich wie herkömmliche kapazitive Touchscreens. Sie bieten zwei große Vorteile. Neben dem bloßen Finger arbeiten sie auch mit Operationshandschuhen oder dünnen Baumwollhandschuhen. Und sie machen Multi-Touch möglich. Multi-Touch bedeutet, wenn zwei Finger gleichzeitig den Touchscreen aktivieren. Ein projiziert-kapazitiver Touchscreen besteht aus einer Glasscheibe mit eingebetteten transparenten Elektrodenfilmen und einem IC-Chip. Dies erzeugt ein dreidimensionales elektrostatisches Feld. Eine Veränderung der elektrischen Ströme wird bemerkt, wenn ein Finger den Bildschirm berührt. Ein Berührungspunkt wird dann erkannt. Projizierte kapazitive Touchscreens werden mehr und mehr eingesetzt. Sie werden im Allgemeinen aufgrund ihrer Haltbarkeit gegenüber herkömmlichen kapazitiven Touchscreens gewählt.
Vorteile

  • Hervorragende Bildschärfe
  •  Kratzfester als kapazitiver Touchscreen
  • Beständig gegen Oberflächenverunreinigungen und Flüssigkeiten 
  • Multi-Touch möglich
Nachteile
  • Empfindlich gegen EMI (Elektromagnetische Interferenz) und RFI (Radio Frequency Interference)
  • Bedienbar nur mit einem freiliegenden Finger, dünnen OP-Handschuhen oder Baumwollhandschuhen

 


Infrarot-Touch Screens

Im Gegensatz zu anderen Technologien überlagern Infrarot-Touchscreens den Bildschirm nicht mit einer zusätzlichen Ebene. Diese Arten von Touchscreens basieren auf der Technik der Lichtstrahlunterbrechung. Ein Infrarot-Touchscreen verwendet Infrarotsender und -empfänger. Sie erzeugen ein unsichtbares Raster von Infrarot-Lichtstrahlen über den Bildschirm. Kein zusätzlicher Film oder Schicht bedeutet die bestmögliche Bildqualität und Klarheit. Ein Sensor erkennt die Berührung wenn ein Objekt die Lichtstrahlen unterbricht.


 

Vorteile
  • Beste Bildqualität aller Touch-Technologien
  • Unempfindlich gegen Kratzer auf der Oberfläche
Nachteile
  • Fett, Staub oder andere Verunreinigungen können den Lichtstrahl blockieren
  • Empfindlich gegen Wasser, Schnee und Regen

  •  Kann gegenüber Umgebungslicht empfindlich sein
  • Teurer

 

Optische Touchscreens

Optische Touchscreens verwenden mehrere optische Sensoren, um die Berührung zu erkennen. Die Sensoren erkennen die Berührung tatsächlich, kurz bevor der Benutzer physischen Kontakt mit dem Bildschirm herstellt. Dies bedeutet, dass Sie den Bildschirm nicht einmal vollständig berühren oder ihn sehr leicht anfassen können. Da optische Touchscreens keine elektrischen Ströme verwenden, können sie mit jedem Objekt aktiviert werden. Ein Finger, ein behandschuhter Finger oder ein Stift sind alles funktionierende Eingabegeräte für einen optischen Touchscreen. 

Vorteile
  • Erlaubt Multi-Touch
  • Kein Druck nötig, um eine Berührung zu registrieren
  • man kann ein beliebiges Objekt verwenden
Nachteile
  • Direkte Sonneneinstrahlung kann den Touchscreen beeinträchtigen