[Pascal] Division by zero

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Schmidt, 12. Oktober 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 12. Oktober 2006
    Division by zero

    Guten abend.

    so jungs ich schreib mir gerade ein programm das meine hausaufgaben leichter machen soll es ist noch lange nicht fertig und ich hab auch erstmal nur grob drüber progammiert..
    ich benutze turbopascal 7.
    wenn ich compilen lasse sagt das programm alles 1a spitzenklasse.. aber wenn ich es starte kommt dauernd error 200 division by zero

    und das erst seit dem ich die uses crt benutze und clrscr (clearscreen) als befehl egal wo reinhaue..

    so ich kann euch ja mal mein wirklich sehr billiges programm geben aber ich habe gar keine lust weiter zu machen wenn ich nicht den clearscreen benutzen kann :(

    also bei google kommt da nur sinnlos bei mir.. aber ich war in googlen nie gut..

    wäre nett wenn ihr mir helfen könntet würde euch auch gut berwerten..

    thx im vorraus schmidt.

     

  2. Anzeige
    Dealz: stark reduzierte Angebote finden.
  3. #2 12. Oktober 2006
    AW: Division by zero

    erstma, dein ständiges readln() writeln zwischen den zeilen is doof, lass es einfach weg ^^
    und nu zu deinem code:
    Code:
    program chemie_rechnung;
    
    uses crt;
    var q,m,v,c : real;
    begin
    clrscr;
    readln;
    writeln('Wenn du die Waerme berechnen willst gebe bitte folgende Werte an!');
    writeln('Beachte es muessen die Grundeinheitenbenutzt werden!');
    readln;
    writeln;
    write('spez. Waeremekapazitaetist?'); write('c= ');
    readln(c);
    writeln('Die spez. Waermekapazitaet ist also: ', c);
    readln;
    writeln;
    write('Masse?'); write('m= ');
    readln(m);
    Writeln('Die Masse ist also m=', m);
    writeln;
    write('Differenz der Temperatur?');
    readln(V);
    Writeln;
    write('Die Differenz der Temperatur ist also V=', V);
    readln;
    Writeln;
    Q:=c*m*V;
    write('Q=', Q);
    readln;
    
    end.
    schonmal dran gedacht variablen zu nehmen?( weil die tolle eigenschaft einer Konstanten die du da mit CONST definierst ist dass man sie während eines Programms nicht ändern kann per readln(CONST). ausserdem musst wahrscheinlich auch noch deine ausgabe formatieren wenn du mit real arbeitest.

    mfg
     
  4. #3 12. Oktober 2006
    AW: Division by zero

    ich wollte eigentlich dass mir von leuten die ahnung haben geholfen wird !!!

    und doch man kann diese art von constanten ändern .. deswegen sidn es eigentlich auch keine konstanten... sondern eher variablen die man vorm beginn schon mal definieren kann... MAN KANN SIE ÄNDERN!!

    wenn ich const konstantenname = wert; machen würde würde ich sie nicht ändern können!!!!

    wenn ich sie aber so schreibe wie ich es gemacht habe

    const konstantenname : variablentyp(!) =wert; sind es typisierte konstanten bzw initialisierte variablen die sich ändern lassen!!!

    also wenn man keine ahnung hat... ne?

    mfg
     
  5. #4 12. Oktober 2006
  6. #5 12. Oktober 2006
    AW: Division by zero

    Sorry, aber es ist nicht unsere Pflicht, dir zu helfen. Und wenn du so unfreundlich wie oben bist, wird dir keiner mehr helfen.

    Das mal so am Rande ...

    Nun zum Thema.
    Wenn du das Programm nur fuer dich selbst schreibst, waere es vielleicht mal zu ueberlegen, ob du nicht eine andere Sprache benutzt ( z.B. Scriptsprachen wie Python, da sie auf so etwas eher ausgelegt sind ).
    Der Fehler ist ja 'Division by Zero' , es sollte also nicht schwer sein, herauszufinden, warum es diesen Fehler gibt.
    Vielleicht multiplizierst du mit 0, weil du eine 0,**-spezifische Waermekapazitaet eingibst.

    Code:
    #!/usr/bin/python
    
    waermekz = raw_input("Waermekapazitaet -> ")
    masse = raw_input("Masse -> ")
    diff_tmp = raw_input("Temperaturunterschied -> ")
    print eval(waermekz+"*"+masse+"*"+diff_tmp)
    So wuerde das ganze z.B. unter Python ausschaun.

    Mfg,

    Kolazomai
     
  7. #6 12. Oktober 2006
    AW: Division by zero

    naja, hab nie mit turbo-pascal gearbeitet, hätte jetz auch das mit den constanten gesagt, aber wenn du sagst, dass des geht, ok... du sagst, du hättest das prob erst seitdem du clrscr benutzt? dann lass es doch einfach ma am anfang weg=P hast zu dem zeitpunkt ja sowieso noch nix aufm bildschirm, von daher....is nur nen tip^^...mfg coach
     
  8. #7 12. Oktober 2006
    AW: Division by zero

    Klick mich

    Konstanten

    Konstanten sind letztendlich Variablen, die innerhalb des Programms jedoch nur ausgelesen, nicht überschrieben werden dürfen. Deklariert werden sie an den gleichen Stellen wie Variablen, allerdings mit dem Schlüsselwort const, einem Gleichheitszeichen und ohne Angabe eines Datentyps:
    Code:
    const version = '1.23';
    und globale variablen die von anfang an nen startwert haben macht man so:

    Globale Variablen können bei ihrer Deklaration mit einem Startwert belegt werden:
    Code:
     var einezahl: integer = 42;
    so what about a nice cup of stfu?
     
  9. #8 12. Oktober 2006
    AW: Division by zero

    ja is ja gut.. darfst deine meinung ja behalten... aber ich habe diese art von constanten benutzt und ich konnte sie ändern war kein problem.. wie gesagt es sidn ja auch keien echten konstanten.... wie ich oben beschrieben hab..

    aber mach dir nix drauß ;) muss nicht jeder wissen ;)
     
  10. #9 12. Oktober 2006
    AW: Division by zero

    Hi,

    du solltest vielleicht mal den Begriff 'konstant' nachschlagen.
    Konstant heisst, dass es nicht veraendert wird oder veraenderbar ist.

    [X] Erledigt
    [X] Unfreundlichkeit

    ~closed~

    Mfg,

    Kolazomai
     

  11. Videos zum Thema
Die Seite wird geladen...
Similar Threads - Pascal Division zero
  1. Antworten:
    2
    Aufrufe:
    940
  2. Antworten:
    2
    Aufrufe:
    961
  3. Antworten:
    2
    Aufrufe:
    417
  4. Antworten:
    7
    Aufrufe:
    613
  5. Antworten:
    12
    Aufrufe:
    630