Compiler Handbuch. Pascal Multi-Tasking für Single Chips. Version für. Copyright by E-LAB Computers. Blaise Pascal Mathematiker

Größe: px
Ab Seite anzeigen:

Download "Compiler Handbuch. Pascal Multi-Tasking für Single Chips. Version für. Copyright 1996-2015 by E-LAB Computers. Blaise Pascal Mathematiker 1623-1662"

Transkript

1 Compiler Handbuch E-LAB AVRco Pascal Multi-Tasking für Single Chips Version für AVR Copyright by E-LAB Computers Blaise Pascal Mathematiker Jul-2015

2 Der Inhalt dieses Handbuch ist urheberrechtlich geschützt und ist CopyRight von E-LAB Computers. Autor Rolf Hofmann Editor Gunter Baab E-LAB Computers Mikroprozessor-Technik Industrie-Elektronik Hard + Software 8-Bit 16-Bit 32-Bit E-LAB Computers Grombacherstr. 27 D74906 Bad Rappenau Tel 07268/ Fax 07268/ info@e-lab.de Wichtige Information Weltweit wird versucht fehlerfreie Software herzustellen. Die Betonung liegt dabei auf versucht, denn es besteht eine einhellige Meinung, je komplexer eine Software ist, desto grösser die Wahrscheinlichkeit, dass Fehler eingebaut sind. Wir sind aber nicht der Meinung, dass das ein Grundgesetz ist, und dass man deshalb mit Fehlern und Problemen einfach leben muss (obwohl das bei manchen Software Giganten offensichtlich so ist J ). Sollten Sie Fehler feststellen, so wären wir dankbar für jede Information darüber. Wir werden uns bemühen, dieses Problem möglichst kurzfristig zu lösen. Es ist ebenfalls internationaler Konsens, dass für Folgekosten, die aus fehlerhafter Software entstehen, der Software Hersteller jedwede Haftung ausschliesst, es sei denn es wurde etwas anderes extra vereinbart. Mit der Benutzung jeglicher Software Produkte von E-LAB Computers schliessen wir als Hersteller sämtliche Haftung aus daraus entstehenden Kosten bei Fehlern der Software aus. Sie als Anwender bzw. Benutzer der Software erklären Sich damit einverstanden. Sollte das nicht der Fall sein, so dürfen Sie die Software auch nicht benutzen, bzw. einsetzen. Wie gesagt, dieser Haftungsausschluss ist international Standard und üblich. Dieses Handbuch und die zugehörige Software ist geistiges Eigentum von E-LAB Computers und damit urheberrechtlich geschützt. Diese Produkte werden dem Erwerber zur Nutzung überlassen. Der Erwerber darf diese Produkte nicht an dritte weitergeben noch weiterveräussern. Weitergabe von Kopien dieser Produkte an Dritte, ob gegen Endgeld oder nicht, ist ausdrücklich untersagt. Wir meinen dass Sie, als Benutzer der Software, damit Geld verdienen können und damit auch eine Pflege der Produkte erwarten. Ein Produkt, das fast ausschliesslich aus Raubkopien besteht, bringt dem Hersteller/Autor kein Geld ein. Und damit kann ein Produkt auch nicht gepflegt und weiterentwickelt werden. Es liegt also auch im Interesse des Anwenders, dass das Urheberrecht beachtet wird. Das wars der Autor

3 Inhaltsverzeichnis 1 Einleitung Jedem Toaster sein Prozessor! Übersicht AVRco Versionen Handbuch Versionen Gliederung der Dokumentation Bekannte Einschränkungen Prinzipielle AVRco Sprach Elemente Zeichensatz Reservierte Wörter Standard Bezeichner Trennzeichen Programmzeilen Sprachreferenz Typen Standard scalare Typen Typ Konvertierung Variable Overlay BOOLEAN BIT BITSET BYTE CHAR STRING Property ARRAY TABLE RECORD WITH Statement zum Zugriff auf Records PROCEDURE WORD INT8 oder ShortInt INTEGER POINTER Pointer AutoIncrement AutoDecrement LONGWORD WORD LONGINT INT FLOAT Fix ENUM SEMAPHORE PIPE Pipe für ordinale Typen Pipe of Bit Pipe für komplexe Typen SYSTIMER E-LAB Computers Inhaltsverzeichnis - I

4 SYSTIMER SYSTIMER PIDCONTROL Alias Synonyme Delphi AVRco Typen Vergleich Operatoren NOT DIV MOD AND OR XOR SHL SHLA SHR SHRA ROL ROR IN / * Unechte Operatoren ^ # $ % Benutzer definierte Sprach Elemente Identifier Zahlen Strings Steuerzeichen Kommentare Ausdrücke (Expressions) Operatoren Unary Minus Not Operator MultipIizierende Operatoren Addierende Operatoren Relationale Operatoren Funktions Designatoren (Namen) Schlüsselwörter PROGRAM DEVICE IMPORT FROM DEFINE Hardware Imports innerhalb von Units DEFINE_USR DEFINE_FUSES IMPLEMENTATION TYPE CONST vordefinierte Konstante Typ Angabe bei Konstanten Deklaration II Inhaltsverzeichnis E-LAB Computers

5 Konstanten aus Dateien Konstanten im Flash STRUCTCONST VAR LOCKED Align2 Align4 Align Lokale Variablen Prozeduren und Funktionen PROCEDURE PROCEDURE SYSTEM_INIT PROCEDURE SYSTEM_MCUCR_INIT FUNCTION PROCESS Optionen bei Definition TASK Optionen bei Definition FORWARD BEGIN RETURN END ASM: ASM; ENDASM INTERRUPTs, TRAPs, EXCEPTIONs Interrupt Push, Pop PushRegs, PopRegs PushAllRegs, PopAllRegs Externe Interrupts Interrupt Pins INT0..INTx PinChangeInterrupts PCINT0..PCINT Externe Interrupts XMega Interrupt Pins PortIntA.. PortIntR PinChangeInterrupts PCintA.. PCINTR TRAPS und Software Interrupts (SWI) Implementation der Traps EXCEPTIONS Implementation Funktionen Statements Einfache Statements Assignment (Zuweisungs) Statement Prozedur Statement Leeres Statement Strukturiertes Statement Verbund Statement NOP Statement Bedingte Statements IF Statement GOTO Statement CASE Statement FOR Statement WHILE Statement REPEAT Statement CONTINUE LOOP Statement System Library - Standard E-LAB Computers Inhaltsverzeichnis - III

6 TRUE FALSE PI NIL Typ Konvertierung BOOLEAN BYTE INT CHAR WORD INTEGER LONGWORD LONGINT FLOAT FLOATASLONG LONGASFLOAT POINTER Character und String Funktionen ORD UPCASE LOWCASE UPPERCASE LOWERCASE COPY STRREPLACE TRIM TRIMLEFT TRIMRIGHT PADLEFT PADRIGHT LENGTH SETLENGTH POS POSN APPEND INSERT DELETE STRCLEAN STRTOINT StrToFix HEXTOINT STRTOFLOAT STRTOARR ARRTOSTR StrCompareN StrCompareW EXTRACTFILEPATH EXTRACTFILENAME EXTRACTFILEEXT Zugriff auf Teilbereiche von Variablen / Konstanten SWAP SWAPLONG MIRROR MIRROR MIRROR LONIBBLE LO (Funktion) LO (Zuweisung) LOWORD (Funktion) IV Inhaltsverzeichnis E-LAB Computers

7 LOWORD (Zuweisung) HINIBBLE HI (Funktion) HI (Zuweisung) HIWORD (Funktion) HIWORD (Zuweisung) ABS Diff8, Diff16, Diff32, Diff Negate INC INCTOLIM INCTOLIMWRAP DEC DECTOLIM DECTOLIMWRAP VALUETRIMLIMIT VALUEINTOLERANCE VALUEINTOLERANCEP VALUEINRANGE MULDIVBYTE MULDIVINT MULDIVINT MulDivLong SQUAREDIVBYTE SQUAREDIVINT SQUAREDIVINT INTEGRATEB INTEGRATEI INTEGRATEI INTEGRATEW Even ODD PARITY ISPOWOFTWO SIGN SGN PRED SUCC MIN MAX SIZEOF BitCountOf ADDR System Library - Fix FIX64 Unit FIX64 und Delphi mathematische Funktionen Konvertierungsfunktionen Vergleichsfunktionen Logarithmen, etc Trigonometrie System Library - Bit Verarbeitung INCL EXCL TOGGLE SETBIT BIT System Library - Diverse System Funktionen E-LAB Computers Inhaltsverzeichnis - V

8 SYSTEM_RESET DELAY mdelay udelay udelay_ sdelay SYSTIMER SetSysTimer SetSysTimerM GetSysTimer ResetSysTimer IsSysTimerZero LOWER HIGHER WITHIN VAL Block Funktionen FILLBLOCK FILLRANDOM COPYBLOCK COPYBLOCKREVERSE COMPAREBLOCK Pointer Zugriff ausserhalb des linearen Adressbereichs FlashPtr EEPromPtr UsrDevPtr BankDevPtr FLUSHBUFFER CRC Checksumme CRC CHECK CRC STREAM FLASH CHECKSUM EEPROM CHECKSUM RANDOM RANDOMRANGE RANDOMSEED SQR SQRT POW POW EXP LogN Log Trigonometrische Funktionen TAN TAND ARCTAN SIN SININT SININT SIND COS COSINT COSINT COSD DEGTORAD RADTODEG ROTATE PNTi TRUNC VI Inhaltsverzeichnis E-LAB Computers

9 ROUND FRAC INT IntToFix GETTABLE SETTABLE Konvertierung zu Strings BYTETOSTR INTTOSTR LONGTOSTR FLOATTOSTR LONG64TOSTR Fix64toStr BOOLTOSTR BYTETOHEX INTTOHEX LONGTOHEX LONG64TOHEX Fix64TOHEX BYTETOBIN INTTOBIN BYTETOBCD WORDTOBCD BCDTOBYTE PCU SI-Conversion (*P*) Allgemeine Funktionen Temperatur Volumen Druck Längen Flächen Gewichte Energie Integer Funktionen Konstanten Interpolation InterPolX, InterPolY Gleitendes Mittelwert Filter (Moving Average Filter) PresetAVfilter SetAVfilter AddAVfilter GetAVfilter DeclAVfilter Filter Low und High Pass Netzwerk-Funktionen vordefinierte Typen Funktionen zur Konvertierung Funktionen zum Vergleichen Diverse Funktionen System Library - String Formatierung Dezimal Separator WRITE WRITELN READ READLN Fehlerbehandlung RUNERR RUNTIMEERR E-LAB Computers Inhaltsverzeichnis - VII

10 CLEARRUNERR Multi-Task Funktionen SLEEP SUSPEND SUSPENDALL RESUME RESUMEALL PRIORITY GetPriority MAIN_PROC IDLE PROCESS On Idle Process SCHEDULE SCHEDULER ON/OFF LOCK UNLOCK RESET PROCESS SEMAPHORE WAITSEMA ProcWaitFlag SETSEMA INCSEMA DECSEMA SEMASTAT PIPES WaitPipe PipeFlush PipeSend PipeRecv PipeStat PipeFull PROCESS ID ISCURPROCESS GETCURPROCESS GETPROCESSID PROZESS STATUS DEVICE LOCK SetDeviceLock ClearDeviceLock TestDeviceLock WaitDeviceFree Stack und Frame Verbrauch GETSTACKFREE GETTASKSTACKFREE GETFRAMEFREE GETTASKFRAMEFREE CHECKSTACKVALID CHECKFRAMEVALID SCHEDULER CALL BACK PID-Regler pfactor ifactor dfactor sfactor NOMINAL ACTUAL EXECUTE HardWare abhängige Funktionen VIII Inhaltsverzeichnis E-LAB Computers

11 PocClock XMega ProcClock STACKSIZE, RAMpage FRAMESIZE, RAMpage TASKSTACK, RAMpage TASKFRAME SCHEDULER SYSTICK XMega SYSTICK XMega SYSTICK ohne RTC Timer OnSysTick SysTickStop SysTickStart SysTickRestart SysTickDisable SysTickEnable SystemTime ENABLEINTS START_PROCESSES DISABLEINTS NOINTS, RESTOREINTS CPUSLEEP HardwareReset XMega only POWERSAVE WATCHDOG WATCHDOGSTART WATCHDOGSTOP WATCHDOGTRIG GETWATCHDOGFLAG {$NOWATCHDOGAUTO} ENABLE_JTAGPORT DISABLE_JTAGPORT Debugger Breakpoints XMega Support Funktionen XMega UserSignatureRow EEPROM Strukturierte Konstante Variable Speicher Block EEprom Zugriff HEAP (*P*) Implementation Funktionen Beispiel BOOT VECTORS (BootVectors) Implementation Funktionen Konstante Programm Beispiel BOOT TRAPS (BootTraps) Implementation der Boot Traps Vererbung (Inheritance) Multi-Task Programmierung Einleitung E-LAB Computers Inhaltsverzeichnis - IX

12 5.2 Funktionsweise Prozesse und Tasks Priority Default Priorities Optimales Multi-Tasking MultiTasking Diagramm Optimierung Bibliothek Variable Konstante Laufzeit Hochoptimierend? Der "Merlin Optimiser" Beste Ergebnisse mit dem Merlin Optimiser erzielen Einleitung Wie viel Optimierung kann man erwarten? Was wird optimiert? Beta Code Volatility Schleifen Optimierung Gemeinsamer Ausgang von Teilmengen eines Ausdrucks Selbst geschriebener Assembler Code Setters und Getters Zusammenfassung der Optimiser Schalter Compiler Schalter Speicher Verwaltung Überlegungen zur Speicherbelegung XData Externer Speicher Include Dateien Suchpfad für Include Dateien Runtime Checks Variable, Konstante und Prozeduren Check System Steuerung Optimiser Schalter Conditional Compile Programm Aufbau Programm Rahmen Reihenfolge Initialisierung Compiler Errors Fehler Datei Type Missmatch Units (*P*) Deklaration und Aufbau einer Unit Unit-Kopf Interface-Abschnitt Implementation-Abschnitt Initialization-Abschnitt X Inhaltsverzeichnis E-LAB Computers

13 Finalization-Abschnitt Uses-Klausel Suchpfad für Units Info Teil einer Unit Hardware Imports innerhalb von Units PreCompiled Units Assembler Allgemeines ASM; ENDASM; Assembler - Schlüsselwörter Register Assembler Anweisungen Operatoren für Konstanten Manipulation Zugriff auf Pascal Konstante und Variablen Einbindung von Assembler Routinen Lokale Variable und Assembler Zugriffe Prozedur Aufrufe und System Funktionen Funktions Ergebnisse und Assembler Funktions/Prozedur Abschluss Interrupt Prozeduren mit Assembler Konstante und Optimierung Assembler Schalter Assembler Errors E-LAB Computers Inhaltsverzeichnis - XI

14

15 1 Einleitung 1.1 Jedem Toaster sein Prozessor! So oder so ähnlich könnte man diverse Kommentare und Aussagen interpretieren. Und es ist nicht aus der Luft gegriffen. Mikroprozessoren finden immer mehr Verwendung in Anwendungen, wo man diese sich vor kurzem nicht vorstellen konnte, oder aber, sie machen bestimmte Lösungen überhaupt erst möglich. Teilweise ist das auf stark gefallene Preise der Chips zurückzuführen, oft aber auch auf die Miniaturisierung der Chips. Immer mehr werden daher mechanische, elektromechanische und auch elektronische Lösungen bestimmter Aufgaben durch Prozessoren übernommen. Für den Entwickler stellt sich aber immer öfter das Problem, elegante Lösungen mit möglichst geringem Aufwand bzw. Kosten zu realisieren. Der Kostenfaktor zwingt den Konstrukteur dazu, in jedem Einzelfall den richtigen Prozessor auszuwählen, um das beste Preis/Leistungsverhältnis zu erzielen. Es ist praktisch nicht mehr möglich, mit einem einzigen Typ (z.b. 80C535 oder 68332) alle Anwendungen zu erschlagen. Die Halbleiter Industrie bietet seit einiger Zeit Controller an, die von 16polig/8bit (DM3.-) bis >84polig mit 32bit (DM80.-..) reichen. Für den Entwickler stellt sich spätestens jetzt aber das Problem des richtigen Entwicklungswerkzeuges. Je genauer der jeweilige Prozessor spezifiziert wird, desto mehr Entwicklungswerkzeuge werden im Lauf der Zeit benötigt. So kommen, bei einem üblichen Preis zwischen und DM pro Tool, einige 10tausend DM zusammen. Das wiederum widerspricht aber genau dem Kostenproblem, dass alles, auch die Entwicklungen, immer billiger werden muss, ja manche Auftraggeber erwarten sogar, dass Entwicklungskosten gar nicht berechnet werden, oder als minimaler Anteil in die Serie eingerechnet werden. Ab der Prozessorgrösse 8051, 68HC11, Z80 etc. sind viele, im Preis und in der Leistung unterschiedliche Tools zu finden. Leider, bis auf ein paar Ausnahmen, alle für C. Andere Hochsprachen sind fast komplett vom Markt verschwunden. Ein Entwickler, der mehrere Hochsprachen kennt, weiss in der Regel die Lesbarkeit, Selbstdokumentation und problemlose Pflege (auch nach Jahren) von Pascal und ähnlichen Sprachen (Modula-2, Oberon) zu schätzen. Sicher, viele Argumente für oder gegen eine Sprache könnte man in den Bereich der Philosophie oder Religion verweisen. Tatsache ist jedoch, dass bei militärischen und Weltraumprojekten C verboten ist und nur der Pascal Abkömmling ADA verwendet werden darf. Sicherheits relevante Aufgaben, z.b. Zugsteuerung (Stellwerke) bei der DB, Flugzeugelektronik bei div. amerikanischen Herstellern werden in Pascal geschrieben und nicht in C. Und bestimmt nicht aus Nostalgie Gründen. Soviel zur unserer Entscheidung zugunsten von Pascal und gegen die kryptische Sprache C. Um einen Ausweg aus der o.a. Misere (Kosten, nicht vorhandene bzw. schwache Tools, kein C ) zu finden, hat E-LAB Computers einen Pascal Compiler für eine Reihe von Prozessor-Familien entwickelt. Ziel war es, ein Tool zu schaffen, das vom Leistungsumfang möglichst komplett ist, jedoch intern keine hohen Kosten verursacht. Deshalb und auch wegen mangelnder Resourcen in den anvisierten Prozessoren, wurde bewusst auf ein paar komplexe Funktionen und System Eigenschaften verzichtet. Z.B. gibt es in der Standard Version keinen Linker und damit kein modulares Programm/Units. Das Tool ist aber trotzdem oder gerade deshalb problemlos auf andere (kleine) Prozessoren zu portieren. Eine Non-Multi-Task Version gibt es für MicroChip s PIC. Eine Multi-Task Versionen ist für den AVR von Atmel erhältlich. Das Tool besteht immer aus der IDE (Editor usw.), dem Compiler und dem Assembler. Zumindest die IDE steht derjenigen der um ein vielfaches teueren Konkurrenz in keinster Weise nach. Einen eigenen Simulator besitzt nur die AVR-Version. Dieser ist ein Bonus/Zugabe zum System. E-LAB Computers Einleitung - 15

