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] – [b) Speicherbedarf] 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: | ||
| + | * Format: 26 × 38 cm | ||
| + | * Auflösung: 600 dpi | ||
| + | * Umrechnungsfaktor: | ||
| + | * Übertragungsrate: | ||
| - | ### Gegeben: | + | ---- |
| - | * **Format:** 26 cm × 38 cm | + | **1. Umrechnung in Zoll** |
| - | * **Auflösung: | + | |
| - | * **Umrechnungsfaktor: | + | |
| - | * **Übertragungsrate: | + | |
| - | --- | + | * 26 cm ÷ 2,54 ≈ **10,24 Zoll** |
| + | * 38 cm ÷ 2,54 ≈ **14,96 Zoll** | ||
| - | ### 1. Größe in Pixeln berechnen | + | ---- |
| - | $$ | + | **2. Pixelanzahl berechnen** |
| - | 26 \,\text{cm} = \frac{26}{2,54} \, | + | |
| - | $$ | + | |
| - | $$ | + | * 10,24 Zoll × 600 dpi = **6144 px** |
| - | 38 \,\text{cm} | + | * 14,96 Zoll × 600 dpi ≈ **8976 px** |
| - | $$ | + | * Gesamt: 6144 × 8976 ≈ **55.161.600 Pixel** |
| - | Pixelanzahl: | + | ---- |
| - | $$ | + | **3. Speicherbedarf** |
| - | 10,24 \times 600 = 6144 \, | + | |
| - | $$ | + | |
| - | $$ | + | === Farbscan (24 Bit / 3 Byte pro Pixel) === |
| - | 14,96 \times | + | * 55.161.600 × 3 = **165.484.800 Byte** |
| - | $$ | + | * Umrechnung in MiB: 165.484.800 ÷ 1.048.576 ≈ **157,8 MiB** |
| - | Gesamtpixel: | + | === Schwarz-Weiß-Scan (1 Bit pro Pixel) === |
| + | * 55.161.600 × 1 Bit = **55.161.600 Bit** | ||
| + | * Umrechnung in Byte: ÷ 8 = **6.895.200 Byte** | ||
| + | * Umrechnung in MiB: 6.895.200 ÷ 1.048.576 ≈ **6,6 MiB** | ||
| - | $$ | + | ---- |
| - | 6144 \times 8976 \approx 55.161.600 \, | + | |
| - | $$ | + | |
| - | --- | + | **4. Übertragungszeit** |
| - | ### 2. Speicherbedarf berechnen | + | * Leitung: 150 Mbit/s = 150.000.000 Bit/s ÷ 8 = **18.750.000 B/s** |
| + | * In MiB/s: 18.750.000 ÷ 1.048.576 ≈ **17,87 MiB/s** | ||
| - | Normalerweise rechnet man mit **24 Bit = 3 Byte pro Pixel** (Farbbild). | + | === Farbscan === |
| + | | ||
| + | * Aufgerundet: | ||
| - | $$ | + | === Schwarz-Weiß-Scan === |
| - | 55.161.600 \times 3 = 165.484.800 \,\text{Byte} | + | * Zeit = 6,6 ÷ 17,87 ≈ **0,37 s** |
| - | $$ | + | * Aufgerundet: |
| - | In MiB (1 MiB = 1.048.576 Byte): | + | ---- |
| - | $$ | + | **Endergebnis: |
| - | \frac{165.484.800}{1.048.576} \approx 157,8 \,\text{MiB} | + | * Farbscan: **≈ 158 MiB → 0:09 Min:Sek** |
| - | $$ | + | * SW-Scan: **≈ 6,6 MiB → 0:01 Min:Sek** |
| - | Also **~158 MiB pro Scan**. | ||
| - | --- | + | ---- |
| - | ### 3. Übertragungszeit berechnen | ||
| - | 150 Mbit/ | + | ==== Programmierung ==== |
| - | $$ | + | <code csharp> |
| - | 150 \times 10^6 \, | + | string message |
| - | $$ | + | string title = " |
| + | int cpuutil | ||
| + | int cpulimit | ||
| + | int sumstd | ||
| - | oder in MiB/s: | + | // Array mit Testdaten (24 Stunden) |
| + | int[] usedCPU = new int[24] | ||
| + | { 33, | ||
| - | $$ | + | // ---------------- Erweiterung MONCPU ---------------- |
| - | \frac{18.750.000}{1.048.576} \approx 17,87 \,\text{MiB/s} | + | cpulimit = 80; // Grenzwert festlegen |
| - | $$ | + | |
| - | Zeit: | + | for (int i = 0; i < usedCPU.Length; |
| + | { | ||
| + | cpuutil = usedCPU[i]; | ||
| + | if (cpuutil > cpulimit) | ||
| + | { | ||
| + | sumstd = sumstd + 1; // Zähler erhöhen | ||
| + | } | ||
| + | } | ||
| - | $$ | + | // Meldung nur ausgeben, wenn mehr als 18 Stunden über 80 % |
| - | \frac{157,8}{17,87} \approx 8,83 \, | + | if (sumstd > 18) |
| - | $$ | + | { |
| + | MessageBox.Show(message, title); | ||
| + | } | ||
| + | </ | ||
| - | Aufgerundet: | + | <code c> |
| + | #include < | ||
| - | --- | + | int main() { |
| + | char message[] = "Die Systemauslastung war an mehr als 18 Stunden höher als 80 %."; | ||
| + | char title[] | ||
| + | int cpuutil | ||
| + | int cpulimit | ||
| + | int sumstd | ||
| - | ✅ **Endergebnis: | + | // Array mit Testdaten (24 Stunden) |
| + | int usedCPU[24] = {33, | ||
| + | | ||
| - | * Dateigröße: | + | |
| - | * Übertragungszeit bei 150 Mbit/s: **0:09 Min:Sek** | + | for (int i = 0; i < 24; i++) { |
| + | cpuutil = usedCPU[i]; | ||
| + | if (cpuutil > cpulimit) { | ||
| + | sumstd++; | ||
| + | } | ||
| + | } | ||
| - | --- | + | // Meldung ausgeben, wenn mehr als 18 Stunden über 80 % |
| + | if (sumstd > 18) { | ||
| + | printf(" | ||
| + | } | ||
| - | Soll ich dir das auch gleich als kleine Rechenvorlage in **DokuWiki-Syntax** ausformulieren, | + | return 0; |
| + | } | ||
| + | </ | ||
| + | ---- | ||
| + | < a2s > | ||
| + | / | ||
| + | | | ||
| + | +-- .env | ||
| + | +-- docker-compose.yml | ||
| + | +-- data/ | ||
| + | +-- backup/ | ||
| + | +-- scripts/ | ||
| + | |||
| + | |||
| + | </ | ||
allgemein/test/start.1758784227.txt.gz · Zuletzt geändert: von lars