Von der Idee zum Programm

24 Beiträge in diesem Thema

Empfohlene Beiträge

Hi!

Also der zeit mach ich eine Ausbildung als Software-Engineere.

Nur hab ich das Problem, dass ich nicht draufkomme, wie ich eine Berechnung, Funktion in einer Methode erstelle.Und wie ich dann die einzelnen Methoden, Eigenschaften dann ineinerander verkopple. Erst wenn ich eine Lösung sehe, verstehe ich meistens, wieso man das und das macht.

Die Interesse am Lernen ist da, aber ich weis nicht wie ich es in der Schule bewältige. Ich habe ziemliche Probleme damit. Überlege auch schon einen Kurs dafür zu machen, aber ob das was bringt weis ich nicht.

Ich versuche täglich die alten BSP zu programmieren, bis ich verstanden habe, was ich da genau mache. Und auch langsam immer mehr beherrsche, aber ich zu mich noch immer sehr sehr schwer.

Was könnts ihr mir raten?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Gast Bismarck

Schreib mal ein einfaches Beispiel rein... vielleicht können wir das mal exemplarisch abarbeiten und dir das Vorgehen klar machen.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Schreib mal ein einfaches Beispiel rein... vielleicht können wir das mal exemplarisch abarbeiten und dir das Vorgehen klar machen.

Das Problem ist ja, dass er die Lösung versteht, aber er nicht weiß, wie man auf diese Lösung kommt.

So verstehe ich das zumindest. Kumpel von mir hat das gleiche Problem.

Bin selbst seit 10 Jahren Softwareentwickler. Bin jetzt 30 und programmiere seit 17 Jahren aus Interesse.

Habe mit Programme abschreiben angefangen, dann diese solange geändert bis sie das gemacht haben, was ich wollte.

Irgendwann versteht man immer mehr.

Mein Rat : Programmieren, Programmieren, Programmieren.

Aber sorge dich nicht junger Padawan...

Ich erfinde bei mir an der Arbeit auch nicht alles neu - man muss nur wissen wo man es kopieren kann.

Irgendwann hat man das schon mal so ähnlich programmiert, oder halt jemand anderes.

Der Copy-Weg ist ganz normal, wenn man nicht grade auf 'ner grünen Wiese anfängt mit 'ner neuen Programmiersprache.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Beginnen wir mal mit etwas "leichterem":

Aufgabe:

Erstelle eine Funktion, die die größte Ziffer, die in einer ganzen Zahl vorkommt ermittelt.

also das heißt, wenn ich zB 28 eingebe, soll er mir 8 zurück geben als Antwort.

das heißt ich muss 2 und 8 "trennen". (bloß wie?)

danach muss ich prüfen ob 2 > 8 ist, ansonsten ist 8 > 2

wieviele Variablen brauch ich?

meiner Meinung nach 3!

1. für die eingabe Zahl

2. für Zahl der einer-Stelle

3. für Zahl der zehner-Stelle

Aber ich könnte es nicht in ein Programmcode umwandeln...

Wie würdest du vorgehen?

PS: Programmiersprache ist C#

@joey

genau das ist mein Problem, ich weis nicht wie ich diese Funktion baue/schreibe.

Aktuelle mach ich es leider auch so, indem ich schaue, wie ich andere Programme in der Schule gemacht habe und versuche das in das neue geändert zu "übertragen"

bearbeitet von DMX

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

überleg mal wie du diese Aufgabe in deinem Geist angehen würdest

geh von einer Zahl aus: 7896545

wie du siehst ist die Größte Ziffer ne 9.

wenn du in mathe aufgepasst hast gibt es die Divison mit Rest, kurz div. Beispiel 11 geteilt durch 5 ist 2 (der Rest ist egal)

jetzt kommts wenn du sagen wir mal 123 hast.

Dann wäre 123 div 100 = 1

jetzt multiplizierst du das ergebniss wieder mit der 100,

ergibt 100

.

jetzt ziehst du die 100 von der 123 ab. Dann hast du noch 23

23 div 10 = 2

2*10=20

23-20=3

(dieselbe vorgehensweise wie mit der 100)

3 div 1 = 3

3*1=3

3-3=0

wie du siehst ergibt das anwenden von div die Ziffer jeweils an der Hunderter- ,Zehner-, Einerstelle.

Wie kann man dieses Verfahren jetzt auf beliebig viele Ziffern ausweiten und dann nach der größten Ziffer suchen?

Gibt es eine einfacherer Lösung?

Poste mal den Code

bearbeitet von xXXx Quadro x

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich kann leider kein C#, sondern hauptsächlich programmiere ich in Java

Meine erste Idee wäre spontan folgende :

Eingabe in einen String werfen um sich mit Substring einen Teilstring (in dem Fall eine Stelle lang, also eine Ziffer) zu holen.

So in einer Schleife über die ganze Eingabe laufen.

Diese Einzelstelle mit Integer.parseInt in einen einfache int-Typ umwandeln (weiß nicht ob das in C# nötig ist).

Prüfen ob der Wert größer als ein gemerkter ist (den einfach mit 0 initialisieren).

Wenn ja, merken.

Am Ende bleibt der größte Wert über (im Beispiel laut Eingabe die 8) und wird auf der Console ausgegeben.

public static void main(String[] args) {
String eingabe = "24853454";
int maxZahl = 0;

for (int i=0, l = eingabe.length(); i < l; i++)
{
int tmp = Integer.parseInt(eingabe.substring(i, i+1));

{
if (tmp > maxZahl)
{
maxZahl = tmp;
}
}
}

System.out.println(maxZahl);
}

Ich dachte dein Problem ist komplexer. Dir fehlt einfach nur Erfahrung, was für Möglichkeiten die Sprache hergibt.

Du schreibst

-> das heißt ich muss 2 und 8 "trennen". (bloß wie?)

Da sagst du es quasi schon. Mit Substring "trennst" du im Java einen String, bzw. holst dir einen Teilstring mit (Position ab, Position bis)

Die Funktion muss man halt kennen, schon ist das ganze kein Problem mehr.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich habe deinen Code (Java und C# haben einige Ähnlichkeiten) etwas verändert, aber leider klappt es nicht und hab mir im WWW anschaut habe eine Lösung, wie ich die Zahlen "Trenne"

static void Main(string[] args)
{
int zahl = 0;
int pruefzahl = 0;

do { Console.WriteLine("Zahl: "); } //23 als eingabezahl
while (!int.TryParse(Console.ReadLine(), out zahl));

do
{
pruefzahl = zahl % 10; //23 % 10 = 3 --> 3= prüfzahl // 2. Durchlauf Zahl = 2 --> Prüfzahl = 2
zahl = zahl / 10; //23 / 10 = 2 --> 2 = zahl //2. Durchlauf = zahl = zahl / 10 --> 2/10 = 0
if (prüfsumme > groeßteZiffer) //prüft ob prüfsumme größer ist als die größste Zahl
{
groeßteZiffer = zahl;
}
Console.WriteLine(pruefzahl);
}
while (zahl > 0);
}

Hab jetzt die Aufgabe gelöst, aber ohne irgendwie drauf zukommen wie das ganze da so läuft. Ich musste im Internet nachschauen, wie ich das berechne, und dieses "Denken"/"Logik" möchte ich mir selber beibringen, indem ich seh, was ich da machen muss.

Leider bin ich selber nicht auf die Berechnung in der Do-Schleife raufgekommen, aber ich verstehe wieso ich das so machen kann.

bearbeitet von DMX

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich würde es immer noch ohne Rechnen machen, meine Kollegen auch.

Hab mal probiert es in C# zu schreiben - aber ich kanns nicht.

Nur eben beim Tippen mal schnell nebenbei auf 'n paar Seiten geschaut.

static void Main(string[] args)
{
int hoechsteZiffer = 0; // Merker für die hoechste Ziffer
int ziffer = 0; // Zwischenwert fuer numerische Einzelziffer (fuer DO-Schleife)

// Eingabe auf Konsole lesen und in string eingabe merken
string eingabe = Console.ReadLine();

// Merker fuer die Zeichenposition
int position = 0;
do
{
// Eine Stelle von dem string in ein int umwandeln
ziffer = Convert.ToInt16(eingabe.Substring(position, 1);

// Pruefen ob die aktuelle Ziffer groesser der gemerkten hoechsten Ziffer ist
if (ziffer > hoechsteZiffer)
{
hoechsteZiffer = ziffer; // neue hoechste Ziffer merken
}

position++; // Position eins hochzaehlen
}
while (position < eingabe.Length); // bis der komplette String durchlaufen ist

// Hoechste Ziffer ausgeben
System.Console.WriteLine(hoechsteZiffer);
}

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo DMX,

ich würd dir für die Lösungsfindung "Teile und Herrsche" (Hail Caesar ;) ) empfehlen. Du teilst dein Problem erstmal in kleinere Teilprobleme auf und löst diese dann. Das kann auch erstmal nur in Prosa (Bsp.: 1. bestimme alle Ziffern einer ganzen Zahl 2. finde die größte dieser Ziffern) passieren. Diese Schritte kannst du eins zu eins in Funktionen umwandeln (Bsp.: 1. ZiffernArray = extrahiereZiffern() 2. größteZiffer = findeGrößteZiffer( ZiffernArray ) ). Dann gehst du rein in die einzelnen Funktionen und löst die Probleme dort genauso weiter. (Bsp.: 1. wird wohl eine Schleife sein, in der du die Ganzzahl durch 10 teilst und dann die erste und einzige Nachkommastelle dir die letzte Ziffer verrät - am Ende der Schleife schnippelst du die durch Subtraktion ab und machst in der nächsten Iteration das gleiche nochmal). Mit dieser Methode kann man viele Dinge angehen. Wenn du später objektorientiert mit Klassen arbeitest, dann Teilst du halt noch in Klassen die die Daten halten und in Klassen die Algorithmen auf diesen Daten ausführen.

Der Weg fremden Code (die Musterlösung oder die Lösung anderer nachzuvollziehen) ist super. Dabei kriegst du für das nächste Mal ein Gefühl wies überhaupt gehen kann. Lass dich nicht entmutigen, wenn Code komplex und unverständlich geschrieben ist - er ist von Menschen gemacht und die haben auch eine Weile gebraucht das so hinzukriegen. Achte dabei auf dein Gefühl - wenn du siehst, dass etwas besser formuliert oder dokumentiert werden kann, dann probier es! Wenn du ein Stück Code verstanden hast, dann dokumentier es so, dass du beim nächsten Mal draufschauen sofort weißt was es macht (Auch Variablen- und Funktionsnamen sind Dokumentation!!!).

Ich hoffe diese Tipps helfen dir die zweitschönste Sache der Welt lieben zu lernen :D

vg, Roy

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

@DMX:

fange erstmal mit einfacheren Beispielen an.. wenn du Schwierigkeiten hast Algorithmen zu "erfinden" dann war dein Beispiel mit der größten Ziffer aus einer Integerzahl bereits viel zu kompliziert.

1. Schritt: Papier und Bleistift. Problem von Hand lösen, dabei dokumentieren wie ich selbst es löse.

2. Schritt: wie RoyJoy schreibt, Problem in Teilproblemchen zerlegen, die einzeln lösen.

3. Jedes Teilproblemchen wird eine Funktion (ich kann nur funktional/ prozedural programmieren.. reicht aber auch da ich kein Programmierer bin...

auch wenn ich eine Zeitlang mein Gehalt damit verdient habe....) => in deinem Fall in Methoden und Datenstrukturen aufteilen die später in Klassen zusammengefasst werden.

4. (aus Erfahrung) wichtig: eine Methode / Funktion darf nie zu groß sein als dass man sie nicht in einem Rutsch (ohne Scrollen) auf dem Bildschirm sieht.

"Aus den Augen aus dem Sinn", sobald sie größer ist rutschen überproportional mehr Fehler rein...

5. Nach der eigenen Lösung (möglichst nicht vorher "spicken") nachsehen wie andere es gelöst haben.. und das übernehmen was sie besser machen.

Zum Beispiel:

Ich hätte die Zahl (ich nehme mal an sie liegt in Integer Format vor) per Ausgabefunktion (in Ansi C glaube ich sprintf oder so ähnlich) in einen String umgewandelt,

den String als "Array" of "Character" addressiert und entweder die höchste Zahl herausgesucht oder ihn gleich sortiert.

Da die Werte '0'..'9' auch in ASCII (/UTF etc...) die Reihenfolge wie im Integer Bereich haben ('0'=48, '9'=57) brauchst du um die Vergleiche durchzuführen die "Zeichen" nicht extra in Integer zu konvertieren.

Ähnlich wie beim Aufsatz schreiben wird dein Stil nur durch viel Übung flüssig....

bearbeitet von afc_squared

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Vom Prinzip her sollte das doch relativ einfach sein.

1.Zahl von Integer nach String (Zeichenkette) umwandeln

2.Das gesamte Char-Array ( String = Char-Array) durchgehen und jedes Zeichen wieder in eine Zahl umwandeln.

3. Zahlen vergleichen -> größte Zahl bestimmen.

bearbeitet von Lusches

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

@RoyJoySummer

Die Idee ist gut, und das versuch ich auch immer, das Programm in kleine Teile zu realisieren.

Als erstes mal Zahl einlesen inkl. Überprüfung, dass es sich hier überhaupt um eine Zahl handelt(int16).

Danach versuchte ich die Zahlen einzeln zu zerlegen und speichere mir die größte Zahl.

Durchlauf aller Zahlen mit do-while Schleife.

Ich schreibe in der Schule schon immer mit, was diese Methode zu tun hat und warum ich so den Algorithmus schreibe etc. Aber viel hat es mir noch nicht gebracht.. :( Hab in letzter Zeit nur programmiert und bin zum Entschluss gekommen. Ich weis was Methoden, Properties sind. Ich weis wie der Aufbau ist, aber mir fehlt bei der Methode einfach noch, wie ich die Berechnungen machen kann. Da komme ich selten drauf.

Probiere heute das Gegenteilige: Ich suche die Kleinste Zahl, aber das klappt grad gar nicht..

Aber vielleicht kannst mir ja ein leichteres Beispiel vorschlagen :)

@afc_squared

Ja das versuch ich ja, dass ich leichtere Beispiele von Anfang an beginne. Aber finde kaum was leichteres..Finde nur mehr komplexere Beispiele.

Welchen Vorteil bietet es mir die Zahl von int in string umzuwandeln? damit die Zahlen einzeln sind und ich dann es überprüfen kann ob die Zahl größer oder kleiner ist als die nächste?

Naja das dumme ist halt, dass ich die Zahlen nicht in ein Array einfügen soll, sondern einfach einlesen und dann die groeßte Zahl herausfinden und das geht leider nur mit einem Mathematischen Algorithnmen.

@Lusches

Klar wenn man programmieren kann oder die Lösung sieht schon :)

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Gast Hadon

Also rein prinzipiell gibt es da mehrere Ansätze, wie eben bei so vielen Programmen...

Wenn ich hier irgendwas von Umdefinieren des Types lese usw... zieht es mir aber schon die Zehennägel hoch...

Ist ja ähnlich freakig wie mit Strings zu rechnen ... (sowas gehört eigentlich von Haus aus schon verboten vom Compiler)

Doch was solls elegant wäre es nur wenn du wirklich hergehst und eben durch eine rein mathematische Denkweise so etwas löst...

Doch kommen wir mal auf dein eigentliches Problem zu sprechen nämlich dass du einfach den Quellcode analysierst und selsbt nicht so recht auf die Lösung kommst.

Tja wo liegen deine hauptsächlichen Probleme eigentlich...

Bei jeder Methode solltest du dir erst überlegen was für einen Datentyp du berechnen möchtest und was du an Übergabeparametern mit einfügen musst...

Das ist schon mal der erste Schritt und zu überprüfen wie du bei einem mathemtischen Problem vorgehst ist halt einfach mal eine kleine Denkarbeit ...

Ich selbst habs eigentlich dadurch gelernt dass ich eben durchaus auch komplizierteren Code hergenommen habe und diesen dann analysiert habe und dann auh sehr ausführlich dokumentiert habe was eben an jener Stelle passiert und vor allem auch immer warum ...

Dies einmal an einem schwierigeren Programm durchgezogen und du wirst schon schnell Fortschritte machen...

Kauf dir ein simples Buch dazu am Besten aus dem Addison Wesley Verlag und arbeite damit. Habe da noch keine schlechten Bücher gesehen und kann sagen, dass dort sehr vieles detailiert erklärt wird und du auch die Denkweise nach und nach antrainiert bekommst...

Für die Basics generell empfehlen kann ich die Bücher von Helmut Erlenkötter...

Ferner kann ich nur sagen, dass du einfach nur alles selbst machen musst und dir einfach genügend Zeit nehmen musst, denn irgendwann machts dann schon Klick... Meist kommt dir die brilliante Idee dann immer beim Sch...

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo DMX

Ich studiere Informatik und bin kurz vor meinem Abschluss. Hier mein Rat an Dich:

Eine wichtige Kernkompetenz ist die Kenntniss verschiedener Strategien zur Lösung von Problemen und das Anwenden dieser Strategien auf alltägliche Probleme. In Deinem beschriebenen Fall ist das Problem eine Suche. Sehr viele spezielle Probleme die Dir begegnen werden sind Such oder Sortierprobleme. Du solltest Dir mal eine Übersicht über grundsätzliche Such und Sortierverfahren machen, dann kannst Du die immer nutzen um spezielle Fragen (wie hier größte Ziffer) damit zu beantworten.

Bei uns im Studium wurde "Algorithmen und Datenstrukturen: Eine Einführung mit Java" ISBN-13: 978-3898646635 verwendet. Ob es das beste Buch ist weiss ich nicht, es ist recht trocken, aber man lernt schon einiges damit.

Grundsätzlich solltest Du Dir auch angewöhnen Probleme in Teilprobleme zu zerlegen, bei denen jedes einzelne Teil recht einfach zu lösen ist.

Naja das dumme ist halt, dass ich die Zahlen nicht in ein Array einfügen soll, sondern einfach einlesen und dann die groeßte Zahl herausfinden und das geht leider nur mit einem Mathematischen Algorithnmen.

1.) Speicher die erste eingegebene Ziffer ab und merke sie Dir als größte Ziffer 2.) Prüfe jede neu eingegebene Ziffer ob sie größer als die gespeicherte größte ist. Wenn nein->nix, wenn ja-> als Größte abspeichern.

Wenn Du die Zahl in einem String hättest wäre die Reihenfolge: 1.) Zerlege die Zahl in einzelne Ziffern. 2.) Suche die größte Ziffer.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich habe in den letzten Wochen sehr viel geübt. Meist die alten Programme so oft programmiert habe, dass ich den Algorithmus verstehe.

Was hat sich geändert für mich..

Ich weis jetzt, für was ich Methoden, Eigenschaften, ob es static ist oder nicht, kommt ein void oder nicht. Das hab ich größteils jetzt erlernt. Ab und zu bin ich mir halt nicht sicher, ob ich doch ein void brauch oder nicht..

Das Angeführte Programm kann ich jetzt aus dem Stand. Weil ich jetzt den Algorithmus verstanden habe.

Aber auch das BubbleSort hab ich verstanden und kann es ohne Probleme schon programmieren.

Auch die Berechnung von Primzahlen kann ich schon und verstehe ebenfalls den Algorithmus..

Nur bei manchen Algorithmus zB InsertSort verstehe ich, wie dieses Verfahren funktioniert. Aber ich schaffe es einfach nicht den Code selber zu programmieren bzw. die Musterlösung zu verstehen. Hab es auch sehr oft programmiert, aber es geht mir nicht in den Kopf rein

Oder auch so Themen zb: Telefonbuch.

