Seite 1 von 1

Eingangstests - Füllstandsteuerung

Verfasst: 30.05.2008 18:54
von Test_2
Hi hier also mal die Erinnerung an meinen Eingangstest heute... Es gab 3 Gruppen

1. Was ist der Unterschied zwischen logischem && und binärem &?
logisch: für boolean binär für Zahlenwerte wie int oder long int
2. Was ist Interrupt Betrieb und welche Vorteile bietet er?
Aufteilung in Vorder- und Hintergrundprogramm.Vordergrund alle nicht zeitabhängigen Aufgaben wie Interrups Alarme und Tastatureingabe im Hintergrund Polling Betrieb.
Vorteile: scheller da timer im Vordergrund weiterzählen kann und es kann auf externe Ereignisse reagiert werden mit steueralorithmus und danach rückkehr zum Vordergrundprogramm
3. Maskieren sie 0xDO so das 0x90 entsteht.
Maskierung mit &0x90
4.Rechen Sie (0xB0 ^ 0x01) | OxC0
5. Was ist Echtzeit?
Wusste keiner - der Betreuer meinte da irgendwas mit 4 Punkten die man irgendwoher kenn sollte irgendwas mit Gleichzeitigkeit usw... Vergessen ;)

Ach ja bei den anderen Gruppen war so ne wiese Frage dran:
Rechnen Sie (0xbla ^ 0xbla) && 0xbla genaue Werte weiß ich nicht mehr.Das Ergebnis is aber true wenn der Wert links und rechts größer 0 is ... hätte ich sicher falsch gemacht..

Ansonsten ein sehr angenehmer Versuch mit nettem Betreuer...Endlich sieht man mal was !!!
Ach ja einziges Problem war der Timer ohne Interruptbetrieb.. da die blöde Karte 0.1 Sekunde zum Denken brauch muss der Timer für die 30 Sekunden Schleife darauf angepasst werden.
Der Interruptbetreib is zusätlich gewesen und wird z.B. so gestartet
StartTimerWithISR(0.03, (&Name von Abfragefunktion (bei uns CheckInputs))
Viel Spaß :lol:

Re: Eingangstests - Füllstandsteuerung

Verfasst: 16.06.2008 14:06
von Bob
*dateihochlad*

Re: Eingangstests - Füllstandsteuerung

Verfasst: 27.06.2009 13:06
von thodel
hier noch 2 testate zur füllstandsteuerung mit lösung:
TestatFuellstand2009b.jpg
TestatFuellstand2009a.jpg

Re: Eingangstests - Füllstandsteuerung

Verfasst: 14.06.2010 15:49
von Dominique
Eingangstest Füllstand 2010

1.Entwerfen sie eine if Anweisung durch die man erkennt das das 7. Bit eines Eingangssignals ‘‘input‘‘ 0 ist.

If(input&0x80==0)
{…} ;

2.Was versteht man unter low aktiv?

Geräte sind in Betrieb bei 0V DC Ansteuerung

3.Berechnen sie (0xbla ^ 0xbla) & 0xbla …genaue Werte weiß ich nicht mehr.

Kam jedenfalls 0x85 raus, wenn ich mich nicht irre

4.Berechnen sie 0xAB >> 0x1

Shift right um ein Bit => 0x55

5.Drei Merkmale für Programmieraufgaben einer Prozesssteuerung nennen.

Siehe Anleitung Seite 4

6. 6 Bitoperatoren aufschreiben und benennen

Wie schon in den anderen Eingangstests genannt

Ich hoffe ich hab nichts vergessen

Re: Eingangstests - Füllstandsteuerung

Verfasst: 16.06.2010 20:53
von Robsen
Neben den Dingen die hier schon genannt wurden, kam folgendes dran:

- Versuchsaufbau skizzieren und erklären
- Eigenschaften, Vor- und Nachteile von Polling- und Interruptbetrieb wirklich ausführlich erklären - darauf gab es 9/29 Punkten und wer die wollte, sollte die beiden Betriebsmodi wirklich verstanden haben
- wie kann man Prozesse grafisch darstellen? -> Flussdiagramm/Programmablaufplan
- Welchen Betriebsmodus sollte man bei Echtzeitbasierten Betriebssystemen wie Windows nehmen? -> Interrupt
- ansonsten kamen noch echt viele Dinge dran, die so oder so ähnlich hier aber schon genannt wurden

Wenn ihr dem Betreuer imponieren wollt, solltet ihr euch vorher gedanken machen, wie man einen Abbruch mit Tastatureingabe realisiert oder das Schwingen um den Sensor S5 beim Trockenlaufen verhindert. ist aber nicht schlimm, wenn man das nicht hinkriegt. (Achtung bei Ersteren gibt es bei verschiedenen Betriebssystemen große Unterschiede, außerdem innerhalb der Betriebsmodi)

Re: Eingangstests - Füllstandsteuerung

Verfasst: 23.05.2012 08:40
von Franzium
Servus,
in Bezug auf unseren Eingangstest kann ich noch ergänzend hinzufügen, dass man auch wissen sollte, wie man einzelne Bits negiert. Wir sollten von irgendeiner Variablen X das 6.,3.,4. und 1. Bit (oder so ähnlich) negieren und dann mit 2 multiplizieren.
Negation mit bitweisen EXOR(^) und Multiplikation mit Shift(<<).

Re: Eingangstests - Füllstandsteuerung

Verfasst: 19.06.2012 07:11
von ThatGuy
Hier mal ein aktuelles Antestat. Betreuer war Herr C. Paulig
  1. Nennen Sie die Ihnen bekannten bitweise arbeitenden Operatoren in C. (3P)
    UND & , ODER | , EXOR ^ , NEG ~ , << bzw. >> Links- bzw. Rechtsverschiebung
  2. Wandeln Sie die Zahl 85(hex) in die gleichwertige Dual- und Dezimalzahl um. (2P)
    0x85 = 1000 0101b = 8*16+5=133
  3. Erklären Sie kurz den Polling-Betrieb. (3P)
    Zyklisches Abfragen eines Zustandes durch das Programm in regelmäßigen Intervallen, wobei zwischen dein Abfragezeitpunkten nicht auf externe Ereignisse reagiert werden kann.
  4. Worin besteht beim Interrupt-Betrieb der Unterschied zum Polling-Betrieb? (2P)
    Im Interrupt-Betrieb teilt sich das Programm in einen im Vordergrund laufenden Programmteil, welcher sämtliche nicht zeitabhängigen Aufgaben wie z.B. Benutzereingaben bearbeitet, und die im Hintergrund laufende Interrupt-Service-Routine (ISR), welche - durch einen Interrupt ausgelöst - unmittelbar auf externe Ereignisse reagieren kann und in diesem Fall nach zeitweiliger Unterbrechung des Hauptprogramms mit erhöhter Priorität ausgeführt wird.
  5. Geben Sie eine Bitmaske in hexadezimaler Schreibweise an, welche bei den Bits 3, 4 und 7 den Wert 1 aufweist und bei allen anderen Bits den Wert 0. (2P)
    1001 1000b = 0x98
  6. Wozu dient die Funktion StartTimerWithISR(double seconds, void (*handler)(int) ) der ART1.h? (3P)
    Die Funktion initialisiert einmalig den Timer mit dem vorgegebenen Zeitintervall <seconds> und verknüpft den Timer-Interrupt mit dem Aufruf der in der Funktion handler(int) referenzierten Interrupt-Service-Routine, die bei jedem Timer-Ereignis ausgeführt wird. Es wird dabei lediglich ein Pointer auf diese Funktion übergeben, sodass der entsprechende Interruptvektor auf die Startadresse der jeweiligen ISR-Routine zeigen kann.
  7. Geben Sie einen C-Ausdruck an, der die Bits 2,5 und 6 der Integer-Variable X negiert und die restlichen Bits beibehält, dann das Ergebnis mit vier Multipliziert und wieder in X ausgibt. (6P)

    Code: Alles auswählen

    long int X;
    X = X ^ 0x64;  //EXOR-Verknüpfung mit 0110 0100b zur Negation der jeweiligen Stellen
    X = X << 0x02; //Linksverschieben um zwei Stellen entspricht Multiplikation mit 4
    return X;
    
Hinweis: Bit 0 ist das niederwertigste Bit.

Re: Eingangstests - Füllstandsteuerung

Verfasst: 12.05.2013 11:37
von Master
Hier mal eine kleine Zusammenfassung der Eingangstest-relevanten Wissensfragen, aufgrund der hier reingestellten Testate erstellt.

Gruß

EDIT
Update: Kleine Hilfe zur Aufgabenstellung beigefügt.
Update 2: Echtzeitfähigkeit ergänzt.

Re: Eingangstests - Füllstandsteuerung

Verfasst: 03.06.2014 15:10
von Hanso
Also wir hatten diesmal etwas andere Aufgaben:
1. Versuchstand skizzieren ( so wie auch in der Anleitung gegeben )
2. Wieso ist der Sensor S5 so wichtig? (verhindert Trockenlaufen und damit Beschädigung der Pumpe )
3. irgendwas mit welche sensorwerte entsprechen nicht dem normalzustand der anlage oder sowas - weiß ich nicht mehr so genau
4. Einen Automatengraphen (vorher angucken was das ist!!!) von einem Fahrstuhl zeichnen. Fahrstuhl hat zwei Zustände: Fahrend und stehend
Dann mit welchen Eingangs- und Ausganssignalwerten er die Zustände wechselt bzw gleich bleibt.
Eingangssignale: Knopf hoch / Knopf runter / Tür verriegelt
Ausganssignale: fahre hoch / fahre runter
Und noch ob es ein Moore- oder Mealyautomat ist. ( Mealy! )

Re: Eingangstests - Füllstandsteuerung

Verfasst: 05.06.2014 21:15
von Tastingo
Hatten heute ein sehr ähnlichen Test von den von Hanso:

Ersten beiden Aufgaben identisch.

Aufgabe 3:
Man sollte vom Versuchsstand die unmöglichen Eingangssignalkombinationen nennen und dann den Fehler beschreiben und sagen was mit der pumpe und dem Stellventil geschehen soll.

s1|s2|s5 : --> 0|0|0 : z.b. zu wenig Wasser im Kreislauf
--> 1|0|1: z.b. Sensorschaden...

Re: Eingangstests - Füllstandsteuerung

Verfasst: 05.06.2014 21:22
von Tastingo
oweia... da fehlt die hälfte!

--> 1|0|0 : auch Sensorschaden.
hier muss man etwas erfinderisch sein...

Aufgabe 4:
Diese blöde "fahrende Insel" von Stephan Raab als Automatengraph darstellen. Gab 2 Zustände - 4 Eingabe Werte und zwei ausgabewerte. Wichtig ist ( auch wenn es nicht in der Aufgabe steht! ), dass man auch all die Fälle berücksichtigt, die eig. nicht vorkommen dürfen. Es gab zwei sensoren, die gesagt haben ob die Insel rechts bzw. links angekommen ist. Was passiert wenn jemand rechts beim "besteigen" der Insel volle kanne vor den Sensor tritt, also ausgibt, dass die Insel rechts ist. Raab mit seinem gast anch links düssst und der der linke sensor ebenfalls kontakt meldet... muss man sich mal gedanken drüber machen... also eig. nicht so schwer.

Re: Eingangstests - Füllstandsteuerung

Verfasst: 17.06.2014 15:31
von FlipFlop-Springer
Hallo.
Wir hatten gestern ebenfalls den Eingangstest wie von tastingo beschrieben. 1:1
zu 4. Mit der schönen Insel von Stefan Raab:
gegeben:
Eingangssignale: Anschlag Links, Anschlag Rechts, Joystick fahren nach links, Joystick fahren nach rechts
Ausgangssignale: nach links fahren, nach rechts fahren
Zustände: fahren, stehen

dazu den Zustandsgraphen zeichnen, mit Beschriftung in etwa so: XXXX/XX für alle möglich auftretenden Werte

Betreuer: Axel ....
Sehr netter Kollege!

Re: Eingangstests - Füllstandsteuerung

Verfasst: 02.06.2015 13:59
von ohmer
Eingangstest 20152>
1. Merkmale der Programmierung der Prozesssteuerung (s. Skript)
2. Operatoren für binäre Operationen (~,&,|,^, <<,>>)
3. Datentypen für binäre Operatoren (int, long, short, char, signed, unsigned)
4. Bitmaske entwerfen (Hexadezimal und Binär 01001010 0x4A [ob die Zahlenwerte stimmen weiß ich nicht mehr])
5. Logischen Ausdruck entwerfen um Bit auszulesen
(x_bit&0xbla == 0xbla)
6. keine Ahnung mehr, war aber auch teil der anderen Eingangstests
7. Unterschiede Polling und Interruptbetrieb (s. alten Vorbereitungsübersichten hier)

Der Versuch war ziemlich gut, Praktikumsbetreuer war sehr nett :D

Re: Eingangstests - Füllstandsteuerung

Verfasst: 06.06.2018 18:45
von DerBaumschrat
So ich fürchte die hier reingestellten Eingangstests waren zumindest für unseren Eingagnstest überhaupt nicht mehr aktuell.
Es ging hauptsächlich um generelle C++ Fragen und hatte mit dem Versuch an sich überhaupt nichts zu tun. Es gab zwei unterschiedliche Varianten. Die Fragen von meiner Version waren:
(ungefähr, nicht im Wortlaut und natürlich auch kein Gewähr auf die Lösungen...)

1. Nennen sie den Unterschied zwischen class und struct
struct per default alles als public, bei class alles als private deklariert
2. Zeichnen eines UML-Diagrammes mit Vererbung und auch mit Aggregation und Komposition (siehe Vorlesung 3), zB sollte jedes Auto genau einen Motor haben, darf aber maximal ein Radio haben
3. Welchen Namespace hat die STL und wozu dienen Namespaces?
std, hierarchische Namensräume -> genau Namesdefinition mit Namensoperator und Namen
4. Was ist ein Iterator und wozu dient er?
abstraktes Objekt, das auf Elemnt einer Liste zeigt
dient zum Durchlaufen der Liste
5. Zu gegebener Liste: "std::list<int>abcd" soll die Zahl 42 hinten zugefügt und wieder gelöscht werden
abcd.puch_back(42);
abcd.pop_back();
6. Zu gegebenem Code Fehler finden und beschreiben, bekkomme es aber leider nicht mehr zusammen:(

Re: Eingangstests - Füllstandsteuerung

Verfasst: 07.06.2018 09:34
von Zeckurbo
6. Wo macht der Compiler Probleme
int funkt (int a, int b);
bool funkt (int a, int b);
float funkt (float a, float b);

Re: Eingangstests - Füllstandsteuerung

Verfasst: 13.07.2018 12:48
von Kepler186f
Es gab bei unserer Gruppe zwei verschiedene Eingangstests.
Der erste enspricht dem Test von DerBaumschrat.
Beim zweiten Test gab es folgende Aufgaben:

Was ist ein Iterator und was macht er?
Zeiger oder Zeigerähnliches Objekt, das auf Containerelemente zugreifen kann.

Was ist ein Kopierkonstruktor? Muss man diesen immer definieren und warum?
Wiki: "Ein Kopierkonstruktor, [...] ist [...] ein spezieller Konstruktor, der eine Referenz auf ein Objekt desselben Typs als Parameter entgegennimmt und die Aufgabe hat, eine Kopie des Objektes zu erstellen."
Nein, warum? (ich glaube, weil der Compiler bereits das zu kopierende Objekt schon erstellt hat. Ich bin mir da aber nicht sicher)

Schreibe eine Schleife, die alle Inhalte (Datentyp int) einer Liste ausgeben.
z.B. for-Schleife

Kann der Compiler zwischen zwei gleichnamigen Methoden im gleichen Namespace unterscheiden? (da bin ich mir bei der Aufgabenstellung nicht mehr ganz sicher)
Nur, wenn die Eingabeparameter verschieden sind.

Programm in C++ gegeben. Man sollte sagen, was ausgegeben wird (a). Man sollte zusätzlich den Code verändern, dass zwei Zeilen Code weggelassen werden können (b). In dem zu ersetzenden Abschnitt des Codes wurde var_a=a gesetzt und var_b=b (a, b sind int).
(a) Die Werte, mit denen das Objekt aufgerufen werden, werden in diesem Eingangstest ausgegeben und nicht die Eingabeparameter der Methode. Die Eingabeparameter der Methode sind nur innerhalb der Methode vorhanden.
(b) analog zu FluidsControl.cpp "FluidsControl::FluidsControl() : fluids_if(true, true)" muss man
[...] :var_(a)var(b) schreiben

UML-Klassendiagramm zu Code zeichnen.
Achtung: protected (#), public (+), und private (-) beachten
Variablen, Methoden mit Datentyp --> siehe Vl


Bei Verbesserungen einfach Bescheid geben :)

Re: Eingangstests - Füllstandsteuerung

Verfasst: 13.07.2018 15:33
von anelicika
Es scheint so zu sein dass das Versuch Füllstandsteuerung und Türsteuerung zusammen bewertet sind. Ich glaube es gibt NUR diese 2 Eingangstest Varianten für beide Gruppen. Ich z.B. hatte den Versuch Türsteuerung und hab den gleichen Eingangstest, der bei Kepler186f erwischt wurde, bekommen.

Ich weiß nicht ob das noch nächstes Jahr aktuell ist, aber es ist empfehlenswert einfach mal in beide rein zu schauen.

Re: Eingangstests - Füllstandsteuerung

Verfasst: 02.09.2019 12:33
von Sinclair
hey!

die haben ab diesem Jahr die Antestate verändert. Die sind inzwischen sehr ähnlich zu dem c versuch im 3. Semester. Außerdem könnt ihr den code nicht mehr verwenden, da es jetzt c++ und nicht mehr in c Programmiert werden soll.

zur Vorbereitung eignet sich am besten das Skript durchzuarbeiten und eigene Beispiele anwenden.
trotzdem ist der Eingangstest nicht gerade einfach. ist aber angelehnt an den 3. versuch aus dem 3. Semester.

ihr schafft das!