Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

30
Übung 1 BMEVIEEA100 Grundlagen der Programmierung

Transcript of Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

Page 1: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

Übung 1

BMEVIEEA100

 

Grundlagen der Programmierung

Page 2: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

Informatik Übung

• C Sprache

• Algorithmen

• Effektivität von Algorithmen

• Programme specifizieren, Algorithmen zu ausarbeiten, Quelltext generieren, dokumentieren

Page 3: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

Algorithmen

• Numerische Integration

• Lösungsverfahren für lineare Gleichungssysteme

• Lösungsverfahren für nichtlineare Gleichungen

• Interpolation

• Sortierverfahren

• Datenkompression

Page 4: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

Literatur

Page 5: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

Literatur

Page 6: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

• 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

Page 7: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.
Page 8: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

• 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:

Page 9: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

– 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)

Page 10: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

– 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

Page 11: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

– 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

Page 12: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

– 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.

Page 13: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.
Page 14: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

#include <stdio.h>

main()

{

printf(”hello, world\n”);

}

Page 15: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

#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;

}

Page 16: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

RekurzionFibonacci Zahlen

F(n)=F(n-1)+F(n-2)

F(0)=0; F(1)=1;

Page 17: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

int fibo(int n){

if (n==0) return 0;if (n==1) return 1;return fibo(n-1)+fibo(n-2);}

Fibonacci Zahlen

Rekurzion

Page 18: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

• Arithmetische Operatorenbinäre +, -, /, *, %unäre +, -

• Vorrang

arithmetische Operatoren werden von links her zusammenfaßt

• Verbindung von arithmetische Operatorenc = a = d+e;von rechts her

+, - (unären)

*, / , %

+, - (binären)

Page 19: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

Datentypen

• 4 elementare Datentypenchar ein Byte, ein Zeichen – Grundelement des

Speichers

int ganzahliger Wert, 16 oder 32 Bits

float ein einfach genauer Gleichpunktwert

double ein doppelt genauer Gleichpunktwert

Page 20: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

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

Page 21: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

Varianten dieser elementaren Typen

• signed

• unsigned

char oder int (sind ≥ 0)

Page 22: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

Vorlesung 2

Page 23: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

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

Page 24: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

Elementare printf UmwandlungenZeichen 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);

Page 25: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

• %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

Page 26: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

• 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*/

Page 27: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

• 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

Page 28: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

Schleifen

• for Schleife

• while Schleifewhile (Ausdruck) Anweisungen

• do while Schleifedo Anweisungenwhile (Ausdruck);

Page 29: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

for Schleife

for (init;test;post-expr)

statement;

Page 30: Übung 1 BMEVIEEA100 Grundlagen der Programmierung.

Beispiele

int i,sum;

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

sum=sum+i;

int i,sum;

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