Institut für Informatik Lösungen Übungsaufgaben zu LV "Grundlagen der Informatik" Programmierung in C (Teil 2)

Größe: px
Ab Seite anzeigen:

Download "Institut für Informatik Lösungen Übungsaufgaben zu LV "Grundlagen der Informatik" Programmierung in C (Teil 2)"

Transkript

1 Aufgabenkomplex: Programmieren in C (Teil 2 von 2) (Strukturierte Datentypen: Felder, Strukturen, Zeiger; Funktionen mit Parameterübergabe; Dateiarbeit) - Lösungen 1. Eindimensionale Felder 1.1) Summe von n reellen Messwerten /*Summe von n (n>=1) reellen Messwerten; n bekannt; Datenmodell:Einlesen der Messwerte in ein eindim. Feld (Vektor); Steuerstruktur: Zählschleife */ #define DIMENSION 100 void main(void) int i,n; double x[dimension],sum; printf("anzahl der reellen Messwerte (anzahl>=1): "); scanf("%d",&n); for(i=0;i<=n-1;i=i+1) /* i=i+1 entspricht ++i */ printf("%d. reelle Zahl: ",i+1); scanf("%lf",&x[i]); sum=0; for(i=0;i<=n-1;i=i+1) /* i=i+1 entspricht ++i */ sum=sum+x[i]; printf("\nsumme = %g\n\n",sum); 1.2) Eindimensionales Feld aus Zufallszahlen /* wegen printf() */ #include <stdlib.h> /* wegen srand und rand */ #include <time.h> /* wegen time */ int zahl[100],i; srand( (unsigned)time(null) ); for (i=0;i<100;i++) zahl[i]= rand()%100; printf("100 Zufallszahlen zwischen 0 und 99:\n"); for (i=0;i<100;i++) printf("%i\t", zahl[i]); printf("\n"); 1

2 *1.3 Maximum, Minimum, Mittelwert und Streuung #include <stdlib.h> #include <time.h> int zahl[100],i; double mw,var,max,min; srand((unsigned)time(null)); for (i=0;i<100;i++) zahl[i]= rand()%100; for (i=0;i<100;i++) printf("%i\t", zahl[i]); max=min=zahl[0]; for (i=1;i<100;i++) if (zahl[i]>max) max=zahl[i]; else if (zahl[i]<min) min=zahl[i]; mw=var=0; for (i=0;i<100;i++) mw=mw+zahl[i]; var=var+zahl[i]*zahl[i]; mw=mw/100; var=(var-100*mw*mw)/99; printf("\nmaximum=%g, Minimum=%g ",max,min); printf("\nmittelwert=%g, Varianz=%g\n\n",mw,var); 1.4 Verschachtelte Zählschleifen /* Doppelsumme */ int i,j,n,dopsum; printf("n = "); scanf("%d",&n); dopsum=0; for (i=2;i<=n;++i) for (j=1;j<=i;++j) dopsum=dopsum+(i+j)*(i+j); printf("doppelsumme = %d\n\n",dopsum); 2

3 1.5 Ausgabe eines Musters aus Sternen /* Zahlendreieck */ int i,j; for (i=1;i<=20;++i) for (j=1;j<=i;++j) printf("*"); printf("\n"); *1.6 Einfaches Ratespiel ( 1 aus 90 ) /* Zahlenratespiel mit Zufallszahlengenerator: Erraten einer Zahl aus dem Bereich [1,90] */ /* wegen printf() und scanf() */ #include <stdlib.h> /* wegen srand und rand */ #include <time.h> /* wegen time */ #include <conio.h> /* wegen getch */ #include <ctype.h> /* wegen toupper */ #define OBERGRENZE 90 int geraten,gesucht,anzahl; char antw; do printf("\n\n****beginn eines neuen Spieles****\n"); srand( (unsigned)time(null) ); /* zuf. Initialisierung des Zufallszahlengenerators mit der aktuellen Zeit als "seed"="keim"; da die Zeit nicht gespeichert werden soll, wird der leere Zeiger NULL uebergeben */ gesucht=rand()%obergrenze+1; printf("\nraten Sie die zufaellig gewaehlte ganze Zahl" "\n aus dem Bereich [1,%d]: ",OBERGRENZE); scanf("%d",&geraten); anzahl=1; while (geraten!=gesucht) if (geraten<gesucht) printf("\n%d ist zu klein",geraten); else printf("\n%d ist zu gross",geraten); printf("\nraten Sie noch einmal: "); scanf("%d",&geraten); ++anzahl; /* aequivalent zu anzahl=anzahl+1 */ 3

4 printf("\nbeim %d-ten Male richtig geraten\n--> ",anzahl); switch (anzahl) case 1: case 2: printf("super!!!");break; case 3: case 4: printf("sehr gut!");break; case 5: printf("gute Leistung");break; case 6: case 7: case 8: printf("mittelmeassige Leistung");break; default:printf("schwach. Sie muessen sich steigern."); printf("\n\nnoch einmal spielen? (J/N):\n"); antw=getch(); /*getch liest ein Zeichen direkt von Tastatur (also kein <ENTER> notwendig) ohne Bildschirmecho*/ while (toupper(antw)=='j'); /*toupper wandelt Klein- in Grossbuchstaben um*/ 2. Funktionen (mit Parameterübergabe) Hinweis: In den Aufgaben des Abschnitts 2 ist nicht mit globalen Variablen, sondern nur mit lokalen Variablen zu arbeiten. 2.1.a) Volumen und der Oberfläche einer Kugel in gesonderten Funktion #define PI /* Def. von PI als symbolische Konstante */ double ober(double r) /* Definition der Funktion ober */ double s; /* Vereinbarung einer lokalen Variablen s */ s=4*pi*r*r; return s; double vol(double r) /* Definition der Funktion vol */ double v; /* Vereinbarung einer lokalen Variablen v */ v=4.0/3.0*pi*r*r*r; /* Achtung: 4/3 ergaebe das ganzzahlige Resultat 1 */ return v; /* "Hauptprogramm"; hier beginnt zur Laufzeit die Abarbeitung */ double s,v,r; printf("\nreellen Radius eingeben: ");scanf("%lf",&r); s=ober(r); v=vol(r); printf("\n Oberflaeche = %10.2lf",s); printf("\n Volumen = %10.2lf\n\n",v); 4

5 2.1.b) wie 2.1.a), aber jetzt mit Funktions-Prototypen: #define PI /* Def. von PI als symbolische Konstante */ double ober(double); /* Prototyp der Function ober */ double vol (double); /* Prototyp der Function vol */ /* "Hauptprogramm"; hier beginnt zur Laufzeit die Abarbeitung */ double s,v,r; printf("\nreellen Radius eingeben: "); scanf("%lf",&r); s=ober(r); v=vol(r); printf("\n Oberflaeche = %10.2lf",s); printf("\n Volumen = %10.2lf\n\n",v); double ober(double r) /* Definition der Funktion */ double s; s=4*pi*r*r; return s; double vol(double r1) /* Definition der Funktion */ double v1; v1=4.0/3.0*pi*r1*r1*r1; /* Achtung: 4/3 ergibt das ganzzahlige Resultat 1 */ return v1; 5

6 2.2 Summe von Fakultäten in gesonderter Function (mehrfacher Aufruf) double fak(int n) int i; double f; f=1; for (i=1;i<=n;++i) f=f*i; return f; /*****************************************************************/ double z; int a,b,c; printf("eingabe von a, b und c: "); scanf("%i%i%i",&a,&b,&c); z=fak(a)+fak(b)+fak(c); printf("%i! + %i! + %i! = %g\n\n",a,b,c,z); *2.3 Summe von Fakultäten in gesonderter Function (jetzt rekursiver Algorithmus) double fak(int n) double f; if (n==0) f=1; else f=n*fak(n-1); return f; /*****************************************************************/ double z; int a,b,c; printf("eingabe von a, b und c: "); scanf("%i%i%i",&a,&b,&c); z=fak(a)+fak(b)+fak(c); printf("%i!+%i!+%i!=%g\n\n",a,b,c,z); 6

7 2.4 Übergabe von Feldern (Einlesen bei unbekanntem n; Endeerkennung) /*Summe von n (n>=1) reellen Messwerten;n UNBEKANNT*/ #define DIMENSION 100 double summe(double x[], int anz) double sum; int i; /* Vereinbarung lokaler Variablen */ sum=0; for(i=0;i<=anz-1;i=i+1) /* i=i+1 entspricht ++i */ sum=sum+x[i]; return sum; void main(void) int i,n; double x[dimension],sum, ende; printf("endeerkennungszeichen = "); scanf("%lf",&ende); i=0; do printf("%i. reller Wert = ",i+1); scanf("%lf",&x[i]); i=i+1; while (x[i-1]!=ende); n=i-1; sum = summe(x,n); printf("\nsumme = %g\n\n",sum); 7

8 2.5 Maximum, Minimum, Mittelwert und Streuung von n reellen Messwerten /*Prototypen:*****************************************************/ int eingabe(double []); void ausgabe(double [],int); double maximum(double [],int); double minimum(double [],int); double summe (double [],int); void sort (double [],int); /*******************************************/ double x[100],y[100], max,min,mw,st; int n,i; n=eingabe(x); printf("\nunsortierte Ausgabe der eingelesenen Werte:\n"); ausgabe(x,n); max=maximum(x,n); min=minimum(x,n); mw =summe(x,n)/n; for (i=0;i<n;i++) y[i]=(x[i]-mw)*(x[i]-mw); st=summe(y,n)/(n-1); printf("\n\nmaximum = %g, Minimum = %g\n", max,min); printf( sort(x,n); printf("sortierte Ausgabe der Messwerte:\n"); ausgabe(x,n); printf("\n"); "Mittelwert = %g, Streuung = %g\n\n",mw,st); /*****************************************************************/ int eingabe(double x[]) int i,n; double ende; printf("endeerkennung = ");scanf("%lf",&ende); i=0; do printf("%i.wert = ",i+1); scanf("%lf",&x[i]); i=i+1; while (x[i-1]!=ende); n=i-1; return n; /*****************************************************************/ 8

9 void ausgabe(double x[],int n) int i; for (i=0;i<n;i=i+1) printf("%i. Wert = %g\n",i+1,x[i]); /*****************************************************************/ double maximum(double x[],int n) int i; double max; max=x[0]; for (i=1;i<n;i=i+1) if (x[i]>max) max=x[i]; return max; /*****************************************************************/ double minimum(double x[],int n) int i; double min; min=x[0]; for (i=1;i<n;i=i+1) if (x[i]<min) min=x[i]; return min; /*****************************************************************/ double summe(double x[],int n) int i; double s; s=0; for (i=0;i<n;i=i+1) s=s+x[i]; return s; /*****************************************************************/ void sort(double x[],int n) /* fakultative Aufgabe */ int i,j,imin; double min; for (j=0;j<n-1;j=j+1) min=x[j]; imin=j; for (i=j+1; i<n; i=i+1) if (x[i]<min) min=x[i]; imin=i; x[imin]=x[j]; x[j]=min; 9

10 3. Strukturen 3.1 Struktur für eine Bestellung /* Struktur fuer EINE Bestellung */ struct bestellung char datum[11]; int anummer, szahl; double preisps; ; struct bestellung b; printf("datum (Form: tt.mm.jjjj):\t");scanf("%s",&b.datum); printf("artikelnummer:\t\t\t"); scanf("%i",&b.anummer); printf("stueckzahl:\t\t\t"); scanf("%i",&b.szahl); printf("preis pro Stueck (Euro):\t"); scanf("%lf",&b.preisps); printf("\nihre Bestellung lautet:\n"); printf("%s\t%i\t%i\t%0.2f Euro\n\n",b.datum,b.anummer, b.szahl,b.preisps); /3.3 Erweiterung: Feld von Strukturen (max. 10 Bestellungen)/Gesamtpreis struct bestellung char datum[11]; int anummer, szahl; double preisps; ; struct bestellung b[10]; int i, n; double gespreis; printf("anzahl der Bestellungen ( <=10 ) = "); scanf("%i",&n); for (i=0; i<n; i++) printf("\ndatum:\t\t\t\t"); scanf("%s",&b[i].datum); printf("artikelnummer:\t\t\t"); scanf("%i",&b[i].anummer); printf("stueckzahl:\t\t\t"); printf("preis pro Stueck (Euro):\t"); scanf("%lf",&b[i].preisps); 10 scanf("%i",&b[i].szahl); gespreis=0; printf("\nausgabe der Bestellungen:\n"); for (i=0;i<n;i++) printf("%s\t%i\t%i\t%0.2f Euro\n", b[i].datum,b[i].anummer,b[i].szahl,b[i].preisps); gespreis = gespreis+b[i].szahl * b[i].preisps; printf("\ngesamtpreis = %0.2f Euro\n\n", gespreis);

11 3.4* Weitere Erweiterung struct bestellung char datum[11]; int anummer, szahl; double preisps; ; struct bestellung b[10]; int i,n,ant; double mb; printf("anzahl der Bestellungen ( <=10 ) = "); scanf("%i",&n); for (i=0;i<n;i++) printf("\ndatum:\t\t\t"); scanf("%s",&b[i].datum); printf("artikelnummer:\t\t"); scanf("%i",&b[i].anummer); printf("stueckzahl:\t\t"); scanf("%i",&b[i].szahl); printf("preis pro Stueck:\t");scanf("%lf",&b[i].preisps); printf("\neingabe:\n 1 - Ausgabe aller Bestellungen" "\n 2 - Ausgabe der Bestellungen ab best. Mindestbetrag\n"); scanf("%i",&ant);printf("\n"); if (ant==1) for (i=0;i<n;i++) printf("%s\t%i\t%i\t%0.2f Euro\n", b[i].datum,b[i].anummer,b[i].szahl,b[i].preisps); else printf("mindestbetrag = ");scanf("%lf",&mb);printf("\n"); for (i=0;i<n;i++) if (b[i].szahl*b[i].preisps>=mb) printf("%s\t%i\t%i\t%0.2f Euro\n", b[i].datum,b[i].anummer,b[i].szahl,b[i].preisps); 11

12 4. Mehrdimensionale Felder 4.1 Matrixberechnungen /* Matrixberechnungen */ #include <stdlib.h> #include <time.h> int mat[5][8], maxi[5], i, j, n, m, max, min; srand((unsigned)time(null)); printf("anzahl der Zeilen : "); scanf("%i",&n); printf("anzahl der Spalten: "); scanf("%i",&m); for (i=0; i<n; i++) for (j=0;j<m;j++) mat[i][j]= rand()%100; printf("\nzufaellig generierte Matrix:\n"); for (i=0;i<n;i++) for (j=0;j<m;j++) printf("%i\t", mat[i][j]); printf("\n"); max = min = mat[0][0]; for (i=0; i<n; i++) for (j=0; j<m; j++) if (mat[i][j] > max) max=mat[i][j]; else if (mat[i][j] < min) min=mat[i][j]; printf("\nmaximum = %i, Minimum = %i ",max,min); for (i=0; i<n; i++) maxi[i] = mat[i][0]; for (j=1;j<m;j++) if (mat[i][j] > maxi[i]) maxi[i]=mat[i][j]; for (i=0;i<n;i++) printf("\nmaximum[%i,*] = %i",i,maxi[i]); printf("\n\n"); 12

13 *4.2 Matrizenmultiplikation double a[20][20], b[20][20], c[20][20]; int m, n, k, l, i, j, p; do printf("\nfuer a und b gilt: Zeilenanzahl<=20, Spaltenanzahl<=20"); printf("\nausserdem: (Spaltenanzahl von a)=(zeilenanzahl von b)\n\n"); printf("eingabe fuer a: Zeilenanz., Leerz., Spaltenanz.: "); scanf("%i%i",&m,&n); printf("eingabe fuer b: Zeilenanz., Leerz., Spaltenanz.: "); scanf("%i%i",&l,&k); while (l!=n m>20 n>20 k>20); printf("zeilenweise Eingabe der reellen (%i,%i)-matrix a:\n",m,n); for (i=0; i<m; i++) for (j=0;j<n;j++) printf(" Eingabe von a[%i,%i]: ",i,j); scanf("%lf",&a[i][j]); printf("\nzeilenweise Eingabe der reellen (%i,%i)-matrix b:\n",n,k); for (i=0; i<n; i++) for (j=0;j<k;j++) printf(" Eingabe von b[%i,%i]: ",i,j); scanf("%lf",&b[i][j]); /* Berechnung der Produktmatrix:*/ for (i=0; i<m; i++) for (j=0;j<k;j++) c[i][j]=0; for (p=0;p<n;p++) c[i][j]=c[i][j]+a[i][p]*b[p][j]; printf("\nzeilenweise Ausgabe der (%i,%i)-produktmatrix c:\n",m,k); for (i=0; i<m; i++) for (j=0;j<k;j++) printf("%.2lf\t",c[i][j]); printf("\n"); 13

14 5. Zeiger 5.1a)b) Erweiterung des gegebenen C-Programms /* Tests mit Zeigern: Vereinbarung, Adressoperator "&" und Dereferenzierungsoperator "*" */ int a,b,c; int *pa,*pc; a = 2; pa = &a; /* pa zeigt auf a (ist Zeiger auf a); mittels *pa kann auf a zugegriffen werden. --> Mit Hilfe des Dereferenzierungsoperators "*" erhaelt man aus einem Zeiger, der Referenz auf ein Objekt, das Objekt selbst. */ printf("a=%i pa=%i *pa=%i \n", a, pa, *pa); *pa = 5; printf("a=%i pa=%i *pa=%i \n", a, pa, *pa); /* 5.1.b) Erweiterung von 5.1.a: */ printf("\neingabe einer zweiten ganzen Zahl: b = "); scanf("%i",&b); pc= &c; *pc= *pa+b; printf("\n Summe mit / ohne Zeiger:\n *pc=%i c=%i\n\n", *pc, c); 5.2 int func(double x, double y, double *pz1, double *pz2) int error; error = 0; if (y!= 0) *pz1 = x / y; else error = 1; *pz2 = x * y; return error; double a, b, c, d; int error; printf("zwei reelle Zahlen a und b eingeben: "); scanf("%lf%lf",&a,&b); error = func(a, b, &c, &d); /* a und b sind Eingangsparameter der Funktion func, c und d sind in func berechnete Resultatparameter */ if (error == 0) printf("\nquotient: a/b = %g\n",c); else printf("\nfehler: Division durch 0\n"); printf("produkt: a*b = %g\n\n",d); Zur ersten Frage in 5.2: Die Resultatrückgabe ist nur mit Zeigern als formale Parameter möglich, d.h. ein Verzicht auf Zeiger ist nicht möglich. 14

15 5.3 Resultatrückgabe über Parameterliste /* Funktionen mit Zeiger - Kugelberechnung Resultatrueckgabe durch "call by reference" */ #define PI /*******************************************************/ void berech(double r,double *vol,double *ober) /* Formale Parameter: - in r wird der uebergebene Wert gespeichert ("Call by value") - an vol und ober werden die Adressen von v und o uebergeben; Wertzuweisungen an *vol und *ober werden folglich in die Speicherbereiche von v und o eingetragen ("Call by reference") */ *ober = 4*PI*r*r; *vol = 4.0/3.0*PI*r*r*r; /*******************************************************/ void main(void) double r,v,o; printf("reellen Radius eingeben: "); scanf ("%lf",&r); berech(r,&v,&o); /* Funktionsaufruf; Parameter: r Eingangsparameter --> Wert wird uebergeben v, o Resultatparameter --> Adressen &v und &o uebergeben */ printf("\noberflaeche: %10.2lf",o); printf("\nvolumen: %10.2lf\n\n",v); 15

16 *5.4 Dynamische Reservierung von Speicherplatz /* DYNAMISCHE Reservierung von Speicherplatz fuer ein Messwertfeld mit Hilfe der Funktion malloc() aus <stdlib.h> */ #include <stdlib.h> double *x, s, max; int i, n; printf("anzahl der Messwerte: "); scanf("%i",&n); x = (double*) malloc (n*sizeof(double)); /* Erklaerung: malloc() reserviert n*sizeof(double) Bytes und gibt void-zeiger auf diesen Speicherbereich zurueck (im Fehlerfall: Zeiger NULL wird zurueckgegeben). Der void-zeiger muss bei Zuweisung implizit in den gewuenschten Zeigertyp konvertiert werden */ printf("\neingabe des reellen Messwertfeldes:\n"); for (i=0; i<n; i++) printf("x[%i] = ",i+1); scanf("%lf",&x[i]); printf("\nkontrollausgabe der eingelesenen Werte:\n"); for (i=0;i<n;i++) printf("%g\t", x[i]); printf("\n"); s=max=x[0]; for (i=1; i<n; i++) s=s+x[i]; if (x[i]>max) max=x[i]; printf("\nresultate:\n Maximum = %g, Summe = %g\n\n",max,s); /* Hinweis: Dynamischer Speicher kann im Programm mit free() wieder dynamisch freigegeben werden */

17 6. Dateiarbeit (Der Datentyp File) 6.1 Dateiarbeit (Datentyp File) /* Beispiel fuer die Dateiarbeit (mit Dateityp FILE) */ void main () FILE *fp; /* Vereinbarung eines File-Pointers fp, der auf eine Struktur vom (in <stdio.h> definierten) Typ FILE zeigt. Eine solche Struktur vom Typ FILE wird beim Oeffnen einer Datei mit fopen () automatisch angelegt und enthaelt Informationen ueber die Datei.*/ char zeichen; fp = fopen("l:\\prog_c\\geheim.txt","r"); /* Achtung: Dieser Pfad gilt nur fuer den PC-Pool Weisbach-Bau. Im PC-Pool Rammlerbau ist stattdessen zu verwenden: fp = fopen("y:\\lehre\\prog_c\\geheim.txt","r"); - Mit fopen() wird die existierende Datei geheim.txt zum Lesen ("r") geoeffnet. - In C ist in Zeichenketten "\" als "\\" zu schreiben. - Der Return-Wert von fopen() ist ein Zeiger ("File-Pointer") auf die Struktur vom Typ FILE, die von fopen() fuer die entsprechende Datei eingerichtet wurde. Im Fehlerfall (z.b. falls der Dateiname falsch ist) wird der NULL-Zeiger zurueckgegeben. */ if ( fp == NULL) printf("fehler: Zu oeffnende Datei existiert nicht\n\n"); else while (!feof(fp)) /* solange nicht das Datei-Ende erreicht ist */ fscanf(fp,"%c",&zeichen); /* oder alternativ: zeichen=fgetc(fp); */ /* fgetc(fp) liest ein Zeichen von der akt. Position */ switch (zeichen) case 'e': zeichen='l'; break; case 'l': zeichen='e'; break; case 'a': zeichen='r'; break; case 'r': zeichen='a'; break; case 't': zeichen='s'; break; case 's': zeichen='t'; break; printf("%c",zeichen); /*Ausgabe des entschluesselten Texts auf Bildschirm*/ /* Ende der if-anweisung */ fclose(fp); /* Schliessen der Datei, auf die ueber fp zugegriffen wird */ 17

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

Kontrollstrukturen und Funktionen in C

Kontrollstrukturen und Funktionen in C Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und

Mehr

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Informatik Repetitorium SS 2009 Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Operatoren und Datentypen Beispiel: Anweisungen Variable int a float b int c a= a % (int) (++b-1/4) Vorher 36 3.5 c=b

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

Mehr

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C Übersicht Felder, Rückblick Mehrdimensionale Felder Rückblick Vereinbarung von Feldern: typ name [anzahl]; typ name = {e1, e2, e3,..., en} Die Adressierung von Feldelementen beginnt bei 0 Die korrekte

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife Praktikum Ingenieurinformatik Termin 2 Verzweigungen (if-else), printf und scanf, while-schleife 1 1. Import/Export von Eclipse-Projekten 2. Verzweigungen (if-else-anweisung) 3. printf und scanf 4. Übungsaufgaben

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Propädeutikum. Dipl.-Inf. Frank Güttler

Propädeutikum. Dipl.-Inf. Frank Güttler Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik

Mehr

Fallunterscheidung: if-statement

Fallunterscheidung: if-statement Fallunterscheidung: if-statement A E 1 E 2 V 1 V 2 Syntax: if ( ausdruck ) Semantik: else anweisungsfolge_1 anweisungsfolge_2 1. Der ausdruck wird bewertet 2. Ergibt die Bewertung einen Wert ungleich 0

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

Ingenieurinformatik Diplom-FA (C-Programmierung)

Ingenieurinformatik Diplom-FA (C-Programmierung) Hochschule München, FK 03 WS 2014/15 Ingenieurinformatik Diplom-FA (C-Programmierung) Zulassung geprüft: (Grundlagenteil) Die Prüfung ist nur dann gültig, wenn Sie die erforderliche Zulassungsvoraussetzung

Mehr

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **

Mehr

Kontrollstrukturen, Strukturierte Programmierung

Kontrollstrukturen, Strukturierte Programmierung , Strukturierte Programmierung Steuer- und Kontrollfluss Strukturierte Programmierung Arten von Strukturblöcken Sequenz Alternative Iteration C-Spezifisches Seite 1 Elementare Algorithmen SelectionSort

Mehr

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) 1. Aufgabe 6 Punkte Geben Sie Definitionen an für: float var; 1 a) eine float-variable var: b) einen Zeiger pvar, der float *pvar = &var; 1 auf die

Mehr

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Vorname: Nachname: Matrikelnummer: Legen Sie zu Beginn Ihren Studentenausweis

Mehr

Hochschule München, FK 03 FA SS 2012. Ingenieurinformatik

Hochschule München, FK 03 FA SS 2012. Ingenieurinformatik Hochschule München, FK 03 FA SS 2012 Ingenieurinformatik Zulassung geprüft vom Aufgabensteller: Teil 1/Aufgabe 1: 30 Minuten ohne Unterlagen, Teil 2/Aufgaben 2-4: 60 Minuten, beliebige eigene Unterlagen

Mehr

Zusammenfassung des Handzettels für Programmieren in C

Zusammenfassung des Handzettels für Programmieren in C Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) HMExcel Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) Inhalt 1. Einleitung...1 2. Beispiele...2 2.1. Daten in ein Tabellenblatt schreiben...2

Mehr

Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters

Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters Prof. Dr. Ulrich Breitschuh Hochschule Anhalt(FH) Fachbereich Informatik Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters Hinweis: Die Aufgaben 3, 6 und 8 sind testatpichtige Aufgaben.

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, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü. Programm Die Bedienung des Programms geht über das Hauptmenü. Datenbank Schnittstelle Die Datenbank wir über die Datenbank- Schnittstelle von Office angesprochen. Von Office 2000-2003 gab es die Datenbank

Mehr

FB Informatik. Fehler. Testplan

FB Informatik. Fehler. Testplan Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout

Mehr

6.2 Scan-Konvertierung (Scan Conversion)

