Ergebnis 1 bis 13 von 13

Thema: [RL] Rorschachs Programmiertagebuch

  1. #1
    schwarz weiß Avatar von Rorschach
    Registriert seit
    25.02.02
    Ort
    Ruhrgebiet
    Beiträge
    5.951

    [RL] Rorschachs Programmiertagebuch

    So, wie schon im Programmiererstammtisch angedroht, werde ich meine Versuche, programmieren zu lernen, dokumentieren.

    Die Sprache der Wahl ist erst mal Python, damit will ich zumindest die Grundkonzepte lernen und dann vielleicht umsteigen. Da Python aber meines Wissens nach auch relativ weit verbreitet ist und das Anwendungsgebiet Data Science mich reizt, wird Python vielleicht weiter vertieft.

    Die Ressourcen neben meinem großen männlichen Gehirn sind

    CS50 die Einführung in die Computer Science von Harvard
    https://www.edx.org/course/cs50s-int...harvardx-cs50x

    Da wird mit C gestartet und irgendwann kommt noch Java(?) und Python. Aber es werden auch einige grundlegende Sachen besprochen, so habe ich z. B. da schon gelernt, was ein Pointer ist

    Der Einführungskurs vom MIT in Python
    https://www.edx.org/course/introduct...using-python-2

    Ansonsten gibt es noch diese Seiten, auf denen man Probleme lösen kann. Das ist wahrscheinlich besonders wichtig, um etwas praxisorientierte arbeiten zu können

    Die habe ich schonmal genutzt
    https://codingbat.com/python
    https://www.codewars.com/?language=python
    https://checkio.org/

    Da habe ich nur ein Bookmark gesetzt
    https://codesignal.com/
    http://www.pythonchallenge.com/pc/def/map.html
    https://www.codingame.com/start
    https://projecteuler.net/


    So der erste Schritt ist getan, ich bin eine Semi-Verpflichtung eingegangen, in dem ich fremden Menschen von meinem Vorhaben erzählt habe

    Geändert von Rorschach (22. März 2019 um 19:02 Uhr)

  2. #2
    Danke für den Kommentar.
    Registriert seit
    02.01.19
    Ort
    Hamburg.
    Beiträge
    9.086
    Gut.
    Progamieren wollt ich auch irgendwann nochmal lernen.
    Die Links sind gut.
    Ich bin keine Signatur, ich fälsche nur die Geldscheine.

  3. #3
    schwarz weiß Avatar von Rorschach
    Registriert seit
    25.02.02
    Ort
    Ruhrgebiet
    Beiträge
    5.951
    Bei edx gibt's echt gute Sachen, Microsoft bietet z. B. auch Kurse für Komplettneueinsteiger an

    https://www.edx.org/course/introduction-to-c-3

    Einfach mal suchen nach der Sprache die dich interessiert

  4. #4
    reztuneB retreirtsigeR Avatar von EpicFail
    Registriert seit
    16.11.11
    Beiträge
    3.824
    Ich kann auf youtube noch The ChernoProject empfehlen, wobei das C++ ist. Aber der erklärt alle relevanten Konzepte wirklich unfassbar gut (und die Konzepte kann man ja, sobald man weiß, dass sie existieren und wie sie funktionieren, dann auch auf andere Sprachen übertragen) und so habe zumindest ich C++ gelernt
    Geändert von EpicFail (28. März 2019 um 10:24 Uhr)
    Zitat Zitat von Austra Beitrag anzeigen
    Dort herrscht Dauerkrieg zwischen den Feminazi-Ökofaschisten und und Konservativen-FDP-AfD-Nazis

  5. #5
    schwarz weiß Avatar von Rorschach
    Registriert seit
    25.02.02
    Ort
    Ruhrgebiet
    Beiträge
    5.951
    Danke, schau ich mal rein

    Ich hoffe, am Wochenende kann ich das erste kleine Update bringen

  6. #6
    Registrierter Benutzer Avatar von Fankman
    Registriert seit
    21.11.08
    Ort
    Lyss, Switzerland
    Beiträge
    3.326
    Willst du nicht C# lernen? Die Programmierumgebung Visual Studio gibts von Microsoft gratis und mit WPF lassen sich in handumdrehen wirklich sehr schöne Programmoberflächen zusammen klicken. Zudem wärst du mit der Sprache dann auch mal in der Lage Spieleengines wie z.B. Unity anzusprechen.

  7. #7
    schwarz weiß Avatar von Rorschach
    Registriert seit
    25.02.02
    Ort
    Ruhrgebiet
    Beiträge
    5.951
    Zitat Zitat von Fankman Beitrag anzeigen
    Willst du nicht C# lernen? Die Programmierumgebung Visual Studio gibts von Microsoft gratis und mit WPF lassen sich in handumdrehen wirklich sehr schöne Programmoberflächen zusammen klicken. Zudem wärst du mit der Sprache dann auch mal in der Lage Spieleengines wie z.B. Unity anzusprechen.
    Ich habe schon etwas Zeit in Python gesteckt und will das weiterverfolgen, zumindest bis ich die Grundkenntnisse kenne. Dann werde ich mich auf eine Anwendung spezialisieren und vielleicht auch die Programmiersprache wechseln.


    So, dann mal zum Update

    Ich habe Problem Set 1 von dem CS50 Kurs von Harvard gemacht und erstmal 100 % abgeräumt \o/

    Naja, war auch nicht so schwierig

    Die Aufgabenstellung war mit Scratch ein kleines Programm zusammenbauen

    Bei Scratch hat man vorgerfertigte Codeblöcke und kann per Drag & Drop erste kleine Programme bauen

    https://scratch.mit.edu/

    Die nächste Wochenaufgabe ist Hello World, Wechselgeld in kleinstmöglicher Anzahl von Münzen und Dreiecke auf # nach Usereingabe, also auch kein Hexenwerk
    Allerdings alles in C, da kenne ich die Syntax gar nicht


    Ansonsten habe ich mich mal wieder in die Trainingsseiten eingeloggt und geschaut wo ich stehen geblieben bin.

    codebat
    Bild

    checkio
    Bild

    codesignal
    Bild

    codewars
    Bild

    Noch ist es ein bisschen dürftig, noch...

    Vom MIT Kurs habe ich leider alle Fortschritte verloren, da war ich schon einige Wochen tief. Ich meine, ich habe damals wegen einer String Manipulationsaufgabe genervt aufgehört
    am 5. Juni startet er wieder, leider etwas spät

    Aber bis dahin habe ich es wohl drauf und rausche nur so dadurch
    Angehängte Grafiken Angehängte Grafiken

  8. #8
    reztuneB retreirtsigeR Avatar von EpicFail
    Registriert seit
    16.11.11
    Beiträge
    3.824
    Ich weiß nicht, wie weit du nach den ersten paar Übungen schon bist, aber gerade wenn es dir um Data Science geht, solltest du dir unbedingt auch einige Python Bibliotheken anschauen. Allen voran wohl numpy (Mathematik Bibliothek, die vermutlich in 100% aller ernsthaften Python Programme zu finden ist) und matplotlib (zum Visualisieren). Es gibt auch noch ein paar mehr, aber Python wird eigentlich erst gut dadurch
    Zitat Zitat von Austra Beitrag anzeigen
    Dort herrscht Dauerkrieg zwischen den Feminazi-Ökofaschisten und und Konservativen-FDP-AfD-Nazis

  9. #9
    schwarz weiß Avatar von Rorschach
    Registriert seit
    25.02.02
    Ort
    Ruhrgebiet
    Beiträge
    5.951
    In dieser Woche komme ich leider nicht zu viel, weil so beschissene Arbeitszeiten habe.

    Danke, für den Hinweis, den hattest du mir auch schon im programmierstammtisch gegeben oder?

    Ich denke es ist gut, wenn ich mir sowieso Mal die Bibliotheken anschaue, damit ich das volle Potential auch nutzen kann

    Kann mir jemand erklären, warum C so nah an der eigentlichen Maschinensprache ist?
    Für mich sieht das aus wie jede andere Programmiersprache

    Oder habe ich da was falsch verstanden?

  10. #10
    Administrator
    Registriert seit
    20.08.04
    Beiträge
    8.965
    Zitat Zitat von Rorschach Beitrag anzeigen
    Oder habe ich da was falsch verstanden?
    C ist größtenteils eine Vereinfachung und abstraktere Sicht auf die Assemblerbefehle.
    Diese Art zu programmieren ist auch in vielen anderen Sprachen möglich. Insbesondere die gängigen, erfolgreichen Sprachen bieten eine C-Ähnliche Syntax mit der jemand mit C-Kenntnissen ein paar Schritte voran kommen kann.

    Objekte und eigentlich auch schon Funktionen und Strukturen sind nicht mehr so maschinennah sondern abstraktere Konzepte. Da macht sich der Programmierer im Idealfall keine Gedanken darüber, wie ein Computer rechnet.

    Die Schleifen in Python sind zum Beispiel nicht "maschinennah". In C gibt es nur For-Scheifen. Da muss man sich eine Speicheradresse ausdenken und dann dafür sorgen, dass man immer zur nächsten Adresse springt.
    In Python sagt man dem Programm, dass man sich alle Objekte von vorne bis hinten ein mal angucken möchte.
    Verstand op nul, frituur op 180.

  11. #11
    schwarz weiß Avatar von Rorschach
    Registriert seit
    25.02.02
    Ort
    Ruhrgebiet
    Beiträge
    5.951
    Also für jemanden, der noch ganz am Anfang steht, macht das kaum einen Unterschied


    Leider war ich auch gesundheitlich etwas angeschlagen und nach Studium einiger Stellenanzeige mal wieder demotiviert, darum ging es erst gestern weiter.

    Und natürlich bin ich auf Probleme gestoßen.

    Die Aufgabe ist es, vom User ein integer abzufragen und dann eine "Pyramide" auszugeben

    Also bei der Eingabe von 3 sollte es so aussehen
    PHP-Code:
       #  #
      ##  ##
     ###  ### 

    Mein Code in C
    PHP-Code:
    int main(void)
        
    {
    int h;
        
        do
        {
            
    get_int("Height: ");
                  
         }
        while(
    h<=&& 9<h);

        for(
    int i 0i<hi++)
                {
                
    printf("#  #\n");
                }


    In Python könnte ich sowas wie print((h-i)*" "+(i*"#")....) schreiben, aber wie kriege ich zwei Variablen in C zu Stande?
    So weit ich gefunden habe, ist das wie in Python nicht möglich

    Muss ich die for-Schleife komplett umstrukturieren?

  12. #12
    Frühstücksbonze Avatar von Gullix
    Registriert seit
    21.07.10
    Beiträge
    13.387
    ...also, ich glaub, da brauchst du mehr Schleifen. Du brauchst ja (Zeile) viele Doppelkreuze und (h-Zeile) viele Leerstellen.
    Mit Naturgesetzen kann man nicht verhandeln. --Harald Lesch

    Ein Atomkrieg würde die Menschheit auslöschen. Hätte aber auch Nachteile.

  13. #13
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Da gibt es zur Lösung unzählige Varianten.

    1) In einer Schleife mit putchar die Zeichen einzeln ausgeben. Dafür braucht man das komplexere printf nicht bemühen.
    2) Hilfsstrings einer bestimmten Länge gefüllt mit ' ' und '#' erzeugen und davon X Zeichen mit printf("%s", [passender pointer]) ausgeben.
    3) Ausnutzen dass sich pro Zeile nur zwei Zeichen ändern und die Schleife auf diese Änderung beschränken.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •