Racket: различия между версиями

Материал из Поле цифровой дидактики
 
Строка 28: Строка 28:


* [[Треугольник Серпинского]]
* [[Треугольник Серпинского]]
‎<syntaxhighlight lang="racket" line>
‎<syntaxhighlight lang="racket" line>
(require 2htdp/image)
(require 2htdp/image)
Строка 37: Строка 36:
       (freeze (above t (beside t t))))))
       (freeze (above t (beside t t))))))
‎</syntaxhighlight>
‎</syntaxhighlight>


=== Книги ===
=== Книги ===
* https://racket-lang.org/books.html
* https://racket-lang.org/books.html
** https://nostarch.com/racket-programming-fun-way
** https://nostarch.com/racket-programming-fun-way

Текущая версия на 15:43, 12 января 2023


Краткое описание языка Racket (ранее — PLTScheme) — мультипарадигменный язык программирования общего назначения, принадлежащий семейству Lisp/Scheme. Предоставляет среду языково-ориентированное программирование — одно из предназначений racket — создание, разработка и реализация языков программирования. Язык используется в различных контекстах: как скриптовый язык, как язык общего назначения, в обучении информатике, в научных исследованиях.
Компетенции в каких сферах формирует Computational Thinker
Парадигмы программирования
Возрастная категория 14
Назначение языка (Общее / Учебное) Язык общего назначения
Visual_Text_Blocks Текст
Измерение (2D/3D/Tangible) 2D
Область знаний
Открытость продукта Открытый
Address https://racket-lang.org/
Предки (Ancestors) Lisp, Scheme
Потомки (Descendants)
Активность в данный момент Project is active
Доступны ремиксы? Нет
Год создания 1994
Создатели
Поясняющее видео
Используется для создания мобильных приложений? Да


Racket упоминается в свойствах следующих страниц



DrScheme был дополнен учебными языками, пошаговым алгебраическим вычислителем, прозрачным REPL-циклом, подсистемой печати на основе конструкторов (cons) и множеством других нововведений, которые сделали DrScheme качественным образовательным продуктом. В 2001 году разработчиками языка был написан и опубликован учебник How to Design Programs, основанный на их философии обучения программированию.

Рекурсия в Racket

  • Факториал
(: fact (Integer -> Integer))
(define (fact n)
  (cond [(zero? n) 1]
        [else (* n (fact (- n 1)))]))

(require 2htdp/image)
(let sierpinski ([n 8])
  (if (zero? n)
    (triangle 2 'solid 'red)
    (let ([t (sierpinski (- n 1))])
      (freeze (above t (beside t t))))))

Книги