6.2 Scan-Konvertierung (Scan Conversion) 6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Übersicht Programmablaufsteuerung

Übersicht Programmablaufsteuerung Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen

Mehr

Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte

Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Musterlösung 1. Aufgabe (5 Punkte) Im folgenden Programmcode sind einige Fehler enthalten. Finden und markieren Sie mindestens

Mehr

Grundlagen der Programmiersprache C++

Grundlagen der Programmiersprache C++ / TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar 2013. CAP-News 40

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar 2013. CAP-News 40 CAP-News 40 CAP-News ist in unrägelmäßigen Abständen erscheinende Information zum Produktkonfigurator CAP/VARIANTS. Hier werden die neuen Befehle, Funktionen und Möglichkeiten beschrieben. In CAP-News

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung)

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Hochschule München, FK 03 SS 2014 Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Zulassung geprüft: (Grundlagenteil) Die Prüfung ist nur dann gültig, wenn Sie die erforderliche Zulassungsvoraussetzung

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit, 08:00 09:30 Uhr (90 min) Aufgabenblätter 14 Seiten (einschl. Deckblatt) erreichbare Punktzahl 54 zugelassene

Mehr

Schnellanleitung: Verbuchung von Studien- und Prüfungsleistungen

Schnellanleitung: Verbuchung von Studien- und Prüfungsleistungen Schnellanleitung: Verbuchung von Studien- und Prüfungsleistungen Die folgenden Schritte sind für die Verbuchung von Studien- bzw. Prüfungsleistungen notwendig. Eine Online-Anleitung mit vielen weiterführenden

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

Barcodedatei importieren

Barcodedatei importieren Barcodedatei importieren Inhaltsverzeichnis 1 Schnittstelle Barcodedatei importieren... 2 1.1 Funktion... 2 1.2 Konfiguration... 2 1.2.1 Lizenz... 2 1.2.2 Einstellungen... 2 1.2.3 Vorarbeiten... 3 1.2.3.1

Mehr

Im Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Im Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b Aufgabe 1: Im Jahr t = 0 hat eine Stadt 10.000 Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. (a) Nehmen Sie lineares Wachstum gemäß z(t) = at + b an, wobei z die Einwohnerzahl ist und

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18 Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.

Mehr

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Hinweise zur Übung Benötigter Vorlesungsstoff Ab diesem Übungskomplex wird die Kenntnis und praktische Beherrschung der Konzepte

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Darstellung von Algorithmen Aus den Einführungsbeispielen und

Mehr

Einführung in die Programmierung (EPR)

Einführung in die Programmierung (EPR) Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

Projektverwaltung Problem Lösung: Modulare Programmierung

Projektverwaltung Problem Lösung: Modulare Programmierung Projektverwaltung Problem Der Sourcecode ür ein Programm wird immer länger und unübersichtlicher Eine Funktion, die in einem alten Projekt verwendet wurde, soll auch in einem neuen Projekt verwendet werden

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins

Mehr

7DVWH.HOOQHU. Kassensystem SANYO (X&D6RIWKapitel 42

7DVWH.HOOQHU. Kassensystem SANYO (X&D6RIWKapitel 42 7DVWH.HOOQHU Sie befinden sich im Dialog 5DXP%LOG Sie Tippen auf die Taste.HOOQHU Sie gelangen danach in den Dialog.HOOQHU/RJLQ. Alle Handlungen, die YRQ,KQHQ durchgeführt werden können sind schwarz dargestellt.

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

C/C++ Programmierung

C/C++ Programmierung 1 C/C++ Programmierung Grundlagen: Anweisungen Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Anweisungen (Statements)

Mehr

C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung

C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung 1. "Hai!" [Konsolenanwendung] Console.WriteLine("Hai, wie geht's?"); 2. Muktiplikation mit sich selbst [Konsolenanwendung] // Ausgabe

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace.

Starten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace. Starten Sie Eclipse: Abgesehen vom Kommandozeilenfenster, auf welches wir später eingehen, öffnet sich ein Dialog (in der FH vermutlich nicht, überspringen Sie in diesem Fall): Hier tragen sie Ihr Arbeitsverzeichnis

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Dateiname: ecdl2_03_05_documentation Speicherdatum: 22.11.2004 ECDL 2003 Modul 2 Computermanagement und Dateiverwaltung

Mehr

Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken. Upload- / Download-Arbeitsbereich

Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken. Upload- / Download-Arbeitsbereich Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken Upload- / Download-Arbeitsbereich Stand: 27.11.2013 Eine immer wieder gestellte Frage ist die, wie man große Dateien austauschen

Mehr

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h> Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include main() { printf( hello world\n ); } Peter Sobe 1 Die Großfamilie der C-Sprachen

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Zusammengesetzte Datentypen -- Arrays und Strukturen

Zusammengesetzte Datentypen -- Arrays und Strukturen Zusammengesetzte Datentypen -- und Strukturen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14

Mehr

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12

Mehr

Wir arbeiten mit Zufallszahlen

Wir arbeiten mit Zufallszahlen Abb. 1: Bei Kartenspielen müssen zu Beginn die Karten zufällig ausgeteilt werden. Wir arbeiten mit Zufallszahlen Jedesmal wenn ein neues Patience-Spiel gestartet wird, muss das Computerprogramm die Karten

Mehr

b) Gegeben sei folgende Enumeration: enum SPRACHE {Deutsch, Englisch, Russisch};

b) Gegeben sei folgende Enumeration: enum SPRACHE {Deutsch, Englisch, Russisch}; Aufgabe 1: (15 Punkte) Bei den Multiple-Choice-Fragen ist jeweils nur eine richtige Antwort eindeutig anzukreuzen. Auf die richtige Antwort gibt es die angegebene Punktzahl. Wollen Sie eine Multiple-Choice-Antwort

Mehr

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt

Mehr

1Schnelleinstieg 14. 2Wie aus einer einfachen Textdatei. 3 Wie man eigene Programme erstellt 30. Inhaltsverzeichnis. ein Programm wird 20

1Schnelleinstieg 14. 2Wie aus einer einfachen Textdatei. 3 Wie man eigene Programme erstellt 30. Inhaltsverzeichnis. ein Programm wird 20 Inhaltsverzeichnis Liebe Leserin, lieber Leser!...13 1Schnelleinstieg 14 Welche Vorkenntnisse benötigen Sie für dieses Buch?...16 An wen richtet sich dieses Buch?...16 Was benötigen Sie, um die Programmiersprache

Mehr

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:

Mehr

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15 Historical Viewer zu ETC5000 Benutzerhandbuch 312/15 Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Dokumentation...3 2 Installation... 3 3 Exportieren der Logdatei aus dem ETC 5000... 3 4 Anlegen eines

Mehr

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und

Mehr

Zugriff auf die Modul-EEPROMs

Zugriff auf die Modul-EEPROMs MAX-P- und P-Bibliotheken EEPROM-Zugriff 1 Zugriff auf die Modul-EEPROMs Jedes X-Bus-Modul verfügt über ein EEPROM, in dem modulspezifische Daten gespeichert werden. Neben einigen Bereichen, die vom Betriebssystem

Mehr

Programmiervorkurs WS 2012/2013. Schleifen und Methoden

Programmiervorkurs WS 2012/2013. Schleifen und Methoden Programmiervorkurs WS 2012/2013 Schleifen und Methoden Ein Befehl soll mehrfach ausgeführt werden, z.b.: public class MyCounter { System.out.println(1); Ein Befehl soll mehrfach ausgeführt werden, z.b.:

Mehr

Anbindung des eibport an das Internet

Anbindung des eibport an das Internet Anbindung des eibport an das Internet Ein eibport wird mit einem lokalen Router mit dem Internet verbunden. Um den eibport über diesen Router zu erreichen, muss die externe IP-Adresse des Routers bekannt

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2009, 16. Juli 2009 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:

Mehr

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Access 2010 Grundlagen für Anwender inkl. zusätzlichem Übungsanhang ACC2010-UA 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen bearbeiten

Mehr

Graphic Coding. Klausur. 9. Februar 2007. Kurs A

Graphic Coding. Klausur. 9. Februar 2007. Kurs A Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt

Mehr

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam Aktuelle Fileposition ermitteln long pos; pos=ftell(fp); //aktuelle Bytenummer Filelaenge in Bytes fseek(fp,0,seek_end); pos=ftell(fp); Fileendeerkennung int rc; rc = feof (fp) //!= 0 bei Fileende // ==

Mehr

Leitfaden für den Import von Artikeln, Sicherheitsdatenblättern, Leistungserklärungen und CE-Kennzeichnungen

Leitfaden für den Import von Artikeln, Sicherheitsdatenblättern, Leistungserklärungen und CE-Kennzeichnungen Leitfaden für den Import von Artikeln, Sicherheitsdatenblättern, Leistungserklärungen und CE-Kennzeichnungen Import von Artikeln Der Import von Artikeln erfolgt über gleichlautenden Button in der oberen

Mehr

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übung 8 Test Aufgabe 8.1 Testprozess Aus welchen Schritten sollte der Testprozess mindestens bestehen?

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr