Softwareentwicklung 2 (ILV) Übung 1

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Softwareentwicklung 2 (ILV) Übung 1"

Transkript

1 Fragen: Softwareentwicklung 2 (ILV) Übung 1 1.) Was ist Git? (siehe ) git clone https://its-git.fh-salzburg.ac.at/eforsthofer.lba/swe2.git 2.) Was sind Zeiger und wie wird mit Zeigern gearbeitet? (siehe C von A Z von Jürgen Wolf, Kapitel 12 Zeiger ) 3.) Wie arbeitet man mit Array von Zeiger und dynamischer Speicherverwaltung? (siehe C von A Z von Jürgen Wolf, Kapitel 14 Dynamische Speicherverwaltung ) 4.) Warum funktioniert das Programm nicht? void swap (int *a, int *b){ int *help; *help= *a; *a= *b; *b= help; } Aufgabenstellungen: (Abgabetermin: Per vor nächster Übungseinheit) 1.) Arbeitsaufgabe Funktion swap Ergänze und Teste das Beispiel aus dem Skriptum Zeiger und Arrays/String Seite 5/25. // swap2.c --- call by reference #include <stdio.h> void swap (.. ); int main(){ int x= 1111; int y= 9999; } printf("\nvor dem Aufruf von swap(): x=%d und y=%d\n", x,y); swap (.. ); printf("\nnach dem Aufruf von swap(): x=%d und y=%d\n", x,y); return 0; void swap (.. ){ int help;.. } SWE1 ITSB-B SS 2015 Seite 1/6

2 2.) Programm swab void swab(const char *from, char *to, int n); Schreibe eine Funktion swab welches gerade und ungerade Bytes/Zeichen vertauscht. Die Länge des Arrays wird durch n definiert. Die Funktion swab() sollte swap() n/2 mal aufrufen. Diese Funktion könnte benutzt werden um Daten zwischen Maschinen auszutauschen, die verschiedene Anordnungen von nieder- und höherwertigen Bytes haben. Aufrufbeispiel: $./swab Vor dem Aufruf von swab(): string=ab1234 Nach dem Aufruf von swab(): string=ba ) Schreibe Sie eine Funktion mit dem Namen find_min_max, welche ein Array von Zahlen übergeben bekommt, und die kleinste Zahl und die größte Zahl zurückliefert. 4.) Schreiben Sie eine Funktion mit dem Namen strcatdyn, welches die Zeiger auf zwei Zeichenketten entgegennimmt. Die Funktion soll beide Zeichenketten hintereinander in einem von der Funktion dynamisch angelegten Speicherbereich kopieren und den Zeiger zurückgeben. Im Fehlerfall soll ein Nullzeiger (NULL) zurückgeben werden. Die Verwendung von Stringfunktionen aus der Stringbibliothek (siehe string.h) ist erlaubt. char *strcatdyn(const char *str1, const char *str2); SWE1 ITSB-B SS 2015 Seite 2/6

3 5.) Schreiben Sie ein Programm mit dem Namen MorseCode, welches Zeichen von stdin einliest und die Signalinformation ( '=' Licht ein / '_' Licht aus) auf stdout ausgibt. Testvorschrift: cat info.txt./morsecode > Mein.MorseCode.Signal Die Datei Mein.MorseCode.Signal wird an Kollegen mit geeigneter Hardware weitergereicht welche die Tests uebernehmen. Infos siehe Die Morsezeichen, manchmal auch Morsealphabet oder Morsecode genannt, sind ein Verfahren zur Übermittlung von Buchstaben, Zahlen und übrigen Zeichen. Dabei wird ein konstantes Signal ein- und ausgeschaltet. Es besteht aus drei Symbolen: kurzes Signal, langes Signal und Pause. Der Code kann als Tonsignal, als Funksignal, als elektrischer Puls mit einer Morsetaste über eine Telefonleitung, mechanisch oder optisch (etwa mit blinkendem Licht) übertragen werden. Der Code verwendet drei Symbole, die Punkt ( ), Strich ( ) und Pause ( ) genannt werden, gesprochen als dit, dah (oder doh) und Schweigen. Die Länge eines Dit bestimmt die Geschwindigkeit, mit der gesendet werden kann, und ist die grundlegende Zeiteinheit. Dazu ein Beispiel: / M O R S E (space) C O D E Genauer gilt Folgendes: Ein Dah ist dreimal so lang wie ein Dit. Die Pause zwischen zwei gesendeten Symbolen ist ein Dit lang. Zwischen Buchstaben in einem Wort wird eine Pause von der Länge eines Dah (oder drei Dits) eingeschoben. Die Länge der Pause zwischen Wörtern entspricht sieben Dits. Für das Beispiel MORSE CODE ergibt sich dann dieses Zeitsignal (das Zeichen = bedeutet Signal an, das Zeichen _ bedeutet Signal aus ): ===_=== ===_===_=== =_===_= =_=_= = ===_=_===_= ===_===_=== == =_=_= = Gesprochen klingt das dann so: dahdah dahdahdah ditdahdit ditditdit dit, dahditdahdit dahdahdah dahditdit dit. SWE1 ITSB-B SS 2015 Seite 3/6

