techinf-pblk-inf-abitur2019-ht-s
Dieses Dokument ist Teil der Anfrage „Abiturklausuren Berufskolleg ITA 2018-2020“
Ministerium für Schule und Bildung Haupttermin 2019 des Landes Nordrhein-Westfalen PbLK Technische Informatik-Inf BERUFSKOLLEG Berufliches Gymnasium Zentrale Abiturprüfung 2019 Haupttermin 30.04.2019 Profil bildendes Leistungskursfach Technische Informatik Fachbereich Informatik Unterlagen für die Schülerinnen und Schüler Nur für den Dienstgebrauch! Seite 1 von 12
Ministerium für Schule und Bildung Haupttermin 2019 des Landes Nordrhein-Westfalen PbLK Technische Informatik-Inf Aufgabenstellung Beschreibung der Ausgangssituation Ein Konzern der chemischen Industrie vertreibt unter anderem Samen und Düngemittel. Die Produktionsmengen im Bereich „Alte Gemüsesorten“ sind stark angestiegen. Deshalb muss dort die IT-Infrastruktur erweitert und modernisiert werden. Die schulische Berufsausbildung findet in einer konzerneigenen Berufsschule statt, für die ein neues Gebäude in Planung ist, das sich im Hinblick auf Schule 4.0 auf dem neuesten Stand der Digitalisierung befinden soll. Aufgabe 1: Beschreibung der Ausgangssituation Die Temperatur im Serverraum der Schule soll mit einem digitalen Temperatursensor DS18S20 in Verbindung mit einem Mikrocontroller gemessen werden. Das Ergebnis der Messung soll auf einer vierstelligen 7-Segment-Anzeige angezeigt werden. Diese wird durch einen 4-DIGIT LED-Treiber mit I²C-Bus Schnittstelle vom Typ SAA1064 angesteuert. Die Zugriffsfunktionen für die Kommunikation über den I2C-Bus stehen in der Bibliothek i2c_api.h (Abbildung 1.5) zur Verfügung. Abbildung 1.1: Technologieschema - Temperaturmessung im Serverraum Nur für den Dienstgebrauch! Seite 2 von 12
Ministerium für Schule und Bildung Haupttermin 2019 des Landes Nordrhein-Westfalen PbLK Technische Informatik-Inf Aufgabenstellung Punkte 1.1 Zur Ausgabe von Ziffern und Zeichen auf der 7-Segment-Anzeige wird 12 eine Übersetzungstabelle benötigt. Name des Prüflings: _______________________________________ Ziffer/Zeichen Segmente (ein=1, aus=0) HEX-Wert DP g f e d c b a 0 0 0 1 1 1 1 1 1 0x3F 1 2 3 4 5 6 7 8 9 Dezimalpunkt Minuszeichen Leerzeichen Ergänzen Sie in der vorgegebenen Übersetzungstabelle, welche Segmente ein- bzw. ausgeschaltet werden müssen, um die vorgegebenen Ziffern und Zeichen auf einer 7-Segment-Anzeige darzustellen. Konvertieren Sie die binäre Darstellung der Segmente in einen hexadezimalen Wert und tragen Sie diesen Wert in die Übersetzungs- tabelle ein. Hinweis: Die Segmentanordnung und die Zuordnung der Bits in den Registern des SAA1064 kann dem Material zu Aufgabe 1 entnommen werden. 1.2 Entwickeln Sie die Funktion void WriteData(byte sub_adr, byte 8 data), die über den I²C-Bus ein Byte an die angegebene Sub-Adresse im SAA1064 schreibt. Hinweis: Der SAA1064 hat die Slave-Adresse 0x70. Die Auswertung, ob der Slave ein Acknowledge gesendet hat, ist nicht notwendig. Nur für den Dienstgebrauch! Seite 3 von 12
Ministerium für Schule und Bildung Haupttermin 2019 des Landes Nordrhein-Westfalen PbLK Technische Informatik-Inf Aufgabenstellung Punkte 1.3 Zur Initialisierung des SAA1064 steht die folgende Funktion zur Verfügung: 10 void saa1064_init(void) { WriteData(0x00, 0x7F); delay_ms(1000); WriteData(0x00, 0x71); } Ermitteln Sie, in welcher Betriebsart (static mode oder dynamic mode) der SAA1064 läuft und mit welchem Ausgangsstrom (output current) die Segmente der Anzeige angesteuert werden. Analysieren Sie die Funktion, indem Sie angeben, was auf der 7-Segment-Anzeige dargestellt wird. 1.4 Der angeschlossene Sensor liefert Werte im Bereich von -50 °C bis +50 °C 20 mit einer Auflösung von 0,5 °C. Die aktuelle Temperatur wird der Funktion in der Integer-Variablen iTemp10 übergeben. Der Wert der Temperatur wird dabei mit 10 multipliziert, um die Verwendung von Fließkommazahlen zu vermeiden. iTemp10 Anzeige Dig1 Dig2 Dig3 Dig4 -500 - 5 0. 0 -15 - 1. 5 -5 - 0. 5 0 0. 0 5 0. 5 15 1. 5 500 5 0. 0 Abbildung 1.2: Zusammenhang Variablenwert und Anzeigewert Entwickeln Sie die Funktion void DisplayTemp(int iTemp10), welche die aktuelle Temperatur einschließlich Vorzeichen und Dezimalpunkt rechtsbündig auf der 7-Segment-Anzeige ausgibt. Die Funktion byte ZifferTo7Seg(byte Ziffer) zur Umwandlung der Ziffern in die 7-Segment-Darstellung kann als bekannt vorausgesetzt und verwendet werden. Hinweis: Bei negativen Temperaturen soll auf Digit 1 ein Minuszeichen angezeigt werden. Führende Nullen sollen bei der Ausgabe durch Leerzeichen ersetzt werden, es sei denn, die Temperatur liegt zwischen -1 °C und 1 °C (siehe Abbildung 1.2). Nur für den Dienstgebrauch! Seite 4 von 12
Ministerium für Schule und Bildung Haupttermin 2019 des Landes Nordrhein-Westfalen PbLK Technische Informatik-Inf Material zu Aufgabe 1: S start condition A1, A0 programmable address bits P stop condition SC, SB, SA subaddress bits A slave acknowledge C0 to C6 control bits X don’t care Subaddressing: The bits SC, SB and SA form a pointer and determine to which register the data byte following the instruction byte will be written. All other bytes will then be stored in the registers with consecutive subaddresses. This feature is called Auto-Increment (AI) of the subaddress and enables a quick initialization by the master. Abbildung 1.3: SAA1064 I²C-Bus Protocol Nur für den Dienstgebrauch! Seite 5 von 12
Ministerium für Schule und Bildung Haupttermin 2019 des Landes Nordrhein-Westfalen PbLK Technische Informatik-Inf Segment DP g f e d c b a digit X Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Abbildung 1.4: Segmentanordnung und Zuordnung der Bits in den Registern Zugriffsfunktionen zur Kommunikation über den I2C-Bus Die Bibliothek i2c_api.h beinhaltet die in der Abbildung 1.5 angegebenen Funktionen. Diese Funktionen müssen per #include Anweisung in den Code eingebunden werden und sind unabhängig vom jeweiligen Unterrichtssystem zu verwenden. Funktionsname Beschreibung i2c_start() initialisiert den Bus, Startbedingung i2c_stop() deaktiviert den Bus, Stoppbedingung überträgt ein Byte (value) an den I²C-Client und liefert eine 0 int i2c_write( unsigned zurück, wenn das Byte vom Client empfangen wurde char value) (Acknowledge); es wird eine 1 zurückgeliefert, wenn das Byte vom Client nicht empfangen wurde (Not-Acknowledge). unsigned char i2c_read() empfängt ein Byte vom I²C-Client und liefert dieses zurück. wait_10ms( unsigned int wartet für value * 10 Millisekunden value) m_ack() sendet das Master-Acknowledge m_n_ack() sendet das Master-Not-Acknowledge Abbildung 1.5: Bibliotheksfunktionen zur Ansteuerung des I²C-Bus Nur für den Dienstgebrauch! Seite 6 von 12
Ministerium für Schule und Bildung Haupttermin 2019 des Landes Nordrhein-Westfalen PbLK Technische Informatik-Inf Aufgabe 2: Beschreibung der Ausgangssituation Das neue Schulgebäude soll ein viergeschossiger Bau werden. Im Erdgeschoss befindet sich der Serverraum mit folgender Ausstattung: - 1 Anmeldeserver (Domänencontroller mit DNS- und DHCP-Diensten), - 1 Fileserver, - 1 Proxyserver, - 1 Lizenzserver, - 1 Backupserver, - 1 Router zum Internet. Im ersten, zweiten und dritten Obergeschoss sollen jeweils zwei Computerräume mit folgender Ausstattung eingerichtet werden: - 25 Schülerarbeitsplätze, 1 Lehrerarbeitsplatz, - 1 digitales Whiteboard mit LAN-Anschluss, - 2 Netzwerkdrucker, - 5 weitere Netzwerkanschlüsse mit Zugang zum Schulnetz. Jedem Computerraum soll ein eigenes Subnetz zugewiesen werden. Aufgabenstellung Punkte 2.1 Entwerfen Sie für das Schulnetz eine geeignete Struktur für ein 22 modernes, zukunftsorientiertes Netzwerk. Gleichartige Geräte (siehe Abbildung 2.2) können gruppiert dargestellt werden. Erläutern Sie Ihren Entwurf im Hinblick auf die ausgewählten Netzwerkgeräte, die Übertragungsmedien und die Anbindung an das Internet. 2.2 Entwickeln Sie ein IPv4-Adresskonzept für den Serverraum und die 20 Computerräume. Berücksichtigen Sie folgende Rahmenbedingungen: - Zur besseren Übersicht soll aus den IP-Adressen der Geräte sowohl die Etage als auch der jeweilige Computerraum ableitbar sein. - Unabhängig vom jeweiligen Computerraum sollen Lehrerrechner, Schülerarbeitsplätze, Drucker und sonstige Anschlüsse immer dem gleichen Adressvergabeschema folgen. Für spätere Erweiterungen ist ein nichtverwendetes Subnetz zu reservieren. Der hierzu vorgesehene Adressbereich ist entsprechend zu kennzeichnen. Dokumentieren Sie ihre Ergebnisse mit allen relevanten Informationen. Für die IP-Adressen in den einzelnen Subnetzen benutzen Sie eine Tabelle gemäß Abbildung 2.1, wobei gleichartige Netzwerkgeräte zusammengefasst werden können. Nur für den Dienstgebrauch! Seite 7 von 12
Ministerium für Schule und Bildung Haupttermin 2019 des Landes Nordrhein-Westfalen PbLK Technische Informatik-Inf Etage Netzwerk- und Subnetz-ID IP-Adresse Broadcastadresse komponente Raum Abbildung 2.1: IP-Adresskonzept 2.3 Allen Geräten mit Ausnahme der Server soll die jeweilige 8 Netzwerkkonfiguration automatisch zugewiesen werden. Beschreiben Sie den Dienst und den Ablauf der Kommunikation zwischen Client und Server, die hierzu erforderlich sind. Obwohl der Server und der Dienst korrekt konfiguriert sind, erhalten die Clients eine falsche IP-Adresse aus dem Netz 169.254.0.0. Stellen Sie eine mögliche Ursache hierfür dar, wenn davon auszugehen ist, dass der Dienst läuft und das Netz physikalisch funktioniert, und beschreiben Sie eine Lösungsmöglichkeit. Material zu Aufgabe 2 Abbildung 2.2: Symbole für die Erstellung des Netzwerkplans Nur für den Dienstgebrauch! Seite 8 von 12
Ministerium für Schule und Bildung Haupttermin 2019 des Landes Nordrhein-Westfalen PbLK Technische Informatik-Inf Aufgabe 3: Beschreibung der Ausgangssituation Der Konzern besteht aus zwei Teilbereichen. Die Daten werden in zwei Datenbanken vorgehalten. Der Unternehmensbereich Vertrieb nutzt eine veraltete Datenbank, die dringend überarbeitet werden muss. Für den Unternehmensbereich Produktion, wurde die Datenbank vor geraumer Zeit als relationale Datenbank mit SQL-Schnittstelle von einem externen IT-Unternehmen erstellt und funktioniert seitdem problemlos. Hier sollen lediglich Wartungsaufgaben durchgeführt werden. Aufgabenstellung Punkte 3.1 In Abbildung 3.1 finden Sie einen Ausschnitt aus der aktuellen 12 Vertriebsdatenbank. Beim Schreiben der Rechnung wird von jedem Produkt ein kleines Produktbild mit ausgedruckt. Erläutern Sie, welche SQL-konformen Datentypen sich zur Speicherung der jeweiligen Attribute eignen. 3.2 Die Tabelle „BestellungAlt“ (siehe Abbildung 3.1) befindet sich nicht in der 8 optimalen Form. Entwerfen Sie unter Einhaltung der Normalisierungsregeln schrittweise eine optimierte Tabellenstruktur. 3.3 Der Konzern möchte ein neues Datenbankmodell entwickeln, das an die 15 neuen Erfordernisse angepasst ist. Entwickeln Sie ein redundanzfreies Entity-Relationship-Modell (ERM), das den folgenden Anforderungen genügt. Achten Sie dabei auf die Angabe von Primärschlüsseln, Attributen und Kardinalitäten und eventuell vorhandene Generalisierungen oder Spezialisierungen. - Zwei Arten von Kundschaft werden unterschieden: Privatkundschaft und Firmen. Privatkundschaft hat einen Mehrwertsteuersatz („MwSt.“), wohingegen Firmen einen festen Rabatt erhalten. - Die Kundschaft hat eine eindeutige Kundennummer, einen Namen, sowie Straße, Hausnummer, Postleitzahl (PLZ) und Ort. - Jede Bestellung wird von genau einem Kunden aufgegeben und hat eine eindeutige Bestellnummer und ein Datum. - Jede Bestellung wird von einer oder mehreren angestellten Personen eingepackt, die eine eindeutige ID und eine Arbeitszeit haben. - Jede Bestellung besteht aus einem oder mehreren Produkten, die jeweils eine eindeutige ID besitzen. Nur für den Dienstgebrauch! Seite 9 von 12
Ministerium für Schule und Bildung Haupttermin 2019 des Landes Nordrhein-Westfalen PbLK Technische Informatik-Inf 3.4 Die Datenbank der Produktionsabteilung finden Sie in Form eines 10 Tabellenschemas in den Abbildungen 3.2, 3.3 und 3.4. Damit auch Nichtinformatiker problemlos mit der Datenbank arbeiten können, sollen Sie diverse Eingabemasken erstellen, die auf Knopfdruck Datenbankabfragen ausführen. Entwerfen Sie jeweils genau eine SQL-Anweisung für die folgenden Abfragen: - Für welche Produkte ist Dünger auf Basis von Stickstoff nötig? Geben Sie die Produktnamen aus und benennen Sie die Ergebnisspalte in „Stickstoffprodukte“ um. - Listen Sie alle Aufzuchtarten auf und ergänzen Sie - falls vorhanden - den nötigen Dünger. Geben Sie AufzuchtID, die Wassermenge, den Lieblingsstandort und ggf. die Basis des Düngers aus. - Geben Sie ausschließlich den Namen des schwersten Produktes ohne die Masse aus. 3.5 Im Laufe Ihrer Tätigkeit wird es notwendig, Änderungen an den 5 Produktionsdaten (siehe Abbildungen 3.2, 3.3 und 3.4) vorzunehmen. Erstellen Sie jeweils genau eine SQL-Anweisung für die folgenden Aufträge: - Fügen Sie den neuen Dünger mit der Basis „Kompost“ hinzu, der gewässerverträglich ist. Setzen Sie dabei die DüngerID manuell auf eine Nummer größer als die bisher größte ID. - Der Einsatz von Stickstoff wurde verboten. Löschen Sie aus der Tabelle Düngemittel alle stickstoffbasierten Dünger. Nur für den Dienstgebrauch! Seite 10 von 12