www.plusplanet.de
Schulinfos von F. Töns

12.08.2020
Java-Programmierung

Das Programm unten gibt eine "Blumenwiese" aus. Ihr könnt es z.B. in BlueJ oder im Browser unter
https://code.sololearn.com/#java
ausführen.

Aufgabe:
• Bei Ausführung des Programms können in der ersten ausgegebenen Zeile Rauten erscheinen, nie aber * oder | oder + Zeichen. Ändere das Programm so, dass auch diese Fälle eintreten. (Es gibt eine einfache Möglichkeit, wo diese drei Zeichen auch in Zeile 1 erscheinen - allerdings nicht zufällg. Das ist für die Lösung dieser Aufgabe aber OK)
• Die "Blumen" haben immer genau eine Raute als "Blüte". Schreibe das Programm so um, dass zwei Rauten als Blüte erscheinen (also von oben nach unten: ##*|+ )
• Das Programm zeichnet die Blumen immer "von oben nach unten". Schreibe ein vergleichbares Programm, wo aber nicht vertikale Blumen, sondern horizontale Fische ( <°)))><  ) ausgegeben werden.
* Das Fisch-Programm soll das Bild nun so zeichnen, dass die Fische zufällig nach links ODER nach rechts schwimmen.

Falls Dir die Aufgabe 1 und 2 nicht innerhalb von 20 Minuten gelingen, melde dich bitte bei Herrn Töns.



import java.math.*;
public class Demo{
    public static void main(String[] args) {
        String zeileAlt = "Dies sind 60 Dummyzeichen, die nie ausgegeben werden........";
        for(int i = 0; i < 60; i++) {
            String zeile = "";
            for(int x = 0; x < 60; x++) {
                boolean unbesetzt = true;
                if(zeileAlt.charAt(x) == '#') {
                    zeile = zeile + "*";
                    unbesetzt = false;
                }
                if(zeileAlt.charAt(x) == '*') {
                    zeile = zeile + "|";
                    unbesetzt = false;
                }
                if(zeileAlt.charAt(x) == '|') {
                    zeile = zeile + '+';
                    unbesetzt = false;
                }
                if(unbesetzt) {
                    if(Math.random() < 0.04) {
                        zeile = zeile + "#";
                    } else {
                        zeile = zeile + " ";
                    }
                }
            }
            System.out.println(zeile);
            zeileAlt = zeile;
        }
    }

}




Ab hier abwärts: Daten aus der EF


12.06.2020
Java-Programmierung
Lieber Informatikkurs,
ich habe bemerkt, dass die Programmierung in Java noch nicht so fluffig läuft, wie es eigentlich geplant ist. Daher noch einmal eine weitere Java-Aufgabe.

Das Programm unter dem Eingabeformular gibt eine "Blumenwiese" aus. Ihr könnt es z.B. in BlueJ oder im Browser unter
https://code.sololearn.com/#java
ausführen.

