Basics of Racket
Descripción del contenido de la página
Conversión de antiguos programas de BASIC a Racket para aprender los rudimentos de este lenguaje.
3D Plot
#lang racket
(define (move-cursor-home)
(display "\e[H"))
(define (clear-screen)
(display "\e[2J")
(move-cursor-home))
(define (display-credits)
(displayln "3D Plot\n")
(displayln "Original version in BASIC:")
(displayln " Creative computing (Morristown, New Jersey, USA), ca. 1980.\n")
(displayln "This version in Racket")
(displayln " Copyright (c) 2024, Marcos Cruz (programandala.net)")
(displayln " SPDX-License-Identifier: Fair\n")
(display "Press Enter to start the program. ")
(void (read-line)))
(define (a z)
(* 30 (exp (/ (* (- z) z) 100))))
(define (draw)
(define l 0)
(define z 0)
(define y1 0)
(define line-width 56)
(define line (make-string line-width #\space))
(for ([x (in-range -30.0 30.5 1.5)])
(set! l 0)
(set! y1 (* 5 (exact-floor (/ (sqrt (- 900 (* x x))) 5))))
(for ([y (in-range y1 (+ (- y1) -5) -5)])
(set! z (exact-floor (- (+ 25 (a (sqrt (+ (* x x) (* y y))))) (* 0.7 y))))
(when (> z l)
(begin
(set! l z)
(string-set! line z #\*))))
(displayln line)
(string-fill! line #\space)))
(clear-screen)
(display-credits)
(clear-screen)
(draw)
Diamond
#lang racket/base
(define lines 17)
(for ([i (in-range 1 (+ (/ lines 2) 1))])
(for ([j (in-range 0 (+ (- (/ (+ lines 1) 2) i) 1))])
(write-string " "))
(for ([j (in-range 0 (- (* i 2) 1))])
(write-string "*"))
(write-string "\n"))
(for ([i (in-range 1 (/ lines 2))])
(for ([j (in-range 0 (+ i 1))])
(write-string " "))
(for ([j (in-range 0 (- (* (- (/ (+ lines 1) 2) i) 2) 1))])
(write-string "*"))
(write-string "\n"))
Sine Wave
#lang racket
(define (move-cursor-home)
(display "\e[H"))
(define (clear-screen)
(display "\e[2J")
(move-cursor-home))
(define (display-credits)
(clear-screen)
(displayln "Sine Wave\n")
(displayln "Original version in BASIC:")
(displayln " Creative Computing (Morristown, New Jersey, USA), ca. 1980.\n")
(displayln "This version in Racket:")
(displayln " Copyright (c) 2023, 2024, Marcos Cruz (programandala.net)")
(displayln " SPDX-License-Identifier: Fair\n")
(display "Press Enter to start the program. ")
(void (read-line)))
(define word (vector "" ""))
(define order (vector "first" "second"))
(define (get-words)
(clear-screen)
(for ([w (in-range 0 2)])
(printf "Enter the ~a word: " (vector-ref order w))
(vector-set! word w (read-line))))
(define (boolean->integer b)
(count values (list b)))
(define (draw)
(clear-screen)
(define even #f)
(for ([a (in-range 0.0 40.25 0.25)])
(display (make-string (exact-floor (+ (* (sin a) 25) 26)) #\space))
(displayln (vector-ref word (boolean->integer even)))
(set! even (not even))))
(display-credits)
(get-words)
(displayln "")
(draw)
Páginas relacionadas
- Basics off
- Metaproyecto sobre los proyectos «Basics of…».
- Basics of 8th
- Conversión de antiguos programas de BASIC a 8th para aprender los rudimentos de este lenguaje.
- Basics of Ada
- Conversión de antiguos programas de BASIC a Ada para aprender los rudimentos de este lenguaje.
- Basics of Arturo
- Conversión de antiguos programas de BASIC a Arturo para aprender los rudimentos de este lenguaje.
- Basics of C#
- Conversión de antiguos programas de BASIC a C# para aprender los rudimentos de este lenguaje.
- Basics of C3
- Conversión de antiguos programas de BASIC a C3 para aprender los rudimentos de este lenguaje.
- Basics of Chapel
- Conversión de antiguos programas de BASIC a Chapel para aprender los rudimentos de este lenguaje.
- Basics of Clojure
- Conversión de antiguos programas de BASIC a Clojure para aprender los rudimentos de este lenguaje.
- Basics of Crystal
- Conversión de antiguos programas de BASIC a Crystal para aprender los rudimentos de este lenguaje.
- Basics of D
- Conversión de antiguos programas de BASIC a D para aprender los rudimentos de este lenguaje.
- Basics of Elixir
- Conversión de antiguos programas de BASIC a Elixir para aprender los rudimentos de este lenguaje.
- Basics of F#
- Conversión de antiguos programas de BASIC a F# para aprender los rudimentos de este lenguaje.
- Basics of Factor
- Conversión de antiguos programas de BASIC a Factor para aprender los rudimentos de este lenguaje.
- Basics of FreeBASIC
- Conversión de antiguos programas de BASIC a FreeBASIC para aprender los rudimentos de este lenguaje.
- Basics of Gleam
- Conversión de antiguos programas de BASIC a Gleam para aprender los rudimentos de este lenguaje.
- Basics of Go
- Conversión de antiguos programas de BASIC a Go para aprender los rudimentos de este lenguaje.
- Basics of Hare
- Conversión de antiguos programas de BASIC a Hare para aprender los rudimentos de este lenguaje.
- Basics of Haxe
- Conversión de antiguos programas de BASIC a Haxe para aprender los rudimentos de este lenguaje.
- Basics of Icon
- Conversión de antiguos programas de BASIC a Icon para aprender los rudimentos de este lenguaje.
- Basics of Io
- Conversión de antiguos programas de BASIC a Io para aprender los rudimentos de este lenguaje.
- Basics of Janet
- Conversión de antiguos programas de BASIC a Janet para aprender los rudimentos de este lenguaje.
- Basics of Julia
- Conversión de antiguos programas de BASIC a Julia para aprender los rudimentos de este lenguaje.
- Basics of Kotlin
- Conversión de antiguos programas de BASIC a Kotlin para aprender los rudimentos de este lenguaje.
- Basics of Lobster
- Conversión de antiguos programas de BASIC a Lobster para aprender los rudimentos de este lenguaje.
- Basics of Lua
- Conversión de antiguos programas de BASIC a Lua para aprender los rudimentos de este lenguaje.
- Basics of Nature
- Conversión de antiguos programas de BASIC a Nature para aprender los rudimentos de este lenguaje.
- Basics of Neat
- Conversión de antiguos programas de BASIC a Neat para aprender los rudimentos de este lenguaje.
- Basics of Neko
- Conversión de antiguos programas de BASIC a Neko para aprender los rudimentos de este lenguaje.
- Basics of Nelua
- Conversión de antiguos programas de BASIC a Nelua para aprender los rudimentos de este lenguaje.
- Basics of Nim
- Conversión de antiguos programas de BASIC a Nim para aprender los rudimentos de este lenguaje.
- Basics of Nit
- Conversión de antiguos programas de BASIC a Nit para aprender los rudimentos de este lenguaje.
- Basics of Oberon-07
- Conversión de antiguos programas de BASIC a Oberon-07 para aprender los rudimentos de este lenguaje.
- Basics of OCaml
- Conversión de antiguos programas de BASIC a OCaml para aprender los rudimentos de este lenguaje.
- Basics of Odin
- Conversión de antiguos programas de BASIC a Odin para aprender los rudimentos de este lenguaje.
- Basics of Pike
- Conversión de antiguos programas de BASIC a Pike para aprender los rudimentos de este lenguaje.
- Basics of Pony
- Conversión de antiguos programas de BASIC a Pony para aprender los rudimentos de este lenguaje.
- Basics of Python
- Conversión de antiguos programas de BASIC a Python para aprender los rudimentos de este lenguaje.
- Basics of Raku
- Conversión de antiguos programas de BASIC a Raku para aprender los rudimentos de este lenguaje.
- Basics of Retro
- Conversión de antiguos programas de BASIC a Retro para aprender los rudimentos de este lenguaje.
- Basics of Rexx
- Conversión de antiguos programas de BASIC a Rexx para aprender los rudimentos de este lenguaje.
- Basics of Ring
- Conversión de antiguos programas de BASIC a Ring para aprender los rudimentos de este lenguaje.
- Basics of Rust
- Conversión de antiguos programas de BASIC a Rust para aprender los rudimentos de este lenguaje.
- Basics of Scala
- Conversión de antiguos programas de BASIC a Scala para aprender los rudimentos de este lenguaje.
- Basics of Scheme
- Conversión de antiguos programas de BASIC a Scheme para aprender los rudimentos de este lenguaje.
- Basics of Styx
- Conversión de antiguos programas de BASIC a Styx para aprender los rudimentos de este lenguaje.
- Basics of Swift
- Conversión de antiguos programas de BASIC a Swift para aprender los rudimentos de este lenguaje.
- Basics of V
- Conversión de antiguos programas de BASIC a V para aprender los rudimentos de este lenguaje.
- Basics of Vala
- Conversión de antiguos programas de BASIC a Vala para aprender los rudimentos de este lenguaje.
- Basics of Zen C
- Conversión de antiguos programas de BASIC a Zen C para aprender los rudimentos de este lenguaje.
- Basics of Zig
- Conversión de antiguos programas de BASIC a Zig para aprender los rudimentos de este lenguaje.
Enlaces externos relacionados