Vom Problem zum Programm

JoKne

Erfahrenes Mitglied
HI!

Ich bin derzeit noch 10. Klasse Realschule und werde nach diesem Schuljahr warscheinlich auf ein Technisches Gymnasium oder eine Informatikschule gehen. Ich hab Erfahrung mit Visual Basic, jetzt möchte ich aber anfangen Hardwarenah zu programmieren, ich denke da besonders an c, später evtl. auch assembler.

Allerdings habe ich große Probleme vom "Problem" zum Programm zu kommen.
Die Situation zu klären und eine Lösung zu finden fällt mir nicht schwer, diese dann aber in einem Programm zu formulieren bereitet mir schwierigkeiten.

Jetzt wollte ich mal hören ob ihr da evtl. Ratschläge auf Lager habt. Mir evtl.
Bücher empfehlen koennt die sich mit dieser Art von Problemlösung beschäftigen.
Die Bücher die ich bisher gelesen habe (über VB) befassen sich hauptsächlich mit den Standart dingen wie einfache Funktionen, Arrays und eben die ganzen Steuerelemte. Leider wird nur selten vermittelt wie man an die Lösung eines Problemes gehen muss.

Ich hoffe ihr versteht was ich sagen will, wäre euch für jeden Tipp sehr dankbar.

Edit: Was haltet ihr von Visual C++?Ist dort Hardwarenahe Programmierung wie Beispielsweise über C++? Oder geht es dann doch eher in Richtung Visual Basic?
 
Zuletzt bearbeitet:
Mit Visual C++ kannst alles machen was Du mit C++ machen kannst. Mit VB würde ich es nicht unbedingt vergleichen :)

Wie gestalten sich Deine "Probleme"? Womit genau hast Du ein Problem? Weißt Du nicht wie Du beginnen sollst, oder fehlt es einfach an den Informationen die Du hast? Beschreib das doch mal ein wenig genauer, vielleicht fällt dann auch der eine oder andere Tipp ein wenig leichter ...
 
Hmm, das ist schwer zu sagen. Ich schaffe es einfach nicht in der entsprechenden Sprache zu sprechen und das Problem in die Sprache zu übersetzen.

Und das möchte ich jetzt eben lernen. Ich weiß nur nicht richtig wie ich das anstellen soll. Gibt es Literatur die sich genau damit beschäftigt und auch für Leute wie mich verständlich ist? Oder kommt das von alleine wenn ich mich einfach mehr in die Programmiersprache einarbeite.

Die Sache ist halt die, ich weiß wie man das Problem lösen kann/muss schaffe es aber nicht es in z.B. Visual Basic auszudrücken.


Noch zu Visual C++, wäre es dann vielleicht geschickt wenn ich von Visual Basic auf Visual C++ umsteige anstatt direkt auf C++ oder C?


Edit:

EIn Beispiel ist ein Programm das ich vor kurzem schreiben wollte/geschrieben hab!

