Ich versteh Programmieren nicht :(

Hallo,
in den Lernbüchern steht immer man braucht keine guten Windows Kenntnisse usw um programmieren zu können, man sollte aber wissen wie man Programme installiert… . Diese Vorraussetzungen erfülle ich locker und kenne mich sogar sehr gut mit Windows aus.

Jetzt geht es aber zum Programmieren. Ein Bekannter hat letztens in Visual Basic 2005 einen Binder programmiert. Er packt verschiedene Datein in eine Exe und man kann dann auswählen was minimiert geöffnet werden soll oder maximiert usw.

  • Ich kann mir so etwas einfach nicht vorstellen.
    Ich denke jetzt nicht so, ja der gibt ein paar Zeilen Code ein und tada…da ist das Programm.
    Das denken vielleicht Welche, die die Sprache eh nie lernen wollen oder sich auch nicht dafür interessieren.

Ich stelle mir aber folgende Fragen:
Wie kann man Datein so in eine Exe packen. (Das dieses Programm es automatisch macht)
Wie schwer ist sowas zu erstellen?
Wie macht man es mit den ganzen Fenstern usw…

Unter C konnte ich mir nunmal gar kein programmieren vorstellen, da dort in Dev c++ man nur Codes eingeben konnte.
In Visual Basic Express kann ich es mir dann schon eher vorstellen.

Ich habe bereits Ratespiele erstellt, die aber immer in einem Fenster abhandeln kommt in der textzeile ein falsches Wort so kommt die Antwort richtig bzw falsch.

Dabei muss ich sagen, dass dies eine Aufgabe aus dem Buch war und ich die Codes eigentlich nur ein wenig verändert habe usw. also nichts schweres. Das deklarieren war ja gleich usw wobei ich auch nicht verstehe was deklaieren eigentlich bringt.

Ich kann mir alles irgendwie nicht so richtig vorstellen was kann ich nur machen ich will so gerne programmieren… :frowning: Ich habe schon Wochen gelernt und am Ende ist es doch nichts Neues… oder ich habe davon doch nichts verstanden. Ich schreibe die Codes dann aus dem Buch ab und das wars. Dabei ist in dem Buch jeder Begriff gut erklärt aber ich kann es mir nicht vorstellen.

Und dann steht man braucht keine großen Windows Kenntnisse ? o_O
Wenn mir die auch noch fehlen würden, wüsste ich ja fast nichtmal was ein Programm ist bzw was ein Button usw ist…

Bitte helft mir wie soll ich die Sache nur angehen???

Re: Ich versteh Programmieren nicht :frowning:

Programmieren ist wie eine Sprache lernen, erst die Vokabeln dann das sprechen. Und danach kommt die Konversation, wobei jeder anders kommuniziert.

Wenn du also Dich daran setzt und ein tutorial oder Buch nimmst und das alles durch ackerst, dann hast du schoneinmal meist
Die Vokabeln gelernt und kannst „My name is Thomas“ „How do you do“ sagen. Um aber dann ein vollständiges Programm auf eigenständiger basis zu Programmieren musst du verstehen wie ein Problem überhaupt mittels einer Programmiersprache zu lösen ist.

Dabei ist jeder Einzelschritt dehn sonst dein Hirn durch viel lernen automatisch macht, dem Computer mittels diese Programmierlogik irgendwie bei zu bringen.

Ergo , selbst wenn du die Vokabeln kennst und auch schon einige Sätze sprechen kannst, fehlt es den meisten Leuten an Basis wissen die Logik so zu erstellen das aus dem ganzen ein sinnvoller Ablauf entsteht.

Am einfachsten ist es mit Interpretersprachen (z.b. Basic) zu Programmieren da dort viele dieser Einzelschritte schon zu einem Befehl zusammengefasst wurden. Und dennoch wird keine Mauer aus den Steinen wenn man sich nicht vorstellen kann wie ein Problem (Aufgabe) mittels einer Programmiersprache zu Lösen ist.

Es ist entweder viel viel viel Übung nötig um zu begreifen was zu tun ist um mit einer Programmiersprache zu einem bestimmten Ergebnis zu kommen, oder mann/frau ist logisch begabt und schnallt in Programmiertechnik zu denken.

Der Vorteil bei einer Programmiersprache ist, das anders als bei einer Normalen Sprache, der Computer gleich eine Rückmeldung geben kann ob der gesprochene Satz richtig ist, und ob der Sinn der sich daraus ergibt dann auch noch das ergibt was mann/frau sagen wollte.

Ergo : Das Programmieren fällt umso leichter umso eher mann/frau versteht wie er/sie zu einer lösung mit hilfe der Programmierbefehle kommt.

Probieren und Studieren und machen und gugen wie andere es gemacht haben und daraus lernen.

Heute ist es sogar noch einfach , denn es gibt Internet und dort findet mann/frau fast immer schon eine Lösung für so einige Programmiertechniken die zu bestimmten Lösungen führen.

Meisten fängt man aber erstmal bei ganz ganz leichten Dingen an.

CodeSchnipsel kopieren und einfügen ist schon einmal ein Anfang um sich mit der Materie zu befassen und sich zurecht zu finden. Um aber das eigene Haus zu bauen benötigt es mehr und meist viel viel Übung bis einem die Logik ins Gehirn Eindringt.

Genauso wie einem Kleinkind noch jeder schritt vorgemacht werden muss bis es das später Selbständig machen kann, genauso muss man selbst kleine Schritte machen bis ein selbständiges Konstrukt entsteht mit dem man dann auch etwas Programmieren kann.

Am besten man versteht erstmal was ein Computer so macht, wie so eine Programmierung abläuft für den Computer um dann zu erforschen wie man mit den Befehlen einer Programmiersprache überhaupt zu einem Ergebnis gelangt.

Zuletzt sei gesagt das es viele Studierte Menschen gibt die genau wie Steuerberater oder Juristen auch viele viele Jahre brauchten bis sie die Materie der Programmierung zu ihren eigenen zwecken einsetzen können.

Beispiel
tue dies,
merkt dir das ,
tu dann jenes ,
nimm das eben gemerkten,
tu dann was aber nur wenn das gemerkte gleich was anderes ist

-)

Um das nun ein Computer programmiertechnisch zu erläutern brauch es so einiges.

Ums abzukürzen es steckt sehr viel Physik Mathematik und Schaltungen hinter einer Programmierung.

Einfacher Computer
http://wwwrn.inf.tu-dresden.de/~guetter/bsrn/kap2.pdf

Mikroprozessor
http://www.elektronik-kompendium.de/sites/com/030916…

ProgrammierGeschichte
http://de.wikipedia.org/wiki/Computerprogramm

Das Ende : Heutige Computer sind so weit entwickelt das es jedem den Verstand rauben würde zu begreifen was da eigentlich abgeht. Dank der überaus einfach gehalten Programmiersprachen ist es heute möglich mit bestimmten Basis Befehlen und Logiken dennoch alles umzusetzen was gebraucht wird. Dennoch basiert alles auf Strom AN (Ja) Strom AUS (Nein) mehr ist es nicht :smile:

wer weiss ob das hilft :smile: ich glaub nicht, aber schaden kanns auch nicht :smile:

Hi,

der Anfang mit den Büchern ist an sich nicht schlecht, allerdings ist es ein weit verbreiteter (und geförderter) Irrglaube, daß ich nach dem Lesen von 2 Büchern und / oder dem Besuch eines Einsteigerkurses programmieren kann.

Wenn du aber anhand der Bücher zumindest schon mal einige Befehle und idealerweise Grundkonstrukte (Schleifen, Verzweigungen) kennst, solltes du vielleicht zunächst versuchen, den Code in den Beispielen zu verstehen. Z.B. nimmst du ein dir noch unbekanntes Beispiel, kuckst dir den Code an (ohne ihn auszuführen) und versuchst Schritt für Schritt durchzugehen (wie es auch der Computer machen würde) und zu erkennen, was eigentlich wo passiert. Dann startest du das Programm und siehst ob du richtig lagst oder wo du was nicht verstanden hast.

Auch das Anfangen mit einem kleinen Beispiel (wie dein Quiz) ist an sich nicht verkehrt. Allerdings fand ich es dabei schwer, die Balance zwischen zu leicht (=langweilig) und zu schwer (=frustrierend) zu finden. Außerdem sollte das Beispiel einen gewissen Nutzen haben, damit die Motivation da ist, das weiter zu machen.

Vielleicht hast du ja etwas, was du schon immer haben wolltest, z.B. ne Datenbank für Cocktailrezepte die dir anhand der vorhandenen Zutaten ausspuckt, was du gerade mixen kannst (Beispiel schamlos geklaut :wink:). Dann solltest du dir zunächst theoretisch überlegen, was das Programm als erstes mindestens können muß (klein anfangen, weitere Funktionen erst später!) und dann Schritt für Schritt versuchen, das in Code umzusetzen. Dort kommt garantiert noch kein Lehrbuchcode raus, aber wenn’s funtkioniert, reicht das für’s erste. Dann erweitere das und perfektioniere den Code und irgendwann sollte dabei unmerklich der Übungseffekt kommen, das du wie „der Computer denken“ kannst.

Viel Erfolg,
Daniel

Hallo,

danke du hast mir sehr geholfen ich werde mir die Links außerdem alle durchlesen und hoffe, dass ich damit noch mehr den PC verstehe.
Ich werde es mit weiterer viel Übung versuchen bis es irgendwann „klick“ macht.

Danke

Hallo,

danke auch dein Beitrag hat mir sehr geholfen.
Ich glaube ich habe bisher immer nur Sachen programmiert, welche mich nicht richtig motiviert hatten weiterzumachen. Das mit dem Beispiel finde ich sehr gut. Man kann dann selbst das Programm immer auf sein aktuellen Wissensstand erweitern :wink:.

