MIKROPROZESSOR PROGRAMMIERUNG 8. VORLESUNG. LV-Nr SS INSTITUT FÜR ELEKTRONIK BIT
|
|
- Elizabeth Kaufer
- vor 8 Jahren
- Abrufe
Transkript
1 MIKROPROZESSOR PROGRAMMIERUNG 8. VORLESUNG BIT LV-Nr SS2007 1
2 Datendefinitionen b) Unterteilung nach Typen: (Teil 2) void leer Pointer 2/4 Bytes Adresse von Objekten Arrays bei allen Datentypen außer bit möglich Dimension (n) in eckiger Klammer [n] Struktur Strukturen mehrere Variablen werden zusammengefasst im Gegensatz zu Arrays können diese verschiedene Datentypen beinhalten Unions Es können verschiedene Datentypen in einer union Platz finden. Sie werden dann ab der gleichen Speicheradresse abgelegt. Der größte Datentyp bestimmt die Größe der union. 2
3 Datendefinitionen Beispiele : Variablen Struktur Union unsigned char idata var1,var2; bit secflag; const unsigned char text[5]; unsigned long far temp[100]; unsigned char *ptr; signed char test_tab [4] [3]; float idata x,y,z; struct { unsigned int day; unsigned int month; unsigned int year; } d; d.year = 2000; union { unsigned char access_byte[2]; unsigned int access_int; } measure; Zugriff: measure.access_byte[0] = 0x21; measure.access_byte[1] = 0x43; a = measure.access_int ergibt für das unsigned int a gleich 0x4321. Mit dieser Definition kann auf zwei Bytes als integer zugegriffen werden und man erspart sich die Umrechnung 256*high byte + low byte 3
4 Funktionen (Functions) Tätigkeiten, die an mehreren Stellen im Programm abgearbeitet werden sollten, sind als so genannte Funktionen Functions zusammengefasst. Die Definition für eine Funktion muss sich vor dem Aufruf befinden. Befindet sich die Funktion in einem anderen Modul, muss sie als Prototyp (1. Zeile der Funktionsdefinition) deklariert werden. Struktur einer Function: Rückgabetyp Function-Name ( Übergabevariablen mit Typendeklaration) { Definition lokaler Function-Variablen Realisierung der Function-Tätigkeit eventuelle Wertrückgabe } Function-Name: beliebig 4
5 Funktionen (Functions) Übergabevariablen: Liste von Werten, die an die Function übergeben werden sollen. Die Übergabewerte werden an lokale Variablen übergeben, die in der Function definiert werden müssen. Die Function arbeitet nur mit lokalen Kopien der Übergabevariablen, d.h. nach Beendigung der Function sind diese Variablen im aufrufenden Programm unverändert. Will man eine Veränderung, so kann man an die Function einen Pointer auf die Variable übergeben oder einfach mit globalen Variablen arbeiten. Wertrückgaben: Jede Function kann durch den 'return(variable)'-befehl einen Wert zurückgeben. Beispiele von Functions und ihrem Aufruf: input=getkey(); /* function getkey() liefert einen Wert */ pointerset(anfang); /* An die function pointerset() wird ein Wert übergeben */ value=select(digit); /* An die function select() wird ein Wert */ /* übergeben, und ein entsprechender Wert */ /* wird von der function zurückgeliefert */ 5
6 Funktionen (Functions) Variablendefinitionen: static: Eine static-variable verhält sich teils wie eine globale und teils wie eine lokale Variable. Lokal ist sie, weil der Gültigkeitsbereich nicht über den zugehörigen Block hinausgeht. Von einer globalen Variablen hat sie, dass der ihr zugewiesene Wert auch außerhalb der Gültigkeitsgrenzen erhalten bleibt. Eine globale Variable als static zu definieren, führt zu einem besonderen Verhalten. Diese Variable verhält sich für das Modul, in dem sie definiert wurde, genau wie eine globale Variable, für andere Module ist diese Variable aber nicht sichtbar. Normale globale Variablen hingegen sind von anderen Modulen aus les- und schreibbar. volatile: Volatile wird in Embedded-Systemen häufig verwendet. Dieses Schlüsselwort teilt dem Compiler mit, dass die entsprechende Variable außerhalb der Kontrolle des Programms (z.b. über Assemblerprogramme, Interrupte oder externe Beschaltung) verändert werden kann. Jeder Zugriff auf diese Variable erfolgt deshalb durch direktes Lesen des Speichers. Von vorherigen Operationen noch vorhandene Registerinhalte werden ignoriert. Bezüglich einer mit volatile versehenen Variablen finden keine Optimierungen seitens des Compilers statt. 6
7 Funktionen (Functions) Variablendefinitionen: register: const: Das Schlüsselwort gibt die Anweisungen an den Compiler, diese Variable möglichst als Prozessorregister auszuführen. Sind keine Register mehr frei, so wird die Anweisung ignoriert. Der Programmierer hat mit diesem Schlüsselwort die Möglichkeit einer Laufzeitoptimierung. Hiermit versehene Typen können nicht mehr verändert werden und gelten als konstant. Bei vielen Compilern für die hier besprochenen Embedded-Systems hat das Schlüsselwort const noch eine Besonderheit. Es sorgt dafür, dass Konstanten (wenn möglich) im billigen Programmspeicher (ROM) anstatt im teureren (knapperen) Arbeitsspeicher (RAM) des Systems abgelegt werden. Das funktioniert bei Konstanten, die feste Werte haben, beispielsweise bei Timerwerten oder Schleifendurchläufen. Bekommt jedoch eine Konstante beim Anlegen derselben einen Wert aus z.b. einer Funktion zurückgeliefert, so kann der Compiler diese Konstante natürlich nicht im ROM ablegen. 7
8 Interrupt- Functions: Allgemeine Form: function_name () interrupt x using y { Interrupt- Behandlung; } Function Name beliebig An interrupt functions können keine Werte übergeben werden und sie liefern keinen Wert zurück! Interruptquellen x: x bestimmt den Einsprungsvektor (aus dem User Manual des Controllers zu entnehmen) z. B 0x20 für den Timer 0 Registerbank y : Name der Registerbank Beispiel: void periodint(void) interrupt 0x11 using period_bank 8
9 Hauptprogramm (main): Das Hauptprogramm: main() stellt den Kern jedes C-Programms dar. Das Hauptprogramm beginnt mit der Initialisierung und setzt dann mit dem abzuarbeitenden Programm fort. Beispiel: void main(void) { /* Initialisierung */ S0CON=0x8011; /* Serielle 10-Bit-Rahmen */ T0IC=0x44; /* Timer0 Interrupt erlauben und Priorität */ /* setzen */ } /* Rest des Hauptprogrammes */ while(1) /*Endlosschleife */ { } 9
10 Typwandlung: automatisch, mittels CAST Eine automatische Typwandlung auch arithmetische oder implizite Typwandlung genannt, wird vom C-Compiler durchgeführt, wenn bei Operationen die Operanden unterschiedlichen Typs sind oder auf Grund der Operation Wertebereiche überschritten werden. Dabei gilt die Regel, dass Operanden mit kleinerem Wertebereich in einen Typ mit größerem Wertebereich gewandelt werden. Zunächst wird char und short in int bzw. unsigned char und unsigned short in unsigned int umgewandelt. Die weitere Rangfolge ist dann unsigned int, long, unsigned long sowie double. Ist also ein Operand vom Typ double so wird auch der beteiligte andere Operand in den Typ double umgewandelt. 10
11 Typwandlung: mittels CAST Wenn man den Datentyp einer Variablen verändern will, kann man das mit einer expliziten Typumwandlung (cast- Operator) erreichen. Wenn man z.b. eine Variable vom Typ int in eine vom Typ float umwandeln will, würde man schreiben: main() { int var1; float var2; var2 = (float)var1; } cast- Operator Die Umwandlung müsste man in diesem Fall allerdings nicht explizit angeben, weil C automatische Typumwandlungen durchführt. Das Beispiel zeigt aber die Syntax einer Typumwandlung mit dem cast-operator. Man drückt damit aus, dass eine Variable [hier var1] vom Typ (datentyp) [hier ( float )] sein soll, wenn der Ausdruck ausgewertet wird. Diese Typwandlung mittels cast- Operator kommt in der Praxis recht häufig vor. Sie kann in beide Richtungen angewandt werden: a) von kleinerem Typ zum größeren ohne Datenverluste b) von großem zu kleinerem Typ mit Datenverlust. z.b. bei Integertypen in einen char werden dabei immer die höherwertigen Bytes abgeschnitten. Bei float nach integer wird der Dezimalbruch abgeschnitten. 11
12 Operatoren: C erkennt mehr Operatoren als C-Schlüsselwörter = 12
13 Zuweisungen und Arithmetische Operatoren (Teil 1): 13
14 Zuweisungen und Arithmetische Operatoren (Teil 2): 14
15 Vergleichende und Logische Operatoren: Vergleichende Operatoren werden in if- Bedingungen, while-schleifen oder in for-schleifen zur Entscheidung für den weiteren Programmablauf bzw. zur Programmverzweigung genutzt. Mit den Operatoren logisch UND / ODER können mehrere Vergleichsausdrücke zu einen Ausdruck verknüpft werden: 15
16 Bitweise Operatoren (Teil 1): Diese Operatoren sind nur für die Datentypen char, int, short, long (signed oder unsigned) erlaubt. Mit ihnen ist eine direkte Manipulation einzelner Bits möglich. Je nach µc und Compiler werden diese Befehle auf entsprechende effiziente Maschinenbefehle abgebildet. Anwendungen finden diese hardwarenahe Bitsteuerung oft beim Zugriff auf spezielle µc-peripherie Register 16
17 Bitweise Operatoren (Teil 2): >> << Bit 7 Bit 0 17
18 Programmsteuerung: C-Anweisung: Eine C-Anweisung besteht aus einem Ausdruck (expression statement) dem ein Semikolon folgt. Diese Anweisung kann ein komplexer Zuweisungsausdruck, eine einfache Wertzuweisung, ein Operationsausdruck, ein Funktionsaufruf oder sogar eine leere Anweisung sein (z.b. while() ) Beispiele: x = 0; printf( hallo welt ); z = (x > y); einfache Werte Zuweisung Funktionsaufruf Operationsausdruck: Entscheidungsergebnis TRUE oder FALSE wird z zugewiesen Block { } : Als Block werden alle durch geschweifte Klammern zusammengefasste Vereinbarungen und Anweisungen bezeichnet. Mit der öffnenden linken geschweiften Klammer { beginnt dieser Block und nach der schließenden rechten geschweiften Klammer } endet er wieder. Der schließenden Klammer } folgt kein Semikolon Nach außen wirkt der Block syntaktisch wie eine einzige Anweisung, deshalb kann der Block an allen Stellen verwendet werden, an denen nicht mehr als eine Anwendung stehen darf, wie nach if, else, for, while usw. Auch bei den Funktionen haben wir den Block kennen gelernt, denn jede Funktion besitzt mindestens einen derartigen Block, den Funktionsblock 18
19 Programmsteuerung: if-else-anweisung: if (Testausdruck) { Anweisung1; } else { Anweisung 2; } Die if-else Anweisung dient der Auswertung eines in runde Klammern gestellten Vergleichsausdruckes (Testausdruck) für eine boolsche Entscheidung. Ist das Ergebnis des Vergleiches TRUE so wird Anweisung1 ausgeführt oder ein an dieser Stelle stehender Block von Anweisungen (in geschweiften Klammern). Bei FALSE wird dagegen der Zweig mit Anweisung2 ausgeführt, der aber auch fehlen darf. Wichtig ist, dass TRUE ein beliebiger Wert ungleich Null ist. Bei FALSE dagegen ist er genau Null! Für Mehrwege Entscheidungen kann eine mehrfach verschachtelte if-else-if Konstruktion verwendet werden. Es sind beliebige if-else-if Schachtelungen erlaubt. if ( x!= 0) if (x!= 0) y = x*z; { if (x<20) y = x*z; } else if (z!=0) y = x*a; else if (u!= 0) y = x*b; else y = 0; 19
20 Programmsteuerung: while-schleifen: while-schleifen dienen der zyklischen Ausführungen eines Anweisungsblockes, solange ein Testausdruck den Wert TRUE (ungleich Null) ergibt. Es werden zwei Arten von while- Schleifen unterschieden: while (Test-Ausdruck) { Anweisung; } do { Anweisung; } while (Test-Ausdruck); Bei ersterer Variante wird im Unterschied zur zweiten erst der Test-Ausdruck ausgewertet und dann der Block Anweisung abgearbeitet. D.h. wenn diese erste Auswertung den Wert FALSE ergibt wird der Anweisungsblock gar nicht abgearbeitet. Bei der zweiten Variante (do while) würde in diesem Fall von dem Test schon einmal der Anweisungsblock Anweisung abgearbeitet worden sein. Erst dann erfolgt eine Auswertung von dem Test-Ausdruck 20
21 Programmsteuerung: switch-case-anweisung: switch (Ausdruck) { } case Konstante1: Anweisungen; break; case Konstante2: Anweisungen; break;... case KonstanteN: Anweisungen; break; default: Anweisungen; Die switch-anweisung wird für die Entscheidung von Mehrwegeauswahl einer Variablen verwendet. Das switch-statement ermittelt den Wert und vergleicht diesen mit der dazugehörigen case-liste. Bei Übereinstimmung mit einer zwischen case und dem Doppelpunkt stehenden Konstante werden die Anweisung dieses case-zweiges abgearbeitet bis ein break gefunden wird. Ist kein break angegeben, werden die Anweisungen des nächsten case- Zweiges ebenso abgearbeitet. 21
22 Programmsteuerung: for-anweisung: Die for-anweisung dient der Realisierung von iterativen Schleifen. In runden Klammern eingeschlossen sind die 3 Ausdrücke Initialisierung (Init), Wiederholungstest (Test), Wiederinitialisierung (Neu-Init) anzugeben. for (Init ; Test; Neu-Init) z.b. for ( i=0 ; i<5 ; i++) { Anweisungen; { Anweisungen; } } Zuerst wird die for-schleife initalisiert, indem der Ausdruck <Init> ausgeführt wird. Dies können eine oder mehrere Zuweisungen bzw. Funktionsaufrufe sein, die durch Komma getrennt werden. Anschließend erfolgt die Prüfung des Ausdruckes <Test>. Ist das Ergebnis TRUE, wird der Anweisungs-Block (Anweisungen) abgearbeitet, bei FALSE dagegen wird die Schleife verlassen. Nach Abarbeitung des Anweisungs-Blockes wird der Ausdruck <Neu-Init> ausgeführt. In der Regel werden dort die Schleifenvariablen aktualisiert. Es können aber auch eine oder mehrere Zuweisungen oder Funktionsaufrufe sein. Dann wird wiederum der Ausdruck <Test> geprüft und das Szenario wiederholt sich. Also ein leicht verständliches Prinzip. Die 3 Ausdrücke <Init>, <Test>, <Neu-Init> sowie der Anweisungsblock dürfen auch leer sein. Allerdings sollten dabei nicht die trennenden Semikolon < ; > vergessen werden, sie müssen in jedem Fall angegeben werden. Der Ausdruck for(; ;) ohne jede Angabe ist ebenso zulässig und stellt eine Endlosschleife dar. 22
23 Mathematische Funktionen (Teil1): 23
24 Mathematische Funktionen (Teil2): 24
25 Detaillierte Analyse eines 16-Bit Mikrocontrollers C167CR 25
Einführung in die Programmiersprache C und in den C166-Compiler
Einführung in die Programmiersprache C und in den C166-Compiler Die vorliegenden Unterlagen sollen einen kurzen Überblick über die Software-Entwicklung in C geben. Diese Unterlagen erheben keinen Anspruch
MehrErwin 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
MehrEinfü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
MehrEinfü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
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for
MehrJava 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7
Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrProgrammieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen
MehrÜbersicht Programmablaufsteuerung
Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen
MehrModellierung 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; {
MehrDeklarationen 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.
MehrEinfü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).
MehrJava-Programmierung mit NetBeans
Java-Programmierung mit NetBeans Steuerstrukturen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Steuerstrukturen Steuerstrukturen Verzweigungen Alternativen abweisende nichtabweisende
MehrDas 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:
Mehr1 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
MehrC-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
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrDie 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
MehrUnterprogramme. 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
MehrAngewandte 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
MehrFallunterscheidung: 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
MehrNumerische Datentypen. Simon Weidmann
Numerische Datentypen Simon Weidmann 08.05.2014 1 Ganzzahlige Typen 1.1 Generelles Bei Datentypen muss man immer zwei elementare Eigenschaften unterscheiden: Zuerst gibt es den Wertebereich, zweitens die
MehrInhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler
Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale
MehrDiana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
MehrProgrammieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff
Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;
MehrWintersemester 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.
Mehr5. 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
MehrModul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
MehrDatentypen: Enum, Array, Struct, Union
Datentypen: Enum, Array, Struct, Union C-Kurs 2013, 2. Tutorium Freitagsrunde http://wiki.freitagsrunde.org 10. September 2013 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
MehrGrundlagen 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
Mehr5 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
MehrDas 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
MehrTutorium 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
MehrErweiterung 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
MehrEinführung in die Programmierung II. 2. Fundamentale Datentypen, Ausdrücke
Einführung in die Programmierung II 2. Fundamentale Datentypen, Ausdrücke Stefan Zimmer 3. 5. 2006-1- Objekte im Speicher Ein Objekt ist für uns zunächst einfach ein fester Bereich im Speicher unseres
MehrPass 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
MehrC/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)
MehrRundung und Casting von Zahlen
W E R K S T A T T Rundung und Casting von Zahlen Intrexx 7.0 1. Einleitung In diesem Werkstattbeitrag erfahren Sie, wie Zahlenwerte speziell in Velocity, aber auch in Groovy, gerundet werden können. Für
Mehr25 kann ohne Rest durch 5 geteilt werden! ist wahr
Lehrbrief 2: Lektion 8 - C -Praxis 4-1 - 5.2 Einfache Entscheidungen mit if und die Vergleichsoperatoren Nun tauchen wir immer tiefer in die Geheimnisse von C ein und beschäftigen uns mit einem sehr wichtigen
MehrKlausur 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)
MehrBinä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
MehrFunktionen 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
MehrInformatik 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
MehrKontrollstrukturen, Strukturierte Programmierung
, Strukturierte Programmierung Steuer- und Kontrollfluss Strukturierte Programmierung Arten von Strukturblöcken Sequenz Alternative Iteration C-Spezifisches Seite 1 Elementare Algorithmen SelectionSort
MehrEinfü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
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrEinfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at
Inhalt SWP Funktionale Programme (2. Teil) Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Interpreter für funktionale Sprache
MehrProgrammierkurs 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
MehrPHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54
PHP 5.4 Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012 Grundlagen zur Erstellung dynamischer Webseiten ISBN 978-3-86249-327-2 GPHP54 5 PHP 5.4 - Grundlagen zur Erstellung dynamischer Webseiten
MehrLehrer: Einschreibemethoden
Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder
MehrGrundlagen 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
MehrPropä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
Mehr1.4.12 Sin-Funktion vgl. Cos-Funktion
.4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten
Mehr7 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
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16
Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrProgrammierung 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/
MehrHochschule 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
MehrDie 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,
MehrJava 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
MehrZä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 --
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrObjektorientierte 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
MehrMediator 9 - Lernprogramm
Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop
MehrOutlook. 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
MehrEinfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrIT-Basics 2. DI Gerhard Fließ
IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte
MehrVisual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!
Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Grundstrukturen: Sub [name]([übergabe]) End Sub [Übergabe] ist
MehrGrundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrProgrammierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.
Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil
MehrProgrammieren 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
MehrZusammenfassung 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.
MehrEinfü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.
MehrSysteme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
MehrGegenüberstellung von Assembler- und C-Programmierung
Gegenüberstellung von Assembler- und C-Programmierung Assembler-Version C-Version org 8000h #pragma code=0x8000 #pragma xdata=0x2000 INPUT equ 0e081h OUTPUT equ 0e082h neu: mov dptr,#input movx a,@dptr
MehrII. 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
MehrPraktikum 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
Mehr2. Semester, 2. Prüfung, Lösung
2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrKurze Einführung in die Programmiersprache C++ und in Root
Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung
MehrC++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet
C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()
MehrHochschule 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
MehrArge 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
MehrFunktionale Programmierung mit Haskell
Funktionale Programmierung mit Haskell Dr. Michael Savorić Hohenstaufen-Gymnasium (HSG) Kaiserslautern Version 20120622 Überblick Wichtige Eigenschaften Einführungsbeispiele Listenerzeugung und Beispiel
MehrSoftwarelösungen: Versuch 4
Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]
MehrWin-Digipet V 9.2 Premium Edition Wie bastele ich mir steuerbare Kontakte. Wie bastele ich mir steuerbare Kontakte? -Quick-And-Dirty-Lösung-
? -Quick-And-Dirty-Lösung- Vorwort Nach Anfragen aus dem Win-Digipet-Forum möchte ich folgende Quick-And-Dirty-Lösung vorstellen mit der man sich mal eben virtuelle Kontakte erstellen kann. Vorweg muß
MehrZusammengesetzte 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
MehrArbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
MehrProgrammieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff
Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer
MehrJava Einführung Operatoren Kapitel 2 und 3
Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrProseminar C-Programmierung. Strukturen. Von Marcel Lebek
Proseminar C-Programmierung Strukturen Von Marcel Lebek Index 1. Was sind Strukturen?...3 2. Padding 5 3. Vor- und Nachteile von Padding..8 4. Padding gering halten 9 5. Anwendungsgebiete von Strukturen.11
MehrS7-Hantierungsbausteine für R355, R6000 und R2700
S7-Hantierungsbausteine für R355, R6000 und R2700 1. FB90, Zyklus_R/W Dieser Baustein dient zur zentralen Kommunikation zwischen Anwenderprogramm und dem Modul R355 sowie den Geräten R6000 und R2700 über
MehrStand: 28.11.2012. Adressnummern ändern Modulbeschreibung
Seite 1 Inhalt Allgemein...3 Installation...3 manuelle Eingabe von alten und neuen Adressnummern...4 Vorbereiten von Adressnummern-Änderungen in Tabellen...5 Seite 2 Allgemein Das INKS-Modul ermöglicht
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrVisualBasic - Variablen
Typisch für alle Basic-Dialekte ist die Eigenschaft, dass Variablen eigentlich nicht deklariert werden müssen. Sobald Sie einen Bezeichner schreiben, der bisher nicht bekannt war, wird er automatisch angelegt
MehrVorkurs 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