16 2 Übersicht 2.1 AVRco Versionen alle AVRco Versionen unterstützen alle AVR Controller die ein internes RAM (für den Stack) besitzen, also praktisch die gesamte Palette. AVRco Profi Version: die Profi Version enthält alle verfügbaren Treiber, darunter auch sehr komplexe wie z.b. ein FAT16 File System oder eine umfangreiche Library für graphische LCDs. Weiterhin wird die professionelle Programm Erstellung durch den vollen Support von Units unterstützt. AVRco Standard Version: in der Standard Version sind nur die besonders komplexen Treiber nicht enthalten. AVRco Demo Version: auch die Demo Version unterstützt alle Controller und besitzt alle Treiber der Standard Version. Die einzige Einschränkung ist die Limitierung des erzeugten Code auf eine Größe von 4 k. 2.2 Handbuch Versionen Abschnitte die mit dem Attribut (*P*) gekennzeichnet sind, sind nur in der AVRco Profi Version enthalten. 2.3 Gliederung der Dokumentation..\E-Lab\DOCs\DocuCompiler.pdf: enthält die Pascal Sprachbeschreibung und deren Erweiterungen gegenüber dem Standard Pascal..\E-Lab\DOCs\DocuStdDriver.pdf: enthält die Beschreibung der Treiber die sowohl in der Standard, also auch in der Profi Version vorhanden sind..e-lab\docs\docuprofidriver.pdf: enthält die Beschreibung der Treiber die ausschließlich in der Profi Version vorhanden sind..\e-lab\docs\docureference.pdf : enthält eine Kurzreferenz (die im wesentlichen mit der Online Hilfe identisch ist)..\e-lab\docs\docutools.pdf: enthält die Beschreibung der integrierten Entwicklungsumgebung, des Simulators, ein Tutorial usw...\ E-LAB\IDE\DataSheets\Release-News.txt: listet die Erweiterungen in chronologischer Reihenfolge auf. Die Dokumentation der Erweiterungen erfolgt in den oben erwähnten.pdf Files (DocuXXX.pdf)..\E-Lab\AVRco\Demos\ : enthält sehr viele Test und Demo Programme..\E-Lab\DOCs\ : enthält die Dokumentation sowie weitere Schaltpläne und Datenblätter 16 Übersicht E-LAB Computers

17 2.4 Bekannte Einschränkungen AVRco Compiler-Handbuch - Die Funktion IntegrateI hat noch einen Bug bei negativen Werten. - Das Überschreiben von vordefinierten Typen, Variablen, Konstanten, Funktionen und Prozeduren ist zur Zeit noch nicht möglich. - Die Wertigkeit der Operatoren (* AND SHR etc.) wird z.zt. noch nicht überall eingehalten. Deshalb ist das Klammern von Ausdrücken unbedingt notwendig. - Nicht implementiert sind "With" Konstrukte mit Records in Records - Strings Das folgende String Concat bringt ein unerwünschtes Resultat: str:= str1 + str; Dieses Konstrukt ist wegen des limitierten RAM nicht realisierbar. Was hingegen funktioniert ist: str:= str + str1; - Arrays Die Konstruktion von Array of Arrays wird nicht unterstützt: E-LAB Computers Übersicht - 17

18 3 Prinzipielle AVRco Sprach Elemente 3.1 Zeichensatz Das Vokabular vom AVRco Pascal besteht aus Zeichen, eingeteilt in Buchstaben, Zahlen, und spezielle Symbole: Buchstaben A bis Z, a bis z und _ (underscore). Um Konflikte mit internen Bezeichnern zu vermeiden, sollte das underscore nicht als erstes Zeichen eines Bezeichners (Symbol) verwendet werden.. Digits Special symbols */=<>()[]{)., Es wird nicht zwischen Gross- und Kleinschreibung unterschieden. Bestimmte Operatoren und Delimiter bilden zusammen ein spezielles Symbols: Assignment operator: : = Vergleichs Operator: <> <= >= Kommentare: (* und *) können statt { und } verwendet werden. Auch C-style Kommentare können verwendet werden.: // Zusätzlich verwendet AVRco Pascal verschiedene Konstrukte, die den Zugriff auf die CPU und ihrer Resourcen ermöglichen. Weiterhin gibt es eine ganze Anzahl von Spracherweiterungen um den Anforderungen eines embedded Systems und dessen Programmierung gerecht zu werden. 3.2 Reservierte Wörter Reservierte Wörter sind ein integraler Bestandteil vom AVRco Pascal. Sie können nicht redefiniert werden und dürfen deshalb nicht als user defined identifiers benutzt werden. Beispiele: ABS, AND, ARRAY, ASM, BEGIN, BREAK, CASE, CONST, CONTINUE, DIV, DO, DOWNTO, ELSE, ELSIF, END, ENDFOR, ENDCASE, ENDWHILE, ENDIF, EXIT, FOR, FORWARD, FUNCTION, GOTO, IF, IN, LABEL, MOD, NOT, OF, OR, PROCEDURE, PROGRAM, RECORD, REPEAT, ROR, ROL, SHL, SHR, STRING, THEN, TO, TYPE, UNTIL, VAR, WHILE, WITH, XOR 3.3 Standard Bezeichner AVRco Pascal definiert eine Anzahl von Standard Identifiers für predefined Types, Constants, Variables, Procedures und Functions. Diese dürfen ebenfalls nicht redefiniert (überschrieben) werden. Beispiele: FALSE, TRUE, NIL, CHAR, BOOLEAN, INTEGER, BYTE, INT8, LONGINT, WORD, LONGWORD, FLOAT, POINTER, SIZEOF, INC, DEC, MOVE, LENGTH, COPY, INTTOSTR, BYTETOSTR, INTTOHEX, STRTOINT, LO, HI, LOWORD, HIWORD, INSERT, DELETE, UPCASE, POS 3.4 Trennzeichen Sprachelemente müssen zumindest mit einem Delimiter (Trennzeichen) voneinander getrennt werden. Das sind: Leerzeichen, ein Zeilenende oder ein Kommentar. Kommentare sind an jeder Stelle im Quellcode zulässig. 3.5 Programmzeilen Die maximale Länge einer Programmzeile darf 250 Zeichen nicht überschreiten. 18 Prinzipielles E-LAB Computers

19 4 Sprachreferenz 4.1 Typen Standard scalare Typen Ein Daten Typ definiert einen Bereich von Werten den eine Variable annehmen kann. Jede Variable in einem Programm muss mit einem Daten Typ verbunden sein. Obwohl Daten Typen im AVRco sehr komplex sein können, sind sie doch alle aus einfachen Typen aufgebaut. Die grundsätzlichen Typen in Pascal sind sog. scalare Typen. Diese bestehen aus einem linearen und endlichen Werte Bereich. Ein einfacher Typ kann entweder vom Programmierer definiert werden (ein sog. declared scalar Typ, auch Aufzählungstyp oder Enumeration), oder er ist einer von den standard scalar Typen: integer, int8, word, longint, longword, float, boolean, char, byte, bit oder BitSet. Neben den Standard Scalar Typen, unterstützt Pascal auch user defined scalar Typen, auch declared scalar Typen (enumeration) genannt. Die Definition einer scalaren Type spezifiziert in aufsteigender Reihenfolge alle ihrer möglichen Werte. Die Werte des neuen Typs werden durch Namen (Identifiers) dargestellt, welche den Konstanten Wert des neuen Typs repräsentieren: type Operator = (Plus, Minus, Multi, Divide); Im obigen Beispiel ist der Typ Operator eigentlich ein Byte. Die in Klammern nachfolgende Werte sind Aufzählungen beginnend mit dem Wert 0. Der Wert Plus ist damit eine Konstante mit dem Wert 0, Minus ist 1, Multi hat den Wert 2 etc. Die Verwendung von defined scalar types bzw. Enumerationen bzw. Aufzählungstypen ist sehr empfehlenswert, da hiermit die Lesbarkeit eines Programms erheblich gesteigert wird. type TDay = (Mon,Tue,Wed,Thur,Fri,Sat,Sun); TMonth = (Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec); TMArr = array[jan..dec] of TDay; var MonArr... = Tmarr; MonArr[Aug]:= Sun; If MonArr[Jan] = Fri then Typ Konvertierung Der Compiler kennt keine automatische Typ Konvertierung. Eine Zuweisung wie z.b. byte:= word führt zu einem Type Missmatch. Es ist jedoch möglich, praktisch jeden Typ in einen anderen umzusetzen, indem man das sog. Typecasting anwendet. In vielen Fällen wird dabei kein zusätzlicher Maschinen-Code erzeugt (char:= char(byte)). AVRco Pascal kennt, wie die meisten Pascal Compiler, das Type Casting. Dazu wird einfach ein Typ- Identifier als "Funktions-Name" benutzt. Der Parameter dieser "Funktion" ist eine Variable vom Typ A die der Compiler als Variable vom Typ B sehen soll (als den Typ, der als "Funktionsaufruf" benutzt wird). E-LAB Computers Typen - 19

20 var ch : char; b1 : byte; w1 : word; i1 : integer; p1 : pointer ch:= char(b1); b1:= byte(w1); i1:= integer(w1); p1:= pointer(w1); type TRecordA TRecordB = record a,b,c : word; end; = record X : longint; Y : word; end; var A : TRecordA; B : TRecordB; C : char; D : byte; begin A:= RecordA (B); RecordA (B):= A; D:= byte (C); C:= char (D); end. Tip: In der Pascal Welt ist es üblich, dass Typ Namen mit einem grossen T beginnen. Das ist kein muss, erhöht allerdings die Lesbarkeit des Programms und hilft Fehler zu vermeiden Variable Overlay Variable können direkt auf andere Variablen platziert werden (Overlay). Dabei gibt es das Problem, dass die zweite Variable grösser sein kann als die referenzierte Variable. Da aber nur die Referenz Variable Speicher allokiert, kann es zum Überschreiben von nach-platzierten Variablen zur Laufzeit kommen. var abc : byte; xyz : byte; ovr1[@abc] : byte; ovr2[@abc] : word; // it's ok // problem Im Beispiel würde ein Schreibzugriff auf die Variable "ovr2" nicht nur die Variable "abc" überschreiben, sondern auch (ungewünscht) die Variable "xyz". Der Compiler prüft bei Overlays, ob die zu platzierende Variable in den vorgesehenen Speicherplatz der referenzierten Variablen passt. 20 Typen E-LAB Computers

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

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

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

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

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert

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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

1.4.12 Sin-Funktion vgl. Cos-Funktion

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

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

Primzahlen und RSA-Verschlüsselung

Primzahlen 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

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

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

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

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

Modul 122 VBA Scribt.docx

Modul 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

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

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

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

PicKit 3. Programmierung mit dem USB-Programmer PICkit3 (Microchip) AB-2010-04

PicKit 3. Programmierung mit dem USB-Programmer PICkit3 (Microchip) AB-2010-04 PicKit 3 Programmierung mit dem USB-Programmer PICkit3 (Microchip) AB-2010-04 In diesem Dokument wird ein Umbau beschrieben. Für die Funktion des Umbaus gibt es keine Garantie. Für durch diesen Umbau entstandene

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

S7-Hantierungsbausteine für R355, R6000 und R2700

S7-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

Mehr

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated

Mehr

Visual 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! 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

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

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

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

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

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Computerarithmetik ( )

Computerarithmetik ( ) Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur

Mehr

Über Arrays und verkettete Listen Listen in Delphi

Über Arrays und verkettete Listen Listen in Delphi Über Arrays und verkettete Listen Listen in Delphi Michael Puff mail@michael-puff.de 2010-03-26 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung 3 2 Arrays 4 3 Einfach verkettete Listen 7 4 Doppelt verkettete

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

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Excel Funktionen durch eigene Funktionen erweitern.

Excel Funktionen durch eigene Funktionen erweitern. Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion

Mehr

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte 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

Mehr

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

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

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

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

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

Dokumentation von Ük Modul 302

Dokumentation von Ük Modul 302 Dokumentation von Ük Modul 302 Von Nicolas Kull Seite 1/ Inhaltsverzeichnis Dokumentation von Ük Modul 302... 1 Inhaltsverzeichnis... 2 Abbildungsverzeichnis... 3 Typographie (Layout)... 4 Schrift... 4

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

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

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

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

Eigene Dokumente, Fotos, Bilder etc. sichern

Eigene Dokumente, Fotos, Bilder etc. sichern Eigene Dokumente, Fotos, Bilder etc. sichern Solange alles am PC rund läuft, macht man sich keine Gedanken darüber, dass bei einem Computer auch mal ein technischer Defekt auftreten könnte. Aber Grundsätzliches

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

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Handbuch B4000+ Preset Manager

Handbuch B4000+ Preset Manager Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten

Mehr

.NET Code schützen. Projekt.NET. Version 1.0

.NET Code schützen. Projekt.NET. Version 1.0 .NET Code schützen Projekt.NET Informationsmaterial zum Schützen des.net Codes Version 1.0 Autor: Status: Ablage: Empfänger: Seiten: D. Hoyer 1 / 6 Verteiler : Dokument1 Seite 1 von 1 Änderungsprotokoll

Mehr

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13. Teil IV: Programmieren an Beispielen

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13. Teil IV: Programmieren an Beispielen Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil IV: Programmieren an Beispielen Die

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr

Diana Lange. Generative Gestaltung Operatoren

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

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Kurs 1613 Einführung in die imperative Programmierung

Kurs 1613 Einführung in die imperative Programmierung Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1; repeat vertauscht := false; for j := 1 to N - i

Mehr

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms: Webdesigner Handbuch Copyright 2006 crm-now Versionsgeschichte Version 01 2006-08-21 Release Version crm-now c/o im-netz Neue

Mehr

:: Anleitung Hosting Server 1cloud.ch ::

:: Anleitung Hosting Server 1cloud.ch :: :: one source ag :: Technopark Luzern :: D4 Platz 4 :: CH-6039 Root-Längenbold LU :: :: Fon +41 41 451 01 11 :: Fax +41 41 451 01 09 :: info@one-source.ch :: www.one-source.ch :: :: Anleitung Hosting Server

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten 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

Mehr

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung

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

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

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

Kommunikations-Management

Kommunikations-Management Tutorial: Wie importiere und exportiere ich Daten zwischen myfactory und Outlook? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Daten aus Outlook importieren Daten aus myfactory nach Outlook

Mehr

Einführung in die Java- Programmierung

Einfü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

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

VisualBasic - Variablen

VisualBasic - 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

Mehr

Datentypen: Enum, Array, Struct, Union

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

Mehr

IT-Basics 2. DI Gerhard Fließ

IT-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

Mehr

ubasic Port für STM32F4 von Uwe Becker

ubasic 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

Mehr

iphone-kontakte zu Exchange übertragen

iphone-kontakte zu Exchange übertragen iphone-kontakte zu Exchange übertragen Übertragen von iphone-kontakten in ein Exchange Postfach Zunächst muss das iphone an den Rechner, an dem es üblicherweise synchronisiert wird, angeschlossen werden.

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

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

ecall sms & fax-portal

ecall sms & fax-portal ecall sms & fax-portal Beschreibung des Imports und Exports von Adressen Dateiname Beschreibung_-_eCall_Import_und_Export_von_Adressen_2015.10.20 Version 1.1 Datum 20.10.2015 Dolphin Systems AG Informieren

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

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Zweck dieser Anleitung ist es einen kleinen Überblick über die Funktion Last Minute auf Swisshotelportal zu erhalten. Für das erstellen

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

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich 13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,

Mehr

1 Mathematische Grundlagen

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

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

Technical Note 0302 ewon

Technical Note 0302 ewon Technical Note 0302 ewon Variablen (Tags) aus einer Rockwell Automation Steuerung auslesen - 1 - Inhaltsverzeichnis 1 Allgemeines... 3 1.1 Information... 3 1.2 Hinweis... 3 2 Allen Bradley MicroLogix...

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Hex Datei mit Atmel Studio 6 erstellen

Hex Datei mit Atmel Studio 6 erstellen Hex Datei mit Atmel Studio 6 erstellen Es werden generell keine Atmel Studio Dateien ins Repository geladen, da jeder seine Dateien an anderen Orten liegen hat und weil nicht jeder das Atmel Studio 6 benutzt.

Mehr

Tevalo Handbuch v 1.1 vom 10.11.2011

Tevalo Handbuch v 1.1 vom 10.11.2011 Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche

Mehr

Einführung in die Programmierung

Einfü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

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

C++ 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 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()

Mehr

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Outlook Weiterleitungen & Abwesenheitsmeldungen Seite 1 von 6 Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Erstellt: Quelle: 3.12.09/MM \\rsiag-s3aad\install\vnc\email Weiterleitung

Mehr

2. Negative Dualzahlen darstellen

2. Negative Dualzahlen darstellen 2.1 Subtraktion von Dualzahlen 2.1.1 Direkte Subtraktion (Tafelrechnung) siehe ARCOR T0IF Nachteil dieser Methode: Diese Form der Subtraktion kann nur sehr schwer von einer Elektronik (CPU) durchgeführt

Mehr

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

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

Mehr

Methodische Grundlagen des Software Engineering - Übung 9

Methodische 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

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

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014 Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014 Martin Vollenweider Dateinamen im Internet Da wir im Internet in gemischten Hard- und Softwareumgebungen (z.b. Windows, Unix, Macintosh,

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