YourWBB


yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Quellcode verkürzen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 3.176 Views | | Thema zu Favoriten hinzufügen

Neues Thema erstellen Thema ist geschlossen

Zum Ende der Seite springen Quellcode verkürzen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Didito
Mitglied


Dabei seit: 30.11.04
Beiträge: 442
Fähigkeiten: WBB2 Profi
Forenversion: 2.3

 Quellcode verkürzen Antworten Zitieren Editieren Melden       UP

Hallo Leute,

ich habe 2 kleine Quellcode-Stücke.

Wer kann mir die so verkürzen (so kurz wie möglich machen), sodass die Programme weiterhin genauso funktionieren.

Code 1

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
if($a >= 0)
{
	if($a <= 0)
	{
		$a = 1;
	}
	else
	{
		$a = 2;
	}
}



Code 2

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
if($a > 0)
{
	$b = $a;
}
else
{
	if($a == 0)
	{
		$b = 0;
	}
	else
	{
		$b = -$a
	}
}


Kann es sein, dass es bei einer von beiden oder bei beiden garnicht kürzer geht?
17.11.10 01:40 Didito ist offline Finden Als Freund hinzufügen
Dizzy.w3 Dizzy.w3 ist männlich
Brain Damage


images/avatars/avatar-5617.jpg

Dabei seit: 18.07.07
Beiträge: 1.431
Herkunft: Österreich
Forenversion: 3.0

Antworten Zitieren Editieren Melden       UP

Hi,

moeglich ist es, jedoch auch fraglich, ob man es will bzw soll. Schliesslich zerstoert es die Lesbarkeit.

Dein 1. Code ist unlogisch. Du fragst ab ob a groesser oder gleich 0 ist, und anschliessend nochmal, ob a kleiner oder gleich ist.

Code 1
php:
1:
<?php ($a == 0) ? $a : (($a 0) ? $a :); ?>


Code 2
php:
1:
<?php ($a 0) ? $b $a : (($a == 0) ? $b $b = -$a); ?>


Wobei Code 2 niemals so in der Praxis verwendet werden sollte.

Sofern die beiden oberen Codestuecke ueberhaupt funktionieren. :/ ... Zu dieser Zeit weiss man sowas ja net.

Wenn du den Code unbedingt - praxisbezogen - verkleinern willst, dann mit Dangling-Elses, wobei auch diese mit grosser Vorsicht zu benutzen sind, da sie schnell unuebersichtlich werden.

Code 1
php:
1:
2:
3:
4:
<?php
if($a == 0$a 1;
else if ($a 0$a 2;
?>


Code 2
php:
1:
2:
3:
4:
5:
<?php
if($a 0$b $a;
else if ($a == 0$b 0;
else $b = -$a;
?>


Warum stellst du diese Frage eigentlich?

// Edit: groesser-Operator bei Code 1 vergessen.

__________________
Gruß Dizzy

the rest is silence

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Dizzy.w3: 17.11.10 05:28.

17.11.10 05:23 Dizzy.w3 ist offline E-Mail Finden Als Freund hinzufügen Füge Dizzy.w3 in deine Kontaktliste ein MSN Passport-Profil von Dizzy.w3 anzeigen
Didito
Mitglied


Dabei seit: 30.11.04
Beiträge: 442
Fähigkeiten: WBB2 Profi
Forenversion: 2.3

Themenstarter Thema begonnen von Didito
Antworten Zitieren Editieren Melden       UP

Sollen wir in der Schule machen.

Betrachten sie folgenden Pseudocode, wobei a und b Variablen für ganze Zahlen sind.

Code 1

code:
1:
2:
3:
4:
5:
6:
7:
8:
if a >= 0
if a <= 0
then
a := 1
else
a := 2


Code 2

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
if a > 0
then
b := a
else
if a = 0
then
b := 0
else
b := (-a)


Gibt es für die Verzweigungen jeweils eine einfachere Lösung mit gleicher Wirkung?

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Didito: 17.11.10 08:57.

17.11.10 08:57 Didito ist offline Finden Als Freund hinzufügen
mkkcs mkkcs ist männlich
Mitglied


images/avatars/avatar-5746.gif

Dabei seit: 06.10.04
Beiträge: 2.051
Fähigkeiten: WBB2 Profi; WBB2 Fortgeschritten; WBB Lite 1 Profi
Herkunft: aus Mamas Bauch
Forenversion: 2.3; 2.2

Antworten Zitieren Editieren Melden       UP

also bei dem 1. Code fehlt mir jede Logik !
da das erste then fehlt !
und beim Code 2
würde ich evtl. diesen Weg gehen
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
b := 0
if a > 0
then
b := a
else
if a < 0
then
b := (-a)


mehr "Kürzung" sehe ich da jetzt nicht !

__________________
LG Martin
-
grafix-board
http://www.wbbcoderforum.de
hat seine Tore wieder geöffnet!
Style-Einbau-Anleitung
WCF-News: mywbb goes to WCF
17.11.10 12:42 mkkcs ist offline E-Mail WWW Finden Als Freund hinzufügen
Didito
Mitglied


Dabei seit: 30.11.04
Beiträge: 442
Fähigkeiten: WBB2 Profi
Forenversion: 2.3

Themenstarter Thema begonnen von Didito
Antworten Zitieren Editieren Melden       UP

Hier ist das Übungsblatt, ist dann vielleicht verständlicher.

http://www.jsg-leine.de/uebung03.pdf

Aufgabe 3 ist das.
17.11.10 12:50 Didito ist offline Finden Als Freund hinzufügen
Dizzy.w3 Dizzy.w3 ist männlich
Brain Damage


images/avatars/avatar-5617.jpg

Dabei seit: 18.07.07
Beiträge: 1.431
Herkunft: Österreich
Forenversion: 3.0

Antworten Zitieren Editieren Melden       UP

Loese deine Aufgaben selbst! Ne, so nicht!

// Edit: Oh mein Gott, du bist Informatik Student im 1. Semester und laesst deine Aufgaben von anderen loesen?! Waere mein erster Beitrag nicht so allgemein, haette ich ihn spaetestens jetzt geleert.

__________________
Gruß Dizzy

the rest is silence

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Dizzy.w3: 17.11.10 14:42.

17.11.10 14:40 Dizzy.w3 ist offline E-Mail Finden Als Freund hinzufügen Füge Dizzy.w3 in deine Kontaktliste ein MSN Passport-Profil von Dizzy.w3 anzeigen
Bräke
Mitglied


Dabei seit: 01.01.04
Beiträge: 8.189

Antworten Zitieren Editieren Melden       UP

Zitat:
Original von Dizzy.w3
Loese deine Aufgaben selbst! Ne, so nicht!

Sehe ich auch so.
17.11.10 15:11 Bräke ist offline Finden Als Freund hinzufügen
Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Thema ist geschlossen

yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Quellcode verkürzen