Hello World! Eine Einführung in das Programmieren Das ... · Hello World! Eine Einführung in das...
Transcript of Hello World! Eine Einführung in das Programmieren Das ... · Hello World! Eine Einführung in das...
Hello World!
Eine Einführung in das Programmieren
Das erste Programm
Görschwin Fey
Institute of Embedded Systems
Hamburg University of Technology
Brückenkurs Hello World!Slide 2
Betriebssystem – Funktion
10.10.2019 Hello World!Rechner
Betriebssystem
Gerätesteuerung
Speicher-
verwaltung
Task-
Management
Weitere
Serviceroutinen
DateiverwaltungInterrupt-
Handling
Hardware-spezifischer Code
Anwendung
Brückenkurs Hello World!Slide 3
Programmierung
Rechner
• Stellt nur sehr einfache Befehle zur Verfügung
• Programm
• ist im Speicher abgelegt, muss in Binärformat vorliegen, sogenannter
Maschinencode
• muss für das jeweilige Betriebssysteme angepasst sein
Programmierung
• Geschieht (heute fast immer) in einer sogenannten Hochsprache
• Programm ist eine Textdatei
• Übersetzung in Assembler und von dort in Maschinencode passiert mit
Hilfssoftware:
• Compilierung
10.10.2019 Hello World!
Brückenkurs Hello World!Slide 4
Übersetzung von Hochsprache in Maschinencode
• Compilieren: Programm wird vor der Ausführung übersetzt
10.10.2019 Hello World!
Rechner
Betriebssystem
Anwendung
(compiliert)
Brückenkurs Hello World!Slide 5
Compilier-Vorgang
a.cpp
Compiler
Compilation AssemblingAnalysis a.o
Linker
Libraries
a.outExecutable
• Vereinfachte Darstellung des Compilier-Vorgangs
• Bibliotheken (Libraries) implementieren zusätzliche Funktionalität
• Linker verbindet das Programm mit den Bibliotheken zum Executable
10.10.2019 Hello World!
Source/
Quellcode
Object
Brückenkurs Hello World!Slide 6
Werkzeuge
• g++
• C++-Compiler & -Linker
• Unter Linux oft vorinstalliert bzw. leicht verfügbar
• Unter Windows als mingw bzw. in Codeblocks verfügbar
• Unter MacOS mit xcode verfügbar
• Kommando im Terminal
g++ <SourceCode>
• <SourceCode> ist eine Textdatei mit C++-Anweisungen
• erzeugt das Programm a.out
• Programm wird durch Terminaleingabe ausgeführt
./a.out
10.10.2019 Hello World!
Brückenkurs Hello World!Slide 7
Anweisungen in C++
Jede Programanweisung …
• endet mit einem Semikolon
• wird in eine neue Zeile geschrieben
10.10.2019 Hello World!
Anweisung 1;
Anweisung 2;
…
Anweisung n;
Anweisungen eines Programms werden sequentiell nacheinander
ausgeführt
Brückenkurs Hello World!Slide 8
Hello World – Ein erstes C++-Programm: Datei a.cpp
10.10.2019 Hello World!
Definition von Funktionen
aus Bibliotheken und
anderen Programmdateien
main-Funktion definiert
Einstiegspunkt für das
Programm
Zugriff auf cout im
Namespace std
Ausgabeoperator
Konstante
Zeichenkette
Zeilenumbruch in
Ausgabe erzeugen
Codeblock,
definiert hier main-
Funktion
Brückenkurs Hello World!Slide 9
Syntax und Semantik
• Syntax – wie die Grammatik einer Sprache
• Regeln, die beschreiben, welche Zeichenfolgen gültige Programme
sind
• Semantik – wie die Bedeutung der Worte einer Sprache
• Bedeutung, welche Aktionen durch einzelne Befehle ausgeführt
werden
• Compiler
• kennt die Syntax
• prüft, ob die Regeln eingehalten sind
• falls ja, wird ein Programm erzeugt dessen Semantik wohldefiniert ist
• falls nein, liefert der Compiler Fehlermeldungen als Hinweise
10.10.2019 Hello World!
Brückenkurs Hello World!Slide 10
Zusammenfassung
• Betriebssystem
• Vereinfacht die Nutzung der Hardware
• Erlaubt gewisse Abstraktion von Hardware
• Hochsprachen werden mit einem Compiler jeweils für Betriebssystem
und Hardware übersetzt
• Wir benutzen g++ als Compiler für die Hochsprache C++
10.10.2019 Hello World!
Brückenkurs Hello World!Slide 11
Übung: Hello World programmieren
1. Textdatei hello.cpp erzeugen mit diesem Inhalt (Verzeichnis merken!)#include <iostream>
int main()
{
std::cout << "Hello, World!\n";
return 0;
}
2. Programm mit Compiler g++ per Anweisung im Terminal compilieren:g++ hello.cpp
3. Programm wurde als Datei a.out bzw. a.exe erzeugt (ls)
4. Programm ausführen mit Kommando./a.out
5. Fehler in das Programm einbauen, erneut compilieren, schauen, was
der Compiler ausgibt, ggf. Programm ausführen
Z.B. „;“ am Zeilenende entfernen; „< “ entfernen, „\n“ entfernen, Text
„Hello World“ ändern6. Programm korrigieren. Den Text Hello, World! zweimal ausgeben
10.10.2019 Hello World!
Brückenkurs Hello World!Slide 12
Übung: Alles nochmal
1. CodeBlocks starten
2. File → New → Project → Console application → C++
– Dialog abarbeiten
3. Binary erzeugen („Build Project“) durch Zahnrad klicken
4. Programm starten: Grüner Pfeil (Play)
5. Klicken auf Sources → main.cpp
6. Wieder herumspielen!
10.10.2019 Hello World!
Brückenkurs Hello World!Slide 13
Getting started
10.10.2019 Hello World!
Brückenkurs Hello World!Slide 14
IDE Interface
10.10.2019 Hello World!
Brückenkurs Hello World!Slide 15
IDE Interface
Dieser Bereich des Graphical User Interface (GUI) enthält die wichtigsten Funktionen, um ein Programm zu compilieren und zu starten
Diese beiden Tabs zeigen das
Ergebnis der Compilierung
10.10.2019 Hello World!
Brückenkurs Hello World!Slide 16
IDE Interface
Dieser Bereich der GUI enthält
Funktionen für das Debugging
Dieses Tab zeigt Informationen
zum Debugging an
10.10.2019 Hello World!
Brückenkurs Hello World!Slide 17
IDE Interface
Hier wird der Memory
Analyzer verwendet
Typische Ausgabe für ein
fehlerfreies Programm
10.10.2019 Hello World!