Ich kann ohne Probleme zB Überprüfen, ob der 1. Buchstabe des Namens ein Großbuchstabe ist oder ob die Postleitzahl in einem realisitischen Bereich ist etc. Das schaff ich alles mit Eigenschaften. Aber wenn ich was neues dazu programmieren möchte. Beispiel. Ich möchte den Vornamen ändern...

edit: hab das Prinzip des Ändern jetzt gerade verstanden :good:

bearbeitet von DMX

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

kurzes Feedback:

Die Ersten Erfolge hab ich schon und bin jetzt schon viel weiter als vor Juni. Kann schon einige Sachen und lerne Langsam die Methoden miteinander zu verbinden :)

Es geht bergauf und ich werde immer besser und besser. Aber leider hackt es ab und zu einfach so stark, dass ich bei einer Funktion nicht weiterkomme, da ich echt nicht weiter weis, wie ich es löse.

Ich hoffe ich kann diese Probleme auch noch lösen.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Zeit mal wieder über ein Feedback:

Bin noch immer "schlecht" in Programmieren. Aber langsam bekomme ich es hin komplexerere Programme zu programmieren. Und ich verstehe es immer mehr was ich schreiben muss. Nur ab und zu hängt es bei einigen Grundlegende Sachen. Beispielsweise mache ich Berechnung sehr sehr umständlich, obwohl es leichter geht. Nur verstehen tu ich das leichtere nicht immer.