4 *6.) OpenHardware / Raspberry PI Clone: git clone https://its-git.fh-salzburg.ac.at/eforsthofer.lba/swe_pi.git Date: SS2015 Doit: PI + Funkschalter Funksteckdosen via Raspberry Pi über das Terminal, Webinterface oder Siri steuern siehe 1. Hardware aufbauen Technische Daten Sender / Transmitter XY-FST: (3 Pins, DATA-VCC-GND von vorne) Betriebsspannung: 3,5-12V DC Reichweite: m (Abhängig von der Betriebsspannung) Betriebsart: AM Übertragungsrate: 4KB / s Sendeleistung: 10mW Sendefrequenz: 433Mhz Abmessungen: 19 x 19mm Pinbelegung: Data, VCC, Masse (von links nach rechts) Technische Daten Empfänger / Receiver XY-MK-5V (4 Pins ) Betriebsspannung: 5V DC Empfangsfrequenz: 433Mhz Empfindlichkeit: -105dB Abmessungen: 30 x 14mm Sender GND DATA VCC Raspberry Pi GND GPIO17 5V GPIO17 bzw. Pin 11 verwenden siehe 2. Software installieren # PI auf neusten Softwarestand bringen sudo apt-get upgrade sudo apt-get update # Git-Client installieren sudo apt-get install git-core # WiringPI installieren git clone git://git.drogon.net/wiringpi cd wiringpi./build #Raspberry-Remote von xkonni installieren cd ~ git clone git://github.com/xkonni/raspberry-remote.git cd raspberry-remote make send 3. Steckdose schalten Befehl nach dem Schema sudo./send <Hauscode> <Steckdosennummer> <Zustand 1 AN, 0 AUS> # Einschalten mit sudo./send SWE1 ITSB-B SS 2015 Seite 4/6

5 SWE1 ITSB-B SS 2015 Seite 5/6

6 *7.) Schreiben Sie ein Programm mit dem Namen SortANum, welches Argumente über die Kommandozeile entgegennimmt und diese sortiert auf stdout ausgibt. Bei den Argumenten handelt es sich um ganzzahlige 32-Bit-Werte. Das Programm soll folgende Optionen unterstützen: SortArgv [Option] N1 [, N2, N3 ] Option Beschreibung -h Gibt eine kurze Beschreibung der Optionen aus. -a Sortiert aufsteigend (default) -d Sortiert absteigend Wird das Programm ohne Argumente aufgerufen, sollte ebenfalls eine kurze Beschreibung zum Programm auf stdout ausgegeben werden. Aufrufbeispiele: $>./SortArgv $>./SortArgv d $>./SortArgv h SORTARGV [Option] N1 [, N2, N3 ] Sortiert vorzeichenlose 32Bit-Integer. Option Beschreibung -h Gibt eine kurze Beschreibung der Optionen aus. -a Sortiert aufsteigend (default) -d Sortiert absteigend SWE1 ITSB-B SS 2015 Seite 6/6

Benötigte Teile für die Statusanzeige, Kosten und Beschaffungslinks:

Benötigte Teile für die Statusanzeige, Kosten und Beschaffungslinks: Projekt zur Erstellung einer Statusanzeige für die Alarmanlage Lupusec XT2(plus) über einen Raspberry Pi incl. Sprachausgabe und Schaltung von Standard Funksteckdosen Benötigte Teile für die Statusanzeige,

Mehr

RFID RC522. Ausgabe Copyright by Joy-IT 1

