<? $ZeilenMax = 9; $SpaltenMax = 9; echo "<pre>";

Ähnliche Dokumente
01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion

INHALT...1 VARIABLEN...1 REGELN FÜR VARIABLEN- NAMEN...2 KONSTANTEN...2 MISCHEN VON TEXT, VARIABLEN UND AUSDRÜCKEN...3 STRUKTURELEMENTE IN PHP...

Dateien lesen und schreiben mit php

Schleifen: Immer wieder dasselbe tun

Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung

Tag 2 Repetitorium Informatik (Java)

Programmsteuerung mit PHP - if/else, elseif,switch

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Inhalt. Seite 1 von 14

Funktionen nur wenn dann

Python für Linguisten

XAMPP installieren & Kursbeispiel einrichten

Funktionen nur wenn dann

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

06 While-Schleifen. While-Schleifen 1/7 Wiederholung: Schleifen

Programmiervorkurs für die Numerik Teil 1/4

hue12 January 24, 2017

07 Funktionen (Teil I)

Meine Fakultät. Alumni-Portal HTML-Seiten im Portal Seite 1 von 8

1.3.1 Java-Compiler installieren

login/script login/news Ausloggen Login PHP SCRIPT SCRIPT Level Registrieren Anmelden Administrator Verwaltung Script Einloggen Abmelden User

XAMPP installieren & Kursbeispiel einrichten

Übersicht Shell-Scripten

Vorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel

Kontrollstrukturen -- Schleifen und Wiederholungen

Arbeitsblätter für Algorithmierung und Strukturierung

System.out.println("TEXT");

HTML. HyperText Markup Language. von Nico Merzbach

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

1 Berechnung von Summen (ca = 10 Punkte)

Greenfoot: Verzweigungen

Word Kurzübersicht

Dokumentation. Content-Manager

Grundlagen. Wie sind PHP-Dateien aufgebaut?

Übungszettel 2a - Python

Es wird eine MySQL Datenbank benötigt, es wird die Tabelle SB_Musikmanager erstellt.

Der Editor. Lernplattform. Editorfenster vergrößern

PHP. M.Sc. Nadine Preuß Geographische Analyse- und Darstellungsmethoden WS 15/

Intensivübung zu Algorithmen und Datenstrukturen

12 == 12 true 12 == 21 false 4 === 7 true 4 === "vier" false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false

Fragen und Antworten zum Content Management System von wgmedia.de

BESCHREIBUNG. Etikettendruck. CASABLANCAhotelsoftware gmbh - Öde Schönwies - Tirol - Austria

PHP- Umgang mit Datenbanken (1)

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Wie lege ich eine neue Person an?

Hochschule Aalen. Word. Formatvorlagen und mehr

Java Ablaufsteuerung (Beispiele)

Arbeitsblätter für Algorithmierung und Strukturierung C #

Programmieren. Aufgabe 1 (Eine erste Datenstruktur)

Kompaktkurs Einführung in die Programmierung. 4. Kontrollstrukturen

Diese Dokumentation richtet sich an eher unerfahrene Benutzer.

Python Intro I. Vorsemesterkurs Informatik Praktischer Teil WS 2013/14. 1.Oktober Vorkurs Informatik - WS 2013/14

CADSTAR MRP-Link. MRP-Link ist erstellt von:

Eigene Seiten erstellen Eigene Inhalte / CMS

1. Python Interpreter installieren (WinPython)

Unix-Grundkurs 1. Thema heute: Shell-Skripten

Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch

Erstellen und Verwalten von Karteikarten für imcards am iphone / ipod touch

< UNTERRICHTSMATERIAL /> Calliope mini. Maulwurfspiel

4 Formeln und Funktionen 4.1 Arithmetische Formeln

Variablen und Datentypen

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

Wie erreiche ich was?

Vorkurs Informatik WiSe 16/17

Ausdrücke (1) Grundlegende Eigenschaften

HBB Stückliste. Beim auslesen geht das Programm wie NX vor, was heißt dass Komponenten-Attribute höher zählen als Part-Attribute.

Python Intro. Vorsemesterkurs Informatik Praktischer Teil WS2012/13. 2.Oktober Vorkurs Informatik - WS 2012/13