Doch leider gibts auch noch Gebiete wo ich mich noch sehr schwer tue.

Aber im ganzen hat sich in den letzten Monaten für mich, für meine Verhältnisse sehr verbessert. Nur Notenmäßig kann ich den Lehrer noch nicht überzeugen...

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

.. normaler Lernprozess...

Das empfinden wir alle so. Unabhängig vom Talent.

Nur: abhängig davon wie schnell und gut du im Vergleich zu den anderen Teilnehmern deiner Klasse bist solltest du überlegen ob "Programmierer" ein guter Job für dich sein wird .. oder doch eher nicht...

Viel Spaß !

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich möchte gerne die Ausbildung abschließen und je nachdem, kann ich ja später dann einen anderen Beruf ausüben. Auch wenn es aktuell nicht mein Traumberuf ist.

Aber die Interesse ist schon da, aber die Noten depremieren mich so sehr. Auch vom Lehrer finde ich kaum Unterstützung. Nur immer negatives Feedback. So sehr, dass ich die Zeit zurückdrehen möchte und diese Ausbildung nie gemacht hätte. Nur die verschissenen Jahren wäre es mir zu schade.

Ich will es ja wirklich lernen und habe die ganzen Winterferien gelernt, aber es reicht der Lehrkraft nicht. Ich weiß, ich kann nicht alles werden was ich möchte ( LB !?).

