ist folgende Anweisung möglich ?
if (bedingung)
{
anweisung;
}
else
{
if(bedingung1)
{
andere_Anweiseung;
}
else
{
noch_ne_andere_Anweisung;
}
}
Gast
#2248947
Ja.
Ja klar. L.g. Michi
Wenn deine Struktur genau so ist, dann kann man das ganze optisch auch so schreiben
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
dann vermeidet man die großen Schachtelungstiefen von ineinander geschachtelten Blöcken, die ansonsten den Code ganz schnell an den rechten Bildschirmrand treiben. Für viele ist diese Schreibweise auch etwas logischer und durchsichtiger. Da steht schön untereinander: Es gibt 3 Fälle. Wenn A vorliegt, dann mach das. Wenn B vorliegt, dann mach dieses. In allen anderen Fällen mach ganz was anderes. Syntaktisch und semantisch (also bedeutungsmässig) ist es aber 100% gleichwertig zu deiner Schachtelung, wie man sich ganz leicht durch überlegen, ob die Klammerung beim ersten else notwendig ist und etwas umformatieren überzeugen kann.
Gast
#2248959
Karl Heinz Buchegger schrieb: > Syntaktisch und semantisch (also bedeutungsmässig) ist es aber 100% > gleichwertig zu deiner Schachtelung. Im Original folgt dem ersten else ein Anweisungsblock. In deiner Variante nur eine einfache Anweisung.
Gast
#2248961
Ah, hast es selber gemerkt und deinen Beitrag editiert.
Gast
#2248964
Karl Heinz Buchegger schrieb: > Da steht schön untereinander: > Es gibt 3 Fälle. Wenn A vorliegt, dann mach das. Wenn B vorliegt, dann > mach dieses. In allen anderen Fällen mach ganz was anderes. Ob es 3 Faelle sind oder 2 Faelle von denen sich einer nochmal aufteilt, kommt auf die jeweilige Situation an. Und je nachdem ist die eine oder andere Variante logischer, so pauschal kann man das nicht sagen.
Peter Stegemann schrieb: > Karl Heinz Buchegger schrieb: > >> Da steht schön untereinander: >> Es gibt 3 Fälle. Wenn A vorliegt, dann mach das. Wenn B vorliegt, dann >> mach dieses. In allen anderen Fällen mach ganz was anderes. > > Ob es 3 Faelle sind oder 2 Faelle von denen sich einer nochmal aufteilt, > kommt auf die jeweilige Situation an. Und je nachdem ist die eine oder > andere Variante logischer, so pauschal kann man das nicht sagen. Hast recht. Da hab ich nicht gut genug drüber nachgedacht. So pauschal sollte ich das tatsächlich nicht behaupten.
Gast
#2248999
Ich finde ja das case-select-Statement viel übersichtlicher. Je nach Programmierspreche ist die Syntax im Detail etwas anders, in Realbasic ist sie so: select case x (z.B. ein Integer) case 1 ... (wenn x=1 ist) case 2 ... (wenn x=2 ist) case 76 ... usw. else (für alle nicht aufgeführten Fälle) end select Geht auch mit anderen Datentypen, z.B. Strings.
Gast
#2249014
Frank schrieb: > Ich finde ja das case-select-Statement viel übersichtlicher. Das ist aber nicht vergleichbar.
Gast
#2249017
switch schrieb: > Frank schrieb: >> Ich finde ja das case-select-Statement viel übersichtlicher. > Das ist aber nicht vergleichbar. Beides sind Fallunterscheidungen. Dass die in C technisch betrachtet voellig unterschiedlich sind, braucht den Basic-Entwickler nicht zu kuemmern.
Gast
#2249020
??? Bei case habe ich nur ein Ergebnis und verzweige je nach Wert. Bei jedem if erhalte ich ein neues völlig unabhängiges Ergebnis.
Gast
#2249035
switch schrieb: > ??? Ja, so geht es mir auch gerade. Koenntest du mal ein Beispiel machen, was du meinst?
Gast
#2249072
switch (a * b)
case 1:
...
case 5:
...
else
...
if ((a*b) = 5)
...
else if ((i+t) < k)
...
else
...
Gast
#2249143
ist möglich. So wie du die Anweisungen gesetzt hast ist die Variante von KHB ein gleichwertiger Ersatz. In deiner Variante hast du aber noch zusätzliche Möglichkeiten Anweisungen zu verwenden. z.B.:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
Gast
#2249150
horst schrieb: > So wie du die Anweisungen gesetzt hast ist die Variante von KHB ein > gleichwertiger Ersatz. Das liegt schon weiter hinter uns. KHB hat den Beitrag ja editiert. Das Bsp. bezieht sich auf die Nachfrage von Peter S. und soll ihm den Unterschied zu case verdeutlichen: keep it simple!
Gast
#2249154
switch schrieb: > Das Bsp. bezieht sich auf die Nachfrage von Peter S. und soll ihm den > Unterschied zu case verdeutlichen: keep it simple! Ich kenne den Unterschied zwischen case und if in verschiedenen Sprachen. Natuerlich sind die unterschiedlich, aber die Anwendungsbereiche ueberschneiden sich je nach Sprache mehr oder weniger stark. Deswegen sind beide aber immer noch Fallunterscheidungen und daher durchaus vergleichbar - und eigentlich tust du gerade genau das, du vergleichst beide Konstrukte.
Gast
#2250093
fette Logik, natürlich ist alles vergleichbar, Äpfel mit Birnen, ... Es muss bei einem Vergelich ja auch keine Gemeinsammkeiten geben, lass das noch einmal sacken. lg Denker
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.