Ein Programm das einfache gemischt quadratische Gleichungen lösen kann.
Die Formel ist klar, aber es hat einfach eine Ewigkeit gedauert bis ich es geschaft habe das der Benutzer die Daten eingeben kann und die Formel dann wirklcih in allen Fällen auch zur richtigen Lösung kommt. 100prozentig funktioniert es immernoch nicht :-(

Ich bin mir jetzt nicht Sicher ob es mir deshalb an Logischen Verständnis (fehlender Inteligenz/ mathematisch unbegabt) oder einfach an Erfahrung fehlt.
 
Zuletzt bearbeitet:
Beim dem was du vor hast, ist es sehr wichtig (eigentlich ist es generell richtig) die Sprache mit der man arbeiten möchte sehr gut zu kennen. Dazu ist es nun mal notwendig, sich auch die "uninteressanten" Dinge einer Sprache anzusehen. Wenn du dies erledigt hast, dann funktioniert der Rest auch viel einfacher.

Was Du verwenden sollst kann ich Dir auch nicht sagen. Ich denke C++ wird schon eine gute Wahl sein, ob Du dies mit Visual C++ oder mit einem x-beliebigen anderen C++ machst sollte eigentlich egal sein.

Such mal im Google nach C++ bzw. es gibt hier auch 1 oder 2 Tutorials zu dem Thema. Vielleicht kaufst Du Dir auch ein entsprechendes Buch bzw. findest online ein kostenloses Buch. Ein paar Tage einlesen und ein wenig herumprobieren und dann geht schon alles leichter.
 
Danke das du dir die Zeit genommen hast mir zu antworten.

Ich möchte wirklich gerne mit Visual C++ anfangen doch mit dem Einstieg gibt es ein Problem, ich finde einfach kein Buch das sich dafür eignet. Wenn ich bei Amazon die Leser Rezessionen durchschauhe geben einige 5 Punkte, die anderen halten es für das schlechteste Buch das es auf dieser Welt zu kaufen gibt. Wie soll man so eine Entscheidung treffen?

Ich glaub das war auch bei Visual Basic mein Problem. Mein erstes Buch war Visual Basic Schritt für Schritt, dieses wurde mir empfohlen. Jetzt hab ich bei Amazon mal aus neugier geschaut wie die anderen Leser dieses Buch bewerten und die Meinung ist fast einheitlich dsa es ein sehr schlechtes Buch ist. Als ich das Buch gekauft habe wusste ich natürlich nicht worauf es wirklich ankommt, wenn man eine Programmiersprache lernen will.

Aber nach längerem überlegen ist mir auch klar geworden das dieses Buch wirklich nur einige Möglichkeiten der Programmierung mit Visual Basic beschreibt und ein wenig auf den Syntax eingeht. Was dieses Buch überhaupt nicht tut ist sich mit der Lösung eines Problems zu befassen, der Art und Weise wie man in Visual Basic damit vorgehen muss.

Vielleicht ist das auch ein Grund das ich nur sehr schlecht programmieren kann.

Diesen Fehler möchte ich natürlich nicht nochmal machen wenn ich jetzt eine "richtige" sehr mächtige Programmiersprache wie Visual C++ beginnen möchte. Leider ist die Buchbeschreibung der Autoren immer sehr subjektiv, jeder möchte schließlich sein "Werk" so gut wie möglich darstellen.
Ich bin alles andere als ein "Mathegenie" aber ich bin sehr ergeizig und hab wirklich den Willen programmieren zu lernen, aber aller Anfang ist schwer.

Kannst du mir ein Buch empfehlen?
 
Hi,

ich will Dich jetzt nicht von Deinen Plänen abbringen, aber ich denke, Du solltest Dir erstmal eins der Themen durchlesen, in denen die Vor- und Nachteile und Eigenschaften verschiedener Sprachen beschrieben werden. Visual C++ ist an sich ja keine Programmiersprache, sondern eine Entwicklungsumgebung für C++. Eventuell ist eine andere (einfachere) Programmiersprache für Deine Zwecke doch besser geeignet.

Buchempfehlungen sind dabei natürlich auch so eine Sache. Grundsätzlich bin ich der Meinung, dass die Bücher von Microsoft Press fast immer rausgeschmissenes Geld sind. Addison-Wesley und O'Reilly bieten gut geschriebene Bücher zu allen möglichen Sprache an.
Aber welches Buch für Dich am besten geeignet ist, hängt natürlich von der endgültigen Wahl der Programmiersprache ab. :)

Was die Umsetzung der Programme angeht, brauchst Du zuerst einmal Hintergrundwissen und Verständnis für die Syntax. Wenn Dir klar ist, wie das jeweilige Problem von einem Menschen gelöst werden kann, solltest Du Dir auch bewusst sein, wie das Problem logisch zu lösen ist. Eine Programmiersprache bietet bestimmte Konstrukte, die meistens penibel genau benutzt werden müssen, damit sie nicht missverstanden werden können.
Ein anderer wichtiger Punkt sind die Bibliotheken, mit denen die Sprache erweitert werden kann, indem zusätzliche Funktionen implementiert sind, um die man sich nicht mehr selbst kümmern muss.
Als Ansatz kann ich Dir nur empfehlen, den Vorgang zur Problemlösung in elementare Arbeitsschritte zu zerlegen. Aus diesen Arbeitsschritten erstellst Du dann einen Algorithmus und schreibst diesen als Pseudocode auf. Diesen Pseudocode in die Programmiersprache zu übersetzen ist meistens nur noch ein kleiner Schritt.

Grüße, Dario
 
Hm, ich bin genau wie du in der 10. Klasse und kann dir eigentlich nur so viel sagen, als dass Übung auch hier den Meister macht.
An deiner Stelle würde ich kleinere Programme schreiben und die immer steigern, selbst wenn es noch so banal aussieht.
Nach einer Weile setzen sich einfach die Programmierstrukturen im Kopf fest und das Schreiben von Programmen wird einfacher.

Falls du dir irgendeinen Algorithmus ausdenken willst oder was irgendwas Anspruchsvolles, dann empfehle ich dir einen Block mit einem Bleistift und eine Liege im Garten, das hilft. :D

Wie dir dabei Bücher helfen könnten, das weiß ich nicht. :rolleyes:
 
Da hast Du sicher recht.

Mir ist schon klar das Visual C++ nur eine Programmierumgebung für C++ ist.
Allerdings besitze ich das Komplette Visual Basic 6 Paket mit Visual C++ und
dachte das es so evtl. ein guter Einstieg in C++ ist. Immerhin muss ich so schonmal nicht zusätzlich Geld für einen Compiler ausgegeben. Die Freeware Compiler sind ja meistens nur textgebunden und stehen auch nicht wirklcih in Verbindung mit dem objektorientierten C++.

Das erste Buch sollte dann eben hauptsächlich über Visual C++ sein um erstmal Boden unter den Füßen zu bekommen.
Wenn ich mich dann in der Visual C++ umgebung zurecht finde sollte es doch kein Problem sein, mit "normalen" C++ Büchern fort zu fahren , oder liege ich da im Unrecht?

Ich möchte langsam beginnen hardwarenah zu programmieren, dinge über die Parallel/Serielle schnittstelle ansteuern etc. in visual Basic habe ich das schon gemacht, dort ist das allerdings sehr umständlich ohne entsprechende DLL´s und mit diesen Dll´s sind Möglichkeiten meistens sehr begrenzt.

Von C++ oder erstmal von Visual C++ verspreche ich mir halt das ich mehr Möglichkeiten habe auch wenn die Einarbeitung nicht unbedingt einfach sein wird.
Aber da C++ gut dokumentiert und alles andere als unbekannt ist erhoffe ich mir Erfolg mit dieser Sprache zu haben.

Aber wie schonmal gesagt, ich bin wirklich für jeden Tipp dankbar. Zu welcher Sprache würdest Du mir denn raten? Hier im Forum wird oft zu Java geraten, allerdings weiß ich nicht genau was ich davon halten soll:rolleyes:
 
Mir ist schon klar das Visual C++ nur eine Programmierumgebung für C++ ist.
Allerdings besitze ich das Komplette Visual Basic 6 Paket mit Visual C++ und
dachte das es so evtl. ein guter Einstieg in C++ ist. Immerhin muss ich so schonmal nicht zusätzlich Geld für einen Compiler ausgegeben. Die Freeware Compiler sind ja meistens nur textgebunden und stehen auch nicht wirklcih in Verbindung mit dem objektorientierten C++.
Du meinst Visual Studio?
Die Compiler (soweit ich weiß auch der von Visual C++) sind fast immer "textgebunden" und werden nur von der Entwicklungsumgebung angesprochen.
Dass Freeware-Compiler wie GCC oder Borland C++ nichts mit objektorientiertem C++ zu tun haben sollen, musst Du mir mal näher erklären, das ist mir nämlich neu. ;)

