Basics of F#
Description of the page content
Conversion of old BASIC programs to F# in order to learn the basics of this language.
3D Plot
open System
let PrintCredits() =
printfn "3D Plot\n"
printfn "Original version in BASIC:"
printfn " Creative computing (Morristown, New Jersey, USA), ca. 1980.\n"
printfn "This version in F# 5.0:"
printfn " Copyright (c) 2024, Marcos Cruz (programandala.net)"
printfn " SPDX-License-Identifier: Fair\n"
printf "Press any key to start. "
Console.ReadKey() |> ignore
let A z =
30.0 * Math.Exp(-z * z / 100.0)
let Draw() =
let WIDTH = 56
let SPACE = ' '
let DOT = '*'
let mutable l = 0
let mutable z = 0
let mutable y = 0
let mutable y1 = 0
let mutable line : char array = Array.zeroCreate WIDTH
let mutable output = new String(line)
let mutable x = -30.0
while x <= 30.0 do
for i=0 to WIDTH-1 do
line.[i] <- SPACE
l <- 0
y1 <- 5 * int (Math.Sqrt(900.0 - x * x) / 5.0)
y <- y1
while y >= -y1 do
z <- int (25.0 + A(Math.Sqrt(x * x + double (y * y))) - 0.7 * double y)
if z > l then
l <- z
line.[z] <- DOT
y <- y + -5
let output = String(line)
printfn "%s" output
x <- x + 1.5
[<EntryPoint>]
let main argv =
Console.Clear()
PrintCredits()
Console.Clear()
Draw()
0
Diamond
[<EntryPoint>]
let main argv =
let LINES = 17
let mutable i = 1
let mutable j = 1
while i <= LINES / 2 + 1 do
j <- 1
while j <= (LINES + 1) / 2 - i + 1 do
printf " "
j <- j + 1
j <- 1
while j <= i * 2 - 1 do
printf "*"
j <- j + 1
printfn ""
i <- i + 1
i <- 1
while i <= LINES / 2 do
j <- 1
while j <= i + 1 do
printf " "
j <- j + 1
j <- 1
while j <= ((LINES + 1) / 2 - i) * 2 - 1 do
printf "*"
j <- j + 1
printfn ""
i <- i + 1
0
Related pages
- Basics off
- Metaproject about the "Basics of…" projects.
- Basics of 8th
- Conversion of old BASIC programs to 8th in order to learn the basics of this language.
- Basics of Ada
- Conversion of old BASIC programs to Ada in order to learn the basics of this language.
- Basics of Arturo
- Conversion of old BASIC programs to Arturo in order to learn the basics of this language.
- Basics of C#
- Conversion of old BASIC programs to C# in order to learn the basics of this language.
- Basics of C3
- Conversion of old BASIC programs to C3 in order to learn the basics of this language.
- Basics of Chapel
- Conversion of old BASIC programs to Chapel in order to learn the basics of this language.
- Basics of Clojure
- Conversion of old BASIC programs to Clojure in order to learn the basics of this language.
- Basics of Crystal
- Conversion of old BASIC programs to Crystal in order to learn the basics of this language.
- Basics of D
- Conversion of old BASIC programs to D in order to learn the basics of this language.
- Basics of Elixir
- Conversion of old BASIC programs to Elixir in order to learn the basics of this language.
- Basics of Factor
- Conversion of old BASIC programs to Factor in order to learn the basics of this language.
- Basics of FreeBASIC
- Conversion of old BASIC programs to FreeBASIC in order to learn the basics of this language.
- Basics of Gleam
- Conversion of old BASIC programs to Gleam in order to learn the basics of this language.
- Basics of Go
- Conversion of old BASIC programs to Go in order to learn the basics of this language.
- Basics of Hare
- Conversion of old BASIC programs to Hare in order to learn the basics of this language.
- Basics of Haxe
- Conversion of old BASIC programs to Haxe in order to learn the basics of this language.
- Basics of Icon
- Conversion of old BASIC programs to Icon in order to learn the basics of this language.
- Basics of Io
- Conversion of old BASIC programs to Io in order to learn the basics of this language.
- Basics of Janet
- Conversion of old BASIC programs to Janet in order to learn the basics of this language.
- Basics of Julia
- Conversion of old BASIC programs to Julia in order to learn the basics of this language.
- Basics of Kotlin
- Conversion of old BASIC programs to Kotlin in order to learn the basics of this language.
- Basics of Lobster
- Conversion of old BASIC programs to Lobster in order to learn the basics of this language.
- Basics of Lua
- Conversion of old BASIC programs to Lua in order to learn the basics of this language.
- Basics of Nature
- Conversion of old BASIC programs to Nature in order to learn the basics of this language.
- Basics of Neat
- Conversion of old BASIC programs to Neat in order to learn the basics of this language.
- Basics of Neko
- Conversion of old BASIC programs to Neko in order to learn the basics of this language.
- Basics of Nelua
- Conversion of old BASIC programs to Nelua in order to learn the basics of this language.
- Basics of Nim
- Conversion of old BASIC programs to Nim in order to learn the basics of this language.
- Basics of Nit
- Conversion of old BASIC programs to Nit in order to learn the basics of this language.
- Basics of Oberon-07
- Conversion of old BASIC programs to Oberon-07 in order to learn the basics of this language.
- Basics of OCaml
- Conversion of old BASIC programs to OCaml in order to learn the basics of this language.
- Basics of Odin
- Conversion of old BASIC programs to Odin in order to learn the basics of this language.
- Basics of Pike
- Conversion of old BASIC programs to Pike in order to learn the basics of this language.
- Basics of Pony
- Conversion of old BASIC programs to Pony in order to learn the basics of this language.
- Basics of Python
- Conversion of old BASIC programs to Python in order to learn the basics of this language.
- Basics of Racket
- Conversion of old BASIC programs to Racket in order to learn the basics of this language.
- Basics of Raku
- Conversion of old BASIC programs to Raku in order to learn the basics of this language.
- Basics of Retro
- Conversion of old BASIC programs to Retro in order to learn the basics of this language.
- Basics of Rexx
- Conversion of old BASIC programs to Rexx in order to learn the basics of this language.
- Basics of Ring
- Conversion of old BASIC programs to Ring in order to learn the basics of this language.
- Basics of Rust
- Conversion of old BASIC programs to Rust in order to learn the basics of this language.
- Basics of Scala
- Conversion of old BASIC programs to Scala in order to learn the basics of this language.
- Basics of Scheme
- Conversion of old BASIC programs to Scheme in order to learn the basics of this language.
- Basics of Styx
- Conversion of old BASIC programs to Styx in order to learn the basics of this language.
- Basics of Swift
- Conversion of old BASIC programs to Swift in order to learn the basics of this language.
- Basics of V
- Conversion of old BASIC programs to V in order to learn the basics of this language.
- Basics of Vala
- Conversion of old BASIC programs to Vala in order to learn the basics of this language.
- Basics of Zig
- Conversion of old BASIC programs to Zig in order to learn the basics of this language.
External related links