Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

TURBO PASCAL HAUSAUFGABE???

 ??? ??? ??? ???

Hallo brauche dringend Hilfe bei diesem Programm:
Aufgabenstellung:

Schreiben Sie ein Programm, das entweder von einem Kreis, Rechteck oder Kreis den Flächeninhalt und Umfang berechnet, nach dem die jeweilige geometrische Form ausgewählt wurde.

Die Berechnung stimmen so weit,
aber ich bekomme die if then Funktion einfach nicht zum Laufen.

Wäre jedem Hinweis sehr sehr dankbar.


program Flaeche;
{Dave Marvin}

uses wincrt;
var kreis, rechteck, dreieck, area, umfang, radius, a, b, c, g, h : real;
const pi=3.14159265;
begin


  writeln('Dieses Programm errechnet Ihnen den Flächeninhalt und');
  writeln('den Umfang eines Kreises, Rechtecks oder Dreiecks.');
  write('Bitte treffen Sie nun Ihre Wahl. ');
  readln(kreis);
  readln(rechteck);
  readln(dreieck);

  if kreis = kreis
  then begin
  write('Geben Sie bitte den Radius des Kreises ein. ');
  readln(radius);
  end;

  area:= pi * sqr(radius);
  umfang:= 2 * pi * radius;




  writeln('Der Flächeninhalt des Kreise beträgt ' , area:8:2 , ' cm²');
  writeln('Der Umfang des Kreises beträgt ' , umfang:8:2 , ' cm');

  write('Geben Sie bitte die Seiten Länge a des Rechtecks ein. ');
  readln(a);
  write('Geben Sie bitte die Seiten Länge b des Rechtecks ein. ');
  readln(b);

  area:= a * b;
  umfang:= 2 * (a+b);

  writeln('Der Flächeninhalt des Rechtecks beträgt ' , area:8:2 , ' cm²');
  writeln('Der Umfang des Rechtecks beträgt ' , umfang:8:2 , ' cm');






  write('Geben Sie bitte die Länge g der Grundseite des Dreiecksein. ');
  readln(g);
  write('Geben Sie bitte die Höhe h des Dreiecks ein. ');
  readln(h);

  write('Geben Sie bitte die Seiten Länge a des Dreiecks ein. ');
  readln(a);
  write('Geben Sie bitte die Seiten Länge b des Dreiecks ein. ');
  readln(b);
  write('Geben Sie bitte die Seiten Länge c des Dreiecks ein. ');
  readln(c);

  area:= (g*h)/2;
  umfang:= a+b+c;

  writeln('Der Flächeninhalt des Rechtecks beträgt ' , area:8:2 , ' cm²');
  writeln('Der Umfang des Rechtecks beträgt ' , umfang:8:2 , ' cm');


end.


Antworten zu TURBO PASCAL HAUSAUFGABE???:

Hallo Dave,
bei deinem Programm stimmt die gesamte Struktur nicht. Die von dir angegebene if ... then-Anweisung ist immer erfüllt, da die Abfrage den Inhalt der Variablen kreis mit dem Inhalt der Varibalen kreis vergleicht. Dieses Ergebnis ist immer wahr. Ab der Anweisung "area:= pi * sqr(radius);" wird das Programm immer komplett durchlaufen, so dass für jede geometrische Form immer eine Berechnugn durchgeführt wird.

Hier ein Vorschlag für die grundsätzliche Programmstruktur:
1. Abfrage, welche geometrische Form berechnet werden soll. z.B. Eingabe '1' für einen Kreis, Eingabe '2' für ein Rechteck und Eingabe '3' für ein Dreieck.
2. Dann folgt die if-Abfrage:
   if Eingabe = '1' then begin <Kreisberechnung> end;
   if Eingabe = '2' then begin <Rechteckberechnung> end;
   if Eingabe = '3' then begin <Dreieckberechnung> end;
   Zu jeder Berechnung gehört Eingabe der Parameter, Berechnung, Ausgabe Ergebnis.
3. Programmende oder Rücksprung an die Auswahlfunktion (siehe 1.).
Alternativ kann die if-Abfrage auch mit der Case-Anweisung erfolgen.
Die Eingabe und Berechnugnsteile können vermutlich unverändert übernommen werden (habe ich jetzt nicht gepürft).
Ich hoffe ich konnte dir helfen

 :)

Ich danke dir für deine rasche Antwort!

Ich musste lediglich die readln("EINTRÄGE") ändern und diese für einen readln(Eintrag)ändern und dann
bei der if then anweisung if eintrag = 1 oder 2/3 ebenfalls verändern.

Nun läuft das Programm wie ich es mir vorgestellt habe.
Nochmals danke

Gruß
Dave


« Welches Buch für C?vb 5.0 »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Internet-Zugriffsprogramm
Ein Internet-Zugriffsprogramm, auch Browser genannt, stellt Internetseiten für den Benutzer dar. Am bekanntesten ist der Microsoft Internet Explorer, gefolgt vom kos...

Programm
Siehe Software...

Formatieren
  Das Formatieren einer Festplatte, HDD oder SSD bereitet das Laufwerk auf neue Daten vor. Dazu werden sämtliche alten Daten gelöscht, damit die...