Übungspaket 4 Klassifikation von Dreiecken

Größe: px
Ab Seite anzeigen:

Download "Übungspaket 4 Klassifikation von Dreiecken"

Transkript

1 Übungspaket 4 Klassifikation von Dreiecken Übungsziele: Skript: 1. Selbstständiges Entwickeln eines ersten Programms 2. Anwenden der Methoden des Software Life Cycles 3. Programmentwurf durch Anwendung der Methode der Schrittweisen Verfeinerung 4. Erstellen eines ersten, eigenen C-Programms 5. Finden von Programmierfehlern Kapitel: 6 bis 9 und 16 Semester: Wintersemester 2018/19 Betreuer: Thomas, Tim und Ralf Synopsis: Nach dem ihr im 3. Übungspaket ein in der Vorlesung entwickeltes Programm auf dem Rechner zum Laufen gebracht habt, müsst ihr nun euer erstes eigenes Programm selber entwickeln. Im Rahmen der Programmentwicklung sollt ihr alle Phasen des Software Life Cycles anwenden.

2 Teil I: Stoffwiederholung Aufgabe 1: Das Konzept der Fallunterscheidung In Kapitel 9 des Skriptes haben wir die Fallunterscheidung eingeführt. Erkläre mit eigenen Worten, wofür sie verwendet werden kann und wie sie mittels der Methode der Schrittweisen Verfeinerung dargestellt wird! Die Fallunterscheidung dient dazu, einen logischen Ausdruck auszuwerten und in Abhängigkeit des Ergebnisses etwas Bestimmtes zu tun. Man spricht auch von einer bedingten Programmverzweigung. Die einfachste Form der Fallunterscheidung kann man als wenn-dann Konstruktion beschreiben: wenn ein logischer Ausdruck wahr ist dann tue etwas Sinnvolles Diese Konstruktion lässt sich erweitern: wenn ein logischer Ausdruck wahr ist dann tue etwas Sinnvolles sonst tue etwas anderes Aufgabe 2: Die Fallunterscheidung in C Erkläre kurz, wie die Fallunterscheidung in der Programmiersprache C implementiert wird! Gib zusätzlich mindestens vier Beispiele für eine sinnvolle Fallunterscheidung in C an! Die einfache wenn-dann Konstruktion wird in C wie folgt umgesetzt: if ( logischer Ausdruck ) Anweisung; Das Schlüsselwort if wird mit der Bedeutung wenn verwendet. C kennt kein Schlüsselwort für dann; es ist implizit enthalten. Es kann nur eine Anweisung folgen; benötigt man mehr als eine Anweisung, müssen diese mit geschweiften Klammern eingeschlossen werden (aus Platzgründen ohne Einrücken): 1 if ( logischer Ausdruck ) 2 { Anweisung_1 ; Anweisung_2 ; } Die erweiterte Fallunterscheidung sieht wie folgt aus (wieder ohne Einrücken): 1 if ( logischer Ausdruck ) 2 { Anweisung_1 ; Anweisung_2 ; } 3 else { Anweisung_3 ; Anweisung_4 ; } Die Anweisungen 1 und 2 werden ausgeführt, wenn die Bedingung erfüllt ist (der logische Ausdruck wahr ist), sonst die Anweisungen 3 und Wintersemester 2018/19, Einführung in die Praktische Informatik

3 Weitere Beispiele (Anmerkung: i und x sind vom Typ int): 1 if ( i == 0 ) 2 printf ( "i ist null \n" ); 3 4 if( i == 0 ) 5 printf ( "i ist null \n" ); 6 else printf ( "i ist nicht null \n" ); 7 8 if( i == 0 && x < 3 ) 9 { 10 printf ( "i ist null \n" ); 11 printf ( "x ist kleiner als 3\n" ); 12 } 13 else { 14 printf ( " entweder ist i ungleich null " ); 15 printf ( " oder x ist groesser oder gleich 3\ n" ); 16 } if( i == 0 && x < 3 ) 19 { 20 printf ( "i ist null \n" ); 21 if(x >0) 22 { 23 printf ( " x ist entweder 1 oder 2\ n" ); 24 } 25 else { 26 printf ( " x ist negativ oder gleich null \ n" ); 27 } 28 } 29 else { 30 printf ( " entweder ist i ungleich null " ); 31 printf ( " oder x ist groesser oder gleich 3\ n" ); 32 } Aufgabe 3: Detailfragen zur Speicherorganisation Wie kann man die Speicheradressen von Variablen und Funktionen ausgeben? Variablen: printf( "%p", & name der variablen ); Funktionen: printf( "%p", & name der funktion ); Einführung in die Praktische Informatik, Wintersemester 2018/19 4-2

4 Teil II: Quiz Aufgabe 1: Phasen des Software Life Cycle Wie heißen die einzelnen Phasen des Software Life Cycle und worauf zielen sie ab? 1. Phase Name: Ziele: 2. Phase Name: Ziele: 3. Phase Name: Ziele: 4. Phase Name: Ziele: 5. Phase Name: Ziele: 6. Phase Name: Ziele: Aufgabenstellung Erfassung des Problems, des Problemumfangs und der notwendigen Randbedingungen, vage Beschreibung des gewünschten Ergebnisses. Problemanalyse Konkretisierung aus Programmierersicht: welche Daten, wie wird verarbeitet, welches Ergebnis, Bedienung, Reaktion auf Fehler, welche Testdaten? Entwurf Aufteilung komplexer Aufgabenstellungen in mehrere kleinere Komponenten. Wie werden Daten zwischen den Komponenten vermittelt? Implementierung Detaillierte Beschreibung der Algorithmen der einzelnen Module: Struktogramm/schrittweise Verfeinerung (kein C-Code). Kodierung Umsetzen der Implementierung in C-Code. Test Test aller Programmteile mit gültigen und ungültigen Daten, Fehlererkennung und -behebung. 4-3 Wintersemester 2018/19, Einführung in die Praktische Informatik

5 Teil III: Fehlersuche Aufgabe 1: Syntaxfehler Unser Programmiererteam, die Tri Angels haben in folgendes Programm je Zeile einen Fehler eingebaut. Finde, erkläre und korrigiere sie. 1 # include <stdio.h> 2 INT main ( int argc, char ** argv ) 3 [ 4 int i, j k, l; 5 i = 1; j = 2; k = 3; l = 2: 6 if ( i == 1 7 printf ( "i ist 1\n ); 8 if ( i == 1 &&& j == 3 ) 9 printf ( "i ist 1 und j ist 3\" ); 10 if ( k == 1 && [j == 3 l < 5)) 11 print ( " k ist 1 und j ist 3 oder l kleiner 5\ n" ); 12 if ( i => 2 * (j + k)*l l == 2 ) 13 printf " der komplizierte ausdruck ist wahr \ n"; 14 $} Zeile Fehler Erläuterung Korrektur 1 großes D C unterscheidet Groß/Kleinbuchstaben #include 2 großes INT C unterscheidet Groß/Kleinbuchstaben int 3 [ In C werden Blöcke durch { und } gebildet { 4, fehlt Variablen müssen mit Komma getrennt werden j, k 5 : Abschluss einer Anweisung mittels ; l = 2; 6 ) fehlt Die Bedingung muss mit einer runden Klammer enden if (i == 1) 7 " fehlt Zeichenketten müssen innerhalb von "..." stehen "i... 1\n" 8 &&& Das logische und besteht aus nur zwei &-Zeichen && 9 \" Der Zeilenumbruch heißt \n. Bei \" will der Compiler ein " ausgeben. Folgefehler: er erkennt das Ende der Zeichenkette nicht j ist 3\n" 10 [ Die einzelnen Ausdrücke müssen in () stehen (j == 3...) 11 f fehlt Die Ausgabeanweisung heißt printf() printf Einführung in die Praktische Informatik, Wintersemester 2018/19 4-4

6 Zeile Fehler Erläuterung Korrektur 12 => Der Vergleich heißt in C >= i >= () fehlen Die Argumente von printf müssen in () stehen printf() 14 $ zu viel Dort gehört kein $-Zeichen hin } Programm mit Korrekturen: 1 # include <stdio.h> 2 int main ( int argc, char ** argv ) 3 { 4 int i, j, k, l; 5 i = 1; j = 2; k = 3; l = 2; 6 if ( i == 1 ) 7 printf ( "i ist 1\n" ); 8 if ( i == 1 && j == 3 ) 9 printf ( "i ist 1 und j ist 3\n" ); 10 if ( k == 1 && (j == 3 l < 5)) 11 printf ( " k ist 1 und j ist 3 oder l kleiner 5\ n" ); 12 if ( i >= 2 * (j + k)*l l == 2 ) 13 printf ( " der komplizierte ausdruck ist wahr \ n" ); 14 } 4-5 Wintersemester 2018/19, Einführung in die Praktische Informatik

7 Teil IV: Anwendungen Aufgabe 1: Vorüberlegung: Klassen von Dreiecken In der Mathematik werden Dreiecke, die durch die drei Seiten a, b und c beschrieben werden, in die folgenden fünf Klassen eingeteilt. Beschreibe jede Klasse mittels einer Formel (a, b und c) sowie mindestens einem Zahlenbeispiel. 1. Kein Dreieck: Die Dreiecksungleichung besagt, dass die Summe zweier Seiten immer echt größer sein muss als die dritte Seite: Die drei Seiten a, b, c können kein Dreieck bilden, wenn folgende Aussage wahr ist: a + b c oder b + c a oder a + c b. Beispiel: a = 5, b = 1, c = 1 Umgekehrt bilden die drei Seiten a, b, c ein Dreieck, wenn folgende Aussage wahr ist: a + b > c und a + c > b und b + c > a 2. Gleichseitiges Dreieck: Alle drei Seiten a, b, c müssen gleich lang sein: a = b und b = c. Beispiel: a = 4, b = 4, c = 4 3. Gleichschenkliges Dreieck: Zwei Seiten des Dreiecks müssen gleich lang sein, folgende Aussage muss also wahr sein: a = b oder a = c oder b = c Beispiel: a = 6, b = 6, c = 3 4. Rechtwinkliges Dreieck: Im rechtwinkligen Dreieck muss die Summe der Quadrate der beiden Seiten, die den rechten Winkel einschließen, genauso groß sein, wie das Quadrat der dritten Seite: a 2 + b 2 = c 2 oder b 2 + c 2 = a 2 oder a 2 + c 2 = b 2 Beispiel: a = 3, b = 4, c = 5 5. Gewöhnliches Dreieck: Jede Kombination der Seiten a, b, c, die gemäß Bedingung 1 ein Dreieck bilden, aber keine der Bedingungen 2 bis 4 erfüllen, bilden ein gewöhnliches Dreieck. Beispiel: a = 3, b = 4, c = 6 Einführung in die Praktische Informatik, Wintersemester 2018/19 4-6

8 Aufgabe 2: Entwicklung eines Dreiecksprogramms In dieser Aufgabe geht es um die eigenständige Entwicklung eines Programms zur Klassifikation von Dreiecken. Dabei sollt ihr alle Phasen des Software Life Cycle nacheinander durchlaufen (siehe auch Skriptkapitel 7), was durch die folgende Gliederung unterstützt werden soll. Die Klassifikation der einzelnen Dreiecke kann gemäß Aufgabe 1 erfolgen. Innerhalb dieser Aufgabe bezeichnen wir die drei Seiten des Dreiecks mit a, b und c. 1. Aufgabenstellung Entwickle ein Programm, das drei Zahlen für die Seiten a, b und c einliest. Das Programm soll überprüfen, ob es sich um ein Dreieck handelt und ggf. die zutreffenden Dreiecksklassen ausgeben. Beispiel: Eingabe: 3, 4, 5 Ausgabe: rechtwinkliges Dreieck Das Programm soll auch erkennen, falls getätigte Eingaben unsinnig sind. Hierzu zählt beispielsweise die Eingabe negativer Seitenlängen. Hinweis: Bei der Programmentwicklung kann davon ausgegangen werden, dass immer nur ganze Zahlen vorkommen, sodass der Datentyp int verwendet werden kann. 2. Pflichtenheft Aufgabe : Klassifikation von Dreiecken Eingabe : drei Zahlen für die Seiten a, b und c, Datentyp int Ausgabe : Die jeweilige(n) Klasse(n) des Dreiecks Sonderfälle : Zahlenwerte 0 für eine oder mehrere Seiten 3. Testdaten Testfall a b c Dreiecksklasse(n) kein Dreieck gleichseitig, gleichschenklig gleichschenklig gleichschenklig rechtwinklig gewöhnlich gewöhnlich fehlerhafte Eingabe fehlerhafte Eingabe 4-7 Wintersemester 2018/19, Einführung in die Praktische Informatik

9 4. Implementierung Klassifikation von Dreiecken Variablen: Integer: a, b, c Einlesen von Seite a, Einlesen von Seite b, Einlesen von Seite c wenn a > 0 und b > 0 und c > 0 dann wenn a+b > c und a+c > b und b+c > a dann Ausgabe des Textes: reguläres Dreieck Test auf gleichseitiges Dreieck Test auf gleichschenkliges Dreieck Test auf rechtwinkliges Dreieck sonst Ausgabe des Textes: kein Dreick sonst Ausgabe des Textes: Mindestens eine Eingabe ist fehlerhaft Test auf gleichseitiges Dreieck wenn a = b und b = c dann Ausgabe des Textes: Gleichseitiges Dreieck Test auf gleichschenkliges Dreieck wenn a = b oder b = c oder a = c dann Ausgabe des Textes: Gleichschenkliges Dreieck Test auf rechtwinkliges Dreieck wenn a 2 + b 2 = c 2 oder b 2 + c 2 = a 2 oder a 2 + c 2 = b 2 dann Ausgabe des Textes: Rechtwinkliges Dreieck Handsimulation: Trage in nachfolgender Tabelle ein, welche Ausdrücke ausgewertet und welche Ausgaben getätigt werden. Eingabe: Ausdrücke und Variablen Zuweisung Auswertung Ausgabe Variable a: Wert: undef. 2 Variable b: Wert: undef. 3 Variable c: Wert: undef. 4 a>0 und b>0 und c>0 wahr regulär a=b und b=c falsch a=b oder a=c oder b=c falsch a 2 +b 2 =c 2 oder b 2 +c 2 =a 2 oder a 2 +c 2 =b 2 falsch Einführung in die Praktische Informatik, Wintersemester 2018/19 4-8

10 5. Kodierung Unsere Kodierung sieht wie folgt aus (teilweise etwas komprimiert): 1 # include <stdio.h> 2 3 int main ( int argc, char ** argv ) 4 { 5 // fuer jede seite eine variable nebst initialisierung 6 int a = -1, b = -1, c = -1; 7 8 // eingabeaufforderung und die seiten einlesen 9 printf ( " Bitte Seite a eingeben : " ); scanf ( "%d",&a ); 10 printf ( " Bitte Seite b eingeben : " ); scanf ( "%d",&b ); 11 printf ( " Bitte Seite c eingeben : " ); scanf ( "%d",&c ); // damit wir wissen, was vor sich geht 14 printf ( "\ neingabe : a=%d b=%d c=%d\n\n", a, b, c ); // pruefung auf korrekte eingabe 17 if ((a > 0) && (b > 0) && (c > 0)) 18 { 19 // alles OK; erster test : dreieck oder keines 20 if ((a+b > c) && (a+c > b) && (b+c > a)) 21 { 22 printf ("a, b und c bilden ein Dreieck \n"); // zweiter test : gleichseitiges dreieck 25 if ((a == b) && (b == c)) 26 printf (" Das Dreieck ist gleichseitig \n"); // dritter test : gl eichsc henkli ges dreieck 29 if ((a == b) (b == c) (a == c)) 30 printf (" Das Dreieck ist gleichschenklig \ n"); // vierter test : rechtwinkliges dreieck 33 if ((a*a + b*b == c*c) (a*a + c*c == b*b) 34 (b*b + c*c == a*a)) 35 printf (" Das Dreieck ist rechtwinklig \n"); 36 } 37 else printf ("a, b und c bilden kein Dreieck!\n"); 38 } 39 else printf (" Mindestens eine Seite ist fehlerhaft \ n"); // fertig 42 return 0; 43 } 4-9 Wintersemester 2018/19, Einführung in die Praktische Informatik

11 Handsimulation: Im Sinne eines effizienten Arbeitens ist es sehr lohnenswert, das auf Papier entwickelte C-Programm vor dem Eintippen mittels einer Handsimulation für einige ausgewählte Testdaten zu überprüfen. Trage hierzu in nachfolgender Tabelle (von oben nach unten) ein, welche Ausdrücke ausgewertet und welche Ausgaben getätigt werden. Eine mögliche Testeingabe lautet: 3, 4, 5. Eingabe: 3, 4, 5 Zeile Variablen Aktion Resultat/Effekt Definition int a,b,c Anlegen und Initialisieren 9 a=-1 b=-1 c=-1 scanf( "%d", & a ) Eingabe 3: a=3 10 a= 3 b=-1 c=-1 scanf( "%d", & a ) Eingabe 4: b=4 11 a= 3 b= 4 c=-1 scanf( "%d", & a ) Eingabe 5: c=5 14 a= 3 b= 4 c= 5 printf(...) Ausgabe: a=3 b=4 c= a>0 && b>0 && c>0 wahr a+b>c && a+c>b && b+c>a wahr printf(...) Ausgabe: ein Dreieck a==b && b==c falsch a==b a==c b==c falsch a*a + b*b == c*c... wahr printf(...) Ausgabe: rechtwinklig return 0 Programmende 6. Speicherorganisation Um ein besseres Gefühl für die internen Dinge eines C-Programms zu bekommen, sollt ihr diesmal auch eine Speicherkarte erstellen, deren Einträge üblicherweise absteigend sortiert sind (die großen Adressen oben, die kleinen unten). Für alle Variablen und Funktionen sind jeweils ihre Namen und Adressen einzutragen. Bei Variablen ist ferner anzugeben, wie viele Bytes sie im Arbeitsspeicher belegen. Hinweise findet ihr in der ersten Programmieraufgabe aus Aufgabenblatt 3 sowie in Kapitel 8 des Skriptes. Verwende folgende Tabelle, in der bereits zwei Beispiele (fast vollständig) eingetragen sind: Adresse Name Typ Größe 0x00401BE4 printf Funktion 0x00401BDC scanf Funktion 0x main Funktion 0x0028FF1C a Variable: int 4 Bytes 0x0028FF18 b Variable: int 4 Bytes 0x0028FF14 c Variable: int 4 Bytes Einführung in die Praktische Informatik, Wintersemester 2018/

