Введение в язык Scheme для школьников: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 132:
 
Например:
<codesource lang=scheme>(+ 1 2 3 4) ; сумма первых четырёх натуральных чисел</code>
<code>(+ (+ 1 2) 5 6) ; возможно вкладывать одни вызовы функций в другие</code>
<code>(string-append "hello" "world") ; результат — склеенная строка "helloworld"</codesource>
 
Задание переменных и функций:
<codesource lang=scheme>(define <имя> <значение>)</code>
<code>(define (<имя> <аргумент>...) <тело функции>)</code>
<code>; функция возвращает значение последнего вычислительного </code>
<code>; выражения в теле функции.</codesource>
 
Например:
<codesource lang=scheme>(define a 3)</code>
<code>(define b 4)</code>
<code>(define (square x) (* x x)) ; вычисляет квадрат числа</code>
<code>(define (+a x) (+ x a)) </code>
<code>; да-да, можно давать и такие имена функциям</codesource>
 
Дополнительные конструкции:
<codesource lang=scheme>(if <условие> <действие при успехе условия> <действие при неудаче>)</code>
<code>(begin <первое действие> <второе действие> ....)</codesource>
 
Пример:
<source lang=scheme>
<code>(if (> a 0) </code>
<code>(display "a > 0")) ; действие при неудаче можно не указывать</code>
<code>(begin (display 1)</code>
(begin <code>(display 21)</code>
(display 2)
<code>(display 3)) ; последовательно выполнятся действия, и на экран будет выведено: 123</codesource>
 
==И опять про повторение: функция repeat==