Nennt mir einen Grund...

...wieso man in PHP nich
if ($a<$b<$b) machen kann damit man weiss das ist der kleinste Wert sondern
if ((a<$b) && ($b<$c)) o.ä?

In Informatik sollten wir nen Prog schreiben das den kleinsten Wert ausgibt.
Da wir noch nicht soviel gemacht haben mit Verschachtelung etc. erschien mir das der einfachste und logischste Weg. Toll nun hab ich 0 Punkte drauf bekommen obwohl sonst alles richtig war also Variablen umgespeichert die man vom Formular bekommt und if und else richig gesetzt + Geschweifte Klammern.
 
sogar 2 Gründe:
1. diese Schreibweise ist schlechter zu lesen und wohl allgemein schlechter Programmierstil
2. Relationen (und andere Ausdrücke wie != und ==) liefern liefern boolsche Ausdrücke (1 oder 0) mit " if ($a<$b<$c) " überprüfst du, ob c größer als der boolsche Ausdruck $a<$c ist... Äpfel mit Birnen vergleichen geht relativ schwer....
 
Ach und das Berechnen im PC läuft nicht nach mathematischen Regeln ab lol
und leichter zu lesen is schwachsinn wenn du < aussprichst haste fast nen deutschen satz.
 
mannomann.. ich bin immerwieder erstaunt, was sich so alles Informatiker schimpfen darf..........
schreib deine Programme BITTE BITTE in mathematischen Formeln und lass andere Proggen....
 
Original von Eckbert
Ach und das Berechnen im PC läuft nicht nach mathematischen Regeln ab lol
und leichter zu lesen is schwachsinn wenn du < aussprichst haste fast nen deutschen satz.

Um genau zu sein läuft es nur mit den simpelsten mathematischen Operationen ab *g*... und weil das so simpel ist, kann er auch nur 2 Zahlen Vergleichen LOL Und wenn du in Mathe ein Betrags-GLS mit 3 Termen hast, vergleichtse Effektiv auch nur jeden Term einzel ROFL und wenn ich a<b<c ausspreche ist es wohl eher a kleiner b und b kleiner c ROFL?
 
ich schließe mich der festellung an das man viel zu vielen unfähigen leuten den titel informatiker gibt ;)
aber um auf das prob zurück zukommen:
if($a < $b <$c) würde dir vielleicht sagen das eine var kleiner ist als die andere (wenn du es so geschrieben hättest if($a < $b || $b < $c || $a < $c) ) wenn du aber wissen willst welche nun die kleinste ist solltest du das vielleicht anders aufbauen:
$min=$a; //a wird als kleinstes festgelegt
if ($b < $min)
$min=$b; //wenn b kleiner ist wirds zum neuen min
if($c < $min)
$min =$c; //wenn c kleiner ist wirds zum neuen min
und so weiter ....
mfg

püppi
 
Auf jeden Fall hast du Informatikunterricht und PHP wird relativ selten an Mittelschulen unterrichtet. Auch deine anderen Posts (Profil -> Suche) lassen darauf schliessen, das du Ahnung von PCs hast (oder zumindest der Meinung bist) Wenn jemand über Phreaken, PWs hacken, Bios flashen, low level Formatierung und spoofen postet (schiebs jetzt nicht auf Lesekompetenz, das !H!A!S!T! du gepostet), sollte man eigentlich der Meinung sein, das er einen Wissensstand hat, der mit dem eines Informatikers mit schulischer Ausbildung vergleichbar ist. Tut mir Leid, das ich dich überschätzt habe. Ich dachte, du hättest Ahnung von dem was du schreibst.

MfG Zemy

PS: OK, wirds eben doch 'n FlameThread
 
Nur weil man sich mitem PC auskennt und bisschen was über Netzwerk-Topologien gelesen hat etc. kann man nicht automatisch programmieren...
Vorallem nicht so Websachen die mich weniger interessieren.
 
Original von Watchme
mannomann.. ich bin immerwieder erstaunt, was sich so alles Informatiker schimpfen darf..........
schreib deine Programme BITTE BITTE in mathematischen Formeln und lass andere Proggen....

Du sprichst mir aus der Seele.
Full ACK !!

Ich hasse diese Mathematiker, die irgendwelche extrem unsinnigen und sinnfreien Berechnungen tagelang am Computer durchführen und jede andere Benutzung als Kinderkram bezeichnen.
Computer != nur Mathematik.
 
Gerade solche mathematischen Berrechnungen bzw. ein Problem in einen Algorythmus zu quetschen finde ich interessant^^ (z.B. kappa-Werte von chiffrierten Texten ermitteln oder Kalkulatoren für Onlinespiele erstellen) aber das ist wieder Geschmackssache.

gerade weil "man sich mitem PC auskennt" sollte man schon ungefähr ne Ahnung haben, wie ein PC im kleinsten funktioniert. Es verlangt keiner, das man heutzutage noch vollständige Programme in Assembler schreibt. Aber eine Programmiersprache (oder zumindest Scriptsprache) sollte man schon etwas kennenlernen bevor man tiefer in die Materie eindringt. Und bei dem Vergleich a<b<c liefert JEDE gebräuchliche Programmiersprache nen Error.
Die Mathematische Korrektheit hört übrigens schon bei vielen Sprachen bei dem erhöhen einer Variable um einen bestimmten Wert auf.
Zeig das mal nen Mathelehrer. Daran brauchst du dich also nicht hochziehen.
 
eckbert hat eine ganz normale frage gestellt, die überhaupt keinen grund gibt hier so herablassend daher zu reden
jeder hat seine bereiche wo er sich mehr oder weniger gut auskennt, also erklärt es ihm doch einfach vernünftig, damit auch eckberts wissensstand in zukunft euren ansprüchen genügt X(

desweiteren ist es überhaupt kein problem einen compiler oder parser so umzuschreiben, dass er auch eckberts schreibweise versteht ...
 
Original von Zemy
sogar 2 Gründe:
1. diese Schreibweise ist schlechter zu lesen und wohl allgemein schlechter Programmierstil
2. Relationen (und andere Ausdrücke wie != und ==) liefern liefern boolsche Ausdrücke (1 oder 0) mit " if ($a<$b<$c) " überprüfst du, ob c größer als der boolsche Ausdruck $a<$c ist... Äpfel mit Birnen vergleichen geht relativ schwer....

Deshalb habe ich auch zuerst ganz normal geantwortet und denke auch verständlich erklärt warum es nicht funktioniert (oder wirkt der Post herablasend?) aber wenn man dann als Reply sowas bekommt...
Ach und das Berechnen im PC läuft nicht nach mathematischen Regeln ab lol
und leichter zu lesen is schwachsinn wenn du < aussprichst haste fast nen deutschen satz.
...und eigene Aussagen einfach als Schwachsinnig bezeichnet werden, ist es relativ schwer nicht herablasend (oder anderweitig beleidigend) mit seinen Antworten zu bleiben. Mir ist auch klar, das man nicht der PHP-Referenz in der Hand geboren und alles erst gelernt werden muss... Das man zumindest EINE Programmiersprache ETWAS können muss ist meine Meinung und Meinungen sind wie Arschlöcher ... Jeder hat eins (Larry Flint)
 
@ivegotmail: ich glaube nicht das du jemals einen compiler / parser so umschreiben kannst das er bei a<b<c sagt WELCHE die kleinste Var ist! du könntest dann den fall OB überhaupt eine kleiner als die andere ist nicht mehr bearbeiten und das wäre somit nicht zuläßig.

@Eckbert: ich habe mich nur meinen vorrednern angschlossen, das sollte nicht automatisch heißen das ich denke du wärst informatiker (was so wieso offensichtlich ist) ... ich habe das nur geschrieben weil ich selbst leute kenne deren fähigkeiten bei einem hello world in java enden, die aber einen dipl inf bekommen wenn sie sich weiterhin erfolgreich durch die prüfungen schummeln ...


X(
 
Original von PuppE
@ivegotmail: ich glaube nicht das du jemals einen compiler / parser so umschreiben kannst das er bei a<b<c sagt WELCHE die kleinste Var ist!
wenn ich a<b<c schreibe, soll er auch nicht sagen welche die kleinste var ist, sondern ob dieser "mehrfachverketteter vergleich" wahr ist oder nicht

wenn ich einen vergleich wie zB. a<b<c oder a>b<=c!=d habe, sieht das vielleicht nicht schön aus aber es ist auf jedenfall möglich einen compiler/parser so zu bauen, dass diese syntax gültig ist und bestimmt wird ob diese 3 vergleiche zusammen true oder false sind
 
Gibt es da nicht Probleme mit den Rückgabewert der Funktion? Sie müsste Gleichzeitig eine Zahl UND ein Boolscher Ausdruck sein.... Natürlich könnte man auch wieder einen ausdruck wie a<b<c in (a<b) AND (b<c) umwandeln.... würde aber wieder in ner Grauenvollen Syntax im eigentlichen Quellcode enden, wenn man es etwas weiter führt.. Ausdrücke wie a>b<=c!=d mit dereferenzierten Pointern und Methoden, welche selbst noch Parameter benötigen, würden dann nur noch ne Zeile voll Sonderzeichen ergeben. Dann ist es doch schon besser für die Lesbarkeit, das man sie durch logische Unds Verknüpft als so eine Mehrfachverkettung... aber naja:
Dann begannen Dennis und Brian an einer wirklich verzerrten Version von Pascal zu arbeiten, genannt 'A'. Als wir merkten, daß andere tatsächlich vorhatten, Programme mit 'A' zu entwerfen, fügten wir rasch zusätzliche kryptische Eigenschaften hinzu, und entwickelten daraufhin B, BCPL und schließlich C. Wir hörten auf, als es uns gelang, den Ausdruck

for(;P("\n"),R--;P("|"))for(e=C;e--;P("_"+(*u++/8 )%2))P("| "+(*u/4)%2);

fehlerfrei zu compilieren.

MfG Zemy
 
ihr haltet euch wohl alle für besonders schlau....man ist das peinlich
ivegotmail ist anscheinend der einzige der mal darüber nachgedacht hat...klar würde das gehen...aber letztlich ist der Einsatzzweck so problemspezifisch, dass es keinen Sinn macht so etwas in einer Programmiersprache zu unterstützen.

@zemy
Ich finde nicht das sich die Lesbarkeit verschlechtert, dass gilt aber wohl ausschließlich für das a<b<c<d Beispiel
und zu dem c++-joke unten...so sehr man da auch drüber schmunzeln möchte...es gibt ja denn doch absolut keinen c++-progger der so ein statement mit 2 for schleifen in eine zeile quetschen würde ;)

@eckbert
auch wenn man über die php-frage noch rumphilosophieren kann...so ist das denn doch nicht der Grund warum du 0 Punkte bekommen hast...dein Ansatz ist einfach mal nicht der beste
 
Zurück
Oben