Da meine größte Schwäche noch immer Methoden erstellen sind, ist mir einiges Aufgefallen. Ich schaffe es Methoden zu schreiben, nur brauch ich sehr sehr viel länger als meine Kollegen. Auch wenn meine Lösung viel komplizierter ist, funktioniert sie ab und zu mal richtig.

Wenn ich dann mal eine Lösung gesehen habe und es paar mal nachprogrammiert habe, verstehe ich die Logik dahinter. Ein sehr großes Problem noch..

Aber aktuell lauf ich in Richtung Aufgeben...nicht mehr weit vom Ziel :good:

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Jeder ist unterschiedlich.. und nach ein paar Jahren Programmieren schockierte ich die Leute eigentlich damit viele Methoden einfach so reinzu"hacken"...

Allerdings war mein Lernweg ein Anderer: als 17-Jähriger fing ich mit einem Primitiv-Basic an (nur Goto, nicht einmal if.. else) und probierte bei den Progrämmchen einfach so lange rum bis sie das taten was ich wollte.

Programmiertechnisch eine Katastrophe, die Dinger waren schlichtweg nicht wartbar.... aber irgendwie entwickelte sich im Hintergrund eine Denkweise die mir später, als ich den Sinn der Methodik verstanden hatte, erlaubte relativ schwierige Algorithmen "einfach runterzuschreiben".

