Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

select case vs. if then else

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
micdah



Anmeldungsdatum: 02.12.2011
Beiträge: 71

BeitragVerfasst am: 04.01.2012, 22:46    Titel: select case vs. if then else Antworten mit Zitat

select case vs. if then else

/edit dreael: Umfrage entfernt, da typischer Äpfel-mit-Birnen-Vergleich
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 04.01.2012, 23:40    Titel: Antworten mit Zitat

so eine dämliche umfrage, die beiden statements werden zu völlig unterschiedlichen CPU-kommandos übersetzt xD lies mal ein bisschen nach bevor du so blöde fragen stellst lächeln

grundsätzlich aber: Das was im vorliegenden anwendungsfall am besten zu lesen ist. Sprich bei nem "a oder b" halt if/else, bei nem "a, b, c, d, e, oder vielleicht auf f" dann natürlich switch/case.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 05.01.2012, 15:40    Titel: Antworten mit Zitat

Beide Statements haben ihre jeweiligen Einsatzgebiete. IF..THEN ELSEIF .. THEN-Ketten macht bei freien Bedingungsausdrücken Sinn, z.B.
Code:
IF anzahl% < 10 THEN
..
ELSEIF v%(9) = 55 THEN
..
ELSEIF LEFT$(j$, 2) = "Ab" THEN
..
ELSEIF f! < 2.3 THEN
..
ELSE
..
END IF

Dagegen stellt SELECT CASE eine Verkürzung von beispielsweise
Code:
IF a%=1 THEN
 ...
ELSEIF a%=2 THEN
 ...
ELSEIF a%=3 THEN
 ...
ELSE
 ...
END IF

dar, d.h. alle Bedingungsausdrücke haben immer die Form "IF a%=" => Dies kann der Compiler effizienter übersetzen, weil in diesem Fall der Ausdruck a% nur einmal ausgewertet werden muss und z.B. im CPU-Register für all die kommenden z.B. BNEs (Branch if Not Equal) bereitgehalten werden kann.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz