Oktober 3, 2007

Stundenprotokoll

In der letzten Stunde haben wir zuerst die neuen Laptops ausgepackt und dann geimagt. Das nahm sehr viel Zeit in Anspruch und danach haben wir jeweils zu zweit ein Thema gewählt und sollten als HÜ dazu mit der Screenrecordingsoftware wink ein kurzes Tutorial machen

September 26, 2007

Stundenprotkoll 13.09.2007

In der letzten Stunden haben wir weiter mit MediaWiki gearbeitet. Zuerst haben wir gelernt, wie man über die XAMPP Kontrollseite ein Root Passwort für die MySQL Datenbank einstellen kann und gleich noch die Sicherheit des Servers überprüfen kann. Man gelangt auf diese Kontrollseite in dem man im Browser die Loopback IP (127.0.0.1) oder einfach nur localhost eingibt. Einfach Deutsch als Sprache auswählen und dann auf Sicherheitscheck klicken dort hat man dann einen Überblick über die Sicherheit kann auch sehr einfach ein MySQL Root Passwort einstellen. Einfach speichern und den Server neustarten und schon gibt es ein Root Passwort und bei der MediaWiki Installation kommt keine Fehlermeldung mehr und man muss nicht mehr eine Schleife löschen.

Als nächstes haben wir uns mit den allgemeinen Einstellungen des Wikis auseinandergesetzt, welche über die Datei LocalSettings.php (im Verzeichnis von MediaWiki) vorgenommen werden können. Grundsätzlich gilt, dass MediaWiki die Konfiguration aus der Datei DefaultSettings.php liest, nur wenn in der LocalSettings.php andere Einstellungen stehen, dann werden diese verwendet. Man darf nur die Datei LocalSettings.php ändern (und nicht DefaultSettings.php), da es ansonsten leicht zu schweren Schäden am Wiki kommen kann und man dann die Datei DefaultSettings.php neu installieren müsste.

In der DefaultSettings Datei steht bei den meisten Befehlen ein Kommentar, sodass man sehr einfach in der LocalSettings Datei die notwendigen Änderungen vornehmen kann. (z.B Fotoupload, andere Dateitypen zum Upload freigeben etc.)

September 12, 2007

Stundenprotokoll vom 6.9

In der ersten Informatikstunde dieses Schuljahres haben wir uns zuerst mit den Problemen von Wikipedia und einem Programm namens WikiScanner (mit diesem Programm können IP Adressen der Bearbeiter von Wikipedia-Einträgen Organisationen und Firmen zugeordnet werden) beschäftigt.
Danach installierten wir nach dieser Anleitung jeweils in Paaren unser eigenes Wiki. Zuerst muss man ein Programmpaket namens XAMPP installieren (dieses beinhaltet Webserver, PHP, MySQL Datenbank). Dann muss man nur die entpackten Wikidateien in das HTML Root Verzeichnis kopieren ( “…/XAMPP/htdocs/” ) und schon kann man das Wiki starten und die Ersteinstellungsseite öffnet sich. Da es aber ein kleines Problem beim konfigurieren gab, mussten wir in der Datei “…/wiki/config/index.php” die folgende Schleife löschen

if( $conf->DBpassword == “” && $conf->DBtype != “postgres” ) {
$errs["DBpassword"] = “Must not be blank”;
}
if( $conf->DBpassword != $conf->DBpassword2 ) {
$errs["DBpassword2"] = “Passwords don’t match!”;
}

Nachdem das Wiki fertig konfiguriert ist, kann man beginnen Beiträge zu schreiben. Wenn man ein anderes Logo fürs Wiki haben will, muss man in der Datei “…/wiki/LocalSettings.php” eine Variable anlegen mit dem Pfad zum Bild. $wgLogo=”Pfad zum Bild”

Juni 10, 2007

Protokoll vom 4. Juni