Visual Basic Express Fehlerermittlung

Bedingte Anweisungen

Arithmetik in der tcsh

Wie lege ich eine neue Standardseite an?

Kopf-/Fußzeilen und Seitenzahlen

< UNTERRICHTSMATERIAL /> Calliope mini. Maulwurfspiel

Kennen, können, beherrschen lernen was gebraucht wird

Kurze Bedienungsanleitung für den Java-Editor

Microsoft Excel 2016 Relative und absolute Bezüge

Das HERON-Verfahren mit der TI84-Tabellenkalkulation CellSheet

Praktikum Ingenieurinformatik. Termin 2a. Schleifen und Verzweigungen in C und mit MATLAB

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

Internet-Technologien

Billy 3.1 Kurzanleitung (Details im Handbuch)

Zyklen: break und continue

Syntax Variablen. mtrx <- matrix (c(1,2,3,4,5,6),ncol=2,nrow=3) Anzeigen des Types: class(var) Umwandeln mit: as.vector(mtrx)

Informatik I Übung, Woche 40

Einführung in die Computerlinguistik Einführung in Perl (1)

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

Securepoint Security Systems

W7 Projekt im Zusammenhang Gästebuch

Word starten. Word Word 2010 starten. Schritt 1

Java Anweisungen und Ablaufsteuerung

Java: Eine kurze Einführung an Beispielen

OpenType Schriftarten. Windows. Will Software

Word 4. Tabulatoren Version: Relevant für: ECDL, IKA, DA

Prinzipien der Softwareentwicklung S. Strahringer

Transkript:

