www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "BASIC" - Programm schreiben
Programm schreiben < BASIC < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "BASIC"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Programm schreiben: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 18:01 Fr 28.03.2014
Autor: Mathics

Aufgabe
Schreiben Sie ein Programm, dass den Verkaufspreis eines Produkts ermittelt, undzwar auf Grundlage von Einstandswert, Verkaufskosten (in %), Gewinnmarge (in %) und Barzahlungsrabatt (in %).

Hallo,

ich habe mich mal an ein solches Programm versucht und das ist dabei rumgekommen:

Function salesPrice (acqPrice as Currency, salesCosts As Double, profitMarging as  Double, cashDisc As Double) as Currency

Dim price as Currency

price = acqprice*(1+salescosts)
price = price*(1+profitmarging)
price = price*(1/(1-cashDisc))

salesprice = price

End Function


Ist das so richtig?


LG
Mathcis

        
Bezug
Programm schreiben: Antwort
Status: (Antwort) fertig Status 
Datum: 18:44 Fr 28.03.2014
Autor: reverend

Hallo Mathics,

das Programm ist ok, nur hast Du noch übersehen, dass die Werte in Prozent gegeben sind, musst also noch entsprechend durch 100 teilen.

Grüße
reverend

Bezug
                
Bezug
Programm schreiben: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 19:42 Fr 28.03.2014
Autor: Mathics

Ich hätte salesCosts, profitMarging und cashDisc auch als Single oder Decimal definieren können oder? Wo liegt eigentlich genau der Unterschied zwischen Decimal, Double und Single, abgesehen von der unterschiedlichen Bytegröße? Wann sollte ich welches verwenden?

Und price = salesprice wäre eine fehlerhafte Zuweisung, weil doch die Zuweisung immer von Rechts nach links geschieht oder? Also käme bei dieser Schreibweise Error raus?

Und als dritte Frage: Könnte ich nach der Zeile mit der Dim Deklaration auch salescosts=0 schreiben ohne dass mein Programm dadurch fehlerhaft wird? Könnte ich auch jede beliebige Zahl wie salescosts=47 schreiben, wenn am Ende doch eh salescosts=price ist?

LG
Mathics



Bezug
                        
Bezug
Programm schreiben: Antwort
Status: (Antwort) fertig Status 
Datum: 20:20 Fr 28.03.2014
Autor: reverend

Hallo nochmal,

Ich bin davon ausgegangen, dass bei dieser Funktionsdefinition die Variablen salesCosts, profitMargin und cashDisc bereits existieren und mit Wert übergeben werden, sonst macht Dein Teilprogramm ja keinen Sinn - Du bräuchtest dann erst die Festlegung dieser Variablen, Also Definition, Eingaberoutine und Wertzuweisung.

> Ich hätte salesCosts, profitMarging und cashDisc auch als
> Single oder Decimal definieren können oder?

Insofern stellt sich dieses Problem in der vorliegenden Funktionsdefinition doch überhaupt nicht. Außerhalb der Routine hättest Du sie aber in der Tat schon so festlegen können.

> Wo liegt
> eigentlich genau der Unterschied zwischen Decimal, Double
> und Single, abgesehen von der unterschiedlichen
> Bytegröße? Wann sollte ich welches verwenden?

Das hängt vom Interpreter oder Compiler ab. Manche stellen z.B. Decimal gar nicht zur Verfügung. Ansonsten ist der Unterschied nur der in der Genauigkeit. Für Prozentwerte ist Double wahrscheinlich recht übertrieben...

> Und price = salesprice wäre eine fehlerhafte Zuweisung,
> weil doch die Zuweisung immer von Rechts nach links
> geschieht oder? Also käme bei dieser Schreibweise Error
> raus?

Kommt drauf an, wo diese Zuweisung steht. Für Deine Funktionsdefinition wäre sie nach der Bestimmung von "price" natürlich kontraproduktiv.

Error käme trotzdem nicht heraus. Mit der Festlegung des Variablentyps weist BASIC der Variablen den neutralen Wert zu, bei Zahlen also die Null. Ab da kannst Du also auch aus dieser Variablen heraus ihren Wert einer anderen Variablen zuweisen, vorausgesetzt, die Variablentypen lassen eine solche Zuweisung zu.

> Und als dritte Frage: Könnte ich nach der Zeile mit der
> Dim Deklaration auch salescosts=0 schreiben ohne dass mein
> Programm dadurch fehlerhaft wird? Könnte ich auch jede
> beliebige Zahl wie salescosts=47 schreiben, wenn am Ende
> doch eh salescosts=price ist?

Nein, salesCosts ist doch ein Wert, der an die Routine übergeben wird!
Außerdem steht am Ende doch salesPrice=price. Das ist eine ganz andere Variable.

Übrigens bist Du auf meinen Einwand zur Interpretation der Aufgabenstellung überhaupt nicht eingegangen.

Poste lieber nochmal das korrigierte Programm.

Grüße
reverend

Bezug
                                
Bezug
Programm schreiben: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 08:15 Sa 29.03.2014
Autor: Mathics

Guten Morgen reverend,

der Dozent meinte, dass wir für % Dezimalzahlen benutzen können. Wie hätte man dass denn sonst schreiben müssen?

Ja, ich meine salesPrice, entschuldige. Könnte ich am Anfang salesPrice=0 oder jeden beliebigen Wert definieren?

LG
Mathics




Bezug
                                        
Bezug
Programm schreiben: Antwort
Status: (Antwort) fertig Status 
Datum: 11:25 Sa 29.03.2014
Autor: leduart

Hallo
ohne programm: wenn etwa  d=  discount 3% ist musst du doch price*(1- 3/100) rechnen und nicht price*(1-3)
es sei denn du gibst in der eingabe direkt d als 3/100 ein.
Muss dein Programm kein Ein und Ausgabeteil haben.
welches basic benutzt du?
Gruss leduart

Bezug
                                                
Bezug
Programm schreiben: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:27 Sa 29.03.2014
Autor: Mathics

Visual Basic for Applications, also hauptsächlich Excel.



LG
Mathics

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "BASIC"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]