Hallo,

wie gut bist du in Mathematik und wieviel Spaß macht dir Mathe?

in den Lernbüchern steht immer man braucht keine guten Windows
Kenntnisse usw um programmieren zu können, man sollte aber
wissen wie man Programme installiert… .
Diese Vorraussetzungen erfülle ich locker und kenne mich sogar
sehr gut mit Windows aus.

Programme istallieren und Windows „kennen“, das ist aber
reines Anwenderwissen.

Programmieren ist weitaus mehr. Programmieren können, heißt
auch nicht eine oder mehrere Programmiersprachen lernen.
Wer Informatik studiert hat, kann sich die Grundlagen so
ziehmlich jeder Programmiersprache innerhalb einiger Wochen
selbst aneignen.

Programmieren heißt, die gestellten Probleme mit Logik und
mathematischer Genauigkeit in Algorithmen umzusetzen.
Dazu gibt es meist eine große Vielfalt von Methoden und
Möglichkeiten. Der Profi kennt viele und weiß, welche
geeignet sind.
Ich kann deinen Frust nachvollziehen. Ohne Grundkenntnisse
kommt man nicht weit und die Aneignung der Grundkenntnisse
aus sich selbst ist mühselig und auch sehr fehlerträchtig.

Ich kann mir alles irgendwie nicht so richtig vorstellen was
kann ich nur machen ich will so gerne programmieren… :frowning:

Irgendwie fehlen dir offenbar noch einige Voraussetzungen.
Mit den Matheniveau der 7…8 Kl. ist es sicher sehr schwer,
sich da ohne fremde Hilfe reinzufinden. In 2…3 Jahren
wird es wohl anders aussehen. Du darfst also jetzt auch
noch nicht so hohe Anforderunegn stellen.

Gibt es in der Schule eine AG oder einen Lehrer, der sich
damit wirklich auskennt. Nur vom Selbststudium kommst du
wahrscheinlich nicht sehr effektiv vorwärts.

Ich habe schon Wochen gelernt und am Ende ist es doch nichts
Neues… oder ich habe davon doch nichts verstanden. Ich
schreibe die Codes dann aus dem Buch ab und das wars. Dabei
ist in dem Buch jeder Begriff gut erklärt aber ich kann es mir
nicht vorstellen.

Leider sind viele Fachbücher wenig verständlich
(„Informatikkaudewelsch“), wenn man die Hintergründe nicht schon
in einem Grundstudium gelernt hat.

Und dann steht man braucht keine großen Windows Kenntnisse ?

Ist wirklich nicht nötig, bzw. erst dann, wenn man spezielle
Windows eigene Funktionen nutzen will/muß. Das gehört dann
nicht mehr zum Anfägerniveau.

Wenn mir die auch noch fehlen würden, wüsste ich ja fast
nichtmal was ein Programm ist bzw was ein Button usw ist…
Bitte helft mir wie soll ich die Sache nur angehen???

Ich empfehle Dir, erstmal mit einer Sprache anzufangen, die
nicht den ganzen Visual-Ramsch mitbringt.

Turbo-Pascal ist so eine Sprache, die sehr bekannt ist
und stark verbreitet war. Diese Sprache hat den großen Vorteil
einer sehr guten Strukturierung. Man lernt damit eher, die
typischen Anfängerfehler zu vermeiden.
Damit löse erstmal ganz einfache Aufgabenstellungen.
Darauf aufbauend wäre dann z.B. Delphi zu empfehlen .

Visual Basic ist natürlich auch gut für Laien, wenn’s denn
unbedingt gleich zu Anfang mit Windowsoberfläche sein soll.
Gruß Uwi

Hallo,

wie gut bist du in Mathematik und wieviel Spaß macht dir
Mathe?

Da bin ich eigentlich recht gut dirn und es macht mir auch etwas Spaß.

Programmieren ist weitaus mehr. Programmieren können, heißt
auch nicht eine oder mehrere Programmiersprachen lernen.
Wer Informatik studiert hat, kann sich die Grundlagen so
ziehmlich jeder Programmiersprache innerhalb einiger Wochen
selbst aneignen.

Ja dann muss man doch nur noch die verschiedene Syntax lernen oder?

Programmieren heißt, die gestellten Probleme mit Logik und
mathematischer Genauigkeit in Algorithmen umzusetzen.
Dazu gibt es meist eine große Vielfalt von Methoden und
Möglichkeiten. Der Profi kennt viele und weiß, welche
geeignet sind.
Ich kann deinen Frust nachvollziehen. Ohne Grundkenntnisse
kommt man nicht weit und die Aneignung der Grundkenntnisse
aus sich selbst ist mühselig und auch sehr fehlerträchtig.

Ja das stimmt man sitzt lange Zeit dran und kommt doch nur schleichend vorran.

Irgendwie fehlen dir offenbar noch einige Voraussetzungen.
Mit den Matheniveau der 7…8 Kl. ist es sicher sehr schwer,
sich da ohne fremde Hilfe reinzufinden. In 2…3 Jahren
wird es wohl anders aussehen. Du darfst also jetzt auch
noch nicht so hohe Anforderunegn stellen.

Also ich bin jetzt in der 10ten Klasse, da rechnen wir zwar teilweise auch mit Variablen x,y heißen die dann meistens aber das kann ich irgendwie nicht wirklich mit dem programmieren in Verbindung setzten.
Das wenn ein verschiedenes Ergebniss rauskommt, heißt die Variable beispielsweise „Ergebnis“ aber dann kommt wieder dass man die deklaieren muss bei Zahlen war das glaube ich „integer“ und das versteh ich wieder nicht warum die Begriffe da unterschiedlich sind…

Gibt es in der Schule eine AG oder einen Lehrer, der sich
damit wirklich auskennt. Nur vom Selbststudium kommst du
wahrscheinlich nicht sehr effektiv vorwärts.

Nein das gibt es leider nicht an unserer Schule, weil es eine Realschule ist. Es ist mal Computerunterricht im EDV Bereich gewesen, aber Programmieren/Informatik gibt es nicht.

Leider sind viele Fachbücher wenig verständlich
(„Informatikkaudewelsch“), wenn man die Hintergründe nicht
schon
in einem Grundstudium gelernt hat.

Ja da stimme ich voll zu.

Visual Basic ist natürlich auch gut für Laien, wenn’s denn
unbedingt gleich zu Anfang mit Windowsoberfläche sein soll.

Ja mit Windowsoberfläche ist mir schon wichtig. Weil ich hatte am Anfang mit C angefangen und habe dort erstmal noch weniger verstanden und die Motivation ging schnell dahin wegen den ganzen Konsolenarbeiten. Deswegen hatte man mir dann Visual Basic 05 geraten…

Vielen Dank

Re^3: Ich versteh Programmieren nicht :frowning:
Auch hallo.

Ja dann muss man doch nur noch die verschiedene Syntax lernen
oder?

Ja. Aber die englische Sprache ist so ziemlich das Gemeinsame.
Siehe die Hallo Welt Beispiele unter http://de.wikipedia.org/wiki/Liste_von_Hallo-Welt-Pr…

Also ich bin jetzt in der 10ten Klasse, da rechnen wir zwar
teilweise auch mit Variablen x,y heißen die dann meistens aber
das kann ich irgendwie nicht wirklich mit dem programmieren in
Verbindung setzten.

Schade…

int x= 3, y=6;
cout.println(x+y);

Achtung, Pseudocode :wink:

Das wenn ein verschiedenes Ergebniss rauskommt, heißt die
Variable beispielsweise „Ergebnis“ aber dann kommt wieder dass
man die deklaieren muss bei Zahlen war das glaube ich
„integer“ und das versteh ich wieder nicht warum die Begriffe
da unterschiedlich sind…

Der sog. Datentyp einer Variablen sollte vor ihrer Verwendung feststehen (auch „Typisierung“ genannt): das erleichtert die spätere Fehlersuche. Und „Ergebnis“ ist halt dasselbe wie aus der Mathematik.

mfg M.L.

Hiho,

Darauf aufbauend wäre dann z.B. Delphi zu empfehlen .

Genau das hätte ich jetzt auch empfohlen; ich würde ja eher sagen,
wenn jemand sich genügend dafür interessiert, dann ist da doch der
„logische“ Teil, mit dem man viel anfangen kann (?);

jedenfalls hab ich irgendwann mal eins von diesen Büchern
„Delphi für Kids“ oder „Turbo Pascal für Kids“ geschenkt bekommen,
die im Nachhinein zwar in die Ecke gewandert sind, aber (nach der
Erfahrung her) mir den Einstieg gegeben haben und ich letztendlich den
Kram _nur_ mit Büchern (sei es elektronisch oder in echt) gelernt
habe. Und dabei kann ich mich bei den Sachen, die ich gemacht habe,
nicht daran erinnern, das gerade Mathematik der Hinderungsgrund war …

Nur nicht aufgeben :wink: und viel Erfolg,
TLF

Hallo,

nicht daran erinnern, das gerade Mathematik der Hinderungsgrund war …

nein, ein Hinderungsgrund ist es nicht, aber wenn man wirklich
Programmieren will, dann kommt man ohne einen gewisse Sympathie
zu Mathe einfach nicht weiter.
Eine Bedienoberfläche in einer Visual-Sprache zusammenklicken
kann man auch ohne Mathe, aber wenn es dann um die eigentliche
Aufgabe geht, wird’s ohne Mathe kaum noch was laufen.

Erstes Beispiel sind die besagten Deklarationen und Variablentypen.

Gruß Uwi

Hallo,

wie gut bist du in Mathematik und wieviel Spaß macht dir
Mathe?

Da bin ich eigentlich recht gut drin und es macht mir auch
etwas Spaß.

