<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://lorwiki.zhbert.ru/index.php?action=history&amp;feed=atom&amp;title=Lisp_%D0%A7%D0%B0%D1%81%D1%82%D1%8C_2_%D0%AF%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BA%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B.</id>
	<title>Lisp Часть 2 Языковые конструкции и примеры. - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://lorwiki.zhbert.ru/index.php?action=history&amp;feed=atom&amp;title=Lisp_%D0%A7%D0%B0%D1%81%D1%82%D1%8C_2_%D0%AF%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BA%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B."/>
	<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=Lisp_%D0%A7%D0%B0%D1%81%D1%82%D1%8C_2_%D0%AF%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BA%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B.&amp;action=history"/>
	<updated>2026-10-12T23:45:36Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.0</generator>
	<entry>
		<id>http://lorwiki.zhbert.ru/index.php?title=Lisp_%D0%A7%D0%B0%D1%81%D1%82%D1%8C_2_%D0%AF%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BA%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B.&amp;diff=139&amp;oldid=prev</id>
		<title>Admin: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=Lisp_%D0%A7%D0%B0%D1%81%D1%82%D1%8C_2_%D0%AF%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BA%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B.&amp;diff=139&amp;oldid=prev"/>
		<updated>2023-02-27T18:39:15Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 21:39, 27 февраля 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>http://lorwiki.zhbert.ru/index.php?title=Lisp_%D0%A7%D0%B0%D1%81%D1%82%D1%8C_2_%D0%AF%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BA%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B.&amp;diff=138&amp;oldid=prev</id>
		<title>lor&gt;Mandala: Mandala переименовала страницу Часть 2. Языковые конструкции Lisp. Примеры в Lisp Часть 2 Языковые конструкции и примеры.: *</title>
		<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=Lisp_%D0%A7%D0%B0%D1%81%D1%82%D1%8C_2_%D0%AF%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BA%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B.&amp;diff=138&amp;oldid=prev"/>
		<updated>2018-03-13T13:04:14Z</updated>

		<summary type="html">&lt;p&gt;Mandala переименовала страницу &lt;a href=&quot;/index.php/%D0%A7%D0%B0%D1%81%D1%82%D1%8C_2._%D0%AF%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BA%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D0%B8_Lisp._%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B&quot; class=&quot;mw-redirect&quot; title=&quot;Часть 2. Языковые конструкции Lisp. Примеры&quot;&gt;Часть 2. Языковые конструкции Lisp. Примеры&lt;/a&gt; в &lt;a href=&quot;/index.php/Lisp_%D0%A7%D0%B0%D1%81%D1%82%D1%8C_2_%D0%AF%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BA%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D0%B8_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B.&quot; title=&quot;Lisp Часть 2 Языковые конструкции и примеры.&quot;&gt;Lisp Часть 2 Языковые конструкции и примеры.&lt;/a&gt;: *&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Вопросы, касающиеся некоторых приёмов программирования на Lisp и примеры кода.&lt;br /&gt;
&lt;br /&gt;
==Как в Lisp'е работать с массивами?==&lt;br /&gt;
&lt;br /&gt;
Тема была достаточно подробно рассмотрена на форуме в теме [http://www.linux.org.ru/view-message.jsp?msgid=1876259 Lisp и массивы]&lt;br /&gt;
==Что такое хвостовая рекурсия?==&lt;br /&gt;
&lt;br /&gt;
Хвостовая рекурсия (концевая рекурсия, tail recursion, tail-end recursion) - специальная форма рекурсии для которой на каждом шаге достаточно запоминать лишь текущие значения состояния рекурсивного процесса, а не всю цепочку отложенных состояний. Использование хвостовой рекурсии компилятором превращает рекурсию в итерационный процесс, сокращает расход памяти, которая не тратится на запоминание всех состояний рекурсивного алгоритма и увеличивает скорость работы.&lt;br /&gt;
&lt;br /&gt;
Подробнее про хвостовую рекурсию можно прочесть в wikipedia [http://en.wikipedia.org/wiki/Tail_recursion Tail recursion]&lt;br /&gt;
&lt;br /&gt;
Язык Scheme всегда с самого своего возникновения поддерживает хвостовую рекурсию. Её поддержка требуется стандартами языка. В тоже время, стандарт Common Lisp не содержит требования поддерживать хвостовую рекурсию, тем не менее, многие компиляторы Lisp её поддерживают. Например, [http://www.sbcl.org/ SBCL] - её поддерживает, а [http://clisp.cons.org/ CLISP] - нет.&lt;br /&gt;
&lt;br /&gt;
===Пример хвостовой рекурсии на языке Common Lisp===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;&amp;quot; name=&amp;quot;code&amp;quot; class=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
;;; вычисление факториала&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(defun factorial (x)&lt;br /&gt;
  (labels ((factorial-rec (number acc)&lt;br /&gt;
	     (if (zerop number)&lt;br /&gt;
		 acc&lt;br /&gt;
		 (factorial-rec (- number 1) (* acc number)))))&lt;br /&gt;
    (factorial-rec x 1)))&lt;br /&gt;
&lt;br /&gt;
(print (factorial 100000))&lt;br /&gt;
(quit)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:Lisp]]&lt;/div&gt;</summary>
		<author><name>lor&gt;Mandala</name></author>
	</entry>
</feed>