BMEVIEEA100 Grundlagen der Programmierung

Slides:



Advertisements
Ähnliche Präsentationen
Dauermagnete Bei magnetischen Materialien unterscheidet man Eisenkerne bzw. Weicheisenstücke und Dauermagnete bzw. Hart-magnetische Materialien. Dauermagnete.
Advertisements

TAGUNG DER DEUTSCH-LUSITANISCHEN JURISTENVEREINIGUNG O processo penal português Panorâmica introdutória Der portugiesische Strafprozess ein einführender.
Ach wie gut, daß niemand weiß Der Schutz von Wissen
Herzlich Willkommen bei SIMPLE STABLE BULDING
Adjektivendungen Tabellen und Übungen.
ZWILLING Neuheiten 2008.
Das Hexenkochbuch Nicht Rattenschwänze, Spinnenbein
 Präsentation transkript:

BMEVIEEA100 Grundlagen der Programmierung Übung 1 BMEVIEEA100   Grundlagen der Programmierung

Informatik Übung C Sprache Algorithmen Effektivität von Algorithmen Programme specifizieren, Algorithmen zu ausarbeiten, Quelltext generieren, dokumentieren

Algorithmen Numerische Integration Lösungsverfahren für lineare Gleichungssysteme Lösungsverfahren für nichtlineare Gleichungen Interpolation Sortierverfahren Datenkompression

Literatur

Literatur

Vor C: Multics project—General Electric, MIT, und Bell Laboratory (1969) (kein Erfolg) – zu große OP System Bell Laboratory - Ken Thompson, Dennis Ritchie, Brian Kernighan – „UNIX” Ken Thompson – prog. Sprache B

BCPL und B sind typenlose Sprachen C hat eine Reihe von Datentypen Zeichen, ganze Zahlen, Gleitpunktzahlen Es gibt eine Hierarchie von abgeleitete Datentypen (mit Hilfe von Zeigern, Vektoren, Strukturen und Unionen erzeugt) Kontrollstrukturen, die für wohlstrukturierte Programme nötig sind:

Kontrollstrukturen, die für wohlstrukturierte Programme nötig sind: Zusammenfassung von Anweisungen { } Entscheidungen (if-else) Auswahl von einem aus einer Menge von möglichen Fällen (switch) Schleifen mit Test des Abbruchkriteriums am Anfang (while, for) oder am Ende (do) Vorzeitiges Verlassen einer Schleife (break)

Funktionen können Werte der elementare Typen, aber auch von Strukturen, Unionen oder als Zeigern als Resultat liefern. Jede Funktion darf rekursiv aufgerufen werden Die lokalen Variablen einer Funktion sind typischerweise „automatisch”, das heißt, sie werden bei jedem Aufruf der Funtion neu erzeugt werden

Funktionsdefinitionen können nicht verschachtelt werden, Die Funktionen eines C Programms können sich in verschiedenen Quelldateien befinden, die getrennt voneinander übersetzt werden Ein Preprozessor ersetzt Makros im Programmtext, fügt andere Quelldateien ein und ermöglicht bedingte Übersetzung

ANSI C standard 1988 Definition einer Bibliothek, die zu C gehört Funktionen zum Zugriff auf das Betriebsystem (Dateien zu lesen und schreiben) Funktionen für formattierte Ein- und Ausgabe Funktionen für Speicherverwaltung etc.

#include <stdio.h> main() { printf(”hello, world\n”); }

#include <stdio.h> int main() { int a,b,c; int summe; a = 1; b = 2; c = 3; summe = a+b+c; printf(”summe=%d \n”,summe); return 0; }

Rekurzion Fibonacci Zahlen F(n)=F(n-1)+F(n-2) F(0)=0; F(1)=1;

Rekurzion Fibonacci Zahlen int fibo(int n){ if (n==0) return 0; return fibo(n-1)+fibo(n-2); }

Arithmetische Operatoren binäre +, -, /, *, % unäre +, - Vorrang arithmetische Operatoren werden von links her zusammenfaßt Verbindung von arithmetische Operatoren c = a = d+e; von rechts her +, - (unären) *, / , % +, - (binären)

Datentypen 4 elementare Datentypen char ein Byte, ein Zeichen – Grundelement des Speichers int ganzahliger Wert, 16 oder 32 Bits float ein einfach genauer Gleichpunktwert double ein doppelt genauer Gleichpunktwert

Varianten dieser elementaren Typen short int long int das Wort int kann ausgelassen werden short und int haben wenigstens 16 Bits long hat mindestens 32 Bits short ist nicht länger als int int ist nicht länger als long

Varianten dieser elementaren Typen signed unsigned char oder int (sind ≥ 0)

Vorlesung 2

Beispiele Wertebereich int -32768...32767 unsigned int 0...65535 float 3.4e-38...3.4e+38 double 1.7e-308...1.7e+308 long double 3.4e-4932...1.1e+4932

Elementare printf Umwandlungen Zeichen Argument; Ausgabe als d,i int; dezimale Zahl O int; oktale Zahl ohne Vorzeichen x, X int; hexadezimale Zahl ohne Vorzeichen u int; dezimale Zahl ohne Vorzeichen c int; einzelnes Zeichen printf(”summe=%d \n”,summe); printf(”summe=%x \n”,summe);

%d als dezimale ganze Zahl ausgeben %6d als dezimale ganze Zahl ausgeben, mindestens 6 Zeichen breit %f als Gleitpunktzahl ausgeben %6f als Gleitpunktzahl ausgeben, mindestens 6 Zeichen breit %.2f als Gleitpunktzahl ausgeben, 2 Zeichen hinter Dezimalpunkt %6.2f als Gleitpunktzahl ausgeben, 6 Zeichen breit und 2 Zeichen hinter Dezimalpunkt

Vereinbarungen int i,j,k; double a,b; Eine Variable kann bei ihrer Vereinbarung auch initialisiert werden double a = 1.3, b = 2.3; Mit dem Attribut const kann bei der Vereinbarung einer Variablen angegeben werden, daß sich ihr Wert nicht ändert. const int a=3; dann a=a+1; /*ist falsch*/

Das Komma Operator mehrere Zuweisungen kann verbindet werden int i,j,k; i = 3; j = 4; k = i, i = j; die Auswertung geht von links her

Schleifen for Schleife while Schleife while (Ausdruck) Anweisungen do while Schleife do Anweisungen while (Ausdruck);

for Schleife for (init;test;post-expr) statement;

Beispiele int i,sum; for(i=10,sum=0;i;i=i-1) sum=sum+i; for(i=10,sum=0;i; sum=sum+i,i=i-1);