## Gravitationsgesetz nach Converse ## Interaktives Skript fuer R ## ## (c) Detlev Reymann 2007 ## detlev@reymann.eu ## Letzte Bearbeitung 10.06.2006 ## Funktion ZahlInteraktivEinlesen ## Hilfsfunktion fuer die interaktive Eingabe ZahlInteraktivEinlesen <- function() { Eingabe <- NA; while (is.na(Eingabe)) { cat("Bitte Wert eingeben: "); (Eingabe <- as.numeric(readLines(stdin(), 1))); } return(Eingabe); } ## ## Abfrage der noetigen Parameter ## cat("\n"); cat("============================================="); cat("\n"); cat("Berechnung des breaking points zweier Standorte\nnach dem Gravitationsgesetz von Converse.\n"); cat("============================================="); cat("\n"); cat("\n"); cat("Bitte geben Sie nachfolgend die Werte fuer die notwendigen Parameter ein.\n") cat("\n"); cat("Angaben zur Attraktivitaet\n"); cat("---------------------------------------------"); cat("\n"); cat("Converse/Reilly operationalisieren die Standortattraktivitaet urspruenglich mit Hilfe\nder Einwohnerzahl spaeter auch durch die Einkaufsflaeche\n"); cat("\n"); cat("Attraktivitaetsfaktor fuer Standort 1:\n"); A1 <- ZahlInteraktivEinlesen(); cat("Attraktivitaetsfaktor fuer Standort 2:\n"); A2 <- ZahlInteraktivEinlesen(); cat("Angaben zu den Distanzen\n"); cat("---------------------------------------------"); cat("\n"); cat("Distanz zwischen Standorten:\n"); Distanz <- ZahlInteraktivEinlesen(); ## ## Hier die eigentliche Berechnung ## BreakingPointd1 <- Distanz/(1+sqrt(A1/A2)); BreakingPointd2 <- Distanz/(1+sqrt(A2/A1)); ## ## Ausgabe des Ergebnisses ## cat("\n"); cat("Berechnung des breaking points nach Converse,"); cat("\n"); cat("es wurden folgende Ausgangswerte verwendet:"); cat("\n"); cat("Attraktivitaetsfaktor Standort 1: ");print(A1); cat("Attraktivitaetsfaktor Standort 2: ");print(A2); cat("Distanz zwischen den Standorten: ");print(Distanz); cat("\n"); cat("Der breaking point zwischen Standort 1 und Standort 2 betraegt:\n"); cat("von Standort 1 in Richtung Standort 2: "); print(BreakingPointd1); cat("von Standort 2 in Richtung Standort 1: "); print(BreakingPointd2);