RFID RC522. Ausgabe Copyright by Joy-IT 1 3 3 RFID RC522 Ausgabe 28.09.2016 Copyright by Joy-IT 1 3 RFID RC522 Index 1. Verwendung mit einem Arduino 1.1 Anschließen des Moduls 1.2 Installation des Moduls 2. Verwendung mit einem Raspberry Pi 2.1

Mehr

Teile und Herrsche. Themen heute. Eigene Funktionen Parameter Fallunterscheidungen Fehlersuche. Programmieren für Ingenieure Sommer 2015

Teile und Herrsche. Themen heute. Eigene Funktionen Parameter Fallunterscheidungen Fehlersuche. Programmieren für Ingenieure Sommer 2015 Teile und Herrsche Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes C-Programm Vom Programm zum Prozessor Prüfen und Übersetzen Maschinen- Programm Hochladen über USB

Mehr

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **

Mehr

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder

Mehr

einlesen n > 0? Ausgabe Negative Zahl

einlesen n > 0? Ausgabe Negative Zahl 1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2014, 16. Juli 2014 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Steuern und Messen mit Raspberry Pi

Steuern und Messen mit Raspberry Pi 24 C 36 % 24 C Thanks to Openclipart, Fritzing, elinux.org, Liz Grazer Linuxtage 2014 (GLT14) Raspberry Pi Raspberry Pi ist ein kreditkartengroßer EinplatinenComputer, der von der Raspberry Pi Foundation

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

Mehr

Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters

Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters Prof. Dr. Ulrich Breitschuh Hochschule Anhalt(FH) Fachbereich Informatik Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters Hinweis: Die Aufgaben 3, 6 und 8 sind testatpichtige Aufgaben.

Mehr

Dateizugriff unter C

Dateizugriff unter C Begriffe Dateizugriff unter C Datei = sequentielle Ansammlung von Datenbytes, z.b. auf einer Festplatte Auch Bildschirm und Tastatur werden wie Dateien behandelt: Bildschirm ist die Datei stdout Tastatur

Mehr

Probeklausur: BTI2 / Programmieren I Prof. Dr. H. Herold Erlaubte Hilfsmittel: Vorlesungsmitschrift; C-Bücher

Probeklausur: BTI2 / Programmieren I Prof. Dr. H. Herold Erlaubte Hilfsmittel: Vorlesungsmitschrift; C-Bücher Probeklausur: BTI2 / Programmieren I Prüfer Prof. Dr. H. Herold Erlaubte Hilfsmittel: Vorlesungsmitschrift; C-Bücher 1. Aufgabe Was gibt das im folgenden angegebene Programm bei seiner Ausführung auf den

Mehr

I2C Serial 2.6 LCD Modul

I2C Serial 2.6 LCD Modul Ausgabe 08.09.2017 Copyright by Joy-IT 1 Index 1. Verwendung mit einem Arduino 1.1 Anschließen des Displays 1.2 Installation der Bibliothek 1.3 Beispiel-Code 2. Verwendung mit einem Raspberry Pi 2.1 Installation

Mehr

JOY-iT TFT-Display 1.8

JOY-iT TFT-Display 1.8 Ausgabe 07.07.2017 Copyright by Joy-IT 1 Index 1. Verwendung an einem Arduino 1.1 Anschließen des Displays 1.2 Installation der Bibliotheken 1.3 Beispiel-Code 2. Verwendung an einem Raspberry Pi 2.1 Anschließen

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,

Mehr

DC 5V Stepper Motor 28BYJ-48. Verwendung mit einem Arduino

DC 5V Stepper Motor 28BYJ-48. Verwendung mit einem Arduino DC 5V Stepper Motor 28BYJ-48 Sehr geehrter Kunde, vielen Dank, dass Sie sich für unser Produktentschieden haben. Im Folgenden haben wir aufgelistet, was bei der Inbetriebnahme zu beachten ist: Verwendung

Mehr

EasyMeter - Praktikumsaufgaben 14. Dezember 2015

EasyMeter - Praktikumsaufgaben 14. Dezember 2015 Embedded Software WS 2015/16 FH Münster FB2 Thomas Brinkmann, Ludwig Horsthemke EasyMeter - Praktikumsaufgaben 14. Dezember 2015 Aufgabe 1: Einrichtung i) Aufbauen der Schaltungen Bauen Sie zunächst die

