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



06.10.2020
ROT13
Baue folgenden Code in das bestehende Projekt ein:


function rot13Anwendung() {
    var eingabe = document.getElementById('myInputWort').value;
    var verschluesselterText = rot13(eingabe);  
    // ----------- Ausgabe ---------------------
    document.getElementById('textfeld').innerHTML = verschluesselterText;
}

function rot13(text) {
    text = text.toLowerCase();
    var abc = "abcdefghijklmnopqrstuvwxyz";
    var ergebnis = "";
    for(var i = 0; i < text.length; i++) {
        var zeichen = text.charAt(i);
        var zeichenIndex = abc.indexOf(zeichen);
        if (zeichenIndex != - 1) {
            zeichenIndex = zeichenIndex + 13;
            if(zeichenIndex >= 26) {
                zeichenIndex = zeichenIndex - 26;
            }
            ergebnis = ergebnis + abc.charAt(zeichenIndex);
        } else {
            ergebnis = ergebnis + zeichen;      
        }
    }
    return ergebnis;
}


Im HTML-Teil dann noch folgende Zeile

<input type="button" onClick="rot13Anwendung();" value="ROT13"><br>




02.10.2020
Ein paar Textspielereien


<!DOCTYPE html>
<html>
<head>
<title>TODO</title>
<meta charset="UTF-8">

<script>
'use strict';

function zaehleA(eingabe) {
    var erg = "";
    var zaehler = 0;
    
    for(var i = 0; i < eingabe.length; i++) {
        if(eingabe.charAt(i) == 'a') {
            zaehler = zaehler + 1;
        }
    }
    erg = "Ich zaehle "+zaehler+" mal den Vokal 'a'.";
    return erg;
}

function zaehleB(eingabe) {
    var erg = "";
    var zaehler = 0;
    
    for(var i = 0; i < eingabe.length; i++) {
        if(eingabe.charAt(i) == 'b') {
            zaehler = zaehler + 1;
        }
    }
    erg = "Ich zaehle "+zaehler+" mal den Vokal 'b'.";
    return erg;
}


function reaktion() {
    var wort = document.getElementById('myInputWort').value;

    var ergebnis = zaehleA(wort);
    ergebnis = ergebnis + "<br>" + zaehleB(wort);
    // ----------- Ausgabe ---------------------

    document.getElementById('textfeld').innerHTML = ergebnis;
}
</script>
</head>

<body>

<h1>TODO</h1>

<div id="textfeld" style="text-align:center;">
(Es wurde noch nichts generiert!)
</div>
<br> <br> <br>
<div style="text-align:center;">
Gib ein Wort ein <input type="text" id="myInputWort"> <br>
<input type="button" onClick="reaktion();" value="Klick">
</div>
Aufgaben:<br>
1a) Zähle alle 'a' in der Eingabe.<br>
1b) Zähle alle Vokale in der Eingabe.<br>
2) Gib an, ob das Wort ein Palindrom ist.<br>
3) Erzeuge die b-Sprache aus dem Wort. ("Ibinfobormabatibik ibist toboll")<br>
4) Drehe das Wort um.<br>
5) Erzeuge eine Hervorhebung in der Art    H E R V O R H E B U N G<br>
4) Ersetze jeden Vokal mit a, e, i oder u ("Drei Chinesen mit dem Kontrabass")<br>
4) Erzeuge Anagramme.<br>

</body>
</html>



22.09.2020
Spaß-Persönlichkeitsanalyse für Märchenfiguren


<!DOCTYPE html>
<html>
<head>
<title>Super-Persönlichkeitsanalyse</title>
<meta charset="UTF-8">

<script>
'use strict';

function reaktion() {
    var alter = document.getElementById('myInputAlter').value;
var groesse = document.getElementById('myInputGroesse').value;
var geschlecht = document.getElementById('myInputGeschlecht').value;

var ergebnis = "";

if(geschlecht == "m") {
ergebnis = "Aus Dir wird einmal ein mutiger Ritter!";
}
if(geschlecht == "w") {
ergebnis = "Aus Dir wird einmal eine zauberschöne Prinzessin!";
}

    // ----------- Ausgabe ---------------------

    document.getElementById('textfeld').innerHTML = ergebnis;
}
</script>
</head>

<body>

<h1>Super-Persönlichkeitsanalyse für Märchenfiguren</h1>

<div id="textfeld" style="text-align:center;">
(Es wurde noch nichts generiert!)
</div>
<br> <br> <br>
<div style="text-align:center;">
Dein Alter <input type="text" id="myInputAlter"> (in Jahre)<br>
Deine Körpergröße <input type="text" id="myInputGroesse"> (in cm)<br>
Dein Geschlecht <input type="text" id="myInputGeschlecht"> (w oder m)<br>
<input type="button" onClick="reaktion();" value="Klick">
</div>
Aufgaben:<br>
1) Erweitere die Funktion "reaktion()" so, dass eine detailliertere "Analyse" erstellt wird. Dazu musst Du if-Anweisungen verschachteln.<br>
2) Bevor eine Analyse erstellt wird, sollte überprüft werden, ob die Eingabedaten OK sind. Falls nicht, sol eine Fehlermeldung ausgegeben werden.<br>
</body>
</html>



15.09.2020
Zufalls-Songtexte mit Javascript (Teil 2)

<html>

<head>
<title>Songtext per Zufall</title>
<script>

function songtext() {
    var zeile = "";
    
    // -----------------------------------------

    // Zufallszahlen zwischen 0 und 1 erzeugen:
    var zzahlA = Math.random();
    var zzahlB = Math.random();
    
    // Je nach Wert von zzahlA ersten Satzteil wählen
    if( (zzahlA >= 0.0) && (zzahlA < 0.5) ) {
        zeile = zeile + "Your girlfriend is a ";
    }
    if( (zzahlA >= 0.5) && (zzahlA < 1.0) ) {
        zeile = zeile + "Your boyfriend is a ";
    }

    // Je nach Wert von zzahlB zweiten Satzteil wählen
    if( (zzahlB >= 0.0) && (zzahlB < 0.5) ) {
        zeile = zeile + "funny bird!";
    }
    if( (zzahlB >= 0.5) && (zzahlB < 1.0) ) {
        zeile = zeile + "boring duck!";
    }

    // -----------------------------------------
    zeile = zeile + "<br>";
    // -----------------------------------------

    // Zufallszahlen zwischen 0 und 1 erzeugen:
    var zzahlC = Math.random();
    
    // Je nach Wert von zzahlC Satztyp wählen
    if( (zzahlC >= 0.0) && (zzahlC < 0.5) ) {
        zeile = zeile + "Yeah Yeah Yeah!";
    }
    if( (zzahlC >= 0.5) && (zzahlC < 1.0) ) {
        zeile = zeile + "Oh no! Oh no! Oh no!";
    }

    // ----------- Ausgabe ---------------------

    document.getElementById('textfeld').innerHTML = zeile;
}
</script>
</head>

<body>

<h1>Zufälliger Songtext</h1>

<div id="textfeld" style="text-align:center;">
(Es wurde noch nichts generiert!)
</div>
<br> <br> <br>
<input type="button" onClick="songtext();" value="Klick">

</body>
</html>




11.09.2020
Zufalls-Songtexte mit Javascript
Kopiere folgenden Programmcode in eine Datei mit Namen songtexter.html (oder ähnlich - aber mit der Endung .html)


<html>

<head>
<title>Songtext per Zufall</title>
<script>

function songtext() {
    var name;
    name = document.getElementById('eingabe').value;
    
    // Zufallszahlen zwischen 0 und 1 erzeugen:
    var zzahlA = Math.random();
    var zzahlB = Math.random();
    
    var zeile = "Hey "+name+"! ";
    
    // Je nach Wert von zzahlA ersten Satzteil wählen
    if( (zzahlA >= 0  ) && (zzahlA < 0.3) ) {
        zeile = zeile + "Your girlfriend is a ";
    }
    if( (zzahlA >= 0.3) && (zzahlA < 0.6) ) {
        zeile = zeile + "Your boyfriend is a ";
    }
    if( (zzahlA >= 0.6) && (zzahlA < 0.8) ) {
        zeile = zeile + "Your mama is a ";
    }
    if( (zzahlA >= 0.8) && (zzahlA < 1.0) ) {
        zeile = zeile + "Your papa is a ";
    }

    // Je nach Wert von zzahlB zweiten Satzteil wählen
    if( (zzahlB >= 0.0) && (zzahlB < 0.4) ) {
        zeile = zeile + "funny bird!";
    }
    if( (zzahlB >= 0.4) && (zzahlB < 0.8) ) {
        zeile = zeile + "intelligent owl!";
    }
    if( (zzahlB >= 0.8) && (zzahlB < 1.0) ) {
        zeile = zeile + "boring hipster!";
    }

    document.getElementById('textfeld').innerHTML = zeile;
}
</script>
</head>

<body>

<h1>Zufälliger Songtext</h1>

<div id="textfeld" style="text-align:center;">
(Es wurde noch nichts generiert!)
</div>

<br>
<br>
<br>

<input type="text" id="eingabe"> <br>
<input type="button" onClick="songtext();" value="Klick">

</body>

</html>



25.08.2020
EVA: Glitch-Art
Erstelle mit deinem Wissen über Daten und deren Darstellung ein "Glitch-Art"-Kunstwerk!


14.08.2020
Zusammenhang Lightbot und Programmierung

* Ein Programmierer gibt Befehle (an den Computer oder Roboter oder...)
* Befehle werden nach der Reihe abgearbeitet
* Befehlsfolgen können zu einer Einheit zusammengefasst werden und wiederholt ausgeführt werden
* Ein Programm belegt Speicherplatz, und der ist nicht unendlich groß


     Bit : Kleinste Informationseinheit:
           "An oder Aus" oder "1 oder 0" oder "schwarz oder weiß"
    Byte : Ein Byte besteht aus 8 Bits / "ein Buchstabe",
           256 Werte sind damit darstellbar
Kilobyte = 1024 Byte
Megabyte = 1024 Kilobyte
Gigabyte = 1024 Megabyte
Terabyte = 1024 Gigabyte




14.08.2020

Light-Bot

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

Grundlagen Windows

* Erstelle auf dem Desktop ein Verzeichnis mit dem Namen "Informatikhelden"
* Erstelle ein Dokument (ein einfacher Kurztext wie "Hallo Informatik" genügt) in der Textverarbeitungssoftware "Open-Office" und speichere es ab in dem Ordner "Informatikhelden"
* Erstelle ein Dokument in dem Programm "Notepad" oder "Notepad++" (beides auf dem Desktop zu finden) mit dem gleichen Text wie in der vorigen Aufgabe. Auch Dieses Dokument soll wieder in dem Verzeichnis "Informatikhelden" abgespeichert werden.
* Schaue Dir den Inhalt des Ordners "Informatikhelden" mit dem Datei-Explorer an und erkläre, welche Unterschiede die beiden abgespeicherten Dateien besitzen.

Daten und Information

Speichere folgenden Text als Textdatei (z.B. bild.txt) auf den Desktop. Ändere dann den Namen in bild.pbm
Ein Doppelclick auf die Datei startet dann nicht mehr den Texteditor, sondern einen Bildbetrachter.
Erkläre, was du siehst, und warum du das siehst! Lies ggf. den Text https://de.wikipedia.org/wiki/Portable_Anymap auf der Wikipedia dazu.

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.