12 Der zugehörige Teil des C-Programms sieht wie folgt aus, den wir beispielsweise hinter Programmzeile 7 oder Zeile 40 einfügen können: // speichersegmente ausgeben // zuerst die funktionen printf ( " Adressen der Funktionen :\n" ); printf ( "\ tmain : \t%p\n", main ); printf ( "\ tprintf : \t%p\n", printf ); printf ( "\ tscanf : \t%p\n", scanf ); // und jetzt noch die variablen printf (" Adressen und Groessen der Variablen :\ n"); printf ("\ta: %p %d Bytes \n", &a, sizeof ( a ) ); printf ("\tb: %p %d Bytes \n", &b, sizeof ( b ) ); printf ("\tc: %p %d Bytes \n", &c, sizeof ( c ) ); 4-11 Wintersemester 2018/19, Einführung in die Praktische Informatik

Übungspaket 10 Fallunterscheidungen

Übungspaket 10 Fallunterscheidungen Übungspaket 10 Fallunterscheidungen Übungsziele: Skript: 1. Umgang mit der einfachen Fallunterscheidung, 2. sowie mehrfachen Fallunterscheidung und 3. problemangepasster Auswahl Kapitel: 24 und 25 Semester:

Mehr

Übungspaket 9 Logische Ausdrücke

Übungspaket 9 Logische Ausdrücke Übungspaket 9 Logische Ausdrücke Übungsziele: Skript: 1. Umgang mit logischen Vergleichs- und Verknüpfungsoperatoren 2. Bilden einfacher und komplexer logischer Ausdrücke Kapitel: 22 Semester: Wintersemester

Mehr

Übungspaket 14 Eindimensionale Arrays

Übungspaket 14 Eindimensionale Arrays Übungspaket 14 Eindimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung eindimensionaler Arrays Kapitel: 33 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Übungspaket 12 Der Datentyp char

Übungspaket 12 Der Datentyp char Übungspaket 12 Der Datentyp char Übungsziele: Skript: 1. Umgang mit dem Datentyp char, 2. Deklarationen von char-variablen, 3. char-konstanten 4. und char-rechenoperationen. Kapitel: 29 bis 31 sowie 24,

Mehr

Übungspaket 8 Datentyp int

Übungspaket 8 Datentyp int Übungspaket 8 Datentyp int Übungsziele: Skript: 1. Umgang mit dem Datentyp int, 2. Deklarationen von int-variablen, 3. int-konstanten 4. und int-rechenoperationen. Kapitel: 21 Semester: Wintersemester

Mehr

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 23 Mehrdimensionale Arrays Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 23 Mehrdimensionale Arrays Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Übungspaket 12 Der Datentyp char

Übungspaket 12 Der Datentyp char Übungspaket 1 Der Datentyp char Übungsziele: Skript: 1. Umgang mit dem Datentyp char,. Deklarationen von char-variablen, 3. char-konstanten 4. und char-rechenoperationen. Kapitel: 9 bis 31 sowie 4, 5 und

Mehr

Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks

Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks Übungsziele: Skript: 1. Der Software Life Cycle im Überblick. Umgang mit Editor und Compiler 3. Editieren und Starten eines eigenen Programms

Mehr

Übungspaket 8 Datentyp int

Übungspaket 8 Datentyp int Übungspaket 8 Datentyp int Übungsziele: Skript: 1. Umgang mit dem Datentyp int, 2. Deklarationen von int-variablen, 3. int-konstanten 4. und int-rechenoperationen. Kapitel: 21 Semester: Wintersemester

Mehr

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free() Übungspaket 29 Dynamische Speicherverwaltung malloc() und free() Übungsziele Skript In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten

Mehr

Übungspaket 20 Zeiger und Zeigervariablen

Übungspaket 20 Zeiger und Zeigervariablen Übungspaket 20 Zeiger und Zeigervariablen Übungsziele: Skript: 1. Definition von Zeigervariablen 2. Verwendung von Zeigern 3. Arrays und Adressberechnungen Kapitel: 45 und 46 Semester: Wintersemester 2017/18

Mehr

Übungspaket 25 Kommandozeilenargumente

Übungspaket 25 Kommandozeilenargumente Übungspaket 25 Kommandozeilenargumente Übungsziele: Skript: 1. Umgang mit argc/argv 2. argc/argv als Schnittstelle von Programm und Betriebssystem 3. Vereinfachtes Testen mit argc/argv Kapitel: 51 und

Mehr

Übungspaket 20 Zeiger und Zeigervariablen