Eure Aufgabe ist:
A) Erklärt, warum die 60 Dummyzeichen, mit denen der String "zeileAlt" initialisiert wird, zwar nicht ausgegeben wird, aber dennoch nicht einfach als Leerstring angegeben werden kann (also String zeileAlt = "";)
B) Ändert das vorliegende Programm so, dass die "Blumen" auf dem Kopf stehen, also nicht die Raute, sondern das Hütchen immer oben ist.
C) Ändert das vorliegende Programm so, dass die "Blumen" um ein weiteres Zeichen (z.B. "+" ganz am Ende) wachsen, dass also die Blumenlänge nun etwas größer ist.
D) Erkläre, welchen Sinn die Zeile  if(Math.random() < 0.04) { hat.

Die Lösung der Aufgabe schickt ihr mir bis Donnerstag, den 18.06.2020 auf einem der folgenden Wege:
• Entweder Ihr schickt eine E-Mail an mich,
• oder ihr gebt die Lösung über folgendes Rückmeldeformular ein:


Deine Lösung:

Hier unten ist das von Euch zu bearbeitende Programm vorgegeben:

import java.math.*;
public class Demo{
    public static void main(String[] args) {
        String zeileAlt = "Dies sind 60 Dummyzeichen, die nie ausgegeben werden........";
        for(int i = 0; i < 60; i++) {
            String zeile = "";
            for(int x = 0; x < 60; x++) {
                boolean unbesetzt = true;
                if(zeileAlt.charAt(x) == '#') {
                    zeile = zeile + "*";
                    unbesetzt = false;
                }
                if(zeileAlt.charAt(x) == '*') {
                    zeile = zeile + "|";
                    unbesetzt = false;
                }
                if(zeileAlt.charAt(x) == '|') {
                    zeile = zeile + '+';
                    unbesetzt = false;
                }
                if(unbesetzt) {
                    if(Math.random() < 0.04) {
                        zeile = zeile + "#";
                    } else {
                        zeile = zeile + " ";
                    }
                }
            }
            System.out.println(zeile);
            zeileAlt = zeile;
        }
    }

}




25.05.2020
Sortieralgorithmen
Lieber Informatikkurs,
wir haben uns ja jetzt etwas mit Sortierverfahren beschäftigt. Und wir haben auch in JavaScript programmiert. Aber eigentlich müssten wir lehrplankonform in Java programmieren.

Daher versucht ihr nun folgendes:
Installiert euch Java und BlueJ (wenn ihr zu den sogenannten "digital natives" gehören wollt, dann werdet ihr das schon schaffen), so dass ihr damit arbeiten könnt.
Falls das nicht funktioniert, so gibt es eine etwas abgespeckte (und nicht ganz so komfortable) Möglichkeit zur Java-Programmierung ohne Installation direkt im Browser:
https://code.sololearn.com/#java
Beim Klick auf den Link solltet ihr ein mini-Programm sehen. Weiter unten in dem heutigen plusplanet-Abschnitt unter dem Rückmeldeformular ist das Programm aufgeführt, um dass es heute geht. Kopiert diesen Teil in den Webbrowser hinein und startet das Programm. Es sollte ein Array mit Selectionsort sortiert werden..

Eure Aufgabe ist:
A) Ändert das vorliegende Programm (also nicht googeln und irgendwas hinpasten), so dass die Zahlenreihe absteigend (statt aufsteigend sortiert wird) - Dies ist relativ einfach.
B) Ändert das vorliegende Programm so, dass jeweils das sortierte Teilarray nicht zu Beginn sondern am Ende des Arrays aufgebaut wird. - Dies ist etwas kniffliger.

Die Lösung der Aufgabe schickt ihr mir bis Sonntag, den 31.05.2020 auf einem der folgenden Wege:
• Entweder Ihr schickt eine E-Mail an mich,
• oder ihr gebt die Lösung über folgendes Rückmeldeformular ein:


Deine Lösung:


Hier unten ist das von Euch zu ändernde Programm vorgegeben:

public class Demo{
    static int[] zahlen;

    public static void main(String[] args) {
        zahlen = new int[] { 4, 1, 8, 6, 5, 7 };
        
        ausgabe();
        System.out.println("-----------------------");
        selectionsort();
        System.out.println("-------Ende------------");
        ausgabe();

    }

    public static void selectionsort() {
        for (int i = 0; i < zahlen.length - 1; i++) {
            System.out.println("i ist gleich: "+i);
            System.out.println("i-tes Element ist gleich: "+zahlen[i]);
            System.out.println("Wir suchen ab Position "+i+" nun das kleinste Element.");
            int aktmin = zahlen[i];
            int aktminidx = i;
            for (int j = i + 1; j < zahlen.length; j++) {
                if (aktmin > zahlen[j]) {
                    aktmin = zahlen[j];
                    aktminidx = j;
                }
            }
            System.out.println("Das kleinste Element rechts von Position "+i+" ist "+aktmin);
            System.out.println("Dieses Element wird nun an die Position i="+i+" hingetauscht.");
            
            int temp = zahlen[i];
            zahlen[i] = zahlen[aktminidx];
            zahlen[aktminidx] = temp;
            
            ausgabe();
            System.out.println("---- nächster Durchlauf ----");
        }
    }
    
    public static void ausgabe() {
        for (int i = 0; i < zahlen.length; i++) {
            System.out.print(zahlen[i] + ", ");
        }
        System.out.println();
    }
}




18.05.2020
Sortieralgorithmen
Hätten wir normalen Unterricht, so würde ich euch Kärtchen per Hand sortieren lassen - das ist gar nicht so einfach, wenn man ein paar Schwierigkeiten einbaut. Dann merkt man nämlich, dass man eine Strategie - quasi ein Programm - braucht, um erfolgreich ans Ziel zu kommen. Leider müssen wir weiter auf Abstand bleiben.

Neben Bubblesort gibt es noch zwei weitere (vergleichsweise einfache) Sortierverfahren, die man als Informatiker kennen sollte:
Selection-Sort und Insertion-Sort.

Auch hier gibt es wieder zwei gute Erklär-Seiten im Netz:
https://www.inf-schule.de/grenzen/komplexitaet/sortieren/sortieralgorithmen/selectionsort
https://www.inf-schule.de/grenzen/komplexitaet/sortieren/sortieralgorithmen/insertionsort

Aufgabe: Sortiere die Zahlenfolge (8,2,5,1,6,3) mit
a) Selection-Sort
b) Insertion-Sort
und zwar in der Art und Weise, wie in den verlinkten Artikeln.

Die Lösung der Aufgabe schickt ihr mir bis Sonntag, den 24.05.2020 auf einem der folgenden Wege:
• Entweder Ihr schickt eine E-Mail an mich,
• oder ihr gebt die Lösung über folgendes Rückmeldeformular ein:


Deine Lösung:


11.05.2020
Sortieralgorithmen
Manche von Euch haben es schon geahnt: Wenn man den Median einer Zahlenreihe bestimmen möchte, so muss man die Zahlenreihe (also ein Array) erst sortieren.
Es gibt unterschiedliche Möglichkeiten, das von einem Programm erledigen zu lassen. Eine bekannte und noch relativ übersichtliche Methode ist "Bubble Sort"

Eine Einführung für die Schule kann man unter folgendem Link lesen:
https://www.inf-schule.de/grenzen/komplexitaet/sortieren/sortieralgorithmen/bubblesort

Mir persönlich scheint auch das Beispiel in der englischen Wikipedia ganz lehrreich:
https://en.wikipedia.org/wiki/Bubble_sort#Step-by-step_example

Ihr findet bestimmt noch bessere Links im Internet, die Bubble-Sort erklären, wenn ihr die beiden obigen Links nicht gut findet.

Aufgabe zum 17.05.2020:
Sortiert folgende Zahlenreihe mit Bubblesort:
(8,2,5,1,6,3)
Dabei sollt ihr wie das Beispiel aus der englischen Wikipedia Schritt für Schritt vorgehen! (Ich möchte also mehrere Zeilen mit dieser Zahlenreihe sehen, die sich nach und nach verändert!)

Die Lösung der Aufgabe schickt ihr mir bis Sonntag, den 17.05.2020 auf einem der folgenden Wege:
• Entweder Ihr schickt eine E-Mail an mich,
• oder ihr gebt die Lösung über folgendes Rückmeldeformular ein:


Deine Lösung:




04.05.2020
Programmieren mit Javascript

Nach diesen kleinen Programmierübungen wollen wir uns an ein Problem herantasten, welches in der Informatik sehr zentral ist. Ich lasse die Katze aber noch nicht aus dem Sack  :)

Informiert Euch zunächst darüber, was der Median einer Zahlenreihe ist. Folgender Artikel scheint mir sehr einfach verständlich:
https://de.serlo.org/mathe/stochastik/daten-datendarstellung/daten-kenngroessen/median

In der vergangenen Hausaufgabe habt ihr ja bereits die Spannweite einer Zahlenreihe programmtechnisch ermittelt.

Aufgabe: Wie müsste man eine Funktion schreiben, die den Median einer Zahlenreihe findet? Es genügt, wenn ihr die wesentlichen Dinge aufschreibt. Vielleicht gebt ihr auch sogenannten Pseudocode ab - also Programmteile, die nicht wirklich in einer Programmiersprache geschrieben sind, sondern dem Leser eine Programmieridee nahebringen. Der Pseudocode der Funktion "spannweite" könnte so aussehen:

funktion spannweite(Eingabearray a) {
    mommin = a[0]
    mommax = a[0]
    Schleife über alle Elemente des Arrays a mit Laufvariable i {
        wenn mommin > a[i] dann mommin = a[i]
        wenn mommax < a[i] dann mommax = a[i]
    }
    return mommax - mommin
}


Die Lösung der Aufgabe schickt ihr mir bis Freitag, den 08.05.2020 auf einem der folgenden Wege:
• Entweder Ihr schickt eine E-Mail an mich,
• oder ihr gebt die Lösung über folgendes Rückmeldeformular ein:


Deine Lösungen:



28.04.2020
Programmieren mit Javascript
Liebe Informatiker!
Zu wenige von Euch haben sich überhaupt zur Hausaufgabe gemeldet. Selbst, wenn ihr die Aufgabe nicht lösen könnt, so schickt ihr mir bitte eine Mail mit einer Begründung, woran es gelegen hat. Bei Denjenigen, von denen ich gar nichts gehört habe, muss ich davon ausgehen, dass auch gar nicht gearbeitet wurde. Selbst eine gut gestellte Frage zur Hausaufgabe ist manchmal besser als eine schlecht erledigte Hausaufgabe.

Lösung der Aufgabe zu Montag, den 27. April und gleichzeitig Basis für die kommende Aufgabe:
basic4.html

Daher bekommt ihr jetzt eine neue Aufgabe:
Testet die obige Datei basic4.html
Darin seht ihr, dass zunächst vom gegebenen Array der Mittelwert und der kleinste Wert berechnet wird. Außerdem soll die Spannweite (Bedeutung: siehe unten) berechnet werden - was aber noch nicht funktioniert. Das sollt ihr nun lösen.

Ergänze die Funktion "spannweite" und schickt mir die Lösung bis Samstag, den 2. Mai um 16:00 Uhr per E-Mail.
(Hinweis an N.B.: Du hast mir eine Email mit einer "Einmal-Adresse" geschickt, so dass ich darauf nicht antworten kann. Bitte benutze eine funktionierdende Rückadresse.)

Bedeutung "Spannweite": Dies ist die Differenz, also der Unterschied zwischen dem größten und dem kleinsten Wert.
Beispiel: Die Spannweite der Zahlenreihe "5,8,2" ist 6, denn der Unterschied zwischen dem größten Element der Reihe (das ist hier 8) und dem kleinsten Element der Reihe (das ist hier die 2) ist 6, denn 8-2=6.


22.04.2020
Programmieren mit Javascript
Liebe Informatiker!
In den Stunden vor den Ferien habe ich Euch eine "Programmausführung auf dem Papier" machen lassen. Da wir uns aber jetzt sehr lange nicht sehen, möchte ich Euch bitten, daheim auch einmal den Computer zum Programmieren zu benutzen.
Dazu benötigt ihr nur einen Browser (Firefox, Chrome, Internet Explorer, Safari etc. - den habt ihr sowieso) und einen Editor (Notepad ist bei Windows eingebaut, ich persönlich benutze Notepad++, weil der den Text so schön farbig macht).

Aufgabe: Programmiere in Javascript anstatt der Funktion arraymittelwert(arr) (Siehe die bekannte pdf-Datei 00000000_036_IF11_Programmausfuehrung_auf_Papier_pro.pdf) die Funktion kleinsterwert(arr), welche aus einem Array den kleinsten Wert herausfindet. Bei einer Eingabe von 6,7,9,5,3,656,23,4,6 sollte also das Ergebnis 3 herauskommen.

Damit ihr etwas besser einschätzen könnt, was ich meine, habe ich hier ein Video vorbereitet:
http://www.plusplanet.de/video/20200422_ifef.webm

Die dazugehörige HTML-Datei findet Ihr hier:
basic3.html

Bitte schickt mir das Ergebnis Eurer Programmierung (nur die gefragte Funktion) bis zum Montag, den 27.04.2020 an die bekannte E-Mail-Adresse.


31.03.2020
Liebe Informatiker,
da die Situation jetzt noch schlechter abschätzbar ist, als vor zwei Wochen, möchte ich zumindest eine Rückmeldung von Euch haben.
Bitte bearbeitet die gleiche Aufgabe (siehe den letzten Eintrag vom 17. März, nur mit anderen Zahlen) noch ein weiteres mal. Sendet mir euer Ergebnis per Mail an: Bild "Willkommen:email.png"
Aufgabe: Erstelle eine entsprechende Tabelle für die vier Startwerte 2,2, 3 und 9!


17.03.2020
Liebe Informatiker,
da wir uns nun eine Zeit lang nicht sehen, kann ich euch auch schlecht Programmieraufgaben aufgeben. Was aber immer wichtig ist, ist das Verständnis davon, wie ein Computer ein Programm abarbeitet.
Da zu jedem Zeitpunkt jeder Speicherplatz (oder Variablenwert) genau einen Wert hat, kann man diesen auch theoretisch immer selbst (von Hand) angeben, wenn man alle Startbedingungen kennt. Dies soll geübt werden.
Lest euch in folgendem Dokument die erste Seite und den ersten Abschnitt der der zweiten Seite durch:
00000000_036_IF11_Programmausfuehrung_auf_Papier_pro.pdf
Dort abgedruckt ist eine Methode, die ein Array von int-Werten erwartet (dessen Namen ist "a", siehe erste Zeile der Methode) und von diesen Werten den Mittelwert berechnet.
Führt man dieses Programm mit den Startwerten 4,8 und 3 aus (dies sind die Werte, die in der Tabelle unten als Startwerte im Array stehen), so erhält man das Ergebnis 5 (denn 5 ist der Mittelwert aus den obigen Zahlen).
Aufgabe: Erstelle eine entsprechende Tabelle für die Startwerte 7,10 und 11!


10.12.2019
Klausurthemen
* Alle ausgeteilten Materialien sollen verstanden worden sein. Man muss sie nicht auswendig können. Aber man sollte wissen was drin steht.
* Grundlagen der JavaScript-Programmierung:
** Wissen, wie man eine if-Anweisung und eine for-Schleife benutzt.
** Wissen was eine Variable ist, und wie man ihr einen Wert zuweist.
** Wissen wie man Bedingungen für if-Anweisungen formuliert
** Unterschied zwischen = (gleich) und == (gleichgleich) kennen
** Wissen was eine Funktion ist und wie man sie aufruft. Was ist ein Rückgabeparameter (return)? Was ist ein Funktionsargument (was kommt in die Funktion als Parameter hinein)?
** Was ist eine Zeichenkette (eine Reihe von Zeichen in einem sogenannten String), wie greift man auf einzelne zeichen zu?


Hilfsmittel während der Klausur:
* JavaScript Mini Cheat Sheet



<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript: Hallo Welt</title>
  <script>
    'use strict';
    
    var gruss = "Moin";  // globale Variable

    // Zeichen an Stelle index im String str mit replacement ersetzen
    // Die Arbeitsweise dieser Funktion ist nicht Teil der Klausur
    function replace(str,index, replacement) {
        return str.substr(0, index) + replacement+ str.substr(index + replacement.length);
    }

    // Hilfsfunktion die überprüft, ob die Eingabe eine Zahl ist, mit der man rechnen kann
    // Die Arbeitsweise dieser Funktion ist nicht Teil der Klausur
    function isNumeric(n) {
        return !isNaN(parseFloat(n)) && isFinite(n);
    }

    // liefert eine Zufallszahl zwischen von (incl) und bis (excl)
    function zufall(von, bis) {
        var rdm;
        var differenz = bis - von;
        rdm = Math.random();
        rdm = Math.floor(rdm * differenz);
        rdm = von + rdm;
        return rdm;
    }

    // Zufallszahl
    function zufallszahl() {
        var erg = zufall(0,100);
        document.getElementById("ausgabe").textContent = "Zufallszahl von 0 bis 99 : " +erg;
    }

    // gibt einen Gruß für den angegebenen Namen aus.
    function gruessen() {
        var name; // lokale Variable
        name = document.getElementById("eingabe").value;
        document.getElementById("ausgabe").textContent = gruss + " " +name;
        // ohne "return" ist der Rückgabewert "undefined"
    }

    // kehrt die Eingabe um
    function reverse() {
        var name;
        name = document.getElementById("eingabe").value;
        for(var i = 0; i < (name.length / 2); i++) {
            var zeichen1 = name[i];
            var zeichen2 = name[name.length-1-i];
            name = replace(name,i,zeichen2);
            name = replace(name,name.length-1-i,zeichen1);
        }
        document.getElementById("ausgabe").textContent = "Umgedreht: " +name;
    }

    // rotiert die Eingabe um eine Position
    function rotate() {
        var name;
        var erg = "";
        name = document.getElementById("eingabe").value;
        for(var i = 1; i < (name.length); i++) {
            erg = erg + name[i];
        }
        erg = erg + name[0]
        document.getElementById("ausgabe").textContent = "Rotiert: " +erg;
    }

    // quadriert die Eingabe (wenn möglich)
    function square() {
        var name;
        var erg;
        name = document.getElementById("eingabe").value;
        if( isNumeric(name) ) {
            erg = name * name;
        } else {
            erg = "Fehler: "+name+" ist keine Zahl!";
        }
        document.getElementById("ausgabe").textContent = "Quadrieren: " +erg;
    }


    // Wird einmal zu Beginn ausgeführt.
    function init() {
        document.getElementById("ausgabe").textContent = "Wer ist da?";
    }

    window.onload = init;  // Nach Ladevorgang die Variablen initialisieren.

  </script><noscript>Sie haben JavaScript deaktiviert.</noscript>
  
</head>
<body>
    <p>Beispiele für JavaScript</p>
    <input id="eingabe" type="text" value="Dein Name?"><br>
    <button onClick="zufallszahl();">Zufallszahl</button>
    <button onClick="gruessen();">Gruß ausgeben!</button>  
    <button onClick="reverse();">umkehren</button>
    <button onClick="rotate();">rotieren</button>
    <button onClick="square();">quadratzahl</button>
    <div id="ausgabe" style="font-family: monospace;white-space: pre-line;" >Dummy-Text</div>
    Fragen für Checker:<br>
    Warum wird bei der Funktion reverse in der for-Schleife nur bis (name.length / 2) gezählt? Probiere mal aus, die "durch 2" zu entfernen und erkläre das Ergebnis!
</body>
</html>






24.09.2019

HTML und Co

Erzeuge zunächst mehrere HTML-Dokumente, zwischen denen (mit Links) Du hin und her springen kannst.

Lies dann nochmal die "HTML-Grundlagen"-Zettel und erledige die Übungen dort. Gerne auch mit eigenen Einfällen.
Ein mögliches Miniprojekt könnte sein, ein sehr einfaches "TicTacToe" zu bauen. Dafür könnte das Nachschlagen des "table"-Elements sinnvoll sein.




03.09.2019

Light-Bot

Das LightBot-Spiel: www.plusplanet.de/swf_lightbotMUELL/lightbot.html

Selbstprogrammierter Light-Bot-Simulator mit "Level-Designer":
http://www.plusplanet.de/lightbotsimulator/index.php

Demo-Level: https://pastebin.com/3QXMLrnG

Speichere folgenden Text als Textdatei (mit Namen test.pbm) auf den Desktop:

P4 144 16
zzzzzzzzOOOOOOOO
zzzzzzzzOOOOOOOO
zzzzzzzzOOOOOOOO
zzzzzzzzOOOOOOOO
zzzzzzzzOOOOOOOO
zzzzzzzzOOOOOOOO
zzzzzzzzOOOOOOOO
zzzzzzzzOOOOOOOO
OOOOOOOOzzzzzzzz
OOOOOOOOzzzzzzzz
OOOOOOOOzzzzzzzz
OOOOOOOOzzzzzzzz
OOOOOOOOzzzzzzzz
OOOOOOOOzzzzzzzz
OOOOOOOOzzzzzzzz
OOOOOOOOzzzzzzzz



Daten im Zahlenformat anzeigen

Dafür gibt es z.B. einen Dienst im Internet: https://hexed.it/

Daten hörbar machen:

Download von Audacity, einem Audioeditor:
http://downloads.sourceforge.net/portableapps/AudacityPortable_2.1.1.paf.exe?download
Beliebige Daten können damit "hörbar" gemacht werden, indem man folgendes tut:
Datei->Importieren...->Raw-Audio
Dann erscheint ein Fenster mit Einstellungen (am Besten die Voreinstellungen unverändert lassen).

Daten sichtbar machen

Mit dem Programm IrfanView kann man Daten als Grafik interpretieren lassen, wenn man folgende Schritte befolgt:
Zunächst muss fügt man am Anfang der Textdatei folgende Zeile ein:
P4 200 150
(Dies ist notwendig, damit IrfanView die Datei als Grafikdatei im PBM-Format erkennt. Dabei bedeuten die Zahlen 200 und 150, dass das Bild 200 Pixel breit und 150 Pixel hoch ist)
Als nächstes muss man die Dateinamenserweiterung von .txt in .pbm umbenennen. Schließlich kann man diese Datei dann in IrfanView hineinladen.