Regeln für das. Schreiben von C Code
|
|
- Günther Steinmann
- vor 8 Jahren
- Abrufe
Transkript
1 Regeln für das Schreiben von C Code Prof. Dr.-Ing. Otto Parzhuber Fachhochschule München Fachbereich Feinwerk- und Mikrotechnik Labor für Datentechnik Datei:c_coding.doc Seite 1
2 1.0 Einführung Die folgenden Kapitel befassen sich mit meist sehr einfachen Regeln, deren Einhaltung die Qualität eines Programms aber deutlich verbessern kann. Als Grundlage diente der Artikel C-Coding Standard von Jean Labrosse ( Feste Regeln oder Programmierkonventionen sollten in einem Softwareprojekt bereits in einem frühen Projektstadium eingeführt werden. Nur so ist es möglich, im ganzen Projekt Konsistenz zu erreichen und eine vernünftige Projektverwaltung zu gewährleisten. Jeder Programmierer entwickelt im Lauf der Zeit seinen eigenen Programmierstil. Ob dieser gut oder schlecht ist kann er selber überprüfen, wenn er sich die folgenden Fragen stellt. Wenn der Code portabel, konsistent, schnörkellos, einfach zu warten, verständlich, einfach ist, erfüllt er die hauptsächlichen Anforderungen an einen guten Code. 2.0 Prinzipien Der grundlegende Gedanke dieser Standards kann mit Wartbarkeit eines Codes kurz beschrieben werden. Dies bedeutet, dass Code lesbar, verständlich, testbar und portabel ist. Der gesamte Code muss im Standard ANSI C geschrieben sein. Das bedeutet, dass die Funktionsprototypen in ANSI C und deshalb auch die Typdefinitionen innerhalb der Klammern stehen müssen. Der Code muss einfach gehalten werden. Verwenden Sie nur explizite Vereinbarungen. Vermeiden Sie implizite oder unklare Eigneschaften der Sprache. Drücken Sie sich klar aus. Programmieren Sie durchgängig. Benützen Sie die gleichen Regeln so oft wie möglich. Halten Sie sich an die Standards. Wenn Sie Code schreiben müssen, für dessen Lösung kein direkter Standard existiert, versuchen Sie so nah am Standard zu bleiben wie möglich.(spirit of Standard) Vermeiden Sie komplizierte Anweisungen. Anweisungen, die viele Abfragen und Entscheidungen enthalten sind schwer zu lesen und noch schwerer zu testen. Vermeide GOTO. Spaghetticode vermeiden. Datei:c_coding.doc Seite 2
3 Aktualisieren Sie alten Code. Wenn Sie alten Code auf neuen Stand bringen, nützen Sie die Gelegenheit und wenden die hier beschriebenen Regeln an. Damit stellen Sie sicher, dass über die Zeit auch ihr alter Code den geforderten Kriterien entspricht. Die Gefahr, dass der Code irgendwann im Papierkorb verschwindet verringert sich ungemein. 3.0 Quelldateien Zeilenbreite Im komprimierten Mode können bis zu 132 Zeichen auf eine Zeile gedruckt werden, das sollte ruhig ausgenützt werden. Die Begrenzung auf 80 Zeichen war früher wegen den Monitoren notwendig, die nur 80 Zeichen darstellen konnten Benutzen des TAB Zeichens TAB characters (ASCII character 0x09) DÜRFEN NICHT benutzt werden. Das einrücken MUSS mit dem Leerzeichen (space character ASCII 0x20) erfolgen. Die Anzahl der Spalten, die mit dem TAB Zeichen eingerückt werden ist nicht gleich, sondern hängt vom verwendetem Computer oder Drucker ab. Es muss um 4 Zeichen eingerückt werden. Es werden also 4 Leerzeichen (space character) benutzt. Ausnahme sind die case-anweisungen, hier wird um 5 Zeichen eingerückt (siehe auch Kapitel ->Konstrukte). Verwenden Sie einen Dateikopf. Schreiben Sie am am Anfang jeder Datei einen Dateikopf mit Firma, Adresse, Copyright, Programmierer, Beschreibung der Datei, etc: /* * Micrium, Inc. * 949 Crestview Circle * Weston, FL * * (c) Copyright 2000, Micrium, Inc., Weston, FL * * All rights reserved. Micrium's source code is an unpublished work and the * use of a copyright notice does not imply otherwise. This source code contains * confidential, trade secret material of Micrium, Inc. Any attempt or participation * in deciphering, decoding, reverse engineering or in any way altering the source * code is strictly prohibited, unless the prior written consent of Micrium, Inc. * is obtained. * * Filename : * Programmer(s): Joe Programmer (JP) * John Doe (JD) * Created : YYYY/MM/DD * Description : */ Eine Implementierungs-Datei ist eine Datei, die ausführbaren Code enthält, im Gegensatz zu einer Header-Datei, die keinen ausführbaren Code enthält. Das Layout beider Dateitypen sollte in derselben Form gestaltet sein. Leere Abschnitte können weggelassen werden, wenn ein Abschnitt jedoch existiert, muss er in der folgenden Reihenfolge in der Datei stehen: Datei:c_coding.doc Seite 3
4 Implementation File Layout: File heading Revision history #include #define constants Macros Local data types Local variables Local tables Local function prototypes Global functions Local functions Header File Layout: File heading Revision history #define constants Global macros Global data types Global variables Externals Global function prototypes Trennen Sie Hauptabschnitte des Codes. Jedem Abschnitt des Codes sollte ein Kommentarblock wie unten gezeigt vorangestellt werden /* * DATA TYPES */ typedef unsigned char BOOLEAN; /* * PROTOTYPES */ BOOLEAN OSIsTaskRdy(void); Header-Dateien müssen vor einem versehentlichen mehrfachen Einbinden durch Prüfen der Definition einer Variablen geschützt werden. Anmerkung: Die Direktive!defined(X) sollte #ifndef X vorgezogen werden. #if!defined(module_h) #define module_h Body of the header file. #endif /* End of module_h */ Datei:c_coding.doc Seite 4
5 4.0 Kommentare Besser kein Kommentar als ein sinnloser oder falscher (Make every comment count). Code und Kommentare müssen deutlich sichtbar getrennt sein. Minimiere Kommentare, die in Anweisungen eingebettet sind! Beginne NIEMALS einen Kommentar unmittelbar über dem Code wie unten gezeigt. Der Code wird dadurch schwierig lesbar, da die Kommentare das schnelle visuelle abscannen des Codes stören.. void ClkUpdateTime (void) /* DO NOT comment like this! */ /* Update the seconds */ if (ClkSec >= CLK_MAX_SEC) ClkSec = 0; /* Update the minutes */ if (ClkMin >= CLK_MAX_MIN) ClkMin = 0; /* Update the hours */ if (ClkHour >= CLK_MAX_HOURS) Clkhour = 0; else ClkHour++; else ClkMin++; else ClkSec++; Beenden Sie einen Kommentar über mehrere Zeilen niemals nur mit einem Kommentarabschlusszeichen. NIEMALS einen Kommentar so schreiben wie in dem folgenden Beispiel: /* This type of comment can lead to confusion especially when describing a function like ClkUpdateTime (). The function looks like actual code! */ Verwenden Sie Kommentarblöcke zum abtrennen von verschiedenen Codeblöcken. Unten ist ein Kommentarblock gezeigt. Beachten Sie, dass der Kommentarblock zentriert und in GROSSBUCHSTABEN geschrieben ist. /* * VARIABLES ******************************************************************************* */ Datei:c_coding.doc Seite 5
6 Verwenden Sie so oft wie möglich Kommentare, die in derselben Zeile dem Code nachfolgen. Beginnen Sie einen Kommentar so oft wie möglich in derselben Zeile wie der Code, direkt nach dem Code. Wenn Sie den Kommentar untereinander ausrichten, erleichtern Sie die Lesbarkeit des Codes. void ClkUpdateTime (void) if (ClkSec >= CLK_MAX_SEC) /* Update the seconds */ ClkSec = 0; if (ClkMin >= CLK_MAX_MIN) /* Update the minutes */ ClkMin = 0; if (ClkHour >= CLK_MAX_HOURS) /* Update the hours */ ClkHour = 0; else ClkHour++; else ClkMin++; else ClkSec++; Verwenden Sie #if 0 und #endif für das auskommentieren von Codeblöcken. Kommentare dürfen nie geschachtelt werden. Benutzen Sie stattdessen besser die Direktiven #if 0 and #endif für das auskommentieren von größeren Teilen eines Programms. #if 0 /* Comments out the following code */ #define DISP_TBL_SIZE 5 /* Size of display buffer table */ #define DISP_MAX_X 80 /* Max. number of characters in X axis */ #define DISP_MAX_Y 25 /* Max. number of characters in Y axis */ #define DISP_MASK 0x5F #endif 5.0 Vereinbarung für Namen Generelle Vereinbarungen: #define constants: #define macros: typedefs: enum tags: All upper case characters Words separated by an underscore (i.e. `_') Examples: DISP_BUF_SIZE, MIN(), MAX(), etc. Local variables (i.e. function scope): All lower case Words separated by an underscore (i.e. `_') Use standard names (e.g. i, j, k for loop counters, p for pointers etc.) File scope variables: Prefixed with the module name followed by an underscore (i.e. `_'). Datei:c_coding.doc Seite 6
7 Names separating words start with an initial capital. Declared static. Examples: Disp_Buf[], Comm_Ch, etc. Global variables: Prefixed with the module name. Names separating words start with an initial capital. Examples: DispMapTbl[], CommErrCtr, etc. Local functions: Prefixed with the module name followed by an underscore (i.e. `_'). Names separating words start with an initial capital. Declared static. Example: static void Comm_PutChar() Global functions: Prefixed with the module name. Names separating words start with an initial capital. Example: void CommInit() Trenne verschiedene Wörter mit einem vorangestellten Großbuchstaben (e.g. DispBuf[]). Namen in einem alten Code, der nur Kleinbuchstaben besitzt, MÜSSEN mit einem underscore character getrennt werden ( '_', ASCII character 0x2D). Benutzen Sie durchgängig Akronyme, Abkürzungen und Mnemonics. Legen Sie eine Standardbibliothek für Akronyme, Abkürzungen und Mnemonics an, die von allen Programmierern benutzt werden muss. Die gezeigte Liste erhebt natürlich keinen Anspruch auf Vollständigkeit. Für das Programmieren ist diese Liste, sortiert nach Akronym, Abkürzung oder Mnemonic hilfreich. Benutzen Sie für Namen das Format 'Modul-Objekt-Operation' mit den Akronymen, Abkürzungen und Mnemonics. Halten Sie sich an die folgende Regel, wenn Sie eine globale Konstante erzeugen: Am Anfang steht der Name des Moduls, dann folgt der Name des Objekts, und schließlich der Name der Operation. OSSemPost() OSSemPend() etc. Bibliothek für Akronyme, Abkürzungen und Mnemonics (AAM) Beschreibung Akronym, Abkürzung, oder Mnemonic Argument Arg Buffer Buf Clear Clr Clock Clk Compare Cmp Configuration Cfg Context Ctx Delay Dly Device Dev Datei:c_coding.doc Seite 7
8 Disable Display Enable Error Function Hexadecimal High Task I/O System Initialize Mailbox Manager Manual Maximum Message Minimum Multiplex Operating System Overflow Parameter Pointer Previous Priority Read Ready Register Schedule Semaphore Stack Synchronize Timer Trigger Write Dis Disp En Err Fnct Hex Priority HPT IOS Init Mbox Mgr Man Max Msg Min Mux OS Ovf Param Ptr Prev Prio Rd Rdy Reg Sched Sem Stk Sync Tmr Trig Wr Benutzen Sie IMMER diese Standard Akronyme, Abkürzungen und Mnemonics. Benutzen Sie die Standard Akronyme., Abkürzungen und Mnemonics auch dann, wenn Sie das komplette Wort schreiben könnten. Zum Beispiel, benützen Sie IMMER Init anstelle von Initialize! Datei:c_coding.doc Seite 8
9 6.0 Datentypen Alle Datentypen MÜSSEN mit Großbuchstaben deklariert werden. Wörter werden mit dem underscore character abgetrennt (i.e. '_', ASCII character 0x2D). Verwenden Sie die folgenden portablen Datentypen. Alle Stanardtypen in C (ausgenommen char ) MÜSSEN vermieden werden, da ihre Größe nicht portabel ist. Deklarieren Sie stattdessen folgende Datentypen (INT?? und FP??), die vom verwendeten Prozessor und Compiler abhängen. typedef unsigned char BOOLEAN; /* Logical data type (TRUE or FALSE) */ typedef unsigned char INT8U; /* Unsigned 8 bit value */ typedef signed char INT8S; /* Signed 8 bit value */ typedef unsigned short INT16U; /* Unsigned 16 bit value */ typedef signed short INT16S; /* Signed 16 bit value */ typedef signed short INT32U; /* Unsigned 32 bit value */ typedef signed short INT32S; /* Signed 32 bit value */ typedef signed short INT64U; /* Unsigned 64 bit value (if available)*/ typedef signed short INT64S; /* Signed 64 bit value (if available)*/ typedef float FP32; /* 32 bit, single prec. floating-point */ typedef double FP64; /* 64 bit, double prec. floating-point */ Die Standardtypen Struktur und Union MÜSSEN mit typedef ersetzt werden. Alle Strukturen und Unionen MÜSSEN wie unten gezeigt mit typedef ersetzt werden. Genauso wichtig ist es, diese Datentypen ausschließlich mit GROSSBUCHSTABEN zu schreiben. Im Zusammenhang wird es offensichtlich, dass alle großgeschriebenen Buchstaben vor einer Variablen oder Funktion bedeuten: dies ist ein Datentyp und keine Konstante oder Makro.. typedef struct char RxBuf[COMM_RX_SIZE]; /* Storage of characters received */ char *RxInPtr; /* Pointer to next free loc. in buffer */ char *RxOutPtr; /* Pointer to next char. to extract */ INT16U RxCtr; /* Number of characters in Rx buffer */ char TxBuf[COMM_TX_SIZE]; /* Storage for characters to send */ char *TxInPtr; /* Pointer to next free loc. in Tx Buf */ char *TxOutPtr; /* Pointer to next char to send */ INT16U TxCtr; /* Number of characters left to send */ COMM_BUF; Ausrichten der Struktur. Die Datentypen jedes Strukturmitglieds werden um 4 Zeichen eingerückt und die Namen der Strukturmitglieder sind untereinander ausgerichtet. Achten Sie darauf, auch die Kommentare untereinander auszurichten. Gültigkeit des Datentyps. Wenn ein Datentyp nur innerhalb der Implementierungsdatei genutzt wird, MUSS dieser innerhalb der Implementierungsdatei deklariert sein. Wenn der Datentyp global ist, MUSS die Deklaration in der Headerdatei des Moduls stehen. Datei:c_coding.doc Seite 9
10 7.0 Layout Schreiben Sie nur eine Anweisung in jeder Zeile des Codes : DispSegTblIx = 0; DispDigMsk = 0x80; Anstelle von: DispSegTblIx = 0; DispDigMsk = 0x80; Trenne zusammenhängende Codeblöcke durch leere Zeilen oder Kommentare. Schreiben Sie die folgenden Operatoren OHNE Freizeichen : -> Struktur Pointer Operator p->member. Struktur Mitglied Operator s.member [] Array index a[i] Klammern nach Funktionsnamen haben kein(e) Freizeichen: DispInit(); Wenigstens ein Freizeichen wird nach jedem Komma benötigt um Funktionsargumente zu trennen: DispStr(x, y, s); Wenigstens ein Freizeichen wird nach jedem Strichpunkt benötigt: for (i = 0; i < 10; i++) Die unären Operatoren werden ohne Freizeichen zwischen Operator und Operand geschrieben:!value ~bits ++i j-- (INT32U)x *ptr &x sizeof(x) Die binären (und ternären) Operatoren werden mit mindestens einem Freizeichen zwischen Operator und Operand geschrieben: c1 = c2; x + y i += 2; n > 0? n : -n; a < b c >= 2 Datei:c_coding.doc Seite 10
11 Den Schlüsselwörter if, else, while, for, switch and return folgt ein Freizeichen. if (a > b) while (x > 0) for (i = 0; i < 10; i++) else switch (x) return (y); Das Ist-Gleichzeichen ( '='), und Zahlen sollten untereinander ausgerichtet sein, um ein flüssiges Layout zu erhalten. Achten Sie darauf, dass die LSB s von Integer und Gleitkommazahlen ausgerichtet sind. DispSegTblIx = 0; DispDigMsk = 0x80; DispScale = 1.25; Ausdrücke innerhalb Klammern werden ohne Freizeichen sowohl nach der öffnenden als auch vor der schließenden Klammer geschrieben: x = (a + b) * c; Datei:c_coding.doc Seite 11
12 8.0 Konstrukte Die folgenden Stile für die Konstrukte sollten eingehalten werden: - Einrücken um 4 Freizeichen (space character). - Keine TABs verwenden. - Immer Klammern benutzen, auch für leere Anweisungen. if (x > 0) y = 10; z = 5; if (z < LIM) x = y + z; z = 10; else x = y - z; z = -25; for (i = 0; i < MAX_ITER; i++) *p2++ = *p1++; Array[i] = 0; while (*p1) *p2++ = *p1++; cnt++; do cnt--; *p2++ = *p1++; while (cnt > 0); switch (key) case KEY_BS: if (cnt > 0) p--; cnt--; break; case KEY_CR: *p = NUL; break; case KEY_LINE_FEED: p++; break; 4 Freizeichen einrücken 1 Freizeichen nach for, if, else, while, and switch 1 Freizeichen nach dem ; = untereinander ausrichten 5 Freizeichen bei case einrücken 1 Freizeichen vor und nach Vergleichs- Operatoren Datei:c_coding.doc Seite 12
13 9.0 Funktionen Das Format einer Funktion sollte die folgende Form aufweisen Der Kommentarblock für die Beschreibung der Funktion muss immer dieselbe Form besitzen /* * DESCRIPTION: Function to update all analog inputs. * 1 Space nach dem Funktionsnamen (nur * ARGUMENTS : none in der Deklaration) ermöglicht schnelles * Der Rückgabetyp der Finden der Deklaration anstelle des * RETURNS : none Funktion muss immer Aufrufs und der * angegeben werden. Funktionsimplementierung * NOTES : none */ static void AI_Update (void) INT8U i; AIO *paio; Lokale Funktion besitzt underscore nach dem Modulnamen 2 Space zwischen lokalen Variablen und Code Deklaration und Initialisierung von lokalen Variablen müssen getrennt sein. Also nicht gleichzeitig deklarieren und initialisieren paio = &AITbl[0]; /* Point at first analog input channel */ for (i = 0; i < AIO_MAX_AI; i++) /* Process all analog input channels */ if (paio->aiobypassen == FALSE) /* See if analog input channel is bypassed */ paio->aiopassctr--; /* Decrement pass counter */ if (paio->aiopassctr == 0) ausgerichtet /* When pass counter reaches 0, read and scale AI */ paio->aiopassctr = paio->aiopasscnts; /* Reload pass counter */ paio->aioraw = AIRd(i); /* Read ADC for this channel */ paio->aioscalein = ((FP32)paio->AIORaw + paio->aiooffset) * paio->aiogain; if ((void *)paio->aioscalefnct!= (void *)0) /* See if scaling function defined */ (*paio->aioscalefnct)(paio); /* Yes, execute function */ else paio->aioscaleout = paio->aioscalein; /*No,just cpy data */ paio->aioeu = paio->aioscaleout; /* Out of scal. fnct to E.U. */ paio++; /* Point at next AI channel */ Lange Ausdrücke umbrechen nach 120 Zeichen. Das Multiplikationszeichen ist mit dem = bündig Kommentare sollen nach dem Code beginnen und an Spalte 120 enden Datei:c_coding.doc Seite 13
14 Literatur An Embedded Software Primer David E. Simon Addison Wesley C-Coding Standard Jean J. Labrosse µc/os-ii, The Real-Time Kernel Jean J. Labrosse R&D Technical Books, 1998 ISBN Embedded Systems Building Blocks Jean J. Labrosse R&D Technical Books, 2000 ISBN Datei:c_coding.doc Seite 14
Embedded Systems C Coding Standards. C Coding Standard. Erwin Brändle, Rudolf Brunner,
Embedded Systems C Coding Standard Erwin Brändle, erwin.braendle@hsr.ch Rudolf Brunner, rudolf.brunner@hsr.ch www.hsr.ch 1/9 1. Einführung Konventionen sollten in einem Projekt früh festgelegt werden.
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
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
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
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
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
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
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
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.
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
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
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.
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).
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
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 --
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
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
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:
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
Mehr10.6 Programmier-Exits für Workitems
10.6 Programmier-Exits für Workitems 279 10.6 Programmier-Exits für Workitems 10.6.1 Das Interface IF_SWF_IFS_WORKITEM_EXIT Am Schritt einer Workflow-Definition im Reiter»Programmier-Exits«können verschiedene
MehrÜbersicht Programmablaufsteuerung
Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen
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
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.
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/
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
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
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
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
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
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.
MehrI.1 Die Parrot Assemblersprache
I.1 Die Parrot Assemblersprache Die virtuelle CPU Parrot ermöglicht die Verarbeitung der Parrot Assemblersprache (PASM). Zum Einstieg soll ein erstes Beispiel die Ausführung einer PASM-Datei zeigen. Legen
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
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:
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
MehrObjektbasierte 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
MehrSchmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München
MANUEL KALLWEIT & FABIAN KINDERMANN Literaturempfehlung: Vorlesungsskript von Heidrun Kolinsky zu FORTRAN 90/95: http://www.rz.uni-bayreuth.de/lehre/fortran90/vorlesung/index.html Schmitt, Günter (1996):
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
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
MehrFakultä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 **
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
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
MehrKapitel MK:IV. IV. Modellieren mit Constraints
Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren
MehrEine Einführung in C-Funktionen
Eine Einführung in C-Funktionen CGK-Proseminar 2014 Philip Gawehn 04.07.2014, Hamburg Inhaltsverzeichnis 1 Einleitung 2 2 Grundlagen 2 2.1 Der Aufbau einer Funktion....................... 2 2.2 Schlüsselwörter.............................
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
MehrPHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden.
PHP Code Konventionen Um einen einheitlichen Code zu generieren, der von jedem gelesen werden kann, müssen folgende Konventionen eingehalten werden. Allgemein Ein Einzug sollte aus 4 Leerzeichen bestehen.
MehrInstallation OMNIKEY 3121 USB
Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,
MehrKlausur 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
MehrC++ Tutorial: Timer 1
C++ Tutorial: Timer 1 Timer v1.0 Einleitung Raum und Zeit sind spätestens seit der kopernikanischen Wende wichtige Gegenstände des Denkens geworden. In einem Programm bestimmt die Zeit die Abläufe und
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
MehrAufgaben 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.
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
MehrLEA-Comm. Bedienungsanleitung Softwareschnittstelle Easy800 und MFD
LEA-Comm Bedienungsanleitung Softwareschnittstelle Easy800 und MFD Version: 1.0 Stand: Juni 2003 Autor: L. Ochs / E. Burger Firma: Motron Steuersysteme GmbH (C) Alle Rechte vorbehalten MOTRON Steuersysteme
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrÜ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
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
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]
MehrInformationen zu den regionalen Startseiten
Informationen zu den regionalen Startseiten Inhaltsverzeichnis Informationen zu den regionalen Startseiten 1 1. Grundlegende Regeln 2 1.1. Was wird angezeigt? 2 1.2. Generelle Anzeigeregeln 2 2. Anpassbare
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
MehrText Formatierung in Excel
Text Formatierung in Excel Das Aussehen des Textes einer oder mehrerer Zellen kann in Excel über verschiedene Knöpfe beeinflusst werden. Dazu zuerst die betroffenen Zelle(n) anwählen und danach den entsprechenden
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
MehrDokumentation IBIS Monitor
Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt
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
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
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
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()
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
Mehrubasic Port für STM32F4 von Uwe Becker
ubasic Port für STM32F4 von Uwe Becker Das original ubasic von Adam Dunkels findet sich unter : http://dunkels.com/adam/ubasic/ Die Minimal -Version vom ubasic-port für den STM32F4 beinhaltet folgendes
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)
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
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrKlassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java
Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte
MehrGraphic 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
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
MehrÜbungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
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
MehrModerne C-Programmierung
Xpert.press Moderne C-Programmierung Kompendium und Referenz Bearbeitet von Helmut Schellong 1. Auflage 2005. Buch. xii, 280 S. ISBN 978 3 540 23785 3 Format (B x L): 15,5 x 23,5 cm Weitere Fachgebiete
MehrInformationen zur Verwendung von Visual Studio und cmake
Inhaltsverzeichnis Informationen zur Verwendung von Visual Studio und cmake... 2 Erste Schritte mit Visual Studio... 2 Einstellungen für Visual Studio 2013... 2 Nutzung von cmake... 6 Installation von
MehrEinführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition
In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,
MehrThermoguard. Thermoguard CIM Custom Integration Module Version 2.70
Thermoguard Thermoguard CIM Custom Integration Module Version 2.70 Inhalt - Einleitung... 3 - Voraussetzungen... 3 - Aktivierung und Funktion der Schnittstelle... 3 - Parameter... 4 - NLS-Einfluss... 4
MehrHochschule 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
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
MehrInformatik Grundlagen, WS04, Seminar 13
Informatik Grundlagen, WS04, Seminar 13 Informatik Informatik Grundlagen, Seminar 13 WS04 1 Was wir heute besprechen Nachbesprechen von Übungsblatt 11 Rekursion Grundprinzipien Übung Besprechung Übungsblatt
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
MehrEinführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
MehrM. 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
MehrBilder und Dokumente in MediaWiki
Dieses Handout soll erklären, wie Sie Dokumente hochladen können. Der Begriff Dokumente bezieht sich hier auf Word-Dokumente (*.doc), Acrobat-Dokumente (*.pdf), Excel-Tabellen (*.xls), Audiodateien (*.mp3),
MehrÜ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
Mehr4 Aufzählungen und Listen erstellen
4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer
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
MehrDatenbanken Kapitel 2
Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,
MehrMethodische Grundlagen des Software Engineering - Übung 9
Engineering - Übung 9 9 Prozess und Softwarequalität Abgabe der Hausaufgaben am Anfang der jeweiligen Präsenzübung am 14.06.2011 bzw. 15.06.2011. Hinweise und Kontakt: Veranstaltungsseite 1 9.1 Grundlagen
MehrGrundlagen. Die Komponenten eines C Programms. Das erste Programm
Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen
MehrÜbung zur Vorlesung Programmieren in C
Übung zur Vorlesung Programmieren in C 6 Pointers Marvin Gülker Ruhruniversität Bochum Wintersemester 2015/2016 Marvin Gülker (Ruhruniversität Bochum) 6 Pointers Wintersemester 2015/2016 1 / 29 Gliederung
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrGSM Scanner Bedienungsanleitung
GSM Scanner Bedienungsanleitung Inhaltsverzeichnis 1. Funktion der Tasten... 3 2. Erste Schritte... 4 2.1. Einschalten -----------------------------------------------------------------------------------
MehrModul CTO Barcode für Windows Seite 1
Modul CTO Barcode für Windows Seite 1 1 Barcode Modul 1.1 Vorwort Das Modul Barcode dient zum Ausdrucken von Barcodes auf Etiketten, Listen und Formularen auf grafikfähigen Windows-Druckern. Zum Einsatz
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
MehrProgrammiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm
Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
Mehr