Verfügbare Informationen zu "Problem mit dem Kreisradiusberechnungsprogramm"
Qualität des Beitrags: Beteiligte Poster: freaky_jan - Dragorad - Dirty Oerty - detewe89 - orluk - wirthi Forum: Tutorials.at Forenbeschreibung: Programmierforum aus dem Unterforum: Pascal Antworten: 19 Forum gestartet am: Mittwoch 19.04.2006 Sprache: deutsch Link zum Originaltopic: Problem mit dem Kreisradiusberechnungsprogramm Letzte Antwort: vor 16 Jahren, 5 Monaten, 23 Tagen, 22 Stunden, 20 Minuten
Alle Beiträge und Antworten zu "Problem mit dem Kreisradiusberechnungsprogramm"
Re: Problem mit dem Kreisradiusberechnungsprogramm
freaky_jan - 23.05.2007, 21:12Problem mit dem Kreisradiusberechnungsprogramm
Hallo zusammen
Habe mich eben registriert. Ich habe seit ein paar Tagen angefangen Pascal zu lernen und bin im Tutorial gerade bei Kapitel 1 beim Kreisradiusbearberechnungsprogramm. Nachdem ich das Programm geschrieben hatte habe ich es natürlich sofort getestet. Ich habe als Umfang 5 genommen. Die Zahl die erscheint lautet: 3,141592654... Ich habe das auch in meinem Taschenrechner nachgerechnet, habe 2 * 5 * pi eingetippt und der sagt es gäbe: 31.41592654... also eine Stelle mehr als beim Programm. Ich habe auch mit dem Taschenrechner meiner Schwester nachgerechnet und der sagt das selbe wie meiner. Könnt ihr mir sagen, warum der Taschenrechner und das Programm unterschiedliche Ergebnisse ausgeben?
Mfg freaky_jan
Re: Problem mit dem Kreisradiusberechnungsprogramm
Dragorad - 24.05.2007, 10:50
Probier's mal so:
Code: var r,u:real
Code: readln(r);{liest den Radius ein}
u:=2*r*3.14; {berechnet Kreisumfang; statt 2*3.14 kannst du auch 6.28 schreiben}
writeln(u);
Re: Problem mit dem Kreisradiusberechnungsprogramm
freaky_jan - 24.05.2007, 12:11
nein geht immer noch nicht zeigt genau das gleiche Resultat an wie vorher.
Re: Problem mit dem Kreisradiusberechnungsprogramm
Dirty Oerty - 24.05.2007, 14:40
der taschenrechner hat auf jedenfall recht, das kann ich sagen^^
weil 10 * PI is nunmal 31,4... :D
Re: Problem mit dem Kreisradiusberechnungsprogramm
detewe89 - 24.05.2007, 16:27
kann es sein dass im Programm das hier steht:
Code: 3.141...E+2 oder so ähnlich?
das würde heißen: 3.141 MAL 10 HOCH 2 und wäre richtig...
Re: Problem mit dem Kreisradiusberechnungsprogramm
freaky_jan - 24.05.2007, 16:34
Zitat: kann es sein dass im Programm das hier steht:
Code:
3.141...E+2
oder so ähnlich?
das würde heißen: 3.141 MAL 10 HOCH 2 und wäre richtig...
Ja etwa so steht es. Ist diese Zahl denn in Wirklichkeit doch 31,4...?
Re: Problem mit dem Kreisradiusberechnungsprogramm
detewe89 - 24.05.2007, 16:47
Ja ist sie! :D
Bei Pascal und sonst in der mathematischen Schreibweise gilt:
E heißt immer "...mal 10 hoch..."
bei Dir steht da wohl E+1, das bedeutet "mal 10 hoch 1", und zwhn hoch 1 ist nunmal 10, also ergibt das ganze auch 31.415.....
Re: Problem mit dem Kreisradiusberechnungsprogramm
freaky_jan - 24.05.2007, 16:50
detewe89 hat folgendes geschrieben: Ja ist sie! :D
Bei Pascal und sonst in der mathematischen Schreibweise gilt:
E heißt immer "...mal 10 hoch..."
bei Dir steht da wohl E+1, das bedeutet "mal 10 hoch 1", und zwhn hoch 1 ist nunmal 10, also ergibt das ganze auch 31.415.....
ok dann bin ich beruhigt. trotzdem stört mich diese darstellung ein bisschen. kann man mit zusätzlichen befehlen das ändern?
Re: Problem mit dem Kreisradiusberechnungsprogramm
Dragorad - 25.05.2007, 12:45
Jup, das geht - und zwar so:
Code: x:=(zahl,5,2)
die erste Zahl beschreibt die Gesamtstellen (mit dem Komma bzw. Punkt);
die zweite sagt, wieviele Nachkommastellen es gibt
Re: Problem mit dem Kreisradiusberechnungsprogramm
orluk - 31.10.2007, 19:54
Dragorad hat folgendes geschrieben: Jup, das geht - und zwar so:
Code: x:=(zahl,5,2)
die erste Zahl beschreibt die Gesamtstellen (mit dem Komma bzw. Punkt);
die zweite sagt, wieviele Nachkommastellen es gibt
Was ist hier was? Wenn die Variable zahl die Eingabe ist deren Ausgabe geändert werden soll, was ist dann x? So funktioniert dass bei mir jedenfalls nicht wenn ich das ganze in eine neue Variable speichere.
Re: Problem mit dem Kreisradiusberechnungsprogramm
orluk - 01.11.2007, 21:40
Problem gelöst. Eine weitere Frage auf die ich merkwürdigerweise keine Antwort finde.
Wie Deklariert man Char Variablen so, dass sie beispielsweise nur a oder b speichern können?
e: Ne hab ne bessere Frage:
Wie mach ich es dass bei einer repeat Scheife, es bei Until 2 optionen geben kann? Also die Schleife soll abgebrochen werden, wenn die Variable x
entweder a oder b ist.
Re: Problem mit dem Kreisradiusberechnungsprogramm
Dragorad - 03.11.2007, 00:05
zu 1.) da fällt mir erstmal nur var x:char ein ...
zu 2.) repeat ... until (x=a) or (x=b) ;)
Re: Problem mit dem Kreisradiusberechnungsprogramm
orluk - 03.11.2007, 01:57
Komisch, das hatte ich doch schon ausprobiert, nur jetzt funktioniert es. Vorher nicht.
Re: Problem mit dem Kreisradiusberechnungsprogramm
orluk - 03.11.2007, 02:11
Ok, danke. Hab jetzt aber noch 2 weitere Fragen.
1. Wieso funktioniert das nicht?
Code:
PROGRAM kreis4;
USES crt;
CONST Pi = 3.141;
VAR Radius, Ergebnis: real;
Ausgang: Char;
Menge: Set of Char;
BEGIN
PROCEDURE neustart;
REPEAT
Menge := ['n', 'y'];
ClrScr;
Write ('Radius eingeben: ');
ReadLn (Radius);
Ergebnis := 2 * Pi * Radius;
WriteLn;
WriteLn ('Der Umfang des Kreises ist ', Ergebnis:5:2);
WriteLn;
WriteLn ('Neue Zahlen eingeben? (y/n)');
Ausgang := Readkey;
IF Ausgang IN Menge THEN
BEGIN
END
ELSE
BEGIN
neustart;
END;
END;
UNTIL (Ausgang = 'n');
END.
2. Gibt es eine einfachere Methode eine Abfrage zu machen bei der der Benutzer nur 2 Buchstaben eingeben kann? Das heisst wenn er einen falschen eingibt soll für den Benutzer gar nichts passieren und die Abfrage soll wiederhohlt werden.[/code]
Re: Problem mit dem Kreisradiusberechnungsprogramm
detewe89 - 03.11.2007, 12:16
Zu 1..:
Ich weiß nicht genau ob das in Pascal auch so ist aber zumindest in C ist es so, dass wenn Du Variablen außerhalb der Prozedur definierst, erkennt die Prozedur diese auch nicht, sie bestehen nur für das Hauptprogramm.
Zu 2.:
Ja, es gbt eine etwas elegantere Methode für die Abfrage:
Code: ausgabe := readkey;
if ((ausgabe = 'y') or (ausgabe = 'Y'))
then
begin
neustart;
end;
else
begin;
end;
P.S.: Gut wäre, wenn Du Dein Problem bei (1.) etwas genauer schildern könntest (Compilermeldungen, ...).
Gruß, Daniel
Re: Problem mit dem Kreisradiusberechnungsprogramm
wirthi - 03.11.2007, 16:08
detewe89 hat folgendes geschrieben: Zu 1..:
Ich weiß nicht genau ob das in Pascal auch so ist aber zumindest in C ist es so, dass wenn Du Variablen außerhalb der Prozedur definierst, erkennt die Prozedur diese auch nicht, sie bestehen nur für das Hauptprogramm.
Hmmm? Natürlich kannst du in C globale Variablen anlegen:
Code: #include <stdio.h>
int i=2611;
int main() {
printf("%d\n",i);
return 0;
}
Funktioniert einwandfrei.
Es gibt in C auch kein Hauptprogramm, wie das in Pascal der Fall ist. Wenn du die main-Funktion meinst: die ist eine Funktion wie jede andere auch; natürlich kann auf darin deklarierte Variablen nicht in anderen Funktionen zugegriffen werden.
Re: Problem mit dem Kreisradiusberechnungsprogramm
detewe89 - 03.11.2007, 17:40
s. u.
Re: Problem mit dem Kreisradiusberechnungsprogramm
detewe89 - 03.11.2007, 17:41
naja, da lag ich wohl falsch...
ich dachte nicht, dass die Variablen von orluk als global gelten ,sondern nur für das PROGRAM kreis4 zur Verwendung stehen, nicht für die PROCEDURE neustart!
sollte mich mal wieder ins Tutorial einlesen, hab grad nur C und C++ gemacht, also sry :)
P.S.: Das mit den Variablen in C weiß ich schon... :D
Re: Problem mit dem Kreisradiusberechnungsprogramm
wirthi - 03.11.2007, 18:19
@orluk: Du legst mit VAR globale variablen an. Dann hast du ein BEGIN, mit dem das Hauptprogramm eingeleitet wird. Danach machst du aber eine Prozedur (neustart), und das Hauptprogramm fehlt komplett. Es sollte eher so ausschauen (Pseudocode):
Code: PROGRAM ...
VAR ...
PROCEDURE neustart
BEGIN
REPEAT ...
..
UNTIL ...
END
BEGIN
(* hier das Hauptprogramm *)
END.
Im Hauptprogramm willst du eigentlich nur neustart aufrufen, vermute ich.
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken
Weitere Beiträge aus dem Forum Tutorials.at
Text? - gepostet von gs93 am Sonntag 19.11.2006
Mein Würfelprogramm funktioniert nicht richtig... - gepostet von Godmaster am Samstag 23.09.2006
Hilfe beim Tutorial - gepostet von toxicity am Mittwoch 23.08.2006
Pascal - Tutorial fertig - was jetzt ? - gepostet von jan040793 am Sonntag 18.11.2007
öffnen von dateien mit variablen namen - gepostet von Martix391 am Montag 12.06.2006
Frage zu Pascal - gepostet von Danny am Montag 12.03.2007
PROGRAMMSAMMLUNG - gepostet von DrPhil_Guth am Freitag 25.08.2006
Variablen tauschen - gepostet von Joe am Samstag 03.11.2007
Ähnliche Beiträge wie "Problem mit dem Kreisradiusberechnungsprogramm"
Wir haben ein Problem!!! - Langi (Freitag 09.11.2007)
Hassu N Problem ????? - Anonymous (Montag 13.12.2004)
schon das erste problem.... :-( - jonnyb (Donnerstag 21.06.2007)
Ein PC NooB hat ein Sound Problem - Vergil (Mittwoch 31.10.2007)
Problem - Dragonfly (Samstag 21.07.2007)
Rießen Problem!!Bitte alle lesen!!!! - Jule14 (Samstag 07.01.2006)
!!! kleines Problem bei Bundesliga 05/06 !!! - bundesliga0506 (Mittwoch 20.07.2005)
Point of Existence 2 Mod Singleplayer Problem! - dirtrunner (Dienstag 05.09.2006)
Und noch ein Altbekannter Aero - BAUR547 (Donnerstag 03.11.2011)
USKO - ServerLogin Problem "Disconnected from Server&qu - rauron (Freitag 21.04.2006)