Dein Fortschritt:
0 / 0 Aufgaben
1
Der Fahrradcomputer
AFB I–IIMia fährt mit dem Rad zur Schule und möchte ihre Fahrten auswerten. Für einen selbst gebauten Fahrradcomputer schreibt sie in C zwei Funktionen: tempo berechnet aus Strecke (in km) und Fahrzeit (in Minuten) die Durchschnittsgeschwindigkeit in km/h, zeigeFahrt gibt eine Fahrt aus. Die Kommentare A bis E markieren Stellen im Quelltext.
C · fahrrad.c
#include <stdio.h> double tempo(double strecke, double minuten); // A void zeigeFahrt(double strecke, double minuten); int main(void) { double km = 12.6; double min = 42.0; zeigeFahrt(km, min); // B zeigeFahrt(8.0, 25.0); return 0; } double tempo(double strecke, double minuten) { // C return strecke / minuten * 60; // D } void zeigeFahrt(double strecke, double minuten) { // E printf("Strecke: %5.1f km\n", strecke); printf("Tempo: %5.1f km/h\n", tempo(strecke, minuten)); }
Später möchte Mia auch Pausen berücksichtigen und ergänzt eine Funktion. Sie erwartet danach die Ausgabe „Gesamt: 52 min“.
C · Mias Ergänzung
void mitPause(double minuten) { minuten = minuten + 10; } // in main, nach zeigeFahrt(km, min): mitPause(min); printf("Gesamt: %.0f min\n", min);
- Ordnen Sie den Markierungen A bis E jeweils einen der Begriffe zu: Funktionsdefinition ohne Rückgabewert, Prototyp (Deklaration), Aufruf, Rückgabe eines Werts, Kopf einer Funktionsdefinition mit Rückgabetyp
double. - Berechnen Sie die vier Zeilen, die
fahrrad.causgibt, und notieren Sie sie mit den Leerzeichen der Formatangaben. - Weisen Sie nach, dass nach Mias Ergänzung „Gesamt: 42 min“ ausgegeben wird, und ändern Sie die Funktion
mitPauseund ihren Aufruf so, dass 52 min erscheinen.
Hinweise
Hinweis zu Aufgabe a)
Achten Sie darauf, ob hinter der Klammer ein Semikolon oder ein Block
{ … } steht, und ob eine Funktion benutzt oder beschrieben wird.Hinweis zu Aufgabe b)
Rechnen Sie Minuten in Stunden um: km / min · 60.
%5.1f gibt eine Nachkommastelle aus und belegt insgesamt 5 Zeichen.Hinweis zu Aufgabe c)
Was bekommt
mitPause beim Aufruf übergeben — die Variable min selbst oder nur ihren Wert? Wie kann eine Funktion ein Ergebnis an den Aufrufer zurückgeben?„Nachweisen“ heißt: mit dem Ablauf im Speicher schlüssig belegen, nicht nur behaupten.