Wenn ich jetzt ein Skript benötige setze ich mich hin, mache ein paar Skizzen mit dem Bleistift (vor allem zu Struktur und Aufteilung in Unteralgorithmen / Methoden, "hacke" es dann rein, finde beim Test noch ein paar Fehler und gut ist....

Allerdings sind das kleine bis mittlere Skripte die mir die Arbeit erleichtern, keine Software Projekte die in 20 Jahren noch wartbar sein müssen.......

Der Sinn meines Ergusses: wenn du zusätzlich zu deinen Lernanstrengungen ab und zu eine Stunde in einer einfachen Interpretersprache einfache Progrämmchen "experimentell" löst (so lange probieren bis sie funktionieren) .. löst sich vielleicht das was du beschreibst und was ein wenig wie eine Blockade klingt.

Programmieren hat für mich immer auch eine spielerische Komponente...

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Mir ist in letzte Zeit aufgefallen, dass ich extrem Lange brauche um eine (1) Methode schreibe die einen Algorithmus hat.

Beispielsweise hab ich heute ein kleine Methode geschrieben, die mir überprüft ob eine IMEI Richtig ist oder nicht. Dabei hab ich auch über 1 Stunde gebraucht für nur eine Methode.

Aber ab und zu klappt es einfach nicht.

Neben C# lerne ich noch Java und da geht es mir trotz angefangten Lernprozess einiges schon besser als bei C#. Habe da aber sehr vieles dazu gelernt.

Ich habe in den Winterferien enorm viel für C# gemacht, aber es hat kaum was gebracht...Das ist das einzige was mich im inneren game fickt. Es gibt Fächer da lerne ich und schaffe positive und teilweise auch gute noten. Aber bei C# hab ich das Problem, dass es einfach nicht gut geht. Ich lerne immer mehr und verstehe es immer besser. Aber der Erfolg ist mir leider noch nicht gegönnt...

Das die Chance aufgeben immer größer wird, macht mich fertig. Aktuell bin ich ja in den anderen Fächern gut dabei. Noch keine negative Note bis jetzt. Nur C# macht mich fertig, was auch am Lehrer liegt und das zerstört mein Inner Game..

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Das die Chance aufgeben immer größer wird, macht mich fertig. Aktuell bin ich ja in den anderen Fächern gut dabei. Noch keine negative Note bis jetzt. Nur C# macht mich fertig, was auch am Lehrer liegt und das zerstört mein Inner Game..

Vermeide es in Zukunft besser ein Wort innerhalb von zwei sätzen zehn mal zu verwenden, dass wirkt stupide!

Wenn mir beim Programmieren etwas schwer fällt liegt das meist entweder an mangelnder Motivation oder einer sinnfreien Aufgabenstellung. Letzteres ist beim Lernen für die Schule eigentlich immer der Fall! Von daher ist es vielleicht keine schlechte Idee sich eines real existierenden Problems anzunehmen und eine Software zu schreiben die man auch wirklich für seine Zwecke einsetzen kann. Ich habe zum Beispiel um RubyOnRails zu lernen einen Bot für ein Online Game gebaut, dabei eine Menge gelernt und Spaß hat es auch noch gemacht!

Java und C# sind nun wirklich auch keine Einsteiger Sprachen. Ich habe mit php angefangen, dass ist grade wegen der sehr guten Dokumentation und der großen Community einfach zu erlernen. Auß0erdem siehst du halt auch schnell Resultate.

mfg

Reaven

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Vermeide es in Zukunft besser ein Wort innerhalb von zwei sätzen zehn mal zu verwenden, dass wirkt stupide!

Wenn mir beim Programmieren etwas schwer fällt liegt das meist entweder an mangelnder Motivation oder einer sinnfreien Aufgabenstellung. Letzteres ist beim Lernen für die Schule eigentlich immer der Fall! Von daher ist es vielleicht keine schlechte Idee sich eines real existierenden Problems anzunehmen und eine Software zu schreiben die man auch wirklich für seine Zwecke einsetzen kann. Ich habe zum Beispiel um RubyOnRails zu lernen einen Bot für ein Online Game gebaut, dabei eine Menge gelernt und Spaß hat es auch noch gemacht!

war wohl etwas depremiert, als ich es verfasst habe^^

Also es liegt sehr stark am Lehrer, wie motiviert ich bin. Aktuell hab ich im ganzen Semester bis jetzt nur 2 Fünfer geschriebn und das nur bei ihm. Hab auch das 2. Fach (Java) programmieren und da bin ich mit einem 4+ ausgestiegen. Obwohl ich schon 3 Jahre C# lerne und Java grad dieses Semester begonnen habe.

Vor kurzem ist mir eh aufgefallen, dass Programme die meine Interessen wecken ich viel besser vorankomme als mit irgendwelchen XY Berechnung was der Lehrer uns vorgibt.

Java und C# sind nun wirklich auch keine Einsteiger Sprachen. Ich habe mit php angefangen, dass ist grade wegen der sehr guten Dokumentation und der großen Community einfach zu erlernen. Auß0erdem siehst du halt auch schnell Resultate.

mfg

Reaven

Leicht nicht, aber ich habe bisschen erfahrung mit anderen Sprachen (auch nicht wirklich gut).

Jemand Ideen, was für Algorithmus ich programmieren könnte:

*IMEI

*ISBN

Wäre super, wenn ich es irgendwie im realen Leben auch vergleiche kann. Das IMEI Beispiel zB fand ich hingegen echt interessant für mich

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Mitgliedskonto, oder melde Dich an, um zu kommentieren

Du musst ein Mitgliedskonto haben, um einen Kommentar verfassen zu können

Mitgliedskonto erstellen

Registriere Dich ganz einfach in unserer Community.

Mitgliedskonto registrieren

Anmelden

Du hast bereits ein Mitgliedskonto? Melde Dich hier an.

Jetzt anmelden

  • Wer ist Online   0 Mitglieder

    Aktuell keine registrierten Mitglieder auf dieser Seite.