Mehr

Geschrieben von: Stefan Sonntag, den 26. Juni 2011 um 09:45 Uhr - Aktualisiert Sonntag, den 26. Juni 2011 um 10:12 Uhr

Geschrieben von: Stefan Sonntag, den 26. Juni 2011 um 09:45 Uhr - Aktualisiert Sonntag, den 26. Juni 2011 um 10:12 Uhr Ich beschreibe hier mal einen einfachen Weg auf einem UBUNTU einen VDR zu installieren und in Betrieb zu nehmen. Wie immer... Wenn man weiß, wie es geht dann geht es ganz einfach Zunächst mal öffnen wir

Mehr

pxdev Linux Tools für PiXtend installieren.

pxdev Linux Tools für PiXtend installieren. pxdev Linux Tools für PiXtend installieren. Anleitung um das pxdev-package auf dem Raspberry Pi zu installieren. Stand 13.12.2014, V1.01 Stand 17.12.2014, V1.01 Qube Solutions UG (haftungsbeschränkt) Luitgardweg

Mehr

CocoaPods Schnelleinstieg

CocoaPods Schnelleinstieg CocoaPods Schnelleinstieg Moritz Haarmann, Software for mobile devices CocoaPods ist das Tool der Wahl, wenn es darum geht, Abhängigkeiten eines Projekts zu verknüpfen. CocoaPods ist kostenlos und quelloffen

Mehr

Arrays (Felder/Vektoren)

Arrays (Felder/Vektoren) Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff

Mehr

RPi SmartHome Control

RPi SmartHome Control 1. Vorbereitung Seite 2 1.1. Was kann man mit dem RPiSmartHome Control machen? 1.2. Benötigtes Werkzeug 1.3. Empfohlenes Werkzeug 2. Aufbau der Platine für den Funksender Seite 3 2.1. Benötigte Komponenten

Mehr

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free() Übungspaket 29 Dynamische Speicherverwaltung malloc() und free() Übungsziele Skript In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten

Mehr

Eine Mini-Shell als Literate Program

Eine Mini-Shell als Literate Program Eine Mini-Shell als Literate Program Hans-Georg Eßer 16.10.2013 Inhaltsverzeichnis 1 Eine Mini-Shell 1 1.1 Einen Befehl parsen......................... 2 1.2 Was tun mit dem Kommando?...................

Mehr

*** Viel Erfolg! ***

*** Viel Erfolg! *** Hochschule München, FK 03 SS 2016 Ingenieurinformatik C-Programmierung Zulassung geprüft: Bachelorstudiengang: Studienbeginn vor WS13/14 (Kombinationsprüfung) ** Studienbeginn ab WS13/14 bis WS15/16 **

Mehr

Raspberry Pi Basis-Workshop

Raspberry Pi Basis-Workshop Raspberry Pi Basis-Workshop Teil 1 Was ist ein Raspberry und wozu ist er gut? Wie installiere ich ein System? Einrichtung und Zugriff via SSH Python, diese Schlange! Grundlegende GPIO-Funktionen mit Python

Mehr

Kurzanleitung zu den Einstellungen für Funk-Steckdosen

Kurzanleitung zu den Einstellungen für Funk-Steckdosen Kurzanleitung zu den Einstellungen für Funk-Steckdosen MicroGuard-USB Funk ist mit einem Sendemodul für 433MHz ausgestattet, mit dem ein Schalten von konventionellen Funk-Steckdosen möglich ist. Dabei

Mehr

Zusammenfassung des Handzettels für Programmieren in C

Zusammenfassung des Handzettels für Programmieren in C Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.

Mehr

I2C Serial 2.6 LCD Modul. Verwendung mit einem Arduino

I2C Serial 2.6 LCD Modul. Verwendung mit einem Arduino I2C Serial 2.6 LCD Modul Sehr geehrter Kunde, vielen Dank, dass Sie sich für unser Produktentschieden haben. Im Folgenden haben wir aufgelistet, was bei der Inbetriebnahme zu beachten ist: Verwendung mit

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

Linkerkit OLED Raspberry Pi und Arduino

Linkerkit OLED Raspberry Pi und Arduino Linkerkit OLED Raspberry Pi und Arduino Sehr geehrter Kunde, vielen Dank, dass Sie sich für unser Produkt entschieden haben. Im Folgenden haben wir aufgelistet, was bei der Inbetriebnahme zu beachten ist:

