Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Formale Sprachen im Unterricht mit Python

Ähnliche Präsentationen


Präsentation zum Thema: "Formale Sprachen im Unterricht mit Python"—  Präsentation transkript:

1 Formale Sprachen im Unterricht mit Python
Beck, Leutgeb, Scholler

2 Agenda WH und Definition Formale Sprachen Einführung Python
Praxisbeispiel: Stundenplanung mit Python

3 Sprachen Syntax Semantik Pragmatik

4 Beispiel – Automatisierte Vorgänge
Sprache: PGM

5 Beispiel – Automatisierte Vorgänge
Sprache: Python

6 Beispiel – Automatisierte Vorgänge
Sprache: PGM

7 Formale Sprachen - Definition
Alphabet Nicht-leer, geordnet und endliche Menge Wort Leerwort - Σ* & Σ+ Formale Sprache Syntax!

8 Python: Einfachheit: Bibliothek: Leicht erweiterbar
Wenig Schlüsselwörter Syntax sehr übersichtlich Bibliothek: Leicht erweiterbar Multiparadigmensprache: Erlaubt das für die jeweilige Aufgabe beste Paradigma zu wählen.

9 Python Open Source: Für jedes OS verfügbar
Viele bekannte Dienste nutzen Python: YouTube, Instagram, Pinterest, Dropbox, Reddit, ... Heute populärste naturwiss.-math. Programmiersprache Sehr viele math. Bibliotheken verfügbar: Numerik, Algebra, symbolisches Rechnen, Funktionsplots, Zahlentheorie, ...

10 Reguläre Ausdrücke in Python
In Programmiersprachen, so auch in Python, werden reguläre Ausdrücke für die Filterung genutzt Die Syntax der regulären Ausdrücke ist in allen Programmiersprachen und Skriptsprachen gleich! s = „Reguläre Ausdrücke einfach erklärt!“ „einfach“ in s True!

11 in

12 Modul re Notwendig um mehr aus den regulären Ausdrücken zu machen als bisher: Problem: Backslash hat zB eine besondere Bedeutung in regulären Ausdrücken, ist in Python aber in Strings ein Escape: 1. Lösung: statt einem \ zwei \\ machen 2. Lösung: r“^a.*\.html$“ = raw string (mit einem r)

13 Anwendung: r“cat“ = regulärer Ausdruck um cat zu suchen.
Funktioniert einwandfrei Findet aber auch Wörter wie "falsification„ Nicht gewünscht! r“ cat „ Lösung? Findet nicht „I like this cat, but …“

14

15 Beliebiges Zeichen Statt „cat“ wollen wir nun etwas finden, was mit „at“ endet und 3 Buchstaben hat: Lösung: r“ .at „ Oder auch nicht? oder 3at wären hier gültig. Alternative: Gewünschte Zeichen durch [] definieren: r“M[ae][iy]r [a-c] als Abkürzung für [abc] [^abc] = alles außer abc [a^bc] = ?

16 Diverse Kürzel: \d Eine Ziffer, entspricht [0-9]. \D
das Komplement von \d. Also alle Zeichen außer den Ziffern, entspricht der Klassennotation [^0-9]. \s Ein Whitespace, also Leerzeichen, Tabs, Newlines und so weiter, entspricht der Klasse [ \t\n\r\f\v]. \S Das Komplement von \s. Also alles außer Whitespace, entspricht [^ \t\n\r\f\v]. \w Alphanumerisches Zeichen plus Unterstrich, also [a-zA-Z0-9_]. Wenn die LOCALE gesetzt ist, matched es auch noch die speziellen Zeichen der LOCALE, also z.B. die Umlaute. \W Das Komplement von \w. \b Passt auf den leeren String, aber nur, wenn dieser am Anfang oder Ende eines Strings ist. \B Passt wie \b den leeren String, aber nur, wenn dieser nicht am Anfang oder Ende eines Strings ist. \\ Ein Backslash.

17

18 Match vs. Search

19 Match vs. Search? Funktioniert aber nur in Python (Search)

20 Was macht Python anders?

21 Einführung in die Programmierung anhand der Programmiersprache Python

22 Lehrplan Gesamte Rechtsvorschrift für Lehrpläne – allgemeinbildende höhere Schulen, Fassung vom esetzesnummer= &FassungVom= Bildungs- und Lehraufgabe (5. Klasse) Beiträge zu den Bildungsbereichen Sprache und Kommunikation

23 Konstruktiver Informatikunterricht ist auch Sprachunterricht
Konstruktiver Informatikunterricht ist auch Sprachunterricht. Der Mensch-Maschine-Kommunikation liegt im Gegensatz zu natürlichen Sprachen eine abstrakte formale Sprache zugrunde.

24 Informatiksysteme tragen wesentlich zu Veränderungen der Kommunikationskultur bei. Unterschiedliche digitale Repräsentationsformen von Information ergänzen die traditionelle Verständigung und erfordern neue technologische und methodische Kompetenzen.

25 Die vielfältigen Möglichkeiten der elektronischen Kommunikation ermöglichen einen Austausch über Grenzen hinweg und erleichtern die virtuelle Begegnung mit anderen Kulturen. Die davon ausgehende Motivation, Fremdsprachenkenntnisse zu erwerben, wird durch die Verfügbarkeit aktueller und authentischer fremdsprachlicher Informationen und das Fachvokabular verstärkt.

26 5. Klasse (1. und 2. Semester) – Praktische Informatik
Begriffe und Konzepte der Informatik verstehen und Methoden und Arbeitsweisen anwenden können Algorithmen erklären, entwerfen, darstellen und in einer Programmiersprache implementieren können Grundprinzipien von Automaten, Algorithmen, Datenstrukturen und Programmen erklären können

27 Unterrichts Konzept Dauer: 2 Doppelstunden Zielgruppe: 5 Klasse AHS
Lernziele Verstehen der Grundkonzepte der Programmierung Praktisches Anwenden dieser mittels Python

28 Programmieren mit PYTHON

29 Übersicht Grundbegriffe Formale und natürliche Sprachen
Die Programmiersprache Python Ein erstes Programm

30 Grundbegriffe Was ist ein Algorithmus? Was ist eine Datenstruktur?
Was ist Programmieren? Und was ist ein Programm?

31 Was ist ein Algorithmus?
Ein Algorithmus ist eine detaillierte und explizite Handlungsvorschrift zum schrittweisen Lösen eines bestimmten Problems.

32 Eigenschaften von Algorithmen
Determinismus Ein Schritt folgt auf den nächsten Reihenfolge immer absolut klar Effektivität Ein Schritt ist eine möglichst einfache Grundaktion Verständlichkeit Ein Schritt muss genau genug angegeben werden, um ihn auszuführen

33 Beispiele für Algorithmen
Beispiele aus dem täglichen Leben Spaghetti kochen Einkaufen in einem Supermarkt Abheben von Geld bei einem Bankomaten Einen IKEA-Tisch zusammenbauen

34

35 Aufgabe Algorithmus Stell dir ein Essen vor, das du selbst gerne kochst. Beschreibe algorithmisch den Ablauf. Beginnend mit den Zutaten bist zum fertigen Rezept.

36 Was ist eine Datenstruktur?
Abstraktes Objekt zur Speicherung von Daten Datenstrukturen werden von Algorithmen benötigt Beispiele: Zahlen, Zeichen Listen, Matrizen, Graphen, Mengen, … Reale Objekte: Buch, Telefon, Tastatur, ... Sollen dem Algorithmus angepasst sein

37 Was ist ein Programm? Ein Programm ist eine Abfolge von Anweisungen, die festlegen, wie ein Problem zu lösen ist. Man kann Anweisungen nach ihrer Funktion gruppieren: Eingabe (das Programm besetzt Variablen mit Daten von der Platte, dem Netz, der Benutzer) Verarbeitung (Rechnen…) Ausgabe

38 Was ist Programmieren? Umsetzen von Algorithmen und
Datenstrukturen in ein Computerprogramm Dazu ist eine Programmiersprache nötig Programmierer schreibt Quelltext (Code): Gewöhnlicher, von Menschen lesbarer Text Wird sofort ausgeführt oder in Dateien abgespeichert Enthalt Anweisungen an die Programmiersprache

39 Warum programmieren? Probleme zu formulieren, kreativ über Lösungen nachzudenken Eine Lösung klar und genau zu beschreiben Programmieren lernen ist eine hervorragende Gelegenheit um Problemlösungs-Fertigkeiten zu entwickeln und zu üben

40 Syntax Grammatik einer Programmiersprache
Regeln, wie ein Programm aufgebaut ist Programmiersprache ähnlich der natürlichen Sprache Korrekte Syntax: ”Der Lehrer spricht über Syntax.” Syntaxfehler: ”Syntax spricht Lehrer über.” Syntaxfehler in Programmiersprache: Vergessen eines Symbols Vertauschen von Symbolen Zu viele Symbole aufgeschrieben

41 Semantik Bedeutung eines Programms (oder Satzes)
Ziel/Zweck eines Programms? ”Der Lehrer spricht über Semantik” Semantische Fehler Syntax ok, aber: ”Eine Katze ist blau”?! ”Die Erde ist das Zentrum des Universums”?! In Programmen oft nicht so einfach ersichtlich Programmiersprache kann nur selten warnen

42 Die Programmiersprache Python

43 Warum Python? Einfacher Einstieg Intuitiver und lesbarer Programmcode
Trotzdem sehr mächtig Unterstützt alle wichtigen Programmiermodelle: strukturiert, objektorientiert, funktional Sehr verbreitet im akademischen Umfeld, in Unternehmen, Hobby,…

44 Warum Python? Python ist Open Source Gratis herunterladbar
Auch frei im Sinn von ”für beliebige Zwecke verwendbar und veränderbar” Für jedes moderne Betriebssystem verfügbar Windows, Linux, Mac, … Viele bekannte Dienste nutzen Python: YouTube, Instagram, Pinterest, Dropbox, Reddit, … Name: Monty Python, nicht die Schlange

45 Installation von Python - Windows
Betriebssystemabhängig Wir verwenden Python 3 Für uns am besten passend: WinPython ”Downloads” → WinPython-64bit exe Für sehr alte Notebooks/Netbooks: 32bit-Version Installation Windows-typisch (OK, ”Weiter”, …) Mit Explorer in den Installationsordner gehen: WinPython Control Panel.exe ausfuhren Advanced → Register Distributionon 3 (nicht 2)!

46 Genug der Theorie… lasst uns programmieren!

47 Ein erstes Programm – Hallo Welt
Aufgabe: Gib folgendes am Bildschirm aus: Hallo, Welt! Code: print('Hallo Welt!') Ausgabe: Hallo Welt!

48 Ein erste Spiel - Geisterspiel
In jeder Runde des Spieles steht man vor drei Türen. Hinter einer dieser Türen versteckt sich ein gefährlicher Geist. Ziel des Spieles ist es diesem Geist zu entgehen. Errät man eine Türe ohne Geist, bekommt man einen Punkt und man kann weiterspielen. Das Spiel wiederholt sich so lange, bis man sich für die Tür mit dem Geist entscheidet.

49 Aufgabenstellung - Algorithmus
Beschreibe die einzelnen Schritte des Spieles mit deinen eigenen Worten. Gehe Schritt für Schritt des Spiels ganz genau durch.

50


Herunterladen ppt "Formale Sprachen im Unterricht mit Python"

Ähnliche Präsentationen


Google-Anzeigen