allgemein:test:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| allgemein:test:start [25.09.2025 09:10] – [Gegeben:] lars | allgemein:test:start [06.11.2025 11:03] (aktuell) – [Programmierung] lars | ||
|---|---|---|---|
| Zeile 257: | Zeile 257: | ||
| > Hinweis (aus der Aufgabe): Nutzt man ersatzweise 90 000 Scans/Tag und 48 MiB/Scan, ergibt sich $90\,000 \times 48 = 4\, | > Hinweis (aus der Aufgabe): Nutzt man ersatzweise 90 000 Scans/Tag und 48 MiB/Scan, ergibt sich $90\,000 \times 48 = 4\, | ||
| - | ==== Aufgabe2 ==== | + | ===== Aufgabe2 |
| + | ===== Beispielrechnung: | ||
| - | ## Gegeben: | + | **Gegeben:** |
| + | * Format: 26 × 38 cm | ||
| + | * Auflösung: 600 dpi | ||
| + | * Umrechnungsfaktor: | ||
| + | * Übertragungsrate: | ||
| - | * **Format:** 26 cm × 38 cm | + | ---- |
| - | * **Auflösung: | + | |
| - | * **Umrechnungsfaktor: | + | |
| - | * **Übertragungsrate: | + | |
| - | --- | + | **1. Umrechnung in Zoll** |
| - | ### 1. Größe in Pixeln berechnen | + | * 26 cm ÷ 2,54 ≈ **10,24 Zoll** |
| + | * 38 cm ÷ 2,54 ≈ **14,96 Zoll** | ||
| - | $$ | + | ---- |
| - | 26 \,\text{cm} = \frac{26}{2, | + | |
| - | $$ | + | |
| - | $$ | + | **2. Pixelanzahl berechnen** |
| - | 38 \,\text{cm} = \frac{38}{2,54} \, | + | |
| - | $$ | + | |
| - | Pixelanzahl: | + | * 10,24 Zoll × 600 dpi = **6144 px** |
| + | * 14,96 Zoll × 600 dpi ≈ **8976 px** | ||
| + | * Gesamt: 6144 × 8976 ≈ **55.161.600 Pixel** | ||
| - | $$ | + | ---- |
| - | 10,24 \times 600 = 6144 \, | + | |
| - | $$ | + | |
| - | $$ | + | **3. Speicherbedarf** |
| - | 14,96 \times 600 \approx 8976 \, | + | |
| - | $$ | + | |
| - | Gesamtpixel: | + | === Farbscan (24 Bit / 3 Byte pro Pixel) === |
| + | * 55.161.600 × 3 = **165.484.800 Byte** | ||
| + | * Umrechnung in MiB: 165.484.800 ÷ 1.048.576 ≈ **157,8 MiB** | ||
| - | $$ | + | === Schwarz-Weiß-Scan (1 Bit pro Pixel) === |
| - | 6144 \times 8976 \approx | + | |
| - | $$ | + | * Umrechnung in Byte: ÷ 8 = **6.895.200 Byte** |
| + | * Umrechnung in MiB: 6.895.200 ÷ 1.048.576 ≈ **6,6 MiB** | ||
| - | --- | + | ---- |
| - | ### 2. Speicherbedarf berechnen | + | **4. Übertragungszeit** |
| - | Normalerweise rechnet man mit **24 Bit = 3 Byte pro Pixel** (Farbbild). | + | |
| + | * In MiB/s: 18.750.000 ÷ 1.048.576 ≈ **17,87 MiB/s** | ||
| - | $$ | + | === Farbscan === |
| - | 55.161.600 \times 3 = 165.484.800 \,\text{Byte} | + | * Zeit = 157,8 ÷ 17,87 ≈ **8,83 s** |
| - | $$ | + | * Aufgerundet: |
| - | In MiB (1 MiB = 1.048.576 Byte): | + | === Schwarz-Weiß-Scan === |
| + | * Zeit = 6,6 ÷ 17,87 ≈ **0,37 s** | ||
| + | * Aufgerundet: **0 Min 01 Sek** | ||
| - | $$ | + | ---- |
| - | \frac{165.484.800}{1.048.576} \approx 157,8 \, | + | |
| - | $$ | + | |
| - | Also **~158 MiB pro Scan**. | + | **Endergebnis: |
| + | * Farbscan: **≈ 158 MiB → 0:09 Min:Sek** | ||
| + | * SW-Scan: **≈ 6,6 MiB → 0:01 Min:Sek** | ||
| - | --- | ||
| - | ### 3. Übertragungszeit berechnen | + | ---- |
| - | 150 Mbit/s = | ||
| - | $$ | + | ==== Programmierung ==== |
| - | 150 \times 10^6 \, | + | |
| - | $$ | + | |
| - | oder in MiB/s: | + | <code csharp> |
| + | string message = "Die Systemauslastung war an mehr als 18 Stunden höher als 80 %."; | ||
| + | string title = " | ||
| + | int cpuutil | ||
| + | int cpulimit | ||
| + | int sumstd | ||
| - | $$ | + | // Array mit Testdaten (24 Stunden) |
| - | \frac{18.750.000}{1.048.576} \approx 17,87 \,\text{MiB/s} | + | int[] usedCPU = new int[24] |
| - | $$ | + | { 33,44,40, |
| - | Zeit: | + | // ---------------- Erweiterung MONCPU ---------------- |
| + | cpulimit = 80; // Grenzwert festlegen | ||
| - | $$ | + | for (int i = 0; i < usedCPU.Length; |
| - | \frac{157,8}{17,87} \approx 8,83 \, | + | { |
| - | $$ | + | cpuutil = usedCPU[i]; |
| + | if (cpuutil > cpulimit) | ||
| + | | ||
| + | sumstd = sumstd + 1; // Zähler erhöhen | ||
| + | | ||
| + | } | ||
| - | Aufgerundet: | + | // Meldung nur ausgeben, wenn mehr als 18 Stunden über 80 % |
| + | if (sumstd > 18) | ||
| + | { | ||
| + | MessageBox.Show(message, | ||
| + | } | ||
| + | </ | ||
| - | --- | + | <code c> |
| + | #include < | ||
| - | ✅ **Endergebnis: | + | int main() { |
| + | char message[] = "Die Systemauslastung war an mehr als 18 Stunden höher als 80 %."; | ||
| + | char title[] | ||
| + | int cpuutil | ||
| + | int cpulimit | ||
| + | int sumstd | ||
| - | * Dateigröße: | + | |
| - | * Übertragungszeit bei 150 Mbit/s: **0:09 Min:Sek** | + | int usedCPU[24] = {33, |
| + | | ||
| - | --- | + | // Alle 24 Stunden prüfen |
| + | for (int i = 0; i < 24; i++) { | ||
| + | cpuutil = usedCPU[i]; | ||
| + | if (cpuutil > cpulimit) { | ||
| + | sumstd++; | ||
| + | } | ||
| + | } | ||
| - | Soll ich dir das auch gleich | + | // Meldung ausgeben, wenn mehr als 18 Stunden über 80 % |
| + | if (sumstd > 18) { | ||
| + | printf(" | ||
| + | } | ||
| + | return 0; | ||
| + | } | ||
| + | </ | ||
| + | ---- | ||
| + | < a2s > | ||
| + | |||
| + | / | ||
| + | | | ||
| + | +-- .env | ||
| + | +-- docker-compose.yml | ||
| + | +-- data/ | ||
| + | +-- backup/ | ||
| + | +-- scripts/ | ||
| + | |||
| + | |||
| + | </ | ||
allgemein/test/start.1758784241.txt.gz · Zuletzt geändert: von lars