Zum Inhalt springen

Whiz-zarD

Mitglieder
  • Gesamte Inhalte

    2083
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    51

Alle Inhalte von Whiz-zarD

  1. Ist schon ein bisschen länger her, dass ich mit C einen doppeltverketteten Ring implementiert habe aber so kompliziert habe ich das nicht gemacht. Wie gesagt. Mehr als die vier Zeilen, die ich da schrieb, braucht man nicht. Letzen Endes müsste der Algorithmus genauso aussehen, wie beim Einfügen in eine doppeltverkettete Liste und da braucht man nur die vier Zielen, die ich schrieb: https://de.wikibooks.org/wiki/Algorithmen_und_Datenstrukturen_in_C/_Listen#Einfügen In einem Ring hat man ja nicht die Ausnahmen, dass next oder prev NULL sein kann.
  2. Wie auch? Du prüfst, ob der String gleich "[0-9]text" ist. Reguläre Ausdrücke funktionieren hier nicht. Schau Mal hier nach, ob das ist, was du suchst. http://lua-users.org/wiki/PatternsTutorial
  3. Woher stammt der Code? Stammt er von dir? Funktioniert er oder wo liegen konkret deine Fragen? Meine C-Kenntnisse sind auch schon sehr stark angerostet, aber der Code ist auch recht schwierig zu lesen, weil s1 und w ständig getauscht werden. Schauen wir uns aber mal den Code an: 1 //Next-Verkettung ######################################### 2 (*w)->next = *s1; 3 *s1=(*w); 4 (*w)=(*s1)->next; 5 (*w)=(*w)->prev; 6 (*w)->next=(*s1); //Zeitpunkt 3 7 //Prev-Verkettung############################################# 8 (*w)=(*s1); 9 (*w)=(*w)->next;//auf 2.Block 10 (*s1)->prev=(*w)->prev; 11 (*w)->prev = (*s1); Wir haben folgende Ausgangssituation: e0 ←→ e1 ←→ e2 ↑ ↑ └───────────┘ Wir haben also ein Ring. Bestehend aus e0, e1 und e2. Der Code fügt nun zwischen e0 und e1 ein neues Element (e3) hinzu. *w zeigt auf e3 und *s1 auf e1. e3 hat erstmal keine Verbindung in den Ring. e3 *w = e3 *s1 = e1 e0 ←→ e1 ←→ e2 ↑ ↑ └───────────┘ In der zweiten Zeile wird *w->next auf s1 gesetzt: e3────┐ *w = e3 │ *s1 = e1 ↓ e0 ←→ e1 ←→ e2 ↑ ↑ └───────────┘ In Zeile 3 wird *s1 mit *w ersetzt und in zeile 4 *w wird ersetzt mit *s1->next. Damit werden beide getauscht und der Ring hat einen neuen "Anfang": e3────┐ *w = e1 │ *s1 = e3 ↓ e0 ←→ e1 ←→ e2 ↑ ↑ └───────────┘ In zeile 5 wird wiederum *w mit *w->prev getauscht und zeigt somit auf e0. e3────┐ *w = e0 │ *s1 = e3 ↓ e0 ←→ e1 ←→ e2 ↑ ↑ └───────────┘ Nun wird *w->next auf *s1 gesetzt und somit ist e3 schon mal in eine Richtung in den Ring integriert: e3────┐ *w = e0 ↑ │ *s1 = e3 │ ↓ e0 ←- e1 ←→ e2 ↑ ↑ └───────────┘ Allerdings zeigt der prev-Zeiger von e1 noch auf e0 und e3 hat noch kein Prev-Zeiger auf e0. Dies geschieht nun im Prev-Block. *w wird in Zeile 8 und 9 auf e1 gesetzt: e3────┐ *w = e1 ↑ │ *s1 = e3 │ ↓ e0 ←- e1 ←→ e2 ↑ ↑ └───────────┘ Nun wird *s1->prev auf *w-prev gesetzt: e3────┐ *w = e1 ↑ │ *s1 = e3 ↓ ↓ e0 ←- e1 ←→ e2 ↑ ↑ └───────────┘ Und zum Schluss *w->prev auf *s1: e3←───┐ *w = e1 ↑ │ *s1 = e3 ↓ ↓ e0 e1 ←→ e2 ↑ ↑ └───────────┘ Und der Ring ist fertig. Allerdings halte ich den Code für zu viel, denn im Grunde ist das ja nur ein Umbiegen der Zeiger. Wir kennen doch den "Anfang" des Ringes (*s1) und das Element (*w), was hinzugefügt werden soll. Dann kann man doch im ersten Schritt *w->next auf *s1 und *w->prev auf *s1->prev setzen. w─────┐ │ │ ↓ ↓ s0 ←→ s1 ←→ s2 ↑ ↑ └───────────┘ Und im zweiten Schritt *w->prev->next auf *w und *w->next->prev auf *w w←────┐ ↑ │ ↓ ↓ s0 s1 ←→ s2 ↑ ↑ └───────────┘ Das wären dann 4 Zeilen Code.
  4. Richtig. Es sollen 0,0941 Minuten sein? Denk mal logisch drüber nach. Wie kann der Transfer plötzlich 350 Mal so schnell sein, obwohl die Transferrate sich verringert und die Datenmenge sich erhöht hat? Schau dir noch mal die Einheiten deiner Werte an.
  5. Sorry aber das ist kein Forum, wo jemand deine Hausaufgaben macht. Hier ist auch ein bisschen Eigeninitiative gefragt und @Chief Wiggum hat dir quasi schon den Weg zur Lösung beschrieben. Du hast doch gesagt, dass du Prozentrechnung kannst. Wo ist denn das Problem auf die Datenmenge 10% zu addieren und die Datentransferrate auf 45% zu reduzieren? Was sind denn 45% von 16.000 KBit/s? Und wenn du 10% auf die 36,96 GBit dazuaddierst? Wenn dies hast, ist das das selbe, wie in Aufgabe 1. Aufgabe 3 ist der umgekehrte Weg. Die Zeit ist vorgegeben und du sollst ausrechnen, wie viele Daten in dieser Zeit übertragen werden können. Von deiner maximalen Geschwindigkeit von 128 KBit/s steht dir nur 57% zur Verfügung. Wie viel bleibt dir von der Geschwindigkeit übrig und wie hoch ist die Datenmenge, die dann pro Tag übertragen werden können? Aufgabe 4 ist das selbe wie Aufgaben 1 und 2.
  6. Das Problem von Zertifikaten ist, dass sie nur begrenzt gültig sind. Nach ein paar Jahren ist das Ding nicht mehr Gültig und dann kann man es quasi nur noch wegschmeißen und dafür sind Zertifikate einfach zu teuer. Zertifikate lohnen eher, wenn man sich als Berater oder Trainer selbstständig machen möchte, um zu zeigen, dass man die aktuellen Technologien kennt. Für einfache Entwicklertätigkeiten sind die eigentlich nicht zu gebrauchen, da es dem Auftraggeber oft egal ist, mit welcher Technik oder Programmiersprache sein Problem gelöst wird. Hauptsache es wird gelöst und das möglichst kostengünstig. Als Privatmensch ohne Kundenkreis wird es schon schwer, Fuß zu fassen. Wir haben auch einen freiberuflichen Entwickler engagiert, der seine Dienste auch als Trainer für Projektmanagement anbietet aber er hat kaum Kunden. Um an Ideen zu kommen, was Menschen wollen, wird auch inzwischen an vielen Hochschulen das sog. Design Thinking gelehrt. Man erstellt fiktive Personen und überlegt, welche Bedürfnisse diese haben und welche Probleme für diese Bedürfnisse bestehen und überlegt sich dann Lösungen, die dann entwickelt werden.
  7. Wie gesagt, dies würde nur mit Left Joins klappen. Dann wird das Ergebnis aber dementsprechend breit. Wenn man nicht in die Breite gehen möchte, der muss dann pro Tabelle ein eigenes Select-Statement generieren lassen. Dies ist dann aber abhängig von der jeweiligen Datenbank, welche Sprache dort zum Einsatz kommt, denn mit reinem SQL ist dies nicht möglich.
  8. Nein, das geht nicht. Das geht nur höchstens, wenn im Ergebnis alle Zeilen von allen Tabellen enthalten wären. Angenommen wir hätten folgende Tabellen: Tabelle Z ID a b Tabellenname 1 abc aaa A 2 def bbb B Tabelle A ID WertA 1 Foo Tabelle B ID WertB 2 Bar Eine Relationale Datenbank kann nur eine zweidimensionale Tabelle zurückliefern. Jede Zeile hat den gleichen Ergebnissatz. Wir können nicht sagen, dass Zeile 1 die Spalten von Tabelle A besitzt und Zeile 2 die Spalten von Tabelle B. Datenbanken, die pro Zeile unterschiedliche Ergebnisse zurückliefern können sind dokumentenorientierte Datenbanken. Damit dies überhaupt auch mit relationalen Datenbanken funktioniert, müsste man Tabelle Z mit allen anderen Tabellen mit einem Left Join verknüpfen: SELECT * FROM Z LEFT JOIN A ON Z.ID = A.ID LEFT JOIN B ON Z.ID = B.ID Dann würden wir folgendes Ergebnis bekommen: Ergebnis ID a b Tabellenname WertA WertB 1 abc aaa A Foo (null) 2 def bbb B (null) Bar Das Ergebnis geht dann weiter in die Breite, je mehr Tabellen gejoint werden müssen und je mehr Spalten die Tabellen besitzen.
  9. Mit relationalen Datenbanken nicht möglich. Was soll denn da auch als Ergebnis herauskommen? Das Ergebnis wäre pro Zeile auch immer ein anderes, da Tabelle A andere Spalten besitzt als Tabelle B.
  10. Von "Heidi" und "Als die Tiere den Wald verließen" war ich auch nie ein großer Fan. Mit langsam meine ich nicht, dass da nicht viel passiert, sondern einfach den Schnitt. Ich kann es schlecht beschreiben. Ich finde, die Stimmen wurden noch höher und irgendwie müssten die Charaktere sich wie auf LSD bewegen und im Hintergrund muss die Landschaft vorbeisausen. Mich persönlich macht das alles sehr unruhig. Auch die simplen Formen, wie z.B. in deinen Beispielen (Dreieck als Gesicht), finde ich auch einfach schrecklich.
  11. Natürlich. Gib dem Zauber Zucker!
  12. Vielfältiger ist vielleicht das falsche Wort. Liebevoller erzählt wohl eher und vor allem langsamer. Mit meinem Neffen habe zusammen schon sehr viel angeschaut und ich merke jedes Mal in mir eine gewisse Unruhe aufsteigen, weil die Cartoons von heute sehr schnell geschnitten sind. Bei den Cartoons aus den 80ern/90ern empfinde ich dies nicht so. Das beste Lied stammt immer noch von den Racoons
  13. Stimmt schon. Vom Aufbau sind sie schon ein wenig speziell. Ich hab darin ein bisschen geblättert und finde den Aufbau gar nicht mal so schlecht und unsere Schülerpraktikanten haben diese Lektüre verwendet und fanden die Bücher bis jetzt immer gut und das konnte man auch sehen. Aber mal Online eine Vorschau lesen oder mal in eine Buchhandlung gehen, um mal zu schauen, ob man dort ein Exemplar in die Finger bekommt, sollte man immer tun. Das Buch muss auch zu einem ein wenig passen. Es bringt ja nichts, ein Buch zu kaufen, was zwar vollgestopft mit Wissen ist aber so geschrieben ist, sodass es für einen eine Qual ist, dies zu lesen.
  14. Und was soll das jetzt bringen? Ubuntu basiert auf Debian. Du tauschst also ein Betriebssystem, was auf Debian basiert (Raspbian) gegen ein Betriebssystem, was auf Debian basiert (Ubuntu) aus.
  15. Weil dies das offizielle Betriebssystem und mit der besten Unterstützung für den Raspberry ist.
  16. Metty Ach Gott. Das Ding hatte ich schon völlig vergessen. Ja, Zini ist richtig.
  17. Sogar während des Frühstücks. Aber das TV-Kinderprogramm war damals vielfältiger.
  18. Ich kenne jetzt nur das Java- und das C#-Buch der "Schrödinger programmiert"-Reihe aber die sind sehr gut und daher schmeiße ich mal "Schrödinger programmiert C++" in den Raum.
  19. Der Begriff "ausbilden" ist hier schwammig. Das richtige Wort wäre "weiterbilden". Es handelt sich um ein Weiterbildungsprojekt für interne- und externe Mitarbeiter. Der Abschluss ist nämlich der geprüfte IT-Entwickler und dieser Abschluss befindet sich auf Meisterebene. Es findet auch vorher ein Auswahlverfahren statt, da sie nur die besten der besten der besten einstellen wollen. Folglich müssen die Bewerber schon Berufserfahrung haben. Das deckt sich auch mit den Bedingungen, die erfüllt werden müssen, um überhaupt den Titel "geprüfter IT-Entwickler" tragen zu dürfen: Quelle: https://de.wikipedia.org/wiki/Geprüfter_IT-Entwickler Wie gesagt, Fachinformatiker (in beiden Richtungen) bildet VW schon lange aus. Sie bieten jetzt nur ein Weiterbildungskurs. Sie wollen wohl damit Quereinsteiger und Studienabbrecher, die dennoch in der IT arbeiten, ködern.
  20. Wo soll diese Information herkommen? VW ist unterteilt in mehrere Tochterfirmen und die Volkswagen Group IT (ehemals Autovision GmbH) und die Financial Services bilden schon seit Ewigkeiten Fachinformatiker aus.
  21. Klingt für mich ein bisschen scheinheilig. Es ist ja nicht so, dass man nicht von außen auf interne Ressourcen zugreifen könnte. Sei es z.B. per VPN. Also das wäre kein Showstopper, nur weil die Software lokal gehostet wird.
  22. Die Suche nach einer OCR-Software ist demnach ja auch kein FISI-Thema. "Evaluation, Installation und Konfiguration einer Rechnungssoftware zum Einsatz in der Produktiv Umgebung." Was ist daran jetzt so schwer?

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...