Übungspaket 20 Zeiger und Zeigervariablen Übungspaket 20 Zeiger und Zeigervariablen Übungsziele: Skript: 1. Definition von Zeigervariablen 2. Verwendung von Zeigern 3. Arrays und Adressberechnungen Kapitel: 45 und 46 Semester: Wintersemester 2017/18

Mehr

Übungspaket 17 Der gcc Compiler

Übungspaket 17 Der gcc Compiler Übungspaket 17 Der gcc Compiler Übungsziele: Skript: 1. Sicherer Umgang mit gemischten Ausdrücken 2. Herleiten der unterschiedlichen Datentypen in gemischten Ausdrücken 3. Kenntnis über die implizite Durchführung

Mehr

Übungspaket 7 Angemessenes Formatieren von C-Programmen

Übungspaket 7 Angemessenes Formatieren von C-Programmen Übungspaket 7 Angemessenes Formatieren von C-Programmen Übungsziele: Skript: 1. Gute Layout-Struktur durch Einrücken. Richtiges Verwenden von Kommentaren Kapitel: 19 Semester: Wintersemester 016/17 Betreuer:

Mehr

Übungspaket 7 Angemessenes Formatieren von C-Programmen

Übungspaket 7 Angemessenes Formatieren von C-Programmen Übungspaket 7 Angemessenes Formatieren von C-Programmen Übungsziele: Skript: 1. Gute Layout-Struktur durch Einrücken. Richtiges Verwenden von Kommentaren Kapitel: 19 Semester: Wintersemester 018/19 Betreuer:

Mehr

Übungspaket 13 Der Datentyp double

Übungspaket 13 Der Datentyp double Übungspaket 13 Der Datentyp double Übungsziele: Skript: 1. Umgang mit dem Datentyp double, 2. Deklarationen von double-variablen, 3. double-konstanten 4. und double-rechenoperationen. Kapitel: 32 Semester:

Mehr

Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks

Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks Übungsziele: Skript: 1. Der Software Life Cycle im Überblick. Umgang mit Editor und Compiler 3. Editieren und Starten eines eigenen Programms

Mehr

Übungspaket 5 Abstrakte Programmierung

Übungspaket 5 Abstrakte Programmierung Übungspaket 5 Abstrakte Programmierung Übungsziele: Skript: 1. Strukturierung einer gegebenen Aufgabe, 2. Bearbeitung von Arbeitsabläufen des alltäglichen Lebens mittels Struktogrammen 3. und der Methode

Mehr

Übungspaket 32 Einfach verkettete, sortierte Liste

Übungspaket 32 Einfach verkettete, sortierte Liste Übungspaket 32 Einfach verkettete, sortierte Liste Übungsziele: Skript: 1. Aufbau einer einfach verketteten, sortierten Liste 2. Traversieren von Listen 3. Vereinfachung durch ein Dummy-Element Kapitel:

Mehr

Übungspaket 22 Rekursive Funktionsaufrufe

Übungspaket 22 Rekursive Funktionsaufrufe Übungspaket 22 Rekursive Funktionsaufrufe Übungsziele: Skript: 1. Technische Voraussetzungen für rekursive Funktionsaufrufe 2. Umsetzung mathematisch definierter Rekursionen in entsprechende C-Programme

Mehr

Übungspaket 28 Module und getrenntes Übersetzen

Übungspaket 28 Module und getrenntes Übersetzen Übungspaket 28 Module und getrenntes Übersetzen Übungsziele: Skript: 1. Verteilen von Programmteilen auf mehrere Dateien 2. Richtige Verwendung der Header-Dateien 3. Richtiger Umgang mit dem C-Compiler

Mehr

Übungspaket 24 Zeichenketten

Übungspaket 24 Zeichenketten Übungspaket 24 Zeichenketten Übungsziele: Skript: 1. Verständnis über die interne Repräsentation von Zeichenketten 2. Arbeiten mit Zeichenketten 3. Definition konstanter Zeichenketten 4. Verwendung diverser

Mehr

Übungspaket 11 Schleifen

Übungspaket 11 Schleifen Übungspaket 11 Schleifen Übungsziele: Skript: 1. Umgang mit den Schleifen in C. Wahl des richtigen Schleifentyps 3. Umwandlung der Schleifen ineinander Kapitel: 6 bis 8 Semester: Wintersemester 017/18

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,

Mehr

Übungspaket 21 Funktionen mit Zeigern und Arrays als Parameter

Übungspaket 21 Funktionen mit Zeigern und Arrays als Parameter Übungspaket 21 Funktionen mit Zeigern und Arrays als Parameter Übungsziele: Skript: 1. Funktionen mit Zeigern als Parameter 2. Emulation von Variablenparametern 3. Funktionen mit Arrays als Parameter 4.

Mehr

Übungspaket 6 Arbeiten mit Syntaxdiagrammen

Übungspaket 6 Arbeiten mit Syntaxdiagrammen Übungspaket 6 Arbeiten mit Syntaxdiagrammen Übungsziele: Skript: Verstehen, Anwenden und Erstellen von Syntaxdiagrammen Kapitel: 20 Semester: Wintersemester 2017/18 Betreuer: Kevin, Theo, Thomas und Ralf

Mehr

Übungspaket 17 Der gcc Compiler

Übungspaket 17 Der gcc Compiler Übungspaket 17 Der gcc Compiler Übungsziele: Skript: 1. Sicherer Umgang mit gemischten Ausdrücken 2. Herleiten der unterschiedlichen Datentypen in gemischten Ausdrücken 3. Kenntnis über die implizite Durchführung

Mehr

Übungspaket 13 Der Datentyp double

Übungspaket 13 Der Datentyp double Übungspaket 13 Der Datentyp double Übungsziele: Skript: 1. Umgang mit dem Datentyp double, 2. Deklarationen von double-variablen, 3. double-konstanten 4. und double-rechenoperationen. Kapitel: 32 Semester:

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Ausdrücke (1) Grundlegende Eigenschaften

Ausdrücke (1) Grundlegende Eigenschaften Ausdrücke () Grundlegende Eigenschaften bestehen aus Literalen, Konstanten, Variablen und Operatoren einfachster Ausdruck ist das Semikolon, es bewirkt nichts. Ausdrücke werden mit einem Semikolon abgeschlossen.

Mehr

Probeklausur Name: (c)

Probeklausur Name: (c) Einführung in die Praktische Informatik 30.1.2013 Probeklausur Name: Teil I: Datentypen (20 Punkte) Lösen sie die Probleme, indem sie die korrekten Lösungen ankreuzen bzw. in die vorgesehenen Freiräume

Mehr

Übungspaket 22 Rekursive Funktionsaufrufe

Übungspaket 22 Rekursive Funktionsaufrufe Übungspaket 22 Rekursive Funktionsaufrufe Übungsziele: Skript: 1. Technische Voraussetzungen für rekursive Funktionsaufrufe 2. Umsetzung mathematisch definierter Rekursionen in entsprechende C-Programme

Mehr

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free() Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free() Übungsziele: Skript: In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten

Mehr

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 6 Pkt.) a) Erklären

Mehr

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 4 Pkt.) Gegeben

Mehr

Kontrollstrukturen -- Schleifen und Wiederholungen

Kontrollstrukturen -- Schleifen und Wiederholungen Kontrollstrukturen -- Schleifen und Wiederholungen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14

Mehr

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C Einfache Programmstrukturen in C 4-1 Welche einfache Programmstrukturen sind zu unterscheiden? Arithmetische und logische Ausdrücke und Zuweisungen Verzweigungen Unvollständige bedingte Anweisungen Vollständige

Mehr

Java Anweisungen und Ablaufsteuerung

Java Anweisungen und Ablaufsteuerung Informatik 1 für Nebenfachstudierende Grundmodul Java Anweisungen und Ablaufsteuerung Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht

Mehr

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter}); S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht

Mehr

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

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

Übungspaket 30 Kopieren von Dateien

Übungspaket 30 Kopieren von Dateien Übungspaket 30 Kopieren von Dateien Übungsziele: Skript: 1. Öffnen und Schließen von Dateien 2. Einfaches Lesen und Schreiben 3. Behandlung der EOF-Marke 4. Kopieren ganzer Dateien Kapitel: 59 bis 67 und

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 3. Vorlesung 18.04.2018 1 Elemente von Programmiersprachen Operatoren Kontrollstrukturen Bibliotheksfunktionen 2 Was sind Kontrollstrukturen? Kontrollstrukturen erlauben,

Mehr

1.6 Programmstrukturen/Abweisende Schleife

1.6 Programmstrukturen/Abweisende Schleife 1.6 Programmstrukturen/Abweisende Schleife 1.6.1 Schleife Die meisten Programmiersprachen haben Konstruktionen, die eine beliebige Wiederholung von Programmteilen ermöglichen. Diese Konstruktionen heißen

Mehr

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungsziele: Skript: 1. Die Bedeutung des Programmierens für mein Studium und meine spätere Berufstätigkeit 2. Was ist eine erfolgreiche Lernstrategie?

Mehr

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungsziele: Skript: 1. Die Bedeutung des Programmierens für mein Studium und meine spätere Berufstätigkeit 2. Was ist eine erfolgreiche Lernstrategie?

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016

Mehr

Bedingte Anweisungen

Bedingte Anweisungen Bedingte Anweisungen Bedingte Anweisungen werden nicht immer ausgeführt, sondern nur, wenn eine Bedingung erfüllt (wahr) ist. C/C++/Java bieten hier 2 Konstruktionen an: if-anweisung sowie switch-case

Mehr

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf

Mehr

Vorlesung Objektorientierte Programmierung Klausur

Vorlesung Objektorientierte Programmierung Klausur Prof. Dr. Stefan Brass 16. Februar 2007 Dipl.-Inform. Annett Thüring Institut für Informatik MLU Halle-Wittenberg Vorlesung Objektorientierte Programmierung Klausur Name: Matrikelnummer: Studiengang: Aufgabe

Mehr

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik

Mehr

Übungspaket 4 Funktionszeiger

Übungspaket 4 Funktionszeiger Übungspaket 4 Funktionszeiger Übungsziele: Literatur: 1. Verstehen von Funktionszeigern. 2. Anwenden von Funktionszeigern. C-Skript 1, Kapitel: 85 Semester: Wintersemester 2017/18 Betreuer: Kevin, Peter

Mehr

Teil 5: Zeiger, Felder, Zeichenketten Gliederung

Teil 5: Zeiger, Felder, Zeichenketten Gliederung Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik

Mehr

int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben

int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben Datenfelder (Array) Seite 1 von 7 Bei den bisherigen Programmen wurde für jede verwendete Variable (oder für jedes Objekt) ein eigener Typ und Name vergeben. Die Initialisierung, d.h. die Belegung mit

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

Intensivübung zu Algorithmen und Datenstrukturen Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche

Mehr

einlesen n > 0? Ausgabe Negative Zahl

einlesen n > 0? Ausgabe Negative Zahl 1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

Tag 2 Repetitorium Informatik (Java)

Tag 2 Repetitorium Informatik (Java) Tag 2 Repetitorium Informatik (Java) Dozent: Daniela Novac Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Zeichen und

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

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

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 8. Vorlesung 25.05.2016 1 Ausdrücke "Befehle", die ein Ergebnis liefern 3 + 4 sin(x) x < 10 getchar() Ausdrücke können Teil eines anderen Ausdrucks sein x = sin( x + y ) Auswertung:

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp ZAIK Universität zu Köln WS 07/08 1 / 6 Datentypen Arten von Datentypen

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8

Mehr

EINI WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12

EINI WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12 EINI WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Kapitel I.5: Verzweigungen Prof. Dr.-Ing. Marcin Grzegorzek Juniorprofessur für Mustererkennung im Institut für Bildinformatik Department Elektrotechnik und Informatik Fakultät

Mehr

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Java Ablaufsteuerung (Beispiele)

Java Ablaufsteuerung (Beispiele) Informatik 1 für Nebenfachstudierende Grundmodul Java Ablaufsteuerung (Beispiele) Kai-Steffen Hielscher Folienversion: 16. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Blöcke Anweisungen

Mehr

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe

Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 26. August 2009 1/17 Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Einführung in die Programmiersprache C Teil 2 Ein- und Ausgabe in C-Programmen Prof. Dr.-Ing. Thomas Wiedemann Fachgebiet Informatik / Mathematik Überblick zur Vorlesung Ein-

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick 2 Verbundanweisung 3 Bedingte Anweisung 4 Auswahlanweisung

Mehr

Praxis der Programmierung

Praxis der Programmierung Funktionen, Header-Dateien, Pointer Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn 1 Organisatorische Bemerkungen 2 Modul Programmierung Pflichtmodul für BSc INF

Mehr

Zeichenketten (1) Literale von Zeichenketten werden in doppelte Anführungszeichen gesetzt

Zeichenketten (1) Literale von Zeichenketten werden in doppelte Anführungszeichen gesetzt Zeichenketten (1) Literale Literale von Zeichenketten werden in doppelte Anführungszeichen gesetzt "Hallo Welt" Mehrere solcher Literale gelten als eine Zeichenkette, wenn sie nur durch Whitespaces (Leerzeichen,

Mehr

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert

Mehr

Primzahlen und Programmieren

Primzahlen und Programmieren Primzahlen Wir wollen heute gemeinsam einen (sehr grundlegenden) Zusammenhang zwischen Programmieren und Mathematik herstellen. Die Zeiten in denen Mathematiker nur mit Zettel und Stift (oder Tafel und

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Übungspaket 5 Abstrakte Programmierung

Übungspaket 5 Abstrakte Programmierung Übungspaket 5 Abstrakte Programmierung Übungsziele: Skript: 1. Strukturierung einer gegebenen Aufgabe, 2. Bearbeitung von Arbeitsabläufen des alltäglichen Lebens mittels Struktogrammen 3. und der Methode

Mehr

Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung

Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung Felder (Arrays) Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder

Mehr