| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen | 
	
	
		| Autor | Nachricht | 
	
		| ITSchüler 
 
 
 Anmeldungsdatum: 17.07.2018
 Beiträge: 1
 
 
 | 
			
				|  Verfasst am: 17.07.2018, 07:28    Titel: Beiwerte anzeigen |   |  
				| 
 |  
				| Hey Leute. Habe ein Problem. Soll für die Schule was mit QBasic programmieren. 
 1. Auftrag: addieren von 3 Zahlen (geschafft)
 2. Auftrag: "Erweitern Sie voriges Programm so, dass das Ergebnis automatisch in Kilo- Mega oder Giga Ohm ausgegeben wird, je nachdem, welcher Beiwert sind macht."
 
 Bedenkt: Kilo=1.000 Mega=100.000 Giga=1.000.000.000
 
 Also wie bekomme ich es hin, dass hinter dem Ergebnis meiner Addition ein Beiwert steht? Und wie bekomme ich das Programm dazu, mir passend zum Ergebnis Kilo anzuzeigen? Also bei 1000 Ohm = 1 kOhm??
 
 Hilfe!!!
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| grindstone 
 
 
 Anmeldungsdatum: 03.10.2010
 Beiträge: 1283
 Wohnort: Ruhrpott
 
 | 
			
				|  Verfasst am: 17.07.2018, 11:49    Titel: |   |  
				| 
 |  
				| Hallo ITSchüler und willkommen im Forum!   
 So etwas macht man mit einer mehrfachen Fallunterscheidung:
 
  	  | Code: |  	  | Dim As Integer zahl Dim As Integer giga = 1000000000
 Dim As Integer mega = 1000000
 Dim As Integer kilo = 1000
 
 '...
 'hier wird die zahl berechnet
 '...
 
 If zahl >= giga Then
 Print zahl/giga; " GOhm"
 ElseIf zahl >= mega Then
 Print zahl/mega; " MOhm"
 ElseIf zahl >= kilo Then
 Print zahl/kilo; " kOhm"
 Else
 Print zahl; " Ohm"
 EndIf
 | 
 Das ist jetzt freeBasic - Code, aber er müsste eigentlich 1:1 auch mit QBasic laufen.
 
 Beachte auch (zum Thema guter Programmierstil) die Verwendung der Variablen (eigentlich benutzt man hierfür Konstanten, aber ich weiss jetzt so aus dem Kopf nicht, ob QBasic das kann) "giga", "mega" und "kilo", statt die Werte jedesmal direkt einzutippen. Das macht das Programm lesbarer und vermindert die Gefahr von Tippfehlern.
 
 Gruß
 grindstone
 _________________
 For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| nemored 
 
  
 Anmeldungsdatum: 22.02.2007
 Beiträge: 4710
 Wohnort: ~/
 
 | 
			
				|  Verfasst am: 17.07.2018, 17:23    Titel: |   |  
				| 
 |  
				|  	  | Zitat: |  	  | Das ist jetzt freeBasic - Code, aber er müsste eigentlich 1:1 auch mit QBasic laufen. | 
 Nicht ganz - Variablenbelegung in der DIM-Zeile sind in QBasic nicht möglich. Einfach in zwei Zeilen aufsplitten.
 QBasic kann auch mit Konstanten (müsste mich sonst sehr irren).
 _________________
 Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| grindstone 
 
 
 Anmeldungsdatum: 03.10.2010
 Beiträge: 1283
 Wohnort: Ruhrpott
 
 | 
			
				|  Verfasst am: 19.07.2018, 08:21    Titel: |   |  
				| 
 |  
				| Stimmt. Ich habe mein QB mal ausgegraben, hier jetzt "richtiger" (und getesteter) QB - Quellcode:  	  | Code: |  	  | DIM zahl AS LONG CONST giga = 1000000000
 CONST mega = 1000000
 CONST kilo = 1000
 
 '...
 'hier wird die zahl berechnet
 '...
 
 
 IF zahl >= giga THEN
 PRINT zahl / giga; " GOhm"
 ELSEIF zahl >= mega THEN
 PRINT zahl / mega; " MOhm"
 ELSEIF zahl >= kilo THEN
 PRINT zahl / kilo; " kOhm"
 ELSE
 PRINT zahl; " Ohm"
 END IF
 
 
 | 
 
 Gruß
 grindstone
 
 P.S.
 @ITSchüler: Kleine Zusatzaufgabe ("nur für Spass", wie man hier bei uns sagt
  , und natürlich total freiwillig): In dem Beispiel werden die Vergleiche von "größer" nach "kleiner" durchgeführt (also erst giga, dann mega usw.). Ändere das Programm so, daß die Abfrage in umgekehrter Reihenfolge durchgeführt wird. _________________
 For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		|  |