EPR Klausur Stoff
EPR Klausur Stoff
EPR Klausur Stoff
Set of flashcards Details
Flashcards | 60 |
---|---|
Language | Deutsch |
Category | Computer Science |
Level | University |
Created / Updated | 20.07.2020 / 25.05.2023 |
Weblink |
https://card2brain.ch/box/20200720_epr_klausur_stoff
|
Embed |
<iframe src="https://card2brain.ch/box/20200720_epr_klausur_stoff/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Was sind Schlüsselwörter in der Programmiersprache?
VAR, END_VAR, IF, THEN, END_IF = Schlüsselwörter
Was ist ein Compiler und was macht er?
Compiler = Übersetzer des Quell-Codes in einer Binärprogramm
Wie erstellt man Kommentare und für was sind die gut?
// Einzeilige Kommentare
(*....*) Mehrzeillige Kommentare
Um grössere Programme besser zu erklären
Was ist eine IDE?
Die integrierte Entwicklungsumgebung Integrated Development Environ-ment
Wie funktioniert die Übersetzung des Quellcodes in Maschinencode. Erklären Sie stichwort-artig.
-Übersetzung der Präprozessor-Anweisungen
- Compilieren
- Linken
- Assemblieren
Warum ist es wichtig, Konstanten, Variablen, Funktionen – generell Quellcode Anweisungen – mit sinnvollen Namen zu versehen?
Erhöht die Lesbarkeit des Codes!
Zählen Sie vier verschiedene Datentypen auf.
Boolean
Integer (SINT, USINT, DINT, UDINT, LINT, ULINT um in CoDeSys zu sprechen)
Real (Float)
String (bestehend aus Char)
Was ist speziell am Datentyp String. Erklären Sie diesen Datentyp anhand eines Beispiels.
besteht aus einer Ansammlung (array) von Zeichen «Hello world!»
Mit welcher Funktion beginnt ein Programm? Erläutern Sie kurz.
Ein Programm startet in der Regel im main(). Dies ist die sogenannte Einsprungs-Adresse,
Deklarieren Sie eine 16Bit Integer Variable und was geschieht im Computersystem dabei
a.)
VAR
zahlInt16Bit: INT;
END_VAR
b.)
Zuteilung eines Speicherbereichs, Adresse im RAM
Zählen Sie die gelernten Operatoren auf.
+, -, *, /, MOD
Beispiel a:=a+1;
Welche Integer kennst du?
INT 16 Bit: -32 768 bis 32 767, bei UINT 0 bis 65 535
SINT short Int: 8 Bit -128 bis +127 bei USINT 0-255
DINT 32 Bit -2^31 bis 2^31 .1
LINT 64 Bit
Welche Kommazahlenvariablen kennst du?
REAL und LREAL, das Komma wird als Punkt dargestellt 3.45
Erstellen Sie eine Variable und initialisieren Sie diese mit eine Zahl.
VAR
zahl : INT := 3;
END_VAR
Nenne mir die Codesys Standard Regeln zur Namensgebung
-Grosskleinschreibung ist für Codesys gleich: VAR1 = var1
-Variablen mit mehreren hintereinanderfolgenden Unterstrichen werden nicht erlaubt.
-die Namenslänge ist unlimitiert.
-der Name darf kein Schlüsselwort sein
Was sind Inkrement und Dekrement Operationen?
Inkrement = erhöhen = a := a + 1;
Dekrement = verringern = a := a - 1;
Welche Rechenoperationen kennen Sie?
+, -, *, /, und MOD
MOD ist der Rest aus einer Division
a := c MOD b; // 5 / 2 ist 2 Rest 1, a ist 1
Werden Rechenoberationen auf Int angewendent, werden Nachkommateile weggeschnitten
Wie funktioniert die UND Bitmanipulation?
Verknüpfung wird jede Bitstelle AND verknüpft
per AND Verknüpfung wird binär ausgerechnet. 1 und 1 = 1, deswegen ist 10 AND 7 = 2
1010 AND 0111 = 0010
Wie funktioniert die ODER Bitmanipulation?
Verknüpfung wird jede Bitstelle OR verknüpft
per OR Verknüpfung wird binär ausgerechnet. 1 oder 0 = 1, deswegen ist 10 OR 6 = 14
1010 OR 0110 = 1110
Wie funktioniert die exklusiv ODER Bitmanipulation?
XOR Verknüpfung wird 1 wenn der eine oder andere Bitwert 1 hat.
1010 XOR 0110 = 1100
Wie funktioniert die Negation einer Bitmanipulation?
bei Negation NOT wird jedes Bit umgekehrt
00001010 = 11110101
Was sind Bit-Verschiebungen?
Bits werden nach rechts oder links verschoben, Randbits fallen raus
SHL() und SHR()
b=5 //0101
c := SHL(b,1); // c ist 10 - 1010
d := SHR(b,1); // d ist 2 - 0010
Wie funktioniert die Typumwandlung?
i : INT := 5;
f : REAL := 2.345;
i := TO_INT(f); // i ist 2 von 2.345
f := TO_REAL(i); // f ist 2.0, da i vorher zu 2 wurde
Was verstehst du unter Verzweigungen?
Das Programmverhalten entsprechend der Bedingungen zu verändern
Wie baust du eine IF...THEN...ELSE Verzweigung auf?
IF condition1(wird als true gesehen, ohne Angabe) THEN number := 1;
ELSE (hier wird es als FALSE gesehen) number :=2;
END_IF
Welche logische Operationen kennst du in Verbindung mit IF?
NOT(), AND, OR, XOR
IF (switch1 OR switch2) and switch3 THEN
Wie erstellst du eine Byte Variable mit 8 Schalter und wie hantierst du damit?
VAR
switch1_8 : Byte;
END_VAR
switch1_8 := switch1_8 AND 2#11111011 // switch6 wird ausgeschaltet
switch1_8 := switch1_8 OR 2#00000010 // switch7 wird eingeschaltet
switch1_8 := switch1_8 XOR 2#11110000 // switches 1-4 werden inventiert
switch1_8 := NOT(switch1_8); // alle switches werden inventiert
Wie baut man eine CASE...OF Funktion auf?
CASE zustand OF
0:
output := 2#00000000;
zustand := 1;
1:
output := 2#00000011;
zustand := 2;
ELSE
zustand := 0;
END_CASE
Wie baust du eine WHILE Schleife auf?
i := 1;
WHILE i <= 5 DO
i := i + 1;
END_WHILE
Wie baust du eine FOR Schleife?
FOR i:=1 to 5 DO
END_FOR
FOR i:= 10 TO 0 BY -2 DO
END_FOR
Wie baust du eine REPEAT Schleife ein?
WHILE und FOR Kopfgesteuert, REPEAT ist Fussgesteuert, Abbruchbedingung nach Programmdurchlauf.
i := 1;
REPEAT
i := i + 1;
UNTIL i > 5
END_REPEAT
Was macht das Schlüsselwort EXIT in einer Schleife?
Jederzeit beendbar mit EXIT
REPEAT
IF b THEN
EXIT;
END_IF
i := i + 1;
UNTIL i > 5
END_REPEAT
Was verstehst du unter den Schlüsselwort CONTINUE?
ermöglich direkter Sprung zur Abbruchbedingung, ohne Schleife zu verlassen.
Was sind Felder (arrays) und für was brauchst du die?
wenn eine Vielzahl gleicher Werte für eine Aktion benötigt werden, eine Deklaration ist ausreichend
VAR
num : ARRAY [1..1000] OF REAL;
END_VAR
Wie baust du ein ARRAY in einer FOR Schleife?
average := 0;
FOR i:=1 TO 1000 DO
average := average + num[i];
END_FOR
Wie initialisierst du die Werte in einem Feld ARRAY?
VAR
raumtemp : ARRAY [1..5] OF REAL := [21.0,20.9, 20.2, 21.3, 20.9]
END_VAR
Was sind Vor- und Nachteile bei der Verwendung von Funktionen?
Vorteile: Probleme werden zu Teilproblemen, werden getrennt von Hauptprogrammen abgelegt
Nachteile: Kann schnell unübersichtlich werden,
Aus welchen Teilen besteht eine Funktion?
Bezeichner Namen, Bezeichner Parameter, Datentyp der Parameter, Datentyp des Rückgabewertes
Wie baust du eine Funktion?
FUNCTION addiere : INT
VAR_INPUT
summand1, summand2 : INT;
END_VAR
addiere := summand1 + summand2;
Normalprogramm:
summe := addiere(3,7);
Was ist die Programm Performance?
Schnelligkeit