In der letzten Stunde beendeten wir zuerst unsere Arbeit mit den Tondokumenten und lernten dann einen neuen Befehl in JavaScript, die for-Schleife. Diese wird, im Gegensatz zur while-Schleife, dann verwendet, wenn man im vorhinein weiß, wie oft die Schleife durchlaufen werden soll.

i=0

for(i=1;i<=10;i++)

{

}

dies würde einer Schleife generieren, die insgesamt 10 mal ausgeführt wird, bevor sie stoppt.

Wir haben die for-Schleife zum Beispiel bei Summenberechnungen angewandt.

Mai 13, 2007

Stundenprotokoll 07.05.2007

Wir beschäftigten uns weiterhin mit JavaScript und lernten auch diesmal wieder ein paar neue Funktionen kennen. Zuerst schrieben wir ein Script, der eine Zufallszahl zwischen 1-100 ausgibt. Eine Zufallszahl generiert der Computer mit Math.random(). Damit die ausgegebene Zahl eine Ganzzahl ist und zwischen 1 und 100 liegt, muss man noch den Befehl Math.round(100*zahl) anwenden. Die fertige Codezeile zum generieren einer Zufallszahl schaut dann so aus:

zahl=Math.round(100*Math.random());

Als nächstes schrieben wir ein Script, dass eine vom Benutzer eingegebene Zahl zwischen 1 – 10 erraten soll, und auch noch ausgibt wie viele Versuche das Programm zum erraten gebraucht hat. Dies programmierten wir mit einer while Schleife.

function fzufall(eingabe)
{
var zahl = parseInt(eingabe), zv, i = 0;
while (zv != zahl)
{
i++;
zv = Math.round(10*Math.random());
alert(“Beim ” + i +” Versuch wurde ” + zv + ” erraten!”);
}
document.zufall.ausgabe.value=”Beim ” + i +”. Versuch wurde die richtige Zahl ” + zv + ” erraten!”;
}

Als letztes sollten wir ein Script programmieren, das von den eingegebenen Zahlen die Mittelwert berechnet. Für jede Zahl solle ein Eingabefeld erscheinen, wenn man alle Zahlen eingeben hat, kann man die Schleife mit einem x beenden. Ich habe das ganze so gelöst:

function fmittel()
{
var zahl = new Array(), eingabe, i = 0, mittelwert = 0, ausgabe = 0;
while(eingabe != “x”)
{
eingabe = prompt(“gib hier die Zahl ein”, ” “);
if (eingabe != “x”)
{
zahl[i] = parseFloat(eingabe);
mittelwert = mittelwert + zahl[i];
i ++;
}
}
ausgabe=mittelwert/zahl.length;
document.mittel.ausgabe.value=ausgabe;

}

Es geht auch ein wenig anders, hier sind beide Versionen:

  1. Version
  2. Version

Mai 6, 2007

Stundenprotokoll vom 30.04

In der letzten Stunde haben wir uns weiter mit JavaScript beschäftigt und einige neue Befehle erlernt. Zuerst lernten wir, wie man einer Funktion Parameter übergeben kann, dies hat den vorteil, dass in der Funktion dann die nötigen Werte gleich von Anfang an zu Verfügung stehen. Die Parameter werden übergeben, indem man beim Funktionsaufruf in der Klammer die Werte eingibt. zB: onclick=”function1(input1.value,input2.value)”. Im JavaScript Bereich im head Teil kann jetzt die Funktion definiert werden, wobei dort dann die Beiden übergebenen Variablen auch in den Klammern stehen müssen. function function1(var1,var2) {…}. Dies übten wir an einer Seite, die die Portokosten beim Verschicken von Briefen berechnet. Hier befindet sich meine.

Außerdem lernten wir, wie man while Schleifen verwendet. Eine while Schleife ist eine Schleife, die solange ausgeführt wird, als die Bedingung wahr ist. Der Syntax ist while (bedingung) {…}.

Ein einfaches Beispiel wäre zB. ein Skript, der die Summe der natürlichen Zahlen von 1 bis zu der eingegebenen Zahl ausgibt.

Hier die dafür zuständige Funktion:

function fsumme(zahl)
{
	var zahl, zaehler, summe;		//Hier werden die Variablen definiert
         zaehler = 0;
         summe =0;
         while (zaehler < zahl)
         	{
                 zaehler = zaehler +1;
                 summe = summe + zaehler;
                 }
         document.summe.ausgabe.value="Die Summe der natürlichen Zahlen von 1 bis " + zahl + " ist " + summe + ".";
}

Als letztes sollten wir noch einen Geldautomaten programmieren, der den eingegebenen Eurobetrag in 50, 20, 10 und 5 Scheine und in 2 und 1 Münzen aufteilt.

Dies sollten wir mithilfe einer while Schleife programmieren. Ich habe es jedoch anderes programmiert.

Mit while Schleifen funktioniert der Script so:

while (betrag >= 20)
{
ausgabe20 = ausgabe20+1;
betrag=betrag-20;
}
while (betrag >= 10)
{
ausgabe10 = ausgabe10+1;
betrag=betrag-10;
}
while (betrag >= 5)
{
ausgabe5 = ausgabe5+1;
betrag=betrag-5;
}
while (betrag >= 2)
{
ausgabe2 = ausgabe2+1;
betrag=betrag-2;
}
while (betrag >= 1)
{
ausgabe1 = ausgabe1+1;
betrag=betrag-1;
}

Ich habe das ganze anders programmiert. Ich habe die Ausgangszahl zuerst durch 50 dividiert und dann das Ergebnis mit der parseInt Funktion zu einer natürlichen Zahl gewandelt,somit steht die Zahl der 50 € Scheine fest, dann diese natürliche Zahl mit 50 multipliziert und von dem Ausgangsbetrag abgezogen. Diesen Vorgang habe ich dann mit den restlichen Zahlen wiederholt.  Hier ist meine Version.

März 25, 2007

Stundenprotokoll vom 19.03.2007

In der letzten Stunde haben wir begonnen, uns mit Java Script zu beschäftigen. Java Script ist eine sehr einfache Programmiersprache, die direkt in den HTML Quelltext geschrieben werden kann. Mann muss nur im <head> ein <script language=”JavaScript”> … </script> einfügen. Zwischen die beiden script Tags schreibt man dann die Befehle für Java Script. Nach jedem Befehl müssen in Java Script Semikolons gesetzt werden.
Einige einfache Befehle in Java Script:
document.write("Text"); –>gibt Text auf der Seite aus.
var variable1, variable; --> mit diesem Befehl können Variablen deklariert werden, sodass sie beim Programmieren verwendet werden können.
variable1 = Wert; –> weist einer bereits deklarierten Variable einen Wert zu. Der Wert kann eine Zahl(zB: 4.3, 2), eine Zeichenkette(zB: “Hallo”) oder auch eine Benutzereingabe sein.
variable1=prompt ("Gib hier den Text ein", " "); –> mit diesem Befehl kann der Variable variable1 eine Zeichenkette zugewiesen werden, die der Benutzer in dem erscheinendem Fenster eingibt

Will man ein kleines Programm schreiben, das zwei Zahlen miteinander addiert, muss man wissen, wie man Werte von Variablen ineinander umwandelt.
parseInt(Zahl); –> wandelt in eine Integer Zahl um(es wird also einfach beim Komma abgeschnitten)
parseFloat(Zahl); –> wandelt in eine Fließkommazahl um

Quelltext des Additionsskriptes:

<html>
<head>
<title>addition</title>
<script language="JavaScript">
var z1,z2,z3;
z1=prompt ("Erste Zahl eingeben", " ");

z2=prompt ("Zweite Zahl eingeben", " ");
z3= parseFloat(z1) + parseFloat (z2);
document.write(z1 +" + " + z2 + " = " +z3);
</script>
</head>

