Modius - Techblog

  • Ansible
  • Docker
  • DevOps
  • Gastautor werden
  • Newsletter abonnieren
  • Über Mich
  • Kontakt

Dr. Racket – Ende der Artikelserie

Veröffentlicht am 3. April 2013 von Christian Piazzi Hinterlasse ein Kommentar , Aktualisiert am 3. April 2013
Geschätzte Lesezeit: 18 Sekunden

Nun ist erstmal das Ende der Artikelserie zu dem Thema Dr. Racket erreicht. Ich habe alles niedergeschrieben was ich erstmal als wichtig erachte. Ich mach hier nochmal eine kleine Übersicht was ich alles in den Themen hatte.

  1. Die erste mathematische Aufgabe lösen
  2. Konstante
  3. Struct
  4. Listen
  5. Funktionen
  6. Map Funktion
  7. Member Funktion
  8. Berechnung des Flächeninhaltes eines Rechteckes

Falls euch nochwas fehlt, ihr bei einem speziellen Thema Probleme habt oder einfach vielleicht selbst etwas zu Scheme schreiben wollte

Kategorie: Programmierung Tags: Dr. Racket, funktionale Programmierung, Scheme

Dr. Racket 5.3.1: Berechnung des Flächeninhaltes eines Rechteckes

Veröffentlicht am 27. März 2013 von Christian Piazzi Hinterlasse ein Kommentar , Aktualisiert am 25. März 2013
Geschätzte Lesezeit: 36 Sekunden

Ok heute gibt es mal einen rein praktischen Artikel. Ich habe eine kleine Funktion geschrieben, die den Flächeninhalt eines Rechteckes aufgrund von 2 Koordinaten berechnet. Wir haben dabei einen x und einen y Wert für den Startpunkt (obere Linke Ecke) und einen x und y Wert für den Endpunkt (untere Rechte Ecke) des Rechteckes.

Das heißt unsere Funktion bekommt 4 Parameter in Form von Zahlen. Aber ich will nicht länger um den heißen Brei reden. Darum hier die Funktion:

Scheme
1
2
3
4
5
;;example: (rect-area -1 4 2 0)  = 12
 
(define (rect-area x1 y1 x2 y2)
        (* (- (max x2 x1) (min x2 x1)) (- (max y2 y1) (min y2 y1)))
)

Ok ich habe hier zwei neue Befehle verwendet. min und max. Diese dient dazu, bei einem Zahlenpaar die größer bzw. kleiner zu erkenne. In der Funktion oben sorgen ich damit zum Beispiel dafür, dass immer die kleiner Zahl von der größeren abgezogen wird. Damit erhalt ich zwei Seitenlängen. Diese werden dann miteinander multipliziert und ergeben den Flächeninhalt.

Kategorie: Programmierung Tags: Dr. Racket, Dr. Scheme, Flächeninhalt, funktional, Programmierung, Rechteck

Dr. Racket 5.3.1: Die Funktion member verwenden

Veröffentlicht am 20. März 2013 von Christian Piazzi Hinterlasse ein Kommentar , Aktualisiert am 20. März 2013
Geschätzte Lesezeit: 20 Sekunden

Heute will ich euch mal eine vordefinierte Funktion von Dr. Racket zeigen. Es handelt sich dabei um die member Funktion. Mit dieser Funktion könnt ihr feststellen, ob sich ein bestimmtes Zeichen (Character) in einer Liste befindet oder nicht. Als Rückgabewerte bekommt ihr einen Wahrheitswert. Hier mal ein Codebeispiel:

Scheme
1
(member ‘a (list a b c))

–>true

Scheme
1
(member ‘d (list a b c))

–>false

Diese Funktion kann in verschiedenen Situation recht nützlich sein und es ist gut sie einfach mal gesehen zu haben =)

Kategorie: Programmierung Tags: Dr. Racket, Dr. Scheme, funktional, member, Programmierung

Dr. Racket 5.3.1: Die Funktion map verwenden

Veröffentlicht am 13. März 2013 von Christian Piazzi 1 Kommentar , Aktualisiert am 13. März 2013
Geschätzte Lesezeit: 35 Sekunden

In diesem Artikel geht es auch wieder um eine vordefinierte Funktion von Dr. Racket. Es handelt sich dabei um die map Funktion. Mit dieser Funktion könnt ihr komplette Listen verändern. Ein kleines Beispiel währe wenn ihr eine Liste mit Zahlen habt und nun eine Liste der Quadratzahlen haben wollt. Der Code dafür währe:

Scheme
1
(map sqr ‘( 7 2 3))

–> (list 49 4 9)

Wie wir hier sehen würden wir eine neue Liste zurückgegeben bekommen, welche als Inhalt die Quadrzahlen der ersten Liste hat. Ein weiters Anwendungsbeispiel währe das Vergleichen von Listen.

Scheme
1
(map <= '(1 2) '(2 1))

–> (list true false)

In diesem Code vergleicht er nun die beiden ersten Zahlen und die beiden zweiten Zahlen miteinander und überprüft welche größer ist. Die Antwort bekommen wir in einer neuen Liste zurückgegeben.

Auch diese Funkton kann wirklich nützliche sein =)

Kategorie: Programmierung Tags: Dr. Racket, Dr. Scheme, funktional, map, Programmierung

Dr. Racket 5.3.1: Funktion anlegen und verwenden

Veröffentlicht am 6. März 2013 von Christian Piazzi Hinterlasse ein Kommentar , Aktualisiert am 6. März 2013
Geschätzte Lesezeit: 33 Sekunden

So langsam wird es interessant. Heute geht es um das erstellen der ersten Funktion in Dr. Racket. Und wir legen auch direkt los.

Unsere Aufgabe heute ist es, eine Funktion zu schreiben die eine Zahl erhält und davon die Quadratzahl errechnet.

Kleines Beispiel: Die Funktion bekommt die Zahl 2 übergeben. Das Ergebnis währe hier 4

Nun schreiben wir den Quellcode dafür:

Scheme
1
2
(define (quadrat x)
        (* x x))

Wir definieren hier eine Funktion mit dem Namen „quadrat“ die den Parameter x übergeben bekommt. Als nächstes wollen wir die Funktion test. Dafür schreiben wir folgenden Code dazu:

Scheme
1
(quadrat 5)

Haben wir alles richtig gemacht erscheint nun das Ergebniss in unserer Ausgabe (25).

Wir sehen also das wir mit Funktionen auch komplexere Aufgaben lösen können und diese vorallem an jeder anderen Stelle weiterverwenden können.

Kategorie: Programmierung Tags: Dr. Racket, Dr. Scheme, funktional, Funktionen, Programmierung

  • 1
  • 2
  • nächste Seite

Kategorien

  • Linux
  • Internet, Bloggen & Co
  • Programmierung
  • Sicherheit
  • Netzwerk & Co
  • Mikrokontroller
  • Windows

Beliebte Artikel

  • Docker Container – anzeigen, starten, stoppen und löschen
  • Nextcloud https mit self-signed Zertifikat einrichten
  • ioBroker auf dem Raspberry Pi installieren und konfigurieren
  • Arten von Betriebssystemen
  • Soft- und Hardlinks unter Linux

Neueste Kommentare

  • Docker Compose Guide - Modius - Techblog bei Docker Compose – Automatisiertes starten von Microservices
  • Keksiminer bei Minecraft Bukkit Server – dynmap installieren und konfigurieren
  • Thorben bei Nextcloud https mit self-signed Zertifikat einrichten
  • Sepp bei Automatisierte Dokumentation von Python Projekten mit sphinx
  • Sascha bei Arduino – 4fach 7-Segmentanzeige mit Schieberegister

Werbung

Archive

Kontakt, Datenschutz und Impressum

  • Kontakt
  • Datenschutz
  • Impressum

Schlagwörter

Anleitung Ansible Apache Apple App Store Automatisierung Blogparade C++ Centos CentOS7 centos 7 Container Datenbank DevOps Docker Dr. Racket Dr. Scheme funktional Gastartikel Google HowTo httpd Icinga2 Icinga 2 Installation itsm Linux Minecraft Monitoring mooc MySQL owncloud PHP Plugin Programmierung python Raspberry Pi Schritt für Schritt Server Sicherheit Tutorial Ubuntu Update Windows Wordpress

Copyright © 2023 · Outreach Pro on Genesis Framework · WordPress · Anmelden