Workshop: Programmieren Kurs

Programmieren Workshop

In diesem Workshop soll es um die Vermittlung elementarer Programmierkenntnisse in bezug auf Roboter gehen. Vorkenntnisse sind nicht erforderlich.

Termin

Mo. 07.01.2013 findet kein Kurs statt!
Termin wird nachgeholt.

Jeden Mo. 16:00 Uhr
in C12-2.72 (Laborraum).

C-Aufgaben

Hier sind alle C-Programmieraufgaben aus dem Workshop zusammengefasst

Programme kompilieren

Um in einem Texteditor erstelle C-Programme zu kompilieren (also ausführbare Dateien zu erzeugen) muss folgender Befehl auf der Kommandozeile eingegeben werden:

gcc -o <DEST> <SRC>

<DEST> ist die ausführbare Datei die erzeugt werden soll (unter Linux einfach ein Dateiname ohne Endung, unter Windows mit .exe)
<SRC> ist die Quelldatei (meist *.c)

Programme starten unter Linux

Um kompilierte Programme unter Linux zu starten folgenden befehl eingeben:

./<DEST>

<DEST> ist die ausführbare Datei

Aufgabe 1

Aufgabe:
Finde die Summe der Zahlen aus 10! (Zehn Fakultät)

Beispiel:
10! = 10 x 9 x 8 x … x 1 = 3628800
3 + 6 + 2 + 8 + 8 + 0 + 0 = 27

Programmcode:

Aufgabe 2

Aufgabe:
Finde die Summe aller Vielfachen unter 1 Millionen von 3 und 5.

Beispiel:
Alle Vielfachen von 3 und 5 unter 10 sind: 1x3=3, 2x3=6, 3x3=9, 1x5=5
Die Summe dieser Vielfachen ist 3 + 6 + 9 + 5 = 23

Programmcode:

Aufgabe 3

Aufgabe:
Für welche Zahl < n ergibt sich die längste Kette mit folgender Bildungsregel:

n ist gerade: n > n/2
n ist ungerade: n > 3n + 1

Beispiel:
Anfangszahl = 13
13 (ungerade) > 40
40 (gerade) > 20
20 (gerade) > 10

ergibt:
13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1
entspricht 10 Werten

Hinweis: Das letzte Element einer Kette ist immer 1

Programmcode:

Aufgabe 4

Aufgabe:
Geben Sie die Ziffernreihenfolge von 3 zufällig ausgewählten Ziffern eines eingegebenen Pincodes aus. Verwenden Sie zur Bestimmung der einzelnen Ziffern eine Funktion.

Beispiel:
Eingegebener Pincode: 3658264985
Abgefragte Ziffern an den Stellen 3, 5, 7 sind 5, 2, 4.
Ziffernreihenfolge = 524

Programmcode:

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License