<body>
</body>
</html>

Ein weiteres wichtiges Element bei Java Script sind Schleifen. Wir haben in der letzten Stunde die if Schleife kennengelernt. In Worten wäre eine If Schleife: Wenn variable ist gleich/größer/größer gleich/kleiner/kleiner gleich/ als Zahl/Zeichenkette, dann mache dies, wenn nicht, dann das. Vergleichsoperatoren sind:
== gleich
< kleiner
<= kleiner gleich
> größer
>= größer gleich
!= ungleich

If Schleifen können auch ineinander verschachtelt werden. Nachfolgend ein Beispiel für einen Script, der fragt, ob man Saft oder Wein trinken mag und im Fall, dass man Wein ausgewählt hat, dann das Alter kontrolliert.

<html>
<head>
<title></title>

<script language="JavaScript" type="text/javascript">
var getr, alter;
getr=prompt("Was willst du trinken? (Wein oder Saft):", " ");
if (getr == "Saft" || getr == "saft")
{

document.write("Lass es dir schmecken!");
}
else if (getr== "Wein" || getr == "wein")
{
alter=prompt("Wie alt bist du?", " ");
if (alter >= 16)

{
document.write("Lass es dir schmecken!");
}
else

{
document.write("Du bist leider noch zu jung!");
}
}
</script>
</head>

<body>
</body>
</html>

Hier das dazugehörige Flussdiagramm:

Flussdiagramm

März 18, 2007

Stundenprotkoll 05.03.2007

In den letzten Informatikstunden haben wir mit einem gänzlich neuen Thema begonnen, und zwar dem Programmieren. Ziel dieses Themenkreises wird es sein, ein kurzes Programm in Java Script zu schreiben, mit welchem sich Texte nach der Cäsarmethode verschlüsseln lassen. Dafür beschäftigten wir uns mit Verschlüsselungstechniken und einigen Begriffen in diesem Zusammenhang beschäftigt, die wir in Partnerarbeit erklären sollten:

Klartext = Text einer unverschlüsselten Nachricht, durch Verschlüsselung wird aus Klartext Geheimtext

Geheimtext = verschlüsselter Text

Verschlüsselungsverfahren = Kryptosystem, ist ein Verfahren, bei dem mittels Parameter, ein Klartext in einen Geheimtext verwandelt werden kann und wieder zurück

Substitutionsverfahren = Verfahren, bei dem ein Zeichen des durch ein anderes ausgetauscht wird

Monoalphabetische Verschlüsselungsverfahren = ein Zeichen wird durch ein anderes ersetzt, es wird für jedes Zeichen des Klartexts stets dasselbe Geheimtextzeichen verwendet.

Polyalpabetische Verschlüsselung = wie monoalphabetische Verschlüsselung, nur das für ein Zeichen des Klartexts mehrere Geheimtextalphabete verwendet werden

Symmetrische Verfahren = zum ver- und entschlüsseln wird derselbe Schlüssel verwendet

Asymmetrische Verfahren = private + public Key, lassen sich beide voneinander ableiten, allerdings nur beim Wissen diverser Parameter, zur Verschlüsselung wird öffentlicher zu Entschlüsselung aber der private Schlüssel benutzt. Bsp: man kennt den Schlüssel von jemandem, schickt ihm eine Nachricht, die nur der Empfänger entschlüsseln kann,

Transpositionsverfahren = Zeichen des Klartext bleiben bestehen, werden nur neu angeordnet.

Außerdem sollten wir in einem Excel Sheet das Cäsarverschlüsselungsverfahren nachbauen. Bei diesem werden die Buchstaben des Alphabets um eine gewisse Anzahl verschoben.

Um dies in Excel zu realisieren lernten wir zuerst noch die Modulorechnung kennen.

x mod m … ganzzahliger Rest von x : m

Bsp:

7 mod 6 =1

In Excel schreibt man zuerst jeden Buchstaben eines Wortes in eine Zelle und definiert in einer anderen Zelle den Schlüssel, also die Zahl, um die sich die Buchstaben verschieben sollen. Jetzt muss man folgende Befehle kennen: Code(x) wandelt eine Zahl in ihr ASCII Zeichen um. Dann muss mit dem Schlüssel addiert werden und anschließend wieder in einen Buchstaben umgewandelt werden. Dies geschieht mit ZEICHEN(x).

Da unser Alphabet aber nur 26 Buchstaben hat, zB ein Z bei einer Verschiebung von 4 in ein ^ umgewandelt werden, Hier muss man mittels Modulorechnung immer den ganzzahligen Rest ermitteln, dann weiß man, dass das Z einem D (4. Buchstabe im Alphabet) entspricht. Modulorechnungen können in Excel mit Rest(x:y) eingeben werden.

Programmablauf der Cäsarverschlüsselung:

Programmablauf

 

 

 

November 26, 2006

Stundenprotokoll 20.11.2006

Letzten Montag hatten wir vier Stunden Informatik, da die beiden vorhergehen Stunden ausgefallen sind. In diesen Stunden haben wir uns weiterhin sehr mit dem Thema HTML/CSS beschäftigt. Zuerst haben wir unsere Webseiten, die wir in der Stunde davor in Partnerarbeit begonnen hatten, weitgehend fertiggestellt und dann präsentiert. (Vorlage: www.mouz.de)

Dann haben wir uns weiter mit dem Design der Homepage, die wir zusammen programmieren werden. beschäftigt und haben einige wichtige Grundlegende Sachen besprochen, wie Aufbau und grundsätzliches Design der Seite. Alle versuchten, im Word ein möglichst gutes Design zu entwerfen (mit Tabellen), und jeder sollte sich selbst einschätzen. Zum Schluss sollte jeder noch ein fertiges Design wieder auf Public-Alle abspeichern

Weiters haben wir noch einen Projektplan erstellt, in dem die einzelnen Arbeitsschritte aufgelistet sind. Hier mein Zeitplan für das gesamte Projekt:

1. Schritt: Entwurf der Startseite: 15min

2. Schritt: Entwurf der einzelnen Seiten mit Design: mind 1/2 – 3/4 Stunde

3. Schritt: Überlegungen zur Navigationsstruktur: 1/2 Stunde

4. Schritt: Planung einer Style-Sheet Date: mind 1/2 Stunde
5. Schritt: Planung und Festlegung der Ordnerstruktur: 5 min

6. Schritt: Materialsammlung: 1 Stunde

7. Schritt: Realisierung der obigen Aufgabe: mind 4-6 Stunden, eventuell Vollendung zuhause? (zB Text für eigene Seiten)

8. Schritt: Zusammenführung der Dateien: 1 Stunde

9. Schritt: Upload: 10 min

10. Schritt: Fehlerkontrolle: 1/2 Stunde
11. Schritt: Korrektur: 1/2 Stunde
12. Schritt: Erneuter Upload: 5 min

November 5, 2006

Stundenprotokoll 30.10.2006

In der letzten Stunde haben wir uns weiter mit css beschäftigt. Dann haben wir gelernt, wie man mit der Seite www.w3.org seine Webseiten und CSS Dateien überprüfen lassen kann, es kamen bei niemandem keine Fehler oder Verbesserungsvorschläge.

Desweiteren haben wir uns diverse Webseiten Designs angeschaut und uns dann entschieden, die seite Mouz.de nachzubauen. Diese Arbeit wurde entweder zu zweit oder alleine erledigt wobei wir sowohl den Seitenaufbau, also Tabellen etc., als auch die Stylesheets nachbauen sollten.

Mit dieser Arbeit ist jedoch keiner ganz fertig geworden.