Vorbemerkungen Diese Schrittanleitung bezieht sich auf die Aufgaben 4 bis 6 von "Übung 2 - Schleifenbeispiele (1)" Sie soll als Anregung dienen, wie Sie Ihren Code blockweise erstellen und testen können. Unter Punkt "Schritte zur Realisierung der Aufgaben 5 und 6" ab Seite 3 geht es vor allem darum, wie ein vorhandener Arbeitsstand in kleinen und überschaubaren Schritten modifiziert und erweitert werden kann. ZeilenMax = 10 SpaltenMax = 10 Ausgabe Tag <pre> Für (zeile = 1; zeile <= ZeilenMax ; zeile++) Für (spalte = 1; spalte <= SpaltenMax; spalte++) Ausgabe "zeile.spalte " (mit Leerzeichen) Ausgabe Tag <br> Ausgabe Tag </pre> Schritte zur Realisierung der Aufgabe 4 Schritt 1: Apache- Server (ggf. auch MySql) starten Editor öffnen und Datei unter dem gewünschten Namen speichern Schritt 2: PHP- Rahmen schreiben Schritt 3: Variabelenzuweisungen Ausgabe der HTML-Tags <pre> 1 und </pre> in das Webbrowser- Fenster mittels der Anweisung echo. Nicht Gegenstand des Struktogrammes, aber beim Erstellen und Testen von PHP- Skripten nützlich: highlight_file() 2. Damit wird der Code des Skriptes farbig formatiert ausgegeben (natürlich nur, wenn es keine Fehlermeldungen gibt). $SpaltenMax = 9 Schritt 4: Speichern und testen im Webbrowser localhost eingeben, danach ggf. Unterverzeichnisse, dann den Dateinamen: localhost/.../ueb2/dateiname.php Wenn der Dateiname index.php lautet, kann er weggelassen werden. Ggf. Fehler beseitigen (fehlendes Semikolon hinter 9), nochmals testen Schritt 5: zuerst for () { Äußere Schleife (Zeilenschleife) dann for (Schleifensteuerung) { dann, eingerückt 3, eine Schleifenanweisung zum testen echo $Zeile; 1 Mit <pre>... </pre> wird der eingeschlossene Abschnitt im Webbrowser in einer Schrift dargestellt, bei der jedes Zeichen die gleiche Breite hat. Sieht im vorliegenden Beispiel optisch einfach besser aus. 2 Mit basename($php_self) wird der Dateiname der aktuellen Datei ermittelt. Die System- Variable $PHP_SELF enthält den vollständigen Namen der Datei (einschließlich Pfadangaben), die eingebaute PHP- Funktion basename() gibt den reinen Dateinamen wieder, im vorliegenden Fall also index.php. Sie können so diese Anweisungs- Zeile zu Testzwecken in jedem ihrer PHP- Skripte einsetzen, ohne sich Gedanken über den Dateinamen zu machen. 3 Einrückungen sind äußerst hilfreich, um optisch den Überblick zu behalten (wo beginnt ein Konstrukt, wo endet es, was ist worin geschachtelt, usw.). Einrückungen sollten mit Leerzeichen erzeugt werden. Tab- Taste geht zwar schneller, hat aber folgenden Nachteil: R.-P. Keil Übung 2 - Schleifenbeispiele (1) - Schrittanleitung / Seite 1 von 6

Schritt 6: Speichern und testen im Webbrowser Es ist vermutlich erst mal nichts zu sehen. Wir haben es mit einem beliebten und häufigen Fehler zu tun: eine versehentlich falsch geschriebene Variable: $Zeile anstatt $zeile (Bei Variablen Groß- / Kleinschreibung beachten). Bei der testweisen Ausgabe von Variablen sollte immer ein Textanteil mit enthalten sein, sinnvollerweise der Variabelenname ohne Dollarzeichen: echo "zeile: $zeile"; Nehmen Sie die Änderung vor und testen Sie erneut. Es sollte nun eine korrekte Webbrowser- Ausgabe erfolgen. Die Schleife funktioniert also prinzipiell. Erst jetzt ist es sinnvoll, weitere Details des Schleifeninneren zu realisieren und zu testen. Schritt 7: Ändern Sie zunächst die bisherige Testanweisung um in Beim Testen im Webbrowser werden alle Zeilennummern in einer Zeile ausgegeben. Es fehlt also noch ein HTML- Zeilenumbruch: (Das ist die Struktogrammzeile "Ausgabe Tag <br>" Testen Sie erneut im Webbrowser Schritt 8: Innere Schleife (Spaltenschleife) zuerst auf der gleichen Einrückungsebene wie die bisherigen Schleifenanweisungen: for () { (Bemerkung: wird von der äußeren Schleife übernommen und eingerückt) dann for (Schleifensteuerung) { (Bemerkung: der Inhalt von "Schleifensteuerung" kann von der äußeren Schleife kopiert und angepasst werden) Schritt 9: Speichern und testen im Webbrowser Es sollte jetzt im Webbrowser eine Matrix sichtbar sein, in der lediglich noch die Spaltennummern fehlen. Diese werden erzeugt, indem die Anweisung der inneren Schleife geändert wird von zu echo "$zeile.$spalte "; (S. nächster Absatz) wenn die Datei in einem anderen Editor geöffnet wird, der eine größere Tabulator- Schrittweite hat, ragt der Code schnell über den rechten Rand des Editorfenster hinaus und man muss horizontal scrollen. R.-P. Keil Übung 2 - Schleifenbeispiele (1) - Schrittanleitung / Seite 2 von 6

Der fertige Code für Aufgabe 4: echo "$zeile.$spalte "; Es sollte jetzt alles funktionieren. Aufgabe 4 ist somit erledigt. Es geht nun darum, die Aufgaben 5 und 6 zu realisieren, indem vorhandener Code in kleinen, überschaubaren Schritten modifiziert und erweitert wird. Schritte zur Realisierung der Aufgaben 5 und 6 Schritt 1: Kopieren Sie den bisherigen Code (Zeilen bis einschließlich ). Fügen Sie Ihn oberhalb der Zeile ein. Testen Sie den Arbeitsstand im Webbrowser. Es sollte nun, getrennt mit einer horizontalen Linie, eine exakte Kopier der Matrix zu sehen sein. Schritt 2: Ändern Sie die bisherige Anweisung der inneren Schleife um von echo "$zeile.$spalte "; nach Beim Testen im Webbrowser ist nun eine Matrix von Sternen zu sehen. Es geht nun darum, die Sterne nur anzuzeigen, wenn es sich um die erste und letzte Zeile sowie um die erste und letzte Spalte handelt. D.h. es ist lediglich das Schleifeninnere der inneren Schleife zu modifizieren. Wir werden hierzu eine Verzweigung benötigen (if... else...): wenn es sich um eine der genannten Zeilen bzw. Spalten handelt gib einen Stern, ansonsten gib ein Leerzeichen aus. Da die Bedingung der if- Konstruktion ziemlich umfangreich wird (wir müssen vier logische Aussagen verknüpfen, für Aufgabe 6 sind es acht), werden wir eine zusätzliche Variable einführen: die Variable $bedingung (s. nachfolgender Code). Diese setzen wir zunächst auf true, um die anschließende if- Konstruktion zu testen. R.-P. Keil Übung 2 - Schleifenbeispiele (1) - Schrittanleitung / Seite 3 von 6

Schritt 3: Fügen Sie vor die bisherige Schleifenanweisung die Anweisung $bedingung = true; ein. Fügen Sie anschließend die if- Konstruktion ein können Sie direkt übernehmen, indem Sie es einrücken. $bedingung = true; Beim Testen im Webbrowser ist erst mal keine Änderung zu sehen. Wir befinden uns aber, sofern es keine Fehlermeldung gibt, auf dem richtigen Weg. Mit dem folgenden Schritt erweitern wir die if- Konstruktion durch ein else: Schritt 4: Fügen Sie den else- Zweig ein Um auch diesen zu testen, setzen wir die Variable $bedingung auf false und geben testweise einen Strich aus $bedingung = false; else { echo "-"; Beim Testen im Webbrowser sollten jetzt an Stelle der Sterne Striche zu sehen. Wenn das der Fall ist, funktioniert auch der else- Zweig prinzipiell. Es geht nun um die korrekte Formulierung der Bedingung: R.-P. Keil Übung 2 - Schleifenbeispiele (1) - Schrittanleitung / Seite 4 von 6

Schritt 5: Ändern Sie die Bedingung um in $bedingung = $spalte == 1; (= fungiert als Wertzuweisung, == als Vergleichsoperator) Testen Sie den Arbeitsstand im Webbrowser. Es sollten nun in der ersten Spalte Sterne zu sehen sein. Fügen Sie mittels des Oder- Operators ( ) nun Schritt für Schritt die anderen Teilbedingungen ein (nach jeder neuen Teilbedingung testen). Achtung: das Semikolon darf sich nur hinter der letzten Teilbedingung befinden! Ändern Sie im else- Zweig den Strich um in ein Leerzeichen $bedingung = $spalte == 1 $spalte == $SpaltenMax $zeile == 1 $zeile == $ZeilenMax; else { echo " "; Der einfache Rahmen aus Sternen sollte jetzt funktionieren. Von hier bis zur Erzeugung eines zweifachen Rahmens, der Realisierung von Aufgabe 6 also, ist es nur ein kleiner Schritt (s. folgender Code). R.-P. Keil Übung 2 - Schleifenbeispiele (1) - Schrittanleitung / Seite 5 von 6

Schritt 6: Fügen Sie nun Schritt für Schritt die zusätzlichen Teilbedingung ein (nach jeder neuen Teilbedingung testen). Achtung: das Semikolon darf sich nur hinter der letzten Teilbedingung befinden! Sie sehen spätestens an dieser Stelle: es war sehr sinnvoll, für die Bedingung eine eigene Variable einzuführen. Es ist so einfach übersichtlicher, Änderungen und Erweiterungen sind unkompliziert realisierbar. $bedingung = $spalte == 1 $spalte == 2 $spalte == $SpaltenMax $spalte == $SpaltenMax -1 $zeile == 1 $zeile == 2 $zeile == $ZeilenMax $zeile == $ZeilenMax - 1; else { echo " "; Beim Testen im Webbrowser sollten jetzt an Stelle der Sterne Striche zu sehen. Wenn das der Fall ist, funktioniert auch der else- Zweig prinzipiell. Es geht nun um die korrekte Formulierung der Bedingung: R.-P. Keil Übung 2 - Schleifenbeispiele (1) - Schrittanleitung / Seite 6 von 6