Das erste Buch sollte dann eben hauptsächlich über Visual C++ sein um erstmal Boden unter den Füßen zu bekommen.
Wenn ich mich dann in der Visual C++ umgebung zurecht finde sollte es doch kein Problem sein, mit "normalen" C++ Büchern fort zu fahren , oder liege ich da im Unrecht?
Du gehst die ganze Sache falsch an. Ich würde Dir vorschlagen, erstmal mit der Programmiersprache anzufangen und nicht mit irgendwelchen völlig überladenen Entwicklungswerkzeugen für mehrere tausend Euro. Ein Editor mit Syntax-Highlighting, evtl. Projektverwaltung und ein paar netten Zusatztools ist dafür mehr als ausreichend. Beispielsweise DevC++ von Bloodshed (für den Download-Link bitte einmal Google bemühen).

Ich möchte langsam beginnen hardwarenah zu programmieren, dinge über die Parallel/Serielle schnittstelle ansteuern etc. in visual Basic habe ich das schon gemacht, dort ist das allerdings sehr umständlich ohne entsprechende DLL´s und mit diesen Dll´s sind Möglichkeiten meistens sehr begrenzt.
Für diese Zwecke wirst Du auch mit C++ in schätzungsweise 90% aller Fälle auf bereits bestehende Bibliotheken zurückgreifen. Man muss ja nicht immer das Rad neu erfinden. ;)
Und um wirklich auf die Hardwarekomponenten zugreifen zu können, kommt man IMHO nicht an Assembler vorbei.

Von C++ oder erstmal von Visual C++ verspreche ich mir halt das ich mehr Möglichkeiten habe auch wenn die Einarbeitung nicht unbedingt einfach sein wird.
Aber da C++ gut dokumentiert und alles andere als unbekannt ist erhoffe ich mir Erfolg mit dieser Sprache zu haben.
C++ ist sicher eine tolle Sprache, aber man kann sich daran auch sehr schnell die Zähne ausbeißen.

Aber wie schonmal gesagt, ich bin wirklich für jeden Tipp dankbar. Zu welcher Sprache würdest Du mir denn raten? Hier im Forum wird oft zu Java geraten, allerdings weiß ich nicht genau was ich davon halten soll:rolleyes:
Das kommt immer ganz darauf an, was Du damit machen möchtest. Wenn Du Webanwendungen programmieren möchtest, ist C++ vielleicht nicht gerade die perfekte Lösung. Jede Sprache hat jeweils ihre eigenen Vor- und Nachteile, die "perfekte Sprache" gibt es nicht.
Das Beispiel, das Du weiter oben genannt hast, lässt sich in so ziemlich jeder erdenklichen Sprache umsetzen. Generell würde ich persönlich auch eher zu Java, C# oder Ruby tendieren, aber sobald es um wirklich hardwarenahe oder zeitintensive Anwendungen geht, kommt man damit nicht sehr weit.
 
Danke für eure Hilfe und die Zeit die ihr geopfert habt um mir zu helfen.

Ich hab mir jetzt ein Buch von MUT gekauft :" VisualC++ 6 in 21 Tagen" (1€ ;-)) und werde mal schauen was mich erwartet. Ich habe wie schon gesagt das Visual Studio geschenkt bekommen wo auch ein Kompletter VisualC++ Compiler drauf ist.
Hoffe mal das das Buch in den nächsten Tagen kommt und dann werde ich gleich mal Feedback geben, ob es wirklich das Richtige ist.


Bin natürlich auch weiterhin für Tips dankbar.,

Ciao
 

Neue Beiträge

Zurück