Mehr

Informatik Kl.8. Name: Herr Schlaefendorf frank@schlaefendorf.de. Webseite: http://www.schlaefendorf.de/schule/

Informatik Kl.8. Name: Herr Schlaefendorf frank@schlaefendorf.de. Webseite: http://www.schlaefendorf.de/schule/ Informatik Kl.8 Name: Herr Schlaefendorf frank@schlaefendorf.de Webseite: http://www.schlaefendorf.de/schule/ Arbeitsmaterial: Schreibzeug, Hefter A4 kleinkariert Sitzplan: Fachraumbelehrung: Bewertung

Mehr

Programmieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff

Programmieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff Programmieren in C Funktionen mit Zeigern und Adressen Prof. Dr. Nikolaus Wulff ByValue versus byreferenz C übergibt immer Kopien der Variablen an Funktionen. Es ist nur dann möglich die Werte von Variablen

Mehr

Installation und Aktualisierung der VMware-Tools

Installation und Aktualisierung der VMware-Tools Installation und Aktualisierung der VMware-Tools [Bei weiteren Fragen wenden Sie sich bitte per Mail an vmwareadmin@uni-trier.de] Inhalt Installation von VMware-Tools... 2 Ubuntu-Linux... 2 Installation

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Winter 2009/2010, 18. Februar 2010 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name:

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Andre Droschinsky Ingo Schulz Dortmund, den 0. Dezember 2015 Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Block rot Es können 4 + 1 Punkte erreicht werden. Abgabedatum: 10. Dezember 2015 2:59 Uhr Hinweise

Mehr

Digi Vox Ultimate Pro

Digi Vox Ultimate Pro Digi Vox Ultimate Pro Bedienungsanleitung Ver. 1.0 Kapitel 1 Wichtiger Hinweis 1.1 Alle Kanale sind vom Empfangsradius abhängig und können von Zeit zu Zeit geändert werden. Die Aufnahme hängt von der Art

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Typ : void* aktuelle Parameter Pointer von beliebigem Typ

