In R lassen sich auch interaktive Programme erstellen.
Zum Lernen der Möglichkeiten hier ein Zahlenratespiel:
> zahlenraten() Willkommen beim Zahlenraten in R! Ich habe mir eine geheime Zahl ausgedacht. Versuche, diese Zahl zu erraten. Ich gebe Dir auch ein paar Hinweise. Und los geht's: Gib bitte eine Zahl zwischen 0 und 1000 ein: 1: 500 Du hast 500 eingegeben. Zu hoch geraten. Gib bitte eine Zahl zwischen 0 und 1000 ein: 1: 250 Du hast 250 eingegeben. Zu hoch geraten. Gib bitte eine Zahl zwischen 0 und 1000 ein: 1: 125 Du hast 125 eingegeben. Zu niedrig geraten. [...] Gib bitte eine Zahl zwischen 0 und 1000 ein: 1: 210 Du hast 210 eingegeben. Richtig! Du hast 12 Versuche gebraucht. Wenn Du systematisch vorgehst und den Suchbereich in Hälften teilst, solltest Du nicht mehr als log2(1000)= 9.965784 Versuche benötigen.
Rufen Sie mit fix(zahlenraten)
den R-Editor auf und kopieren Sie untenstehenden Programmcode hinein. Nach dem Speichern können Sie das Programm mit zahlenraten()
ausführen.
Versuchen Sie, den Programmcode zu analysieren. Verwenden Sie die Hilfefunktion in "R", um mehr über die verwendeten Funktionen zu erfahren: ?cat
, ?runif
.
function () { cat("\nWillkommen beim Zahlenraten in R! \n\n") geheimzahl=floor(runif(n=1, min=0, max=1000)) cat("Ich habe mir eine geheime Zahl ausgedacht. ") cat("Versuche, diese Zahl zu erraten.\nIch gebe Dir auch ein paar Hinweise.\n") cat("Und los geht's:\n\n") anzahl_versuche=0 repeat{ anzahl_versuche=anzahl_versuche+1 cat("Gib bitte eine Zahl zwischen 0 und 1000 ein: ") antwort <- scan( nlines=1, quiet=TRUE) cat("Du hast ",antwort," eingegeben. ") if (antwort < geheimzahl ) cat("Zu niedrig geraten.\n") if (antwort > geheimzahl ) cat("Zu hoch geraten.\n") if (antwort == geheimzahl ) break } cat("Richtig!\nDu hast ", anzahl_versuche, " Versuche gebraucht.\n") cat("Wenn Du systematisch vorgehst und den Suchbereich in Hälften teilst,\n") cat("solltest Du nicht mehr als log2(1000)=", log2(1000), "Versuche benötigen.\n\n") }