In SE&PM wurde im vergangenen Semester genau das erwähnt das du sagst, also dass mehrere Monitore einen großen Einfluss auf die Produktivität haben (wenn man von der Einarbeitungszeit absieht, dann angeblich sogar einen größeren als die verwendete Programmiersprache). Als Quelle ist folgendes angegeben: T. DeMarco, T. Lister: Wien wartet auf Dich - Der Faktor Mensch im DV-Management. München: Hanser-Verlag. 1991.
Beiträge von Christoph R.
-
-
Also wenn es die Taste gar nicht mehr geben mehr wuerde, dann wuerden wir uns hier vermutlich nicht ueber die (Un)wichtigkeit von Ästhetik beim Keyboard unterhalten. Ohne die Command-Taste muss man ja die gesamte Tastaturbelegung umbauen.
Genau das wollte ich gerade sagen. Ohne diese Taste gäbe es praktisch keine Tastenkürzel mehr. Und mit der Maus ist man halt oft viel langsamer.
Sonst schaut er ja nicht schlecht aus, aber seit ich mein iBook hab bin ich bei Apple sehr skeptisch was die Performance betrifft. Angeblich ist es ja durch die Intel-CPUs besser geworden, aber ich hätte damals ums gleiche Geld sicher mehr Leistung bekommen können wenn ich keinen Apple genommen hätte.
-
Dass mein Code nicht genauso funktioniert wie ich ihn gepostet habe war anzunehmen. Vielleicht hab ich eine Indexgrenze falsch angegeben, eine Schleife in die falsche Richtung laufen lassen oder ähnliches. Aber vom Prinzip her wird er schon stimmen.
Der Bubble-Sort-Algorithmus vergleicht immer 2 aufeinanderfolgende Elemente und vertauscht sie falls das notwendig ist, wobei in einer äußeren Schleife die gesamte Eingabefolge n Mal durchlaufen wird. Der Suchbereich wird dabei nach jeder Iteration um 1 erweitert, bis im letzten Durchlauf schließlich alle Elemente überprüft werden (wobei dann auch das letzte Elemente ganz nach vorne rutschen kann, falls es das kleinste ist). Daraus resultiert auch die quadratische Laufzeit. Das ist das Prinzip des Algorithmus.
Wo genau die Fehler in deinem Code sind weiß ich nicht, weil mir die ganze Implementierung sehr komisch vorkommt: vertauschen vor dem Vergleich, 3 verschachtelte Schleifen, doppelte Verwendung von i als Zähler, und auch die Bedingung if (teilnehmerAnzahl > 1) sollte bei richtigen Schleifenbedingungen nicht notwendig sein. Anstatt die Implementierung zu verbessern würde ich vom Algorithmus ausgehen und diesen von Anfang an implementieren. (was jetzt nicht heißt dass deine Implementierung komplett falsch ist: kann durchaus sein dass eh nur ein kleiner Fehler drin ist; nur für mich ist sie aus den genannten Gründen einfach sehr schwer durchschaubar, denn der Algorithmus ist eigentlich viel einfacher)
Edit: Geht es nun eigentlich um die Implementierung oder eh nur um's Ergebnis? Weil wenn es nur darum geht die Daten zu sortieren, dann würde ich - so wie Paulchen schon geschrieben hat - eine vorhandene Implementierung verwenden. Nicht zuletzt deswegen, weil Bubble Sort sehr langsam ist.
-
Mir kommt der ganze Algorithmus irgendwie eigenartig vor. Die Variable i wird in 2 verschiedenen Schleifen als Zähler verwendet, und außerdem werden hier in der innersten for-Schleife Vertauschungen durchgeführt, noch bevor die Schlüssel überhaupt verglichen wurden. Bubble-Sort lässt sicher sicher auch einfacher implementieren. Das würde ich mal machen, vielleicht verschwindet dabei auch gleich der Fehler.
Edit: Hab's nicht laufen lassen, aber vom Prinzip her sollte es so ungefähr gehen:
Code
Alles anzeigenpublic void sortierenNachNamen() { int i, j; TeilnehmendePerson vertauschen; //die Namen werden vertauscht for(i = 0; i < Uebungsgruppen.MAX_ANZAHL_TEILNEHMER * Uebungsgruppen.MAX_ANZAHL_GRUPPEN; i++) { for (j = i - 1; j >= 0; j--) { bool swap = false; // Vertauschen wegen Nachnamen if(teilnehmer[j].getNachname().compareToIgnoreCase(teilnehmer[j + 1].getNachname()) > 0){ swap = true; } // Vertauschen wegen Vornamen (bei gleichen Nachnamen) else if((teilnehmer[j].getNachname().compareToIgnoreCase(teilnehmer[j + 1].getNachname()) == 0) && (teilnehmer[j].getVorname().compareToIgnoreCase(teilnehmer[j + 1].getVorname()) == 0)){ swap = true; } if (swap){ vertauschen = teilnehmer[j]; teilnehmer[j] = teilnehmer[j + 1]; teilnehmer[j + 1] = vertauschen; } } } }
Die Bedingungen müssen eventuell angepasst werden, je nachdem wie der Rückgabewert der compare-Funktion ausschaut.
-
Garantie ist ein Jahr, schaut eher schlecht aus.
Wieso schaut es schlecht aus wenn 1 Jahr Garantie ist und er ihn im Jänner gekauft hat?
Ich wäre mir da aber nicht so sicher mit dem Jahr. Kann sein dass es auch nur ein halbes Jahr ist (Verschleißteil).
-
Rausnehmen und wieder reingeben, schauen ob die Kontakte sauber sind usw. muss man einem Informatiker ja wohl nicht sagen. Wenn das nichts hilft würde ich einfach dort vorbeischauen wo du ihn gekauft hast. Garantie hast du denke ich schon noch.
Dass mit den Akkus generell was nicht stimmt glaube ich nicht, das war nämlich schon letztes Jahr, und die Serie wird ja hoffentlich inzwischen nicht mehr produziert. Außerdem waren da die Symptome anders: die Akkus haben einwandfrei funktioniert, es hat "nur" das Risiko bestanden dass sie zu brennen beginnen.
-
Geht leider auch nicht. Ich kann dort zwar Firefox einstellen, aber die Warnung kommt trotzdem.
-
Ich habe ein 64-Bit-Ubuntu mit Gnome installiert. Weil es da einige Probleme mit Firefox und Java Applets gegeben hat, habe ich Firefox jetzt neu installiert. Java-Applets laufen jetzt einwandfrei, dafür habe ich anscheinend in der MIME-Datenbank was kaputt gemacht.
Wenn ich eine lokal gespeicherte HTML-Datei mit einem Doppelklick öffnen will bekomme ich diese Fehlermeldung:
"index.html konnte nicht geöffnet werden
Der Dateiname »index.html« deutet darauf hin, dass der Typ dieser Datei »HTML-Dokument« ist. Dem Dateiinhalt zu Folge handelt es sich jedoch um den Typen »XML-Dokument«. Daher könnte das Öffnen dieser Datei ein Sicherheitsrisiko für Ihr System darstellen.
Öffnen Sie diese Datei nicht, falls Sie sie nicht selbst angelegt oder Sie ihren Ursprung als vertrauenswürdig einstufen. Versehen Sie diese Datei mit der zu »XML-Dokument« passenden Erweiterung, um sie dann normal zu öffnen. Alternativ können Sie auch das »Öffnen mit«-Menü verwenden, um eine bestimmte Anwendung für diese Datei auszuwählen."
Mit "Öffnen mit..." geht es, aber ein Doppelklick ist halt doch bequemer. Laut einem Tutorial sollte er sich die gewählte Applikation eigentlich merken sobald ein Dateityp einmal mit "Öffnen mit..." geöffnet wird.
Wie bekomme ich das wieder hin?
-
Bei mir geht es auch nicht.
-
Rein interessehalber: Welches Dateisystem ist denn bei euch im Einsatz? NTFS oder FAT?
Bei mir war es in beiden Fällen NTFS.
-
Ich selbst habe das Problem genauso wie du es beschrieben hast inzwischen schon bei meinem Vater und bei einem Freund gehabt. Sowas habe ich vorher noch nie gesehen und dann innerhalb eines Monats gleich 2 Mal. Auslöser war in beiden Fällen ebenfalls dass der PC im laufenden Betrieb ausgeschaltet wurde.
Zuerst die schlechte Nachricht: ich musste trotz aller Bemühungen das System komplett neu aufsetzen. XP noch einmal drüberinstallieren hat nicht funktioniert (ebenfalls Neustart während der Installation).
Die Daten konnte ich allerdings in beiden Fällen mit Linux retten. Ich habe problemlos die ganze Partition sicher können. Damit anschließend die XP-Installation durchgeführt werden konnte musste ich ich Platte allerdings komplett formatieren.
Keine Ahnung ob es eine einfachere Alternative gibt, und schon gar nicht weiß ich wieso XP plötzlich sowas macht. Aber falls du Zugang zu einer Linux-Installation hast würde ich jedenfalls mal die Daten auf diesem Weg sichern (oder von jemandem sichern lassen), dann kann da wenigstens mal nichts mehr passieren.
Nachdem die Partition selbst ja nicht beschädigt wurde kann ich mir das nur dadurch erklären, dass XP beim Wechsel in den Standby-Modus irgendwas im MBR 'rumpfuscht. Vielleicht ist da was schief gegangen.
-
wie sieht es mit windows anwendungen aus? geht das genau so komfortabel wie mit c++?
Ich bin mir jetzt nicht ganz sicher wie du "Windows-Applikationen" meinst.
Wenn du "Windows-Anwendungen" im Sinne von fensterbasiert meinst: Eigentlich geht das viel komfortabler als in C++. Wie meine Vorredner schon geschrieben haben muss man sich in Java nicht um Speichermanagement usw. kümmern. Wie komfortabel es beim Programmieren ist hängt vermutlich eher von der Bibliothek als von der Programmiersprache ab, aber Swing ist jedenfalls ganz ok. Zumindest besser als wenn man in C++ beispielsweise direkt auf die Betriebssystem-API aufsetzt.
Aber: Java/Swing ist bei grafischen Applikationen eher langsam. Das ist aber am Anfang vermutlich eher egal.
Was "Windows" als Betriebssystem betrifft: Java ist plattformunabhängig, d.h. man muss sich über das Betriebssystem keine Gedanken machen.
wie sieht es mit compilern aus? habe bis her nur etwas von dos-fenster compiler gelesen?
Ich glaube was du meinst ist die Entwicklungsumgebung (IDE). Der Compiler ist nur das Programm, das die Java-Quelldateien in von der Java VM ausführbaren Bytecode übersetzt.
Entwicklungsumgebungen gibt es für Java sehrwohl auch, z.B. Eclipse (gibt's gratis im Internet). Solche IDEs rufen den Compiler dann im Hintergrund automatisch auf wenn man auf "Run" klickt. Am Anfang würde ich aber empfehlen einen normalen Texteditor zu verwenden und den Compiler in der Kommandozeile ("DOS-Fenster") manuell aufzurufen, da lernt man mehr. Man kann übrigens natürlich auch grafische Applikationen schreiben wenn man den Compiler von der Kommandozeile aus startet.
-
dh. wenn ich für jemanden etwas unentgeltlich entwickle, der das fertige produkt dann an jemanden verkauft, dann sollte ich mir mit ihm aushandeln, welche rechte ich am source-code besitze, richtig?
Vermute ich mal. Ich würde es im Zweifelsfall einfach vorher klären: kostet nichts und erspart später vielleicht Ärger.
-
Das war erst vor kurzem in Daten- und Informatikrecht:
-) Bei einem gewöhnlichen Dienstverhältnis gehören sämtliche Verwertungsrechte der Firma
-) Bei sonstigen Arbeitsverträgen (Werkvertrag, etc.) gibt es keine gesetzliche Regelung, da ist es Vereinbarungssache. Hat man keine Vereinbarung getroffen, dann sitzt die Firma meistens am längeren Ast. -
Das passiert bei mir eigentlich nur wenn ich die Adresse im Windows Explorer eingebe.
Wenn ich vorher explizit den IE starte und dort die Adresse eingebe, dann macht sie auch der IE auf.
-
Wenn du es ohnehin herumliegen hast dann probier es einfach aus.
Mit Windows 98 würde es nicht funktionieren, weil es da so eine komische Beschränkung gab dass der PC, an dem die Internetverbindung freigegeben wird, unbedingt die lokale Adresse 192.168.0.1 braucht. Und die kann man natürlich nur einer der beiden Netzwerkkarten zuweisen. Vermutlich wurde das aber bei XP verbessert (hoffe ich zumindest, gibt ja keinen Grund für diese Einschränkung).
-
Theta(n log(n)) ist richtig. Das ist auch die Komplexität des Sortierproblems, der Algorithmus kann daher gar nicht schneller sein (und auch kein anderer).
-
Ich würde als nächstes probieren ein altes Windows 9x zu installieren und dann ein Update auf XP zu machen. Dann kannst du den Setup von einer existierenden Windows-Installation aus starten, was hoffentlich funktionieren sollte.
-
Es wird zuerst der Integer (Parameter-Anzahl) und dann das char*-Array übergeben.
-
@true in C: im C99-Standard ist festgelegt, dass "true" zu "1" expandiert.
Echt? Ok, dann ist das mit -1 wohl eine andere Programmiersprache. Visual Basic könnte es sein. ...hmmm, ist aber eigentlich auch vollkommen egal.