Typ : void* aktuelle Parameter Pointer von beliebigem Typ 2. Funktionen - Prototypvereinbarung typangabe funktionsname(parameterliste); - Funktionsdefinition typ funktionsname(parameterliste){ Anweisung - Funktionstyp -> Typ der Funktionswertes zulaessige Typangaben

Mehr

Übung zur Vorlesung Programmieren in C

Übung zur Vorlesung Programmieren in C Übung zur Vorlesung Programmieren in C 6 Pointers Marvin Gülker Ruhruniversität Bochum Wintersemester 2015/2016 Marvin Gülker (Ruhruniversität Bochum) 6 Pointers Wintersemester 2015/2016 1 / 29 Gliederung

Mehr

LCD Modul 84x48. Verwendung mit einem Arduino

LCD Modul 84x48. Verwendung mit einem Arduino LCD Modul 84x48 Nokia 5110 Sehr geehrter Kunde, vielen Dank, dass Sie sich für unser Produktentschieden haben. Im Folgenden haben wir aufgelistet, was bei der Inbetriebnahme zu beachten ist: Verwendung

Mehr

sudo diskutil unmount /dev/disk2s1 sudo diskutil eject /dev/rdisk2

sudo diskutil unmount /dev/disk2s1 sudo diskutil eject /dev/rdisk2 Image auf SD diskutil list sudo diskutil unmount /dev/disk2s1 sudo dd bs=1m if=2014-12- 24- wheezy- raspbian.img of=/dev/ disk2 sudo diskutil eject /dev/rdisk2 Static IP netstat - r - n sudo nano /etc/network/interfaces

Mehr

Raspberry PI als AirPrint Server

Raspberry PI als AirPrint Server Übernommen von http://www.welzels.de/blog Raspberry PI als AirPrint Server Eigentlich bin ich recht zufrieden mit meinem Drucker, sei es von der Qualität oder auch von der Ausstattung. Es handelt sich

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang

Mehr

C-Kurs 2010 Pointer. 16. September v2.7.3

C-Kurs 2010 Pointer. 16. September v2.7.3 C-Kurs 2010 Pointer Sebastian@Pipping.org 16. September 2010 v2.7.3 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. C-Kurs Mi Konzepte, Syntax,... printf, scanf Next

Mehr

Sie müssen den Test bis 20:00 Uhr am Abgabetag dieses Übungszettels absolviert haben.

Sie müssen den Test bis 20:00 Uhr am Abgabetag dieses Übungszettels absolviert haben. Informatik I Wintersemester 2013/14 Prof. Dr. Carsten Damm Georg-August-Universität Göttingen Dr. Henrik Brosenne Institut für Informatik Übung 6 Abgabe bis Dienstag, 10.12., 18:00 Uhr. Werfen Sie Ihre

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Wir übertragen Daten mit Licht

Wir übertragen Daten mit Licht Wir übertragen Daten mit Licht Durch das Internet werden täglich Unmengen von Daten von einem Ort an den anderen transportiert. Häufig geschieht dies über Glasfasern (Abb. 1). An dem einen Ende werden

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

1,8 Display Bedienungsanleitung Raspberry Pi

1,8 Display Bedienungsanleitung Raspberry Pi 1,8 Display Bedienungsanleitung Raspberry Pi Sehr geehrter Kunde, vielen Dank, dass Sie sich für unser Produkt entschieden haben. Im Folgenden haben wir aufgelistet, was bei der Inbetriebnahme zu beachten

Mehr

C++-Zusammenfassung. H. Schaudt. August 18, 2005

C++-Zusammenfassung. H. Schaudt. August 18, 2005 C++-Zusammenfassung H. Schaudt August 18, 2005 1 Datentypen 1.1 Grunddatentypen int (-32xxx bis +32xxx, implementerungs-abhängig) char -128 bis +128 float double bool (C++) int und char sind austauschbar:

Mehr

Montage- und Bedienungsanleitung RWE SmartHome Funkrouter. www.rwe-smarthome.de

Montage- und Bedienungsanleitung RWE SmartHome Funkrouter. www.rwe-smarthome.de Montage- und Bedienungsanleitung RWE SmartHome Funkrouter www.rwe-smarthome.de Inhaltsverzeichnis 1. Hinweise zu dieser Bedienungsanleitung... 4 2. Benutzte Symbole... 4 3. Gefahrenhinweise... 5 4. Funktion...

Mehr

Moto1. 28BYJ-48 Stepper Motor. Ausgabe Copyright by Joy-IT 1

Moto1. 28BYJ-48 Stepper Motor. Ausgabe Copyright by Joy-IT 1 28BYJ-48 Stepper Motor Ausgabe 09.08.2017 Copyright by Joy-IT 1 Index 1. Verwendung mit einem Arduino 1.1 Anschließen des Motors 1.2 Installation der Bibliothek 1.3 Verwendung des Motors 2. Verwendung

Mehr

Moto1. 28BYJ-48 Stepper Motor. Ausgabe Copyright by Joy-IT 1

Moto1. 28BYJ-48 Stepper Motor. Ausgabe Copyright by Joy-IT 1 28BYJ-48 Stepper Motor Ausgabe 30.06.2017 Copyright by Joy-IT 1 Index 1. Verwendung mit einem Arduino 1.1 Anschließen des Motors 1.2 Installation der Bibliothek 1.3 Verwendung des Motors 2. Verwendung

Mehr

Raspberry Pi meets Pocket Code. Tutorial: Ampelschaltung

Raspberry Pi meets Pocket Code. Tutorial: Ampelschaltung Raspberry Pi meets Pocket Code Tutorial: Ampelschaltung Dieses Material steht unter der Creative-Commons-Lizenz Namensnennung 4.0 International. Um eine Kopie dieser Lizenz zu sehen, besuchen sie http://creativecommons.org/licenses/by/4.0/.

Mehr

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Teil 1: Wiederholung C Heutige Agenda Nutzereingaben verarbeiten Teil 2: Grundlagen in C++ Erstes

Mehr

Teil 5: Zeiger, Felder, Zeichenketten Gliederung

Teil 5: Zeiger, Felder, Zeichenketten Gliederung Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik

Mehr

X Anmelden am System. X System herunterfahren. X Grundlegendes zur Shell. X Das Hilfesystem. X Dateioperationen. X Bewegen im Verzeichnisbaum

X Anmelden am System. X System herunterfahren. X Grundlegendes zur Shell. X Das Hilfesystem. X Dateioperationen. X Bewegen im Verzeichnisbaum /LQX[*UXQGODJHQ, (LQI KUXQJLQGLH6KHOO 'DWHLHQXQG 9HU]HLFKQLVVH :DVLVW]XWXQ" X Anmelden am System X System herunterfahren X Grundlegendes zur Shell X Das Hilfesystem X Dateioperationen X Bewegen im Verzeichnisbaum

Mehr

DSW-II-80-Pro HB9GAA. Bedienungsanleitung. Software Version 1.2b. Roland Elmiger. Brunnhaldenstrasse 8 3510 Konolfingen Schweiz

DSW-II-80-Pro HB9GAA. Bedienungsanleitung. Software Version 1.2b. Roland Elmiger. Brunnhaldenstrasse 8 3510 Konolfingen Schweiz HB9GAA Roland Elmiger Brunnhaldenstrasse 8 3510 Konolfingen Schweiz Telefon Fax E-Mail +41 (0) 31 792 04 61 +41 (0) 31 792 04 62 info@elcon.ch DSW-II-80-Pro Bedienungsanleitung Software Version 1.2b 13.

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen 3.2 Auswahl an Stringfunktionen W. Tasin, M.Sc. Fakultät 04 tasin@hm.edu Allgemeines (1) Die ANSI-Norm definiert auch nützliche Funktionen zur ASCIIZ-Stringbearbeitung.

Mehr

Was so passieren wird:

Was so passieren wird: Arduino Einführung Arduino Einführung Was so passieren wird: Was so passieren wird: Arduino Überblick Was so passieren wird: Arduino Überblick Die Taschenlampe Was so passieren wird: Arduino Überblick

Mehr

10 Die Programmiersprache C99: Zusammenfassung

10 Die Programmiersprache C99: Zusammenfassung 10 Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 25. September 2014, 18:40 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html

Mehr

Linux - a bit advanced

Linux - a bit advanced Linux - a bit advanced Überblick Rechteverwaltung Dateisystem Shell-Programmierung Remote login Paketsystem Alternativen-System Rechte Drei Benutzerklassen Owner/User Group Others Drei Rechte Ausführen

Mehr

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 5. Blatt Für den 26. und

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 5. Blatt Für den 26. und Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 5. Blatt Für den 26. und 27.5.2008 Organisatorisches Um auf die Mailingliste aufgenommen zu werden schicke einfach eine

Mehr

Hey Siri Hallo Jasper. Eike Holtz Infratix GmbH Chemnitzer Linuxtage 2017

Hey Siri Hallo Jasper. Eike Holtz Infratix GmbH Chemnitzer Linuxtage 2017 Hey Siri Hallo Jasper Eike Holtz Infratix GmbH Chemnitzer Linuxtage 2017 Jasper Open Source Plattform Spracherkennung Python IoT / Alywas On / Cloud based / Weitere Buzzwörter hier einfügen Raspberry Pi

Mehr

Funktionen in PHP 1/7

Funktionen in PHP 1/7 Funktionen in PHP 1/7 Vordefinierte Funktionen in PHP oder vom Entwickler geschriebene Funktionen bringen folgende Vorteile: gleiche Vorgänge müssen nur einmal beschrieben und können beliebig oft ausgeführt

Mehr

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 25 2 / 25 Pipes Die Bash kennt drei Standard-Dateideskriptoren: Standard In (stdin) Standard-Eingabe,

Mehr

VINCULUM Adapter für USB-Sticks Getting Started

VINCULUM Adapter für USB-Sticks Getting Started jean-claude.feltes@education.lu 1 VINCULUM Adapter für USB-Sticks Getting Started Leider gibt es von der Firma selbst keine Schnelleinführung. Hier das Ergebnis meiner Experimente. Vielleicht hilft es

Mehr

Application Note. PiXtend Mikrocontroller Firmware Update. APP-PX-540 Stand 11.11.2015, V1.00

Application Note. PiXtend Mikrocontroller Firmware Update. APP-PX-540 Stand 11.11.2015, V1.00 Application Note PiXtend Mikrocontroller Firmware Update APP-PX-540 Stand 11.11.2015, V1.00 Qube Solutions UG (haftungsbeschränkt) Luitgardweg 18, 71083 Herrenberg, Germany http://www.qube-solutions.de/

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit

Mehr

Betriebssysteme, Rechnernetze und verteilte Systeme 1. Crashkurs C (2)

Betriebssysteme, Rechnernetze und verteilte Systeme 1. Crashkurs C (2) Betriebssysteme, Rechnernetze und verteilte Systeme 1 Crashkurs C (2) Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

Rechnernetze Praktikum. Versuch 5: Linux embedded. Ziel

Rechnernetze Praktikum. Versuch 5: Linux embedded. Ziel Rechnernetze Praktikum Versuch 5: Linux embedded Ziel Installieren des Betriebssystems Raspian auf einem Raspberry mit anschließender Konfiguration und Installation weiterer Programme unter Linux. Greifen

Mehr

Name: Klausur Programmierkonzepte SS 2011

Name: Klausur Programmierkonzepte SS 2011 Prof. Dr.-Ing. Hartmut Helmke Ostfalia Hochschule für angewandte Wissenschaften Fakultät für Informatik Matrikelnummer: Punktzahl: Ergebnis: Freiversuch F1 F2 F3 Klausur im SS 2011: Programmierkonzepte

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C Marcel Arndt arndt@ins.uni-bonn.de Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include

Mehr

F Zeiger, Felder und Strukturen in C

F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts

Mehr

Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind

Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen Ziel, Inhalt Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen 1 Ziel, Inhalt

Mehr

Grundlagen der Informatik - 6. Praktikum

Grundlagen der Informatik - 6. Praktikum Grundlagen der Informatik - 6. Praktikum In diesem Praktikum soll es neben der Anwendung von Funktionsdefinitionen auch um einfache Prinzipien der verteilten Quelltext-Strukturierung gehen. Diese spielt

Mehr

Programmieren in C. Zeiger und Zeichenketten. Prof. Dr. Nikolaus Wulff

Programmieren in C. Zeiger und Zeichenketten. Prof. Dr. Nikolaus Wulff Programmieren in C Zeiger und Zeichenketten Prof. Dr. Nikolaus Wulff Zeiger Variablen benötigen zur Laufzeit einen bestimmten Speicherplatz. Die Größe des Bedarfs richtet sich nach dem Typ der Variablen,

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 5 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

Mehr

Grundlagen der Informatik 6. Arrays I

Grundlagen der Informatik 6. Arrays I 6. Arrays I Motivation Array (konstante Länge) Speicherbereich Eingabe von Arrays Grundlagen der Informatik (Alex Rempel) 1 Motivation Beispiel: Bildschirmpixel zeichnen Auflösung 800x600, d.h. insgesamt

Mehr

Verdrahten des GPS Empfängers mit dem Raspberry Pi:

Verdrahten des GPS Empfängers mit dem Raspberry Pi: Willkommen! Und herzlichen Dank für den Kauf unseres AZ-Delivery NEO-6M GPS Moduls für den Raspberry Pi, Arduino oder PC! Auf den folgenden Seiten gehen wir mit dir gemeinsam die ersten Schritte von der

Mehr

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Informatik Repetitorium SS 2009 Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Operatoren und Datentypen Beispiel: Anweisungen Variable int a float b int c a= a % (int) (++b-1/4) Vorher 36 3.5 c=b

Mehr

Betriebssysteme: Konzepte, Dienste, Schnittstellen (Betriebssysteme und betriebssystemnahe Programmierung)

Betriebssysteme: Konzepte, Dienste, Schnittstellen (Betriebssysteme und betriebssystemnahe Programmierung) BERGISCHE UNIVERSITÄT WUPPERTAL GAUSS-STRASSE 20 42119 WUPPERTAL TELEFAX (0202) 439-2901 TELEFON (0202) 439-0 WWW www.uni-wuppertal.de Fachbereich C MATHEMATIK UND NATURWISSENSCHAFTEN Fachgruppe Mathematik

Mehr

mjpg-streamer Installation

mjpg-streamer Installation mjpg-streamer Installation Installation des mjpg-streamer. 15. März 2016 https://www.doorpi.org/forum/thread/36-installation-des-mjpg-streamer/?postid=6271 &highlight=mjpg-streamer#post6271 sudo apt-get

Mehr

2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben. Programmieren bei Dr. Robert Heß TM&M1, IST1 und ET1 Ende SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll im

Mehr