{"beispielaufgaben":[{"artefakt_id":"artefakt.berechnung","aufgabe":[{"text":"Sie arbeiten im IT-Support eines mittelständischen Softwarehauses. Der First-Level-Support protokolliert alle eingehenden Störungsmeldungen und ordnet jede Meldung einer Fehlerkategorie zu, um daraus Schulungsbedarf abzuleiten. In der vergangenen Kalenderwoche wurden insgesamt 240 Tickets erfasst. Davon entfielen 84 Tickets auf die Kategorie Hardware, 126 Tickets auf die Kategorie Software und 30 Tickets auf die Kategorie Netzwerk. Die Teamleitung möchte die Verteilung der Kategorien in Form von prozentualen Anteilen an der Gesamtzahl darstellen. Berechnen Sie für jede der drei Fehlerkategorien den relativen Anteil an allen erfassten Tickets in Prozent. Multiplizieren Sie den jeweiligen Anteil dazu mit dem Faktor 100 und geben Sie das Ergebnis mit einer Nachkommastelle an.","typ":"absatz"}],"beispiel_id":"bsp-relative-haeufigkeiten-und-prozentanteile-berechnen-berechnung-01","freigabeart":"maschinell","loesung":[{"text":"Erwartet werden die drei prozentualen Anteile bezogen auf die 240 erfassten Tickets (je 2 Punkte).\nHardware: (84 / 240) * 100 = 35,0 %\nSoftware: (126 / 240) * 100 = 52,5 %\nNetzwerk: (30 / 240) * 100 = 12,5 %\nRechenweg und korrekter Prozentwert je Kategorie ergeben die volle Punktzahl; rechnerisch gleichwertige Wege (z. B. Dreisatz) sind anzuerkennen.","typ":"absatz"}],"operator_id":"operator.berechnen","pruefungszuordnung":{"berufe":["FIDP"],"teil":"AP2"},"punkte":6,"punkterahmen":{"max":6,"min":6},"quellen":["ap2-fidp-2026-sommer-fdp2-a01-b-ba"]},{"artefakt_id":"artefakt.berechnung","aufgabe":[{"text":"Sie sind in der IT-Abteilung eines Online-Versandhändlers für die Auswertung von Bestelldaten zuständig. Zur Vorbereitung einer Verhandlung mit Zahlungsdienstleistern soll die Nutzung der angebotenen Zahlungsarten transparent gemacht werden. Im abgelaufenen Monat wurden insgesamt 500 abgeschlossene Bestellungen registriert. Auf die Zahlungsart Rechnung entfielen 160 Bestellungen, auf die Zahlungsart Kreditkarte 215 Bestellungen und auf das SEPA-Lastschriftverfahren 125 Bestellungen. Die Abteilungsleitung benötigt für ihre Präsentation die relativen Häufigkeiten der einzelnen Zahlungsarten als Prozentwerte bezogen auf alle Bestellungen. Berechnen Sie für jede der drei Zahlungsarten den prozentualen Anteil an der Gesamtzahl der Bestellungen. Verwenden Sie dabei den Umrechnungsfaktor 100.","typ":"absatz"}],"beispiel_id":"bsp-relative-haeufigkeiten-und-prozentanteile-berechnen-berechnung-02","freigabeart":"maschinell","loesung":[{"text":"Erwartet werden die drei prozentualen Anteile bezogen auf die 500 Bestellungen (je 2 Punkte).\nRechnung: (160 / 500) * 100 = 32 %\nKreditkarte: (215 / 500) * 100 = 43 %\nLastschrift: (125 / 500) * 100 = 25 %\nKorrekter Ansatz und zutreffender Prozentwert je Zahlungsart ergeben die volle Punktzahl; gleichwertige Rechenwege sind anzuerkennen.","typ":"absatz"}],"operator_id":"operator.berechnen","pruefungszuordnung":{"berufe":["FIDP"],"teil":"AP2"},"punkte":6,"punkterahmen":{"max":6,"min":6},"quellen":["ap2-fidp-2026-sommer-fdp2-a01-b-ba"]},{"artefakt_id":"artefakt.berechnung","aufgabe":[{"text":"Ein Entwicklungsteam betreut eine mobile Anwendung und wertet regelmäßig die Rückmeldungen aus dem App-Store aus, um die Kundenzufriedenheit einzuschätzen. Für das letzte Quartal liegen insgesamt 800 abgegebene Bewertungen vor. Davon vergaben 96 Nutzerinnen und Nutzer eine kritische Bewertung von einem oder zwei Sternen, 144 vergaben eine neutrale Bewertung von drei Sternen und 560 vergaben eine positive Bewertung von vier oder fünf Sternen. Das Produktmanagement möchte die Stimmungslage anhand prozentualer Anteile beurteilen. Berechnen Sie für jede der drei Bewertungsgruppen den relativen Anteil an allen abgegebenen Bewertungen in Prozent. Nutzen Sie zur Umrechnung den Faktor 100.","typ":"absatz"}],"beispiel_id":"bsp-relative-haeufigkeiten-und-prozentanteile-berechnen-berechnung-03","freigabeart":"maschinell","loesung":[{"text":"Erwartet werden die drei prozentualen Anteile bezogen auf die 800 Bewertungen (je 2 Punkte).\nKritisch (1–2 Sterne): (96 / 800) * 100 = 12 %\nNeutral (3 Sterne): (144 / 800) * 100 = 18 %\nPositiv (4–5 Sterne): (560 / 800) * 100 = 70 %\nKorrekter Rechenansatz und zutreffender Prozentwert je Gruppe ergeben die volle Punktzahl; rechnerisch gleichwertige Wege sind anzuerkennen.","typ":"absatz"}],"operator_id":"operator.berechnen","pruefungszuordnung":{"berufe":["FIDP"],"teil":"AP2"},"punkte":6,"punkterahmen":{"max":6,"min":6},"quellen":["ap2-fidp-2026-sommer-fdp2-a01-b-ba"]},{"artefakt_id":"artefakt.quellcode","aufgabe":[{"text":"Ein IT-Servicedesk eines mittelständischen Maschinenbauers protokolliert jede eingehende Störungsmeldung nach ihrer fachlichen Kategorie. Für den Tagesbericht liegen die Meldungen als Liste von Kategorienamen vor, zum Beispiel [\"Netzwerk\", \"Drucker\", \"Netzwerk\", \"Software\"]. Jede Zeichenkette benennt genau eine Kategorie; dieselbe Kategorie kann mehrfach auftreten. Die Liste kann auch leer sein, wenn an einem Tag keine Meldung einging.","typ":"absatz"},{"text":"Erstellen Sie eine ausführbare Python-3-Funktion mit der Signatur solve(data). Der Parameter data ist eine Liste von Strings; die Funktion darf data nicht verändern. Die Funktion gibt ein Dictionary mit genau den vier Schlüsseln anzahl, absolute_haeufigkeiten, relative_haeufigkeiten und prozentanteile zurück.","typ":"absatz"},{"text":"Dabei gilt: anzahl ist die Gesamtzahl aller Meldungen. absolute_haeufigkeiten ordnet jeder im Datensatz tatsächlich vorkommenden Kategorie ihre Anzahl zu. relative_haeufigkeiten ordnet jeder vorkommenden Kategorie den Wert Anzahl geteilt durch Gesamtzahl zu. prozentanteile ordnet jeder vorkommenden Kategorie die zugehörige relative Häufigkeit multipliziert mit 100 zu. Die Kategorien werden ausschließlich aus den übergebenen Daten abgeleitet; eine feste Kategorienliste ist nicht vorgegeben und es ist nicht zu runden. Ist die Liste leer, so ist anzahl gleich 0 und jedes der drei Häufigkeits-Dictionaries bleibt leer.","typ":"absatz"},{"text":"Die 20 Punkte verteilen sich auf folgende ausdrücklich geforderte Einzelpositionen: (1) korrekte Signatur solve(data) – 1 Punkt; (2) vollständiger, lauffähiger Code ohne Syntaxfehler – 1 Punkt; (3) Traversierung der Liste – 2 Punkte; (4) korrekte Ermittlung der Gesamtzahl anzahl – 2 Punkte; (5) Kategorienbildung aus den Daten – 2 Punkte; (6) korrekte absolute_haeufigkeiten – 3 Punkte; (7) korrekte relative_haeufigkeiten – 3 Punkte; (8) korrekte prozentanteile – 2 Punkte; (9) korrekte Behandlung der leeren Liste – 2 Punkte; (10) exakte Rückgabestruktur mit genau diesen vier Schlüsseln – 1 Punkt; (11) unveränderte Eingabeliste (Mutationsfreiheit) – 1 Punkt. Diagramme, weitere Kennzahlen, Datei- oder Eingabeprüfungen sind nicht gefordert.","typ":"absatz"}],"beispiel_id":"bsp-relative-haeufigkeiten-und-prozentanteile-erstellen-quellcode-01","freigabeart":"maschinell","loesung":[{"text":"Erwartete Referenzlösung (Python 3):","typ":"ueberschrift"},{"text":"def solve(data):\n    anzahl = len(data)\n    absolute_haeufigkeiten = {}\n    for eintrag in data:\n        if eintrag in absolute_haeufigkeiten:\n            absolute_haeufigkeiten[eintrag] = absolute_haeufigkeiten[eintrag] + 1\n        else:\n            absolute_haeufigkeiten[eintrag] = 1\n    relative_haeufigkeiten = {}\n    prozentanteile = {}\n    for kategorie in absolute_haeufigkeiten:\n        relative_haeufigkeiten[kategorie] = absolute_haeufigkeiten[kategorie] / anzahl\n        prozentanteile[kategorie] = relative_haeufigkeiten[kategorie] * 100\n    return {\"anzahl\": anzahl, \"absolute_haeufigkeiten\": absolute_haeufigkeiten, \"relative_haeufigkeiten\": relative_haeufigkeiten, \"prozentanteile\": prozentanteile}","typ":"code"},{"text":"Beispielaufruf: print(solve([\"Netzwerk\", \"Drucker\", \"Netzwerk\", \"Software\"]))\nErwartete Ausgabe: {'anzahl': 4, 'absolute_haeufigkeiten': {'Netzwerk': 2, 'Drucker': 1, 'Software': 1}, 'relative_haeufigkeiten': {'Netzwerk': 0.5, 'Drucker': 0.25, 'Software': 0.25}, 'prozentanteile': {'Netzwerk': 50.0, 'Drucker': 25.0, 'Software': 25.0}}","typ":"code"},{"text":"Punkteverteilung: Signatur 1, lauffähiger Code 1, Traversierung 2, anzahl 2, Kategorienbildung 2, absolute_haeufigkeiten 3, relative_haeufigkeiten 3, prozentanteile 2, Leerfall 2, exakte Rückgabestruktur 1, Mutationsfreiheit 1 (Summe 20). Fachlich gleichwertige, korrekt rechnende Umsetzungen (z. B. mit dict.get oder collections) sind anzuerkennen, sofern Rückgabestruktur und Leerfall exakt stimmen.","typ":"absatz"}],"operator_id":"operator.erstellen","pruefungszuordnung":{"berufe":["FIDP"],"teil":"AP2"},"punkte":20,"punkterahmen":{"max":20,"min":20},"quellen":["ap2-fidp-2023-sommer-fdp1-a02-a"]},{"artefakt_id":"artefakt.quellcode","aufgabe":[{"text":"Ein Gastronomiebetrieb wertet die Getränkebestellungen eines Abends aus, um das Sortiment besser zu planen. Jede Bestellung wird als Kategoriename eines Getränks erfasst und in einer Liste gesammelt, beispielsweise [\"Wasser\", \"Kaffee\", \"Wasser\", \"Tee\"]. Jede Zeichenkette steht für genau ein bestelltes Getränk; dasselbe Getränk kann mehrfach vorkommen. An einem geschlossenen Ruhetag kann die Liste auch leer sein.","typ":"absatz"},{"text":"Erstellen Sie eine ausführbare Python-3-Funktion mit der Signatur solve(data). Der Parameter data ist eine Liste von Strings und darf durch die Funktion nicht verändert werden. Die Funktion liefert ein Dictionary mit genau den vier Schlüsseln anzahl, absolute_haeufigkeiten, relative_haeufigkeiten und prozentanteile.","typ":"absatz"},{"text":"Inhaltlich gilt: anzahl ist die Gesamtzahl aller Bestellungen. absolute_haeufigkeiten bildet jede im Datensatz vorkommende Getränkekategorie auf ihre Anzahl ab. relative_haeufigkeiten bildet jede vorkommende Kategorie auf Anzahl geteilt durch Gesamtzahl ab. prozentanteile bildet jede vorkommende Kategorie auf die relative Häufigkeit multipliziert mit 100 ab. Die Kategorien ergeben sich allein aus den übergebenen Daten; es gibt keine vorgegebene Kategorienliste und es ist nicht zu runden. Bei leerer Liste ist anzahl gleich 0 und jedes der drei Häufigkeits-Dictionaries bleibt leer.","typ":"absatz"},{"text":"Die 20 Punkte werden einzeln ausgewiesen: (1) korrekte Signatur solve(data) – 1 Punkt; (2) vollständiger, lauffähiger Code – 1 Punkt; (3) Traversierung der Liste – 2 Punkte; (4) korrekte Gesamtzahl anzahl – 2 Punkte; (5) Ableitung der Kategorien aus den Daten – 2 Punkte; (6) korrekte absolute_haeufigkeiten – 3 Punkte; (7) korrekte relative_haeufigkeiten – 3 Punkte; (8) korrekte prozentanteile – 2 Punkte; (9) korrekter Leerfall – 2 Punkte; (10) exakte Rückgabestruktur mit genau diesen vier Schlüsseln – 1 Punkt; (11) unveränderte Eingabeliste – 1 Punkt. Diagramme, zusätzliche Kennzahlen sowie Datei- oder Eingabeprüfungen sind weder gefordert noch bepunktet.","typ":"absatz"}],"beispiel_id":"bsp-relative-haeufigkeiten-und-prozentanteile-erstellen-quellcode-02","freigabeart":"maschinell","loesung":[{"text":"Erwartete Referenzlösung (Python 3):","typ":"ueberschrift"},{"text":"def solve(data):\n    anzahl = len(data)\n    absolute_haeufigkeiten = {}\n    for eintrag in data:\n        if eintrag in absolute_haeufigkeiten:\n            absolute_haeufigkeiten[eintrag] = absolute_haeufigkeiten[eintrag] + 1\n        else:\n            absolute_haeufigkeiten[eintrag] = 1\n    relative_haeufigkeiten = {}\n    prozentanteile = {}\n    for kategorie in absolute_haeufigkeiten:\n        relative_haeufigkeiten[kategorie] = absolute_haeufigkeiten[kategorie] / anzahl\n        prozentanteile[kategorie] = relative_haeufigkeiten[kategorie] * 100\n    return {\"anzahl\": anzahl, \"absolute_haeufigkeiten\": absolute_haeufigkeiten, \"relative_haeufigkeiten\": relative_haeufigkeiten, \"prozentanteile\": prozentanteile}","typ":"code"},{"text":"Beispielaufruf: print(solve([\"Wasser\", \"Kaffee\", \"Wasser\", \"Tee\", \"Wasser\", \"Kaffee\", \"Wasser\", \"Tee\"]))\nErwartete Ausgabe: {'anzahl': 8, 'absolute_haeufigkeiten': {'Wasser': 4, 'Kaffee': 2, 'Tee': 2}, 'relative_haeufigkeiten': {'Wasser': 0.5, 'Kaffee': 0.25, 'Tee': 0.25}, 'prozentanteile': {'Wasser': 50.0, 'Kaffee': 25.0, 'Tee': 25.0}}","typ":"code"},{"text":"Punkteverteilung: Signatur 1, lauffähiger Code 1, Traversierung 2, anzahl 2, Kategorienbildung 2, absolute_haeufigkeiten 3, relative_haeufigkeiten 3, prozentanteile 2, Leerfall 2, Rückgabestruktur 1, Mutationsfreiheit 1 (Summe 20). Gleichwertige korrekte Umsetzungen sind anzuerkennen, sofern Rückgabestruktur und Leerfall exakt stimmen.","typ":"absatz"}],"operator_id":"operator.erstellen","pruefungszuordnung":{"berufe":["FIDP"],"teil":"AP2"},"punkte":20,"punkterahmen":{"max":20,"min":20},"quellen":["ap2-fidp-2023-sommer-fdp1-a02-a"]},{"artefakt_id":"artefakt.quellcode","aufgabe":[{"text":"Ein städtischer Fahrradverleih erfasst für die Flottenplanung, welcher Fahrzeugtyp bei jeder Ausleihe gewählt wurde. Die Ausleihen eines Tages liegen als Liste von Fahrzeugtyp-Namen vor, etwa [\"Citybike\", \"EBike\", \"Citybike\", \"Lastenrad\", \"EBike\"]. Jede Zeichenkette bezeichnet genau einen ausgeliehenen Fahrzeugtyp; ein Typ kann mehrfach vorkommen. Bei Betriebsruhe kann die Liste leer sein.","typ":"absatz"},{"text":"Erstellen Sie eine ausführbare Python-3-Funktion mit der Signatur solve(data). Der Parameter data ist eine Liste von Strings und darf durch die Funktion nicht verändert werden. Die Funktion gibt ein Dictionary mit genau den vier Schlüsseln anzahl, absolute_haeufigkeiten, relative_haeufigkeiten und prozentanteile zurück.","typ":"absatz"},{"text":"Dabei gilt: anzahl ist die Gesamtzahl aller Ausleihen. absolute_haeufigkeiten ordnet jedem im Datensatz vorkommenden Fahrzeugtyp seine Anzahl zu. relative_haeufigkeiten ordnet jedem vorkommenden Typ den Wert Anzahl geteilt durch Gesamtzahl zu. prozentanteile ordnet jedem vorkommenden Typ die relative Häufigkeit multipliziert mit 100 zu. Die Fahrzeugtypen werden nur aus den übergebenen Daten abgeleitet; eine feste Typenliste ist nicht vorgegeben und es wird nicht gerundet. Ist die Liste leer, so ist anzahl gleich 0 und jedes der drei Häufigkeits-Dictionaries bleibt leer.","typ":"absatz"},{"text":"Die 20 Punkte sind einzeln ausgewiesen: (1) korrekte Signatur solve(data) – 1 Punkt; (2) vollständiger, lauffähiger Code – 1 Punkt; (3) Traversierung der Liste – 2 Punkte; (4) korrekte Gesamtzahl anzahl – 2 Punkte; (5) Kategorienbildung aus den Daten – 2 Punkte; (6) korrekte absolute_haeufigkeiten – 3 Punkte; (7) korrekte relative_haeufigkeiten – 3 Punkte; (8) korrekte prozentanteile – 2 Punkte; (9) korrekte Behandlung des Leerfalls – 2 Punkte; (10) exakte Rückgabestruktur mit genau diesen vier Schlüsseln – 1 Punkt; (11) unveränderte Eingabeliste – 1 Punkt. Diagramme, weitere Kennzahlen sowie Datei- oder Eingabeprüfungen sind nicht gefordert und werden nicht bepunktet.","typ":"absatz"}],"beispiel_id":"bsp-relative-haeufigkeiten-und-prozentanteile-erstellen-quellcode-03","freigabeart":"maschinell","loesung":[{"text":"Erwartete Referenzlösung (Python 3):","typ":"ueberschrift"},{"text":"def solve(data):\n    anzahl = len(data)\n    absolute_haeufigkeiten = {}\n    for eintrag in data:\n        if eintrag in absolute_haeufigkeiten:\n            absolute_haeufigkeiten[eintrag] = absolute_haeufigkeiten[eintrag] + 1\n        else:\n            absolute_haeufigkeiten[eintrag] = 1\n    relative_haeufigkeiten = {}\n    prozentanteile = {}\n    for kategorie in absolute_haeufigkeiten:\n        relative_haeufigkeiten[kategorie] = absolute_haeufigkeiten[kategorie] / anzahl\n        prozentanteile[kategorie] = relative_haeufigkeiten[kategorie] * 100\n    return {\"anzahl\": anzahl, \"absolute_haeufigkeiten\": absolute_haeufigkeiten, \"relative_haeufigkeiten\": relative_haeufigkeiten, \"prozentanteile\": prozentanteile}","typ":"code"},{"text":"Beispielaufruf: print(solve([\"Citybike\", \"EBike\", \"Citybike\", \"Lastenrad\", \"EBike\"]))\nErwartete Ausgabe: {'anzahl': 5, 'absolute_haeufigkeiten': {'Citybike': 2, 'EBike': 2, 'Lastenrad': 1}, 'relative_haeufigkeiten': {'Citybike': 0.4, 'EBike': 0.4, 'Lastenrad': 0.2}, 'prozentanteile': {'Citybike': 40.0, 'EBike': 40.0, 'Lastenrad': 20.0}}","typ":"code"},{"text":"Punkteverteilung: Signatur 1, lauffähiger Code 1, Traversierung 2, anzahl 2, Kategorienbildung 2, absolute_haeufigkeiten 3, relative_haeufigkeiten 3, prozentanteile 2, Leerfall 2, Rückgabestruktur 1, Mutationsfreiheit 1 (Summe 20). Fachlich gleichwertige, korrekt rechnende Lösungen sind anzuerkennen, sofern Rückgabestruktur und Leerfall exakt stimmen.","typ":"absatz"}],"operator_id":"operator.erstellen","pruefungszuordnung":{"berufe":["FIDP"],"teil":"AP2"},"punkte":20,"punkterahmen":{"max":20,"min":20},"quellen":["ap2-fidp-2023-sommer-fdp1-a02-a"]},{"artefakt_id":"artefakt.diagramm","aufgabe":[{"text":"Ein Onlinehändler für Haushaltswaren betreibt eine Retourenprüfung. Jede zurückgesandte Ware wird von der Prüfstelle einzeln begutachtet und entweder zum Wiederverkauf freigegeben oder als nicht wiederverkaufbar abgelehnt. Für die Steuerung der Prüfstelle soll eine Auswertungsmethode als Kontrollflussdiagramm entworfen werden.","typ":"absatz"},{"text":"Die geprüften Retouren liegen als typisierte Liste von Datensätzen vom Typ Retoure vor. Ein Datensatz besitzt die Ganzzahl RetoureID, die Zeichenkette Status mit genau einem der beiden Werte 'freigegeben' oder 'abgelehnt' sowie die positive Ganzzahl Bearbeitungsminuten, welche die für die Prüfung aufgewendete Zeit in Minuten angibt. Über liste.Länge ist die Anzahl der Datensätze verfügbar, über liste[i] der i-te Datensatz (Index beginnt bei 0). Alle Datensätze sind gültig; eine Prüfung der Eingaben ist nicht erforderlich.","typ":"absatz"},{"text":"Als erfolgreich gilt genau eine Retoure mit Status 'freigegeben'. Die nicht erfolgreiche Teilmenge umfasst genau die Retouren mit Status 'abgelehnt'. Der Messwert der nicht erfolgreichen Teilmenge sind deren Bearbeitungsminuten.","typ":"absatz"},{"text":"Zu ermitteln sind genau drei Kennzahlen: (1) die Erfolgsanzahl als Anzahl freigegebener Retouren, (2) der Erfolgsanteil als Erfolgsanzahl geteilt durch die Gesamtzahl aller Datensätze und (3) das arithmetische Mittel der Bearbeitungsminuten ausschließlich der abgelehnten Retouren. Enthält die Liste keinen Datensatz, ist der Erfolgsanteil mit 0 festzulegen. Gibt es keine abgelehnte Retoure, ist das Mittel mit 0 festzulegen.","typ":"absatz"},{"text":"Erstellen Sie für die Methode werteRetourenAus(liste: Retoure[]) genau einen vollständigen PAP oder ein vollständiges Struktogramm. Die drei Kennzahlen sind gemeinsam als Ergebnisverbund Auswertung mit den Feldern anzahlErfolg, anteilErfolg und mittelAbgelehnt abzuschließen und zurückzugeben.","typ":"absatz"},{"text":"Ihr Entwurf muss die folgenden zehn nummerierten Positionen erkennbar enthalten (je 2 Punkte): 1. Initialisierung aller benötigten Zähl- und Summenvariablen, 2. Iteration über alle Datensätze der Liste, 3. Entscheidung, ob ein Datensatz erfolgreich ist, 4. Fortschreibung der Erfolgsanzahl, 5. Entscheidung über die Zugehörigkeit zur abgelehnten Teilmenge, 6. Summenbildung der Bearbeitungsminuten dieser Teilmenge, 7. Fortschreibung des Zählers dieser Teilmenge, 8. Berechnung des Erfolgsanteils einschließlich des Falls der leeren Liste, 9. Berechnung des Mittelwerts einschließlich des Falls der leeren abgelehnten Teilmenge, 10. vollständiger Abschluss mit Rückgabe aller drei Kennzahlen.","typ":"absatz"}],"beispiel_id":"bsp-relative-haeufigkeiten-und-prozentanteile-erstellen-diagramm-01","freigabeart":"maschinell","loesung":[{"text":"Bewertet wird ausschließlich genau ein vollständiger PAP oder ein vollständiges Struktogramm; jede andere Darstellungsform erfüllt den Operator nicht und wird nicht bepunktet.\nErwarteter Kontrollfluss, nachfolgend als Pseudocode dargestellt:","typ":"absatz"},{"text":"werteRetourenAus(liste : Retoure[]) : Auswertung\nBeginn\n  anzahlErfolg = 0; summeAbgelehnt = 0; anzahlAbgelehnt = 0      (Pos. 1)\n  Für i von 0 bis liste.Länge - 1:                               (Pos. 2)\n    Wenn liste[i].Status == 'freigegeben':                       (Pos. 3)\n      anzahlErfolg = anzahlErfolg + 1                            (Pos. 4)\n    Sonst wenn liste[i].Status == 'abgelehnt':                   (Pos. 5)\n      summeAbgelehnt = summeAbgelehnt + liste[i].Bearbeitungsminuten   (Pos. 6)\n      anzahlAbgelehnt = anzahlAbgelehnt + 1                      (Pos. 7)\n    Ende Wenn\n  Ende Für\n  Wenn liste.Länge > 0: anteilErfolg = anzahlErfolg / liste.Länge\n  Sonst: anteilErfolg = 0                                        (Pos. 8)\n  Wenn anzahlAbgelehnt > 0: mittelAbgelehnt = summeAbgelehnt / anzahlAbgelehnt\n  Sonst: mittelAbgelehnt = 0                                     (Pos. 9)\n  Rückgabe Auswertung(anzahlErfolg, anteilErfolg, mittelAbgelehnt)   (Pos. 10)\nEnde","typ":"code"},{"text":"Je Position 2 Punkte, insgesamt 20 Punkte. Fachlich gleichwertige Umsetzungen (z. B. Ermittlung der abgelehnten Anzahl über liste.Länge - anzahlErfolg bei sonst konsistenter Summenbildung) sind anzuerkennen, sofern beide Leerfälle korrekt behandelt werden. Keine PRUEFRECHNUNG- oder PRUEFDIAGRAMM-Marker.","typ":"absatz"}],"operator_id":"operator.erstellen","pruefungszuordnung":{"berufe":["FIDP"],"teil":"AP2"},"punkte":20,"punkterahmen":{"max":20,"min":20},"quellen":["ap2-fidp-2023-sommer-fdp1-a02-a"]},{"artefakt_id":"artefakt.diagramm","aufgabe":[{"text":"Ein Vermessungsdienstleister sichtet Luftaufnahmen, die eine Drohne bei Befliegungen aufgenommen hat. Ein Auswertungsteam bewertet jede einzelne Aufnahme und stuft sie entweder als verwertbar oder als unbrauchbar ein. Für die Kapazitätsplanung der Sichtung soll eine Auswertungsmethode als Kontrollflussdiagramm entworfen werden.","typ":"absatz"},{"text":"Die gesichteten Aufnahmen liegen als typisierte Liste von Datensätzen vom Typ Aufnahme vor. Ein Datensatz besitzt die Ganzzahl AufnahmeID, die Zeichenkette Bewertung mit genau einem der beiden Werte 'verwertbar' oder 'unbrauchbar' sowie die positive Dezimalzahl DateigroesseMB, welche die Dateigröße der Aufnahme in Megabyte angibt. Über liste.Länge ist die Anzahl der Datensätze verfügbar, über liste[i] der i-te Datensatz (Index beginnt bei 0). Alle Datensätze sind gültig; eine Prüfung der Eingaben ist nicht erforderlich.","typ":"absatz"},{"text":"Als erfolgreich gilt genau eine Aufnahme mit Bewertung 'verwertbar'. Die nicht erfolgreiche Teilmenge umfasst genau die Aufnahmen mit Bewertung 'unbrauchbar'. Der Messwert der nicht erfolgreichen Teilmenge ist deren DateigroesseMB.","typ":"absatz"},{"text":"Zu ermitteln sind genau drei Kennzahlen: (1) die Erfolgsanzahl als Anzahl verwertbarer Aufnahmen, (2) der Erfolgsanteil als Erfolgsanzahl geteilt durch die Gesamtzahl aller Datensätze und (3) das arithmetische Mittel der Dateigröße ausschließlich der unbrauchbaren Aufnahmen. Enthält die Liste keinen Datensatz, ist der Erfolgsanteil mit 0 festzulegen. Gibt es keine unbrauchbare Aufnahme, ist das Mittel mit 0 festzulegen.","typ":"absatz"},{"text":"Erstellen Sie für die Methode sichteAufnahmen(liste: Aufnahme[]) genau einen vollständigen PAP oder ein vollständiges Struktogramm. Die drei Kennzahlen sind gemeinsam als Ergebnisverbund Sichtungsbilanz mit den Feldern anzahlVerwertbar, anteilVerwertbar und mittelUnbrauchbarMB abzuschließen und zurückzugeben.","typ":"absatz"},{"text":"Ihr Entwurf muss die folgenden zehn nummerierten Positionen erkennbar enthalten (je 2 Punkte): 1. Initialisierung aller benötigten Zähl- und Summenvariablen, 2. Iteration über alle Datensätze der Liste, 3. Entscheidung, ob ein Datensatz erfolgreich ist, 4. Fortschreibung der Erfolgsanzahl, 5. Entscheidung über die Zugehörigkeit zur unbrauchbaren Teilmenge, 6. Summenbildung der Dateigröße dieser Teilmenge, 7. Fortschreibung des Zählers dieser Teilmenge, 8. Berechnung des Erfolgsanteils einschließlich des Falls der leeren Liste, 9. Berechnung des Mittelwerts einschließlich des Falls der leeren unbrauchbaren Teilmenge, 10. vollständiger Abschluss mit Rückgabe aller drei Kennzahlen.","typ":"absatz"}],"beispiel_id":"bsp-relative-haeufigkeiten-und-prozentanteile-erstellen-diagramm-02","freigabeart":"maschinell","loesung":[{"text":"Bewertet wird ausschließlich genau ein vollständiger PAP oder ein vollständiges Struktogramm; jede andere Darstellungsform erfüllt den Operator nicht und wird nicht bepunktet.\nErwarteter Kontrollfluss, nachfolgend als Pseudocode dargestellt:","typ":"absatz"},{"text":"sichteAufnahmen(liste : Aufnahme[]) : Sichtungsbilanz\nBeginn\n  anzahlVerwertbar = 0; summeUnbrauchbar = 0; anzahlUnbrauchbar = 0   (Pos. 1)\n  Für i von 0 bis liste.Länge - 1:                               (Pos. 2)\n    Wenn liste[i].Bewertung == 'verwertbar':                     (Pos. 3)\n      anzahlVerwertbar = anzahlVerwertbar + 1                    (Pos. 4)\n    Sonst wenn liste[i].Bewertung == 'unbrauchbar':              (Pos. 5)\n      summeUnbrauchbar = summeUnbrauchbar + liste[i].DateigroesseMB    (Pos. 6)\n      anzahlUnbrauchbar = anzahlUnbrauchbar + 1                  (Pos. 7)\n    Ende Wenn\n  Ende Für\n  Wenn liste.Länge > 0: anteilVerwertbar = anzahlVerwertbar / liste.Länge\n  Sonst: anteilVerwertbar = 0                                    (Pos. 8)\n  Wenn anzahlUnbrauchbar > 0: mittelUnbrauchbarMB = summeUnbrauchbar / anzahlUnbrauchbar\n  Sonst: mittelUnbrauchbarMB = 0                                 (Pos. 9)\n  Rückgabe Sichtungsbilanz(anzahlVerwertbar, anteilVerwertbar, mittelUnbrauchbarMB)   (Pos. 10)\nEnde","typ":"code"},{"text":"Je Position 2 Punkte, insgesamt 20 Punkte. Fachlich gleichwertige Umsetzungen (z. B. Ermittlung der unbrauchbaren Anzahl über liste.Länge - anzahlVerwertbar bei sonst konsistenter Summenbildung) sind anzuerkennen, sofern beide Leerfälle korrekt behandelt werden. Keine PRUEFRECHNUNG- oder PRUEFDIAGRAMM-Marker.","typ":"absatz"}],"operator_id":"operator.erstellen","pruefungszuordnung":{"berufe":["FIDP"],"teil":"AP2"},"punkte":20,"punkterahmen":{"max":20,"min":20},"quellen":["ap2-fidp-2023-sommer-fdp1-a02-a"]},{"artefakt_id":"artefakt.diagramm","aufgabe":[{"text":"In der Sterilgutversorgung einer Klinik wird jede aufbereitete Charge medizinischer Instrumente einer Sterilgutkontrolle unterzogen. Das Ergebnis einer Charge lautet entweder bestanden oder beanstandet. Für die Qualitätsberichterstattung der Abteilung soll eine Auswertungsmethode als Kontrollflussdiagramm entworfen werden.","typ":"absatz"},{"text":"Die kontrollierten Chargen liegen als typisierte Liste von Datensätzen vom Typ Charge vor. Ein Datensatz besitzt die Ganzzahl ChargeID, die Zeichenkette Ergebnis mit genau einem der beiden Werte 'bestanden' oder 'beanstandet' sowie die positive Dezimalzahl PrueftemperaturCelsius, welche die im Prüfzyklus gemessene Temperatur in Grad Celsius angibt. Über liste.Länge ist die Anzahl der Datensätze verfügbar, über liste[i] der i-te Datensatz (Index beginnt bei 0). Alle Datensätze sind gültig; eine Prüfung der Eingaben ist nicht erforderlich.","typ":"absatz"},{"text":"Als erfolgreich gilt genau eine Charge mit Ergebnis 'bestanden'. Die nicht erfolgreiche Teilmenge umfasst genau die Chargen mit Ergebnis 'beanstandet'. Der Messwert der nicht erfolgreichen Teilmenge ist deren PrueftemperaturCelsius.","typ":"absatz"},{"text":"Zu ermitteln sind genau drei Kennzahlen: (1) die Erfolgsanzahl als Anzahl bestandener Chargen, (2) der Erfolgsanteil als Erfolgsanzahl geteilt durch die Gesamtzahl aller Datensätze und (3) das arithmetische Mittel der Prüftemperatur ausschließlich der beanstandeten Chargen. Enthält die Liste keinen Datensatz, ist der Erfolgsanteil mit 0 festzulegen. Gibt es keine beanstandete Charge, ist das Mittel mit 0 festzulegen.","typ":"absatz"},{"text":"Erstellen Sie für die Methode kontrolliereChargen(liste: Charge[]) genau einen vollständigen PAP oder ein vollständiges Struktogramm. Die drei Kennzahlen sind gemeinsam als Ergebnisverbund Kontrollbericht mit den Feldern anzahlBestanden, anteilBestanden und mittelBeanstandetCelsius abzuschließen und zurückzugeben.","typ":"absatz"},{"text":"Ihr Entwurf muss die folgenden zehn nummerierten Positionen erkennbar enthalten (je 2 Punkte): 1. Initialisierung aller benötigten Zähl- und Summenvariablen, 2. Iteration über alle Datensätze der Liste, 3. Entscheidung, ob ein Datensatz erfolgreich ist, 4. Fortschreibung der Erfolgsanzahl, 5. Entscheidung über die Zugehörigkeit zur beanstandeten Teilmenge, 6. Summenbildung der Prüftemperatur dieser Teilmenge, 7. Fortschreibung des Zählers dieser Teilmenge, 8. Berechnung des Erfolgsanteils einschließlich des Falls der leeren Liste, 9. Berechnung des Mittelwerts einschließlich des Falls der leeren beanstandeten Teilmenge, 10. vollständiger Abschluss mit Rückgabe aller drei Kennzahlen.","typ":"absatz"}],"beispiel_id":"bsp-relative-haeufigkeiten-und-prozentanteile-erstellen-diagramm-03","freigabeart":"maschinell","loesung":[{"text":"Bewertet wird ausschließlich genau ein vollständiger PAP oder ein vollständiges Struktogramm; jede andere Darstellungsform erfüllt den Operator nicht und wird nicht bepunktet.\nErwarteter Kontrollfluss, nachfolgend als Pseudocode dargestellt:","typ":"absatz"},{"text":"kontrolliereChargen(liste : Charge[]) : Kontrollbericht\nBeginn\n  anzahlBestanden = 0; summeBeanstandet = 0; anzahlBeanstandet = 0   (Pos. 1)\n  Für i von 0 bis liste.Länge - 1:                               (Pos. 2)\n    Wenn liste[i].Ergebnis == 'bestanden':                       (Pos. 3)\n      anzahlBestanden = anzahlBestanden + 1                      (Pos. 4)\n    Sonst wenn liste[i].Ergebnis == 'beanstandet':               (Pos. 5)\n      summeBeanstandet = summeBeanstandet + liste[i].PrueftemperaturCelsius   (Pos. 6)\n      anzahlBeanstandet = anzahlBeanstandet + 1                  (Pos. 7)\n    Ende Wenn\n  Ende Für\n  Wenn liste.Länge > 0: anteilBestanden = anzahlBestanden / liste.Länge\n  Sonst: anteilBestanden = 0                                     (Pos. 8)\n  Wenn anzahlBeanstandet > 0: mittelBeanstandetCelsius = summeBeanstandet / anzahlBeanstandet\n  Sonst: mittelBeanstandetCelsius = 0                            (Pos. 9)\n  Rückgabe Kontrollbericht(anzahlBestanden, anteilBestanden, mittelBeanstandetCelsius)   (Pos. 10)\nEnde","typ":"code"},{"text":"Je Position 2 Punkte, insgesamt 20 Punkte. Fachlich gleichwertige Umsetzungen (z. B. Ermittlung der beanstandeten Anzahl über liste.Länge - anzahlBestanden bei sonst konsistenter Summenbildung) sind anzuerkennen, sofern beide Leerfälle korrekt behandelt werden. Keine PRUEFRECHNUNG- oder PRUEFDIAGRAMM-Marker.","typ":"absatz"}],"operator_id":"operator.erstellen","pruefungszuordnung":{"berufe":["FIDP"],"teil":"AP2"},"punkte":20,"punkterahmen":{"max":20,"min":20},"quellen":["ap2-fidp-2023-sommer-fdp1-a02-a"]}],"konzept_id":"fachkonzept.relative-haeufigkeiten-und-prozentanteile","schema_version":3}