Inhalt

Aktueller Ordner: duesseldorfer-schuelerinventar-swift-client/Duesk/Models
⬅ Übergeordnet

Norms.swift

import Foundation

struct Norms {
    // MARK: - HS Normen (Hauptschule)
    
    static let normSE_HS: [[Double]] = [
        [21.33, 25.33, 29.33, 33.32, 37.32],  // Arbeitsverhalten
        [20.87, 24.95, 29.03, 33.13, 37.18],  // Lernverhalten
        [17.93, 21.37, 24.80, 28.23, 31.67],  // Sozialverhalten
        [13.98, 17.71, 21.44, 25.17, 28.90],  // Fachkompetenz
        [24.60, 28.55, 33.04, 37.53, 42.01],  // Personale Kompetenz
        [15.53, 18.97, 22.40, 25.83, 29.27]   // Methodenkompetenz
    ]
    
    static let normFE_HS: [[Double]] = [
        [12.66, 18.16, 23.66, 29.16, 34.66],  // Arbeitsverhalten
        [13.33, 18.42, 23.51, 28.60, 33.69],  // Lernverhalten
        [10.75, 15.41, 20.07, 24.73, 29.39],  // Sozialverhalten
        [14.22, 15.30, 16.38, 17.46, 18.54],  // Fachkompetenz
        [14.12, 20.21, 26.30, 32.39, 38.48],  // Personale Kompetenz
        [10.53, 14.51, 18.49, 22.47, 26.45]   // Methodenkompetenz
    ]
    
    // MARK: - FS Normen (Förderschule)
    
    static let normSE_FS: [[Double]] = [
        [17.54, 24.03, 30.53, 37.02, 43.51],  // Arbeitsverhalten
        [17.80, 24.26, 30.73, 37.19, 43.65],  // Lernverhalten
        [18.03, 22.41, 26.79, 31.17, 35.55],  // Sozialverhalten
        [14.28, 15.55, 16.83, 18.10, 19.37],  // Fachkompetenz
        [20.69, 27.49, 34.29, 41.09, 47.89],  // Personale Kompetenz
        [12.44, 18.06, 23.68, 29.29, 34.91]   // Methodenkompetenz
    ]
    
    static let normFE_FS: [[Double]] = [
        [15.30, 19.79, 24.28, 28.77, 33.26],  // Arbeitsverhalten
        [14.63, 18.94, 23.25, 27.56, 31.87],  // Lernverhalten
        [14.62, 17.81, 21.00, 24.19, 27.38],  // Sozialverhalten
        [15.00, 15.55, 16.10, 16.65, 17.20],  // Fachkompetenz
        [18.44, 22.61, 26.78, 30.95, 35.12],  // Personale Kompetenz
        [9.79, 13.97, 18.15, 22.33, 26.51]    // Methodenkompetenz
    ]
    
    // MARK: - Prozentränge für T-Wert Berechnung
    
    static let percentiles: [Int: Double] = [
        1: 0.1, 2: 0.5, 3: 1.0, 4: 2.0, 5: 3.0, 6: 4.0, 7: 5.0, 8: 7.0, 9: 8.0, 10: 10.0,
        11: 12.0, 12: 14.0, 13: 16.0, 14: 18.0, 15: 20.0, 16: 23.0, 17: 26.0, 18: 29.0, 19: 32.0, 20: 35.0,
        21: 38.0, 22: 42.0, 23: 46.0, 24: 50.0, 25: 54.0, 26: 58.0, 27: 62.0, 28: 65.0, 29: 68.0, 30: 71.0,
        31: 74.0, 32: 77.0, 33: 80.0, 34: 82.0, 35: 84.0, 36: 86.0, 37: 88.0, 38: 90.0, 39: 91.0, 40: 92.0,
        41: 93.0, 42: 94.0, 43: 95.0, 44: 96.0, 45: 97.0, 46: 97.5, 47: 98.0, 48: 98.5, 49: 99.0, 50: 99.5
    ]
    
    // MARK: - Kompetenz- und Item-Namen
    
    static let kompetenzen = [
        "Arbeitsverhalten", "Lernverhalten", "Sozialverhalten",
        "Fachkompetenz", "Personale Kompetenz", "Methodenkompetenz"
    ]
    
    static let items = [
        "Zuverlässigkeit", "Arbeitstempo", "Arbeitsplanung", "Organisationsfähigkeit",
        "Geschicklichkeit", "Ordnung", "Sorgfalt", "Kreativität", "Problemlösungsfähigkeit",
        "Abstraktionsvermögen", "Selbstständigkeit", "Belastbarkeit", "Konzentrationsfähigkeit",
        "Verantwortungsbewusstsein", "Eigeninitiative", "Leistungsbereitschaft", "Auffassungsgabe",
        "Merkfähigkeit", "Motivationsfähigkeit", "Reflektionsfähigkeit", "Teamfähigkeit",
        "Hilfsbereitschaft", "Kontaktfähigkeit", "Respektvoller Umgang", "Kommunikationsfähigkeit",
        "Einfühlungsvermögen", "Konfliktfähigkeit", "Kritikfähigkeit", "Schreiben", "Lesen",
        "Mathematik", "Naturwissenschaft", "Fremdsprachen", "Präsentationsfähigkeit",
        "PC Kenntnisse", "Fächerübergreifendes Denken"
    ]
    
    static let ratingDescriptions = [
        1: "trifft nicht zu",
        2: "trifft teilweise zu",
        3: "trifft zu",
        4: "trifft voll zu"
    ]
    
    static func getRatingText(for value: Int) -> String {
        return ratingDescriptions[value] ?? "unbekannt"
    }
}