das ist schon mal gut, denn ohne Interesse und Kenntnisse
der Mathematik ist es sehr schwer mehr als eine bunte
Bedienoberfläche zusammenzuklicken.

Ja das stimmt man sitzt lange Zeit dran und kommt doch nur
schleichend voran.

Tja, eine Voraussetzung und da weiter zu kommen ist lernen …
-> Gymnasium, Berufsakademie, Volkshochschule .
Ich weiß nicht welche Möglichkeiten es bei dir gibt.

Also ich bin jetzt in der 10ten Klasse, da rechnen wir zwar
teilweise auch mit Variablen x,y heißen die dann meistens aber
das kann ich irgendwie nicht wirklich mit dem programmieren in
Verbindung setzten.

Ja, das Lösen von Gleichungen und Gleichungssystemen ist ein
Thema in Simulationsrechnungen. Allerdings gibt es da in der
numerischen Mathematik sehr spezielle Verfahren, die sich schon
von den normalen Methoden der Analysis unterscheiden.

Das wenn ein verschiedenes Ergebniss rauskommt, heißt die
Variable beispielsweise „Ergebnis“ aber dann kommt wieder dass
man die deklaieren muss bei Zahlen war das glaube ich
„integer“ und das versteh ich wieder nicht warum die Begriffe
da unterschiedlich sind…

Das problem ist, das ein Programm nicht mit einheitlichen
Datenformaten arbeiten soll/kann. Man muß sich vorher überlegen,
wozu man eine Zahl oder Zeichenkette benuzen will.
Dementsprechend wird sie deklariert und dann mit diesem delarierten
Format intern angelegt und rechnet.

Ich will dir ein paar Beispiele nennen.

Nimm die Zeichen „123“ - Was ist das ???
Zunächst völlig unklar!!!

1) "123" kann ein Zeichenkette sein, die im Ascii-Format nur 
 zur Ausgabe auf den Bildschirm oder Drucker genutzt wird. 
 Dann steht intern für die Zeichen "123" die Hexadezimalschreibweise
 "31hex,32hex,33hex", also die Zeichencodes für die 3 Zeichen. 
 Diese Zeichenkette kann man mit anderen Zeichen und Zeichenketten 
 verknüpfen: z.B. "123" + "acc" = "123abc" 
 Richtig rechnen kann man damit nicht!

2) "123" soll jetzt eine Zahl sein, mit der man rechnen kann.
 Aber dazu muß vorher bekannt gegeben werden, welche Genauigkeit 
 und Auflösung man haben möchte.
 Es spielt eine große Rolle, ob man mit Komma ohne ohne Komma
 rechnen will und wenn mit Komma, dann mit 8 oder 16 oder 100
 Stellen nach dem Komma.

2a)"123" soll eine Integerzahl sein.
 http://de.wikipedia.org/wiki/Integer\_%28Datentyp%29

 Dieses Integerformat wird im Pogramm mit 2Byte (16Bit)angelegt. 
 und geht von 0000hex bis FFFFhex (entspricht 0-65536). 
 Aber da ist noch was besonderes. Um negative Zahlen damit 
 Darzustellen wird der Zahlenbereich in einen pos. und einen 
 neg. Bereich geteilt.
 Das entspricht also den ganzen Zahlen im dem Bereich, den 
 man eben mit 16Bit = 2 Byte darstellen kann. 

2b)Nun möge "123" eine ganze Zahl ohne Vorzeichen sein.
 In dem Fall geht der Bereich von 0-FFFFhex (0....65536). 
 Sowas nennt man in verschieden Sprachen unterschiedlich
 z.B. UNSIGNED INT oder WORD usw.

2c)Falls nun aber der Bereich für die Aufgabe nicht reicht, 
 kann man "aufbohren".
 "123" kann z.B. statt Int LongInt sein.
 In dem Fall werden 4 Byte statt 2 Byte spendiert.
 Dementsprechend ist der Zahlenbereich viel größer.

3a)Nun bringt das ganze nichts, wenn man richtig mit Komma 
 rechnen will.
 Also wäre z.B. das nächste Format "REAL" oder "FLOAT".
 http://de.wikipedia.org/wiki/Datentyp
 In dem Fall werden je nach Sprachen 6...8 Byte verwendet.

3b)Wenn es mit REAL oder FLOAT auch zu wenig ist, weil man mit 
 sehr kleinen und/oder sehr großen Zahlen rechnen muß und die
 Genauigkeit viel besser nötig ist, dann nimmt man eben 
 die erweiterten Real-Formate "EXTENDED" oder "DOUBLE" .


    
    
    Kommt nun sicher die Frage, wozu das alles :-?)
    
    1. Mit Zeichenketten kann man ganz andere Sachen machen als mit 
     Zahlen. Das sollte schon aus dem obigen Bsp. erkennbar sein.
    2. Der Speicherbedarf und vor allem auch die Rechenzeit sind 
     stark von der Zahlengröße und Struktur anhängig.
     Integer läßt sich vielfach schneller rechnen als Real.
    
    Aus dem Grunde macht es auch z.B. keinen Sinn einen einfachen 
    Zähler in einer For-Next-Schleife als REAL zu benutzen.
    Der ist meist INT oder UNSIGNED INT.
    
    
    
    > > Visual Basic ist natürlich auch gut für Laien, wenn's denn  
    > > unbedingt gleich zu Anfang mit Windowsoberfläche sein soll.
    > 
    > Ja mit Windowsoberfläche ist mir schon wichtig. Weil ich hatte  
    > am Anfang mit C angefangen und habe dort erstmal noch weniger  
    > verstanden und die Motivation ging schnell dahin wegen den  
    > ganzen Konsolenarbeiten. Deswegen hatte man mir dann Visual  
    > Basic 05 geraten...
    
    
    Tja, das ist der Widerspruch zwischen Möglichkeiten und Anspruch.
    
    Ich empfehle Dir weiterhin mal mit TurboPascal zu probieren.
    Gegenüber C ist diese Sprache viel besser strukturiert.
    Damit lernst man IMHO besser die Hintergründe und Prinzipien,
    weil man regelrecht dazu gezwungen wird, die Strukturen 
    ordentlich anzulegen. 
    Dagegen kann man im Basic zuviel machen, ohne über die 
    Hintergründe nachzudenken. 
    
    Da gibt es im Internet auch eine riesige Zahl von Anwendungen, Beispielen und Foren.
    
    Gruß Uwi 
1 Like

Danke
Hallo,
vielen dank jetzt ist mir alles etwas klarer.
Ich werde jetzt auch erstmal mit Turbopascal anfangen und
ich hoffe das ich danach dann besser in VB weitermachen kann.

Vielen Dank für die ganzen Hilfen.

Hallo,

wenn du dann ganz konkrete Frage zu speziellen Themen hast,
frage einfach weiter unten im Pascal-Brett.

Gruß Uwi

Hallo Fragewurm,

Das ganze kannst du mit Kochrezepten vergleichen.

Herd und Backofen entsprechen dabei deinem Windows, darüber steht auch nichts im Rezept.

Pfannen, Küchengeräte, Kochlöffel usw. sind deine Programmiersprache und Tools.

Und die Zutaten entsprechen dann deinen Daten. Je nachdem in welcher Form die Daten vorliegen, eine Zahl z.B. als Text, müssen diese erst aufbereitet werden um im Programm verarbeitet werden zu können. Je nachdem in welcher Form du die Mandeln gekauft hast, musst du diese auch zuerst noch schälen und raspeln.

Und das eigentlich Rezept entspricht dem Programm. Da steht eigentlich nur drin, welche Zutaten in welcher Reihenfolge wie be/verarbeitet werden müssen.

Das dumme bei Computern ist nur, dass sie so blöd sind.
Im Rezept kannst du „1 Liter Wasser zum kochen bringen“ schreiben, da weiss schon ein Kind was zu tun ist.
Für einen Computer musst du aber zuerst Unterprogramme schreiben, wie man Wasser aus dem Hahn bekommt. Dabei nicht vergessen, dass man den Top unter dem Hahn positionieren muss und dass der Topf auch mindestens 1 Liter fassen können muss, andernfalls füllt der Computer 1 Liter Wasser in ein Schnapsglas :smile:
Dann auch noch wie man den Topf auf den Herd stellt und dass man den Herd dann auch noch einschalten muss. Dann brauchst du auch noch Überwachungsroutinen welche feststellen wann das Wasser kocht.
Achja, nicht vergessen auch zu überwachen ob auch wirklich Wasser aus dem Hahn kommt, sonst kocht dein Computer den leeren Topf bis die Feuerwehr kommt …

Das mühsame beim Programmieren ist einfach, dass man jedes Problem in kleinste Teilschritte zerlegen muss und dabei auch bedenken muss, was schief gehen kann und dafür eine entsprechende Fehlerbehandlung vorzusehen, um ein stabiles Programm zu erhalten.

Stell dir mal vor du willst einen Roboter einkaufen schicken.
Zuerst musst du ihm beibringen wie er den Weg zum Laden herausfinden kann. Dann musst du ihm beibringen was eine Tür ist, wie man eine solche erkennt und wie man sie öffnet, wenn sie verschlossen ist, andernfalls kommt er schon gar nicht aus deinem Zimmer raus.
Dann musst du ihn beibringen wie man Treppen erkennt und benutzt und evtl. wie das mit dem Lift ist.
Da programmierst du mal ein paar Tage dran :wink:
Nun ist dein Robi mal vor dem Haus angelangt.
der wird jetzt aber gleich vom ersten Auto erfasst und zerlegt. Du hast ja ganz vergessen die Grundregeln des Strassenverkehrs für Fussgänger zu programmieren. Auch sollte man daran denken, dass noch andere Fussgänger unterwegs sein können und man diese nicht einfach anrempeln sollte, wenn sie im Weg stehen.

Du siehst, man muss an jede Kleinigkeit denken und entsprechendes Verhalten vorsehen, bevor man den Robi losschicken kann um Butter zu holen.
Auch wenn der Robi den Laden und die Butter gefunden hat, musst du ihm auch beibringen, dass er bezahlen muss, sonst bekommst du mit der Polizei Probleme :frowning:(
Du musst dem Robi also noch jede Menge Details bezüglich des Münzsystems und über den Zahlungsverkehr beibringen. Dabei sollte man auch noch Überwachungsfunktionen einbauen, dass wenn der Betrag für die Butter als 100 erfasst wird, dies wohl Cents sein müssen und nicht Euros.

Wie du siehst ist im Prinzip alles ganz einfach und jedes Programm setzt sich aus vielen kleinen und einfachen Schritten zusammen, egal wie komplex es ist.

MfG Peter(TOO)

Danke für den Hinweis :wink:

Re^4: Ich versteh Programmieren nicht :frowning:
Hallo Uwi,

[nur einige Anmerkungen]

Das Problem ist, das ein Programm nicht mit einheitlichen
Datenformaten arbeiten soll/kann. Man muß sich vorher
überlegen, wozu man eine Zahl oder Zeichenkette benuzen
will. Dementsprechend wird sie deklariert und dann mit
diesem delarierten Format intern angelegt und rechnet.

Das muss man idR. nicht, bzw. nur manchmal in
bestimmten verbreiteten ‚low level‘-Programmiersprachen.

Ich will dir ein paar Beispiele nennen.
Nimm die Zeichen „123“ - Was ist das ???

Ein string literal => http://en.wikipedia.org/wiki/String_literal

Zunächst völlig unklar!!!

  1. „123“ kann ein Zeichenkette sein, die im Ascii-Format nur
    zur Ausgabe auf den Bildschirm oder Drucker genutzt wird.
    Dann steht intern für die Zeichen „123“ die
    Hexadezimalschreibweise „31hex,32hex,33hex“, also
    die Zeichencodes für die 3 Zeichen.

Dasnn wäre es immernoch ein ein string literal, eben
ASCII-codiert.

Diese Zeichenkette kann man mit anderen Zeichen und
Zeichenketten verknüpfen: z.B. „123“ + „acc“ = „123abc“
Richtig rechnen kann man damit nicht!

*Das* ist nun in Verweis auf einen Designfehler in
einigen Programmiersprachen, bei denen die String-
verkettung *und* die numerische Addition mit dem
selben Operator geschieht (JavaScript, Python etc.)
In Perl beispielsweise:

 $\> perl -e' print "123" + "acc" '

123 [+ =\> Addition (implizit konvertiert) 123 + 0]

 $\> perl -e' print "123" . "acc" '

123acc [. =\> Stringverkettung]

ist das explizit gemacht.

  1. „123“ soll jetzt eine Zahl sein, mit der man rechnen kann.
    Aber dazu muß vorher bekannt gegeben werden, welche Genauigkeit
    und Auflösung man haben möchte.
    Es spielt eine große Rolle, ob man mit Komma ohne ohne
    Komma rechnen will und wenn mit Komma, dann mit 8 oder 16
    oder 100 Stellen nach dem Komma.

Auch nicht unbedingt richtig, da ggf. durch den Kontext
bereits eindeutig vorgegeben (Auto-Konvertierungsregeln).

2a)„123“ soll eine Integerzahl sein.
2b)Nun möge „123“ eine ganze Zahl ohne Vorzeichen sein.
2c)Falls nun aber der Bereich für die Aufgabe nicht reicht,
3a)Nun bringt das ganze nichts, wenn man richtig mit Komma
3b)Wenn es mit REAL oder FLOAT auch zu wenig ist, weil man mit

OK,

Kommt nun sicher die Frage, wozu das alles :-?)

  1. Mit Zeichenketten kann man ganz andere Sachen machen als
    mit Zahlen. Das sollte schon aus dem obigen Bsp. erkennbar
    sein.

Aber nur, wenn die Programmiersprache kein DWIM (do what I mean)
unterstützt und selbst aus dem Kontext ermittelt, „als was“
der String/die zahl betrachtet werden soll.

  1. Der Speicherbedarf und vor allem auch die Rechenzeit sind
    stark von der Zahlengröße und Struktur anhängig.
    Integer läßt sich vielfach schneller rechnen als Real.

Das war mal so. Inzwischen ist float-Multiplikation
beinahe immer schneller als int-Multiplikation bzw.
einige Prozessoren haben gar keinen Int-Multiplyer
(wird über FP-mul gemacht).

Aus dem Grunde macht es auch z.B. keinen Sinn einen einfachen
Zähler in einer For-Next-Schleife als REAL zu benutzen.
Der ist meist INT oder UNSIGNED INT.

Sehe ich nicht so. Wenn es die Schleife erfordert,
kann man nehmen, was dazu passt.

Ich empfehle Dir weiterhin mal mit TurboPascal zu probieren.
Gegenüber C ist diese Sprache viel besser strukturiert.
Damit lernst man IMHO besser die Hintergründe und Prinzipien,
weil man regelrecht dazu gezwungen wird, die Strukturen
ordentlich anzulegen.

Ich empfehle den Anfängern eigentlich immer,
in Assembler (z.B. ia32/x86) ein paar Übungen
zu machen und danach auf C zu gehen. Pascal
würde ich bei allem Respekt nicht mehr in
Erwägung ziehen. Aber es gibt eben verscheidene
Ansichten …

Grüße

CMБ

Hi Uwi,

nein, ein Hinderungsgrund ist es nicht, aber wenn man wirklich
Programmieren will, dann kommt man ohne einen gewisse
Sympathie zu Mathe einfach nicht weiter.
Eine Bedienoberfläche in einer Visual-Sprache zusammenklicken
kann man auch ohne Mathe, aber wenn es dann um die eigentliche
Aufgabe geht, wird’s ohne Mathe kaum noch was laufen.

Das kann ich aus eigener Erfahrung nicht bestätigen. Ich mochte in meiner Schulzeit Mathe nicht und mag es noch heute nicht. Das einzige, wobei ich nicht am liebsten weggelaufen wäre, war Boolesche- und Relationenalgebra, Matrizen- und Differentialrechnung. Den Rest fand ich schrecklich trocken und langweilig, war dementsprechend auch nur Durchschnitt, hatte keine Lust dazu. Dafür habe ich in Systeme und Informatik Bestnoten erzielt und die Mathe-Hirne weit hinter mir gelassen, einfach weils mir gefallen hat und das Lernen so leicht fiel. Eine Sympathie zu Mathe hab ich nie entwickeln können, meine Stärken lagen immer auf der Sprachseite. Trotzdem bin ich Programmierer in Festanstellung und denke, ich mache meinen Job gut.

Meiner Meinung nach ist die wichtigste Fähigkeit eines Programmierers logisches Denken. Ein guter Programmierer muss mit Links kompliziert erscheinende Arbeitsabläufe in ein knackiges Programm abstrahieren können, dabei geschickt in Arbeitsschritte aufteilen und Redundanzen sofort erkennen.

Programmieren muss einem Spaß machen, sonst macht man das nicht lange. Dabei ist es egal, wie schnell man die zwölfte Potenz aus x durch die Differenz der Wurzel aus x minus y zum Quadrat rechnen kann - oder ob man das gerne macht. Zum Rechnen sind die Computer da, die machen auch weniger Fehler dabei - Hauptsache, das Programm stimmt, dass dies erledigt.

Ciao
Rudy

Hi Rudy,

Meiner Meinung nach ist die wichtigste Fähigkeit eines
Programmierers logisches Denken.

das ist Mathematik.

Dabei ist es egal, wie schnell man die zwölfte
Potenz aus x durch die Differenz der Wurzel aus x minus y zum
Quadrat rechnen kann - oder ob man das gerne macht.

Das ist ‚Rechnen‘. :smile: Rechnen kann bei der Mathematik nützlich sein, muss aber nicht. Du hast einfach nur Mathematik mit der dazugehörigen ‚Schmutzarbeit‘ verwechselt. :smile:

Gruß, Rainer

Hi Rainer,

Du hast einfach nur Mathematik
mit der dazugehörigen ‚Schmutzarbeit‘ verwechselt. :smile:

Anscheinend - ich hab da nie eine Grenze gezogen, „Mathematik“ ist für mich das, was ich viel zu viele Stunden in der Woche hatte - und es hat mir nicht gefallen. Also Rechnen ^^ grauenhaft :smile:

Ciao
Rudy

Hallo Rudy,

Das kann ich aus eigener Erfahrung nicht bestätigen. Ich
mochte in meiner Schulzeit Mathe nicht und mag es noch heute
nicht. Das einzige, wobei ich nicht am liebsten weggelaufen
wäre, war Boolesche- und Relationenalgebra, Matrizen- und
Differentialrechnung. Den Rest fand ich schrecklich trocken
und langweilig, war dementsprechend auch nur Durchschnitt,
hatte keine Lust dazu. Dafür habe ich in Systeme und
Informatik Bestnoten erzielt und die Mathe-Hirne weit hinter
mir gelassen, einfach weils mir gefallen hat und das Lernen so
leicht fiel. Eine Sympathie zu Mathe hab ich nie entwickeln
können, meine Stärken lagen immer auf der Sprachseite.
Trotzdem bin ich Programmierer in Festanstellung und denke,
ich mache meinen Job gut.

Vielleicht solltest du deine damaligen Lehrer mal übers Knie legen :wink:

Logik ist ein Bereich der Mathematik und Boolsche Algebra auch.
Insofern ist ein Programm eine mathematische Formel, nur formal anders als in der Mathematik üblich.

MfG Peter(TOO)