AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Array für 31 Werte schreiben + Werte auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Array für 31 Werte schreiben + Werte auslesen

Ein Thema von Sudrow · begonnen am 27. Okt 2008 · letzter Beitrag vom 27. Okt 2008
Antwort Antwort
Seite 1 von 2  1 2      
Sudrow

Registriert seit: 21. Sep 2008
32 Beiträge
 
#1

Array für 31 Werte schreiben + Werte auslesen

  Alt 27. Okt 2008, 09:20
Ich bin kurz vor dem Abschluss meines Programmes, aber für das letzte Stück weiß ich nicht wie ich es anfangen bzw beenden soll.

Das Programm soll am Ende einen Notendurchschnitt erechnen. Das tut es auch.
Da hab ich dann zum Beispiel 481 Punkte und somit die Note 2,9.
Jetzt wollte ich noch eine Anzeige machenwie viele Punkte man bis zur nächsten Note bzw zur schlechteren braucht.
Man kann Punkte von 900 bis 300 erreichen, und dabei von 4,0 bis 1,0 alles erreichen.

Ich verlange jetzt nicht das mir jemand einen Quelltext dazu schreibt, sondern eher ob mir jemand helfenkann wie ich das anfangen sollte.

mfg Sudrow
Peter
<>
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Brauch Hilfe bei einer Berechnung!

  Alt 27. Okt 2008, 09:26
Berechnen sich die Noten aus der Punktezahl, oder hast du eine Liste mit den Zuordnungen Punkte <--> Note vorliegen?
Sollte letzteres der Fall sein, kannst du doch einfach in dieser Liste nachschauen, welche Punktezahl für die berechnete Note + bzw. - 0,1 angegeben ist. Dann noch die Differenz ausrechnen und fertig
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#3

Re: Brauch Hilfe bei einer Berechnung!

  Alt 27. Okt 2008, 09:31
Du hast den Bereich von 900 bis 300 und bekommst ne Note zwischen 1 und 4:

Note = 4 - 3 * (Punkte - 300) / (900 - 300)

Aus dem Nachkommaanteil der Note wieder zu den Punktten zurück:

Punkte = (4 - Note) / 3 * (900 - 300) + 300

Einmal mit dem Nachkommaanteiol ( Frac(Note) ) und einmal mit 1 - Nachkomaanteil

Das alles natürlich nur, wenn die Zuornung proportional ist. (also keine Sprünge macht, linear ist und 300 Pkte = 4,0 und 900 Pkte = 1,0)
  Mit Zitat antworten Zitat
Sudrow

Registriert seit: 21. Sep 2008
32 Beiträge
 
#4

Re: Brauch Hilfe bei einer Berechnung!

  Alt 27. Okt 2008, 09:36
Liste hab ich nicht im Programm, die Berechnung für die Note ist

Note= (17/3) - (Punkte/180)


Zitat von jfheins:
Einmal mit dem Nachkommaanteiol ( Frac(Note) ) und einmal mit 1 - Nachkomaanteil
Muss ich dazu noch was schreiben, oder würden deine 2 Rechenwege ausreichen dafür?
Peter
<>
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#5

Re: Brauch Hilfe bei einer Berechnung!

  Alt 27. Okt 2008, 09:40
Zitat von Sudrow:
...
Das Programm soll am Ende einen Notendurchschnitt erechnen. Das tut es auch.
Da hab ich dann zum Beispiel 481 Punkte und somit die Note 2,9.
Jetzt wollte ich noch eine Anzeige machenwie viele Punkte man bis zur nächsten Note bzw zur schlechteren braucht.
Man kann Punkte von 900 bis 300 erreichen, und dabei von 4,0 bis 1,0 alles erreichen.
...
Hallo,

ein für Software besser geeigneter Ansatz: Noten von 1.0 bis 4.0 sind ja gerade mal 31 mögliche Werte. Ich würde daher eine Tabelle mit 31 Einträgen erstellen, mit der genauen Punktzahl für jede Note (ist ja fix), und nach der Berechnung des Durchschnitts in der Tabelle die Stelle suchen zwischen dem nächstniedrigen und dem nächsthöheren Wert - ist eine einfache Binärsuche. Die Punktzahl für die nächsthöhere und die nächstniegrigere Note steht dann in der Tabelle, die Differenz auszurechnen solltest du auch noch schaffen.

Gruss Reinhard
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Brauch Hilfe bei einer Berechnung!

  Alt 27. Okt 2008, 09:41
Könntest du deinem Beitrag bitte einen aussagekräftigen Titel geben? Danke
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Sudrow

Registriert seit: 21. Sep 2008
32 Beiträge
 
#7

Re: Brauch Hilfe bei einer Berechnung!

  Alt 27. Okt 2008, 09:47
Zitat von Reinhard Kern:
Hallo,

ein für Software besser geeigneter Ansatz: Noten von 1.0 bis 4.0 sind ja gerade mal 31 mögliche Werte. Ich würde daher eine Tabelle mit 31 Einträgen erstellen, mit der genauen Punktzahl für jede Note (ist ja fix), und nach der Berechnung des Durchschnitts in der Tabelle die Stelle suchen zwischen dem nächstniedrigen und dem nächsthöheren Wert - ist eine einfache Binärsuche. Die Punktzahl für die nächsthöhere und die nächstniegrigere Note steht dann in der Tabelle, die Differenz auszurechnen solltest du auch noch schaffen.

Gruss Reinhard
Wie mache ich da die Tabelle, soll ich da 31 variablen mit einer array machen von bis, oder gibt es eine bessere lösung?
Peter
<>
  Mit Zitat antworten Zitat
soulies

Registriert seit: 9. Dez 2005
234 Beiträge
 
#8

Re: Tabelle für 31 Werte schreiben + Werte auslesen

  Alt 27. Okt 2008, 10:04
hoi,

Zitat:
Note = 4 - 3 * (Punkte - 300) / (900 - 300)
das geht nicht :
Bei 481 Punkten ist es ja 2,9 - Ergebnis ist aber 3,09


@Sudrow:
Hast du überhaupt eine Liste für die Noten oder kennst du den
Punktebereich von wo bis wo eine Note ist.

cya
  Mit Zitat antworten Zitat
Sudrow

Registriert seit: 21. Sep 2008
32 Beiträge
 
#9

Re: Tabelle für 31 Werte schreiben + Werte auslesen

  Alt 27. Okt 2008, 10:31
So eine Liste hab ich, aber nur auf Papier, aber ich weiß nich wie ich die ins delphi bringen kann.
Peter
<>
  Mit Zitat antworten Zitat
soulies

Registriert seit: 9. Dez 2005
234 Beiträge
 
#10

Re: Tabelle für 31 Werte schreiben + Werte auslesen

  Alt 27. Okt 2008, 11:32
Hoi,

mach doch mal ...
Zitat:
Ich würde daher eine Tabelle mit 31 Einträgen erstellen, mit der genauen Punktzahl für jede Note
mit z.B.
Delphi-Quellcode:
const
  notenpunkte : array[0..30] of array [0..1] of Integer = ( (300,...),
                                                            (...,...),
                                                            (...,900) );
und dann eben vergleichen wie es Reinhard geschrieben hat.

cya
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz