<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sib">
	<id>https://sibwiki.org/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA</id>
	<title>Учебный алгоритмический язык - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://sibwiki.org/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA"/>
	<link rel="alternate" type="text/html" href="https://sibwiki.org/index.php?title=%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA&amp;action=history"/>
	<updated>2026-05-31T13:16:39Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://sibwiki.org/index.php?title=%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA&amp;diff=85950&amp;oldid=prev</id>
		<title>Yaroslav: Bot: Automated import of articles</title>
		<link rel="alternate" type="text/html" href="https://sibwiki.org/index.php?title=%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA&amp;diff=85950&amp;oldid=prev"/>
		<updated>2026-05-30T21:59:34Z</updated>

		<summary type="html">&lt;p&gt;Bot: Automated import of articles&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторонка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{YouTube|1DMrRvwlcAs|width=300|height=250}}&lt;br /&gt;
&lt;br /&gt;
== Общие сведения ==&lt;br /&gt;
Учебный алгоритмический язык (часто неофициально именуемый «языком Ершова») — это специализированный искусственный язык программирования, разработанный в СССР в 1980-е годы исключительно для образовательных целей. Главной задачей данного языка было обучение школьников базовым концепциям алгоритмизации и информатики в рамках так называемого «безмашинного курса». &lt;br /&gt;
&lt;br /&gt;
Поскольку в период создания языка вычислительная техника в средних школах практически отсутствовала, язык создавался как инструмент для написания и анализа алгоритмов исключительно на бумаге (в учебниках и тетрадях). Разработчики приняли решение отказаться от использования реальных индустриальных языков программирования (таких как BASIC или Паскаль) в пользу полностью русскоязычного синтаксиса, чтобы исключить барьер в виде необходимости изучения английского алфавита и иностранных зарезервированных слов.&lt;br /&gt;
&lt;br /&gt;
== История создания и развитие ==&lt;br /&gt;
Инициатором создания учебного алгоритмического языка и внедрения курса информатики в школьную программу выступил советский ученый, академик А. П. Ершов, который в 1980-е годы активно занимался вопросами компьютерной лингвистики и образовательными инициативами. Впоследствии язык был несколько доработан и интегрирован в школьные пособия другими авторами, в частности А. Г. Кушниренко и Г. В. Лебедевым.&lt;br /&gt;
&lt;br /&gt;
Изначально программы на этом языке не предполагали машинного исполнения. Однако в 1985 году на механико-математическом факультете МГУ был разработан компилятор, получивший название «Е-практикум» (названный в честь академика Ершова). Этот программный комплекс позволил запускать учебный код на немногочисленных школьных компьютерах того времени (таких как советские ПЭВМ «Корвет» и японские компьютеры MSX стандарта Yamaha). &lt;br /&gt;
&lt;br /&gt;
В 1990 году на базе языка была разработана программная среда «КуМир» (аббревиатура от «Комплект Учебных МИРов»), которая продолжила использоваться для обучения. Спустя десятилетия, на фоне политики импортозамещения в Российской Федерации, в 2018 году была выпущена обновленная версия среды программирования «КуМир 2.0». В настоящее время алгоритмический язык продолжает применяться в образовательных учреждениях и официально включен в задания Единого государственного экзамена (ЕГЭ) по информатике.&lt;br /&gt;
&lt;br /&gt;
== Парадигмы и методология ==&lt;br /&gt;
С алгоритмической точки зрения язык базируется на парадигме структурного процедурного программирования. Архитектурно он представляет собой гибрид, сформированный под сильным влиянием двух исторических языков программирования:&lt;br /&gt;
* Алгол — классический язык, широко использовавшийся в советских высших учебных заведениях в 1970-е годы. От него алгоритмический язык унаследовал строгую блочную структуру и систему базовых типов данных.&lt;br /&gt;
* Лого — язык, разработанный в США для обучения детей через управление виртуальными объектами. От него была заимствована концепция «исполнителей».&lt;br /&gt;
&lt;br /&gt;
Методология языка активно использует графические симуляции. Вместо абстрактных математических вычислений ученикам предлагается управлять виртуальными исполнителями. В составе компиляторов поставлялись специальные библиотеки, реализующие таких исполнителей, как «робот», «чертёжник», «двуног» и «вездеход». Программы представляли собой набор команд по перемещению этих исполнителей по точкам координатной сетки или вычерчиванию узоров и букв, что, по замыслу создателей, должно было облегчить визуальное восприятие алгоритмов.&lt;br /&gt;
&lt;br /&gt;
== Типы данных и переменные ==&lt;br /&gt;
Система типов данных в учебном алгоритмическом языке полностью русифицирована и опирается на стандарты языка Алгол. Переменные объявляются с использованием сокращений русских слов:&lt;br /&gt;
* &amp;lt;pre&amp;gt;цел&amp;lt;/pre&amp;gt; — целочисленный тип данных (соответствует Integer).&lt;br /&gt;
* &amp;lt;pre&amp;gt;вещ&amp;lt;/pre&amp;gt; — вещественный тип данных (числа с плавающей точкой, соответствует Real).&lt;br /&gt;
* &amp;lt;pre&amp;gt;лог&amp;lt;/pre&amp;gt; — логический тип данных (соответствует Boolean).&lt;br /&gt;
* &amp;lt;pre&amp;gt;сим&amp;lt;/pre&amp;gt; — символьный тип данных (соответствует Char).&lt;br /&gt;
&lt;br /&gt;
Для работы с массивами введена концепция «табличных величин». Массив объявляется с добавлением ключевого слова &amp;lt;pre&amp;gt;таб&amp;lt;/pre&amp;gt; (таблица). Например, конструкция &amp;lt;pre&amp;gt;цел таб&amp;lt;/pre&amp;gt; описывает массив целых чисел. Идентификаторы (имена переменных) также традиционно задавались буквами русского или латинского алфавита (например, &amp;lt;pre&amp;gt;цел А, В, С&amp;lt;/pre&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Синтаксис и структура программы ==&lt;br /&gt;
Оператор присваивания в алгоритмическом языке заимствован из Алгола и Паскаля и записывается как &amp;lt;pre&amp;gt;:=&amp;lt;/pre&amp;gt;.&lt;br /&gt;
Структура программы стилизована под классическую школьную задачу по физике или математике и состоит из следующих строго регламентированных блоков:&lt;br /&gt;
* &amp;lt;pre&amp;gt;алг&amp;lt;/pre&amp;gt; — объявление названия алгоритма (аналог заголовка программы).&lt;br /&gt;
* &amp;lt;pre&amp;gt;дано&amp;lt;/pre&amp;gt; — секция, описывающая исходные условия или входящие данные, при которых алгоритм применим (не несет строгого вычислительного смысла и выступает скорее как структурированный комментарий).&lt;br /&gt;
* &amp;lt;pre&amp;gt;надо&amp;lt;/pre&amp;gt; — цель алгоритма, описание того, что должно быть получено в результате (также выступает как метаданные).&lt;br /&gt;
* &amp;lt;pre&amp;gt;нач&amp;lt;/pre&amp;gt; — начало исполняемого блока кода (аналог оператора begin).&lt;br /&gt;
* &amp;lt;pre&amp;gt;кон&amp;lt;/pre&amp;gt; — конец исполняемого блока кода (аналог оператора end).&lt;br /&gt;
&lt;br /&gt;
Управляющие циклические конструкции также снабжены русскоязычными операторными скобками:&lt;br /&gt;
* &amp;lt;pre&amp;gt;нц&amp;lt;/pre&amp;gt; — начало цикла.&lt;br /&gt;
* &amp;lt;pre&amp;gt;кц&amp;lt;/pre&amp;gt; — конец цикла.&lt;br /&gt;
Классический цикл со счетчиком (for) формулируется фразой: &amp;lt;pre&amp;gt;для i от 1 до N&amp;lt;/pre&amp;gt;. Операции ввода и вывода данных осуществляются с помощью интуитивно понятных команд &amp;lt;pre&amp;gt;ввод&amp;lt;/pre&amp;gt; и &amp;lt;pre&amp;gt;вывод&amp;lt;/pre&amp;gt;. Поддерживается использование локальных и общих (глобальных) переменных.&lt;br /&gt;
&lt;br /&gt;
== Пример программного кода ==&lt;br /&gt;
Классический пример реализации алгоритма вычисления суммы квадратов чисел от 1 до N на учебном алгоритмическом языке (секции &amp;quot;дано&amp;quot; и &amp;quot;надо&amp;quot; в практическом коде могут быть опущены):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
алг сумма квадратов&lt;br /&gt;
нач&lt;br /&gt;
  цел N, i, S&lt;br /&gt;
  ввод N&lt;br /&gt;
  S := 0&lt;br /&gt;
  нц для i от 1 до N&lt;br /&gt;
    S := S + i * i&lt;br /&gt;
  кц&lt;br /&gt;
  вывод S&lt;br /&gt;
кон&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
В данном алгоритме описываются переменные, запрашивается пользовательский ввод предельного числа N, инициализируется счетчик суммы, после чего в блоке от &amp;lt;pre&amp;gt;нц&amp;lt;/pre&amp;gt; до &amp;lt;pre&amp;gt;кц&amp;lt;/pre&amp;gt; циклически накапливается сумма квадратов, которая затем выводится на экран.&lt;br /&gt;
&lt;br /&gt;
== Критика и недостатки ==&lt;br /&gt;
Учебный алгоритмический язык регулярно подвергается сокрушительной критике со стороны профессионального программистского сообщества и преподавателей высших учебных заведений. Основным и фундаментальным недостатком языка является его сугубо искусственная, изолированная природа: язык никогда не имел и не имеет практического значения в реальной индустрии разработки программного обеспечения.&lt;br /&gt;
&lt;br /&gt;
К основным аргументам критиков относятся:&lt;br /&gt;
* Синтаксическая архаичность: синтаксис языка опирается на устаревшие концепции 1960-х годов и не отражает современные парадигмы программирования.&lt;br /&gt;
* Изоляция от мировых стандартов: школьники, изучившие русифицированный псевдокод, сталкиваются с необходимостью полного переобучения (перехода на реальные языки, такие как Паскаль, C или Python) при поступлении в технические вузы, где алгоритмический язык считается непригодным для серьезного изучения информатики.&lt;br /&gt;
* Педагогические ограничения методологии: упор на визуальное обучение (рисование линий виртуальным роботом) рассчитан исключительно на детей с визуальным типом восприятия. Учащиеся с вербально-логическим или кинестетическим типом восприятия испытывают существенные трудности при попытке усвоить логику программирования через абстрактное вычерчивание узоров, тогда как работа с классическим текстовым кодом могла бы оказаться для них более интуитивной. &lt;br /&gt;
&lt;br /&gt;
Несмотря на это, искусственная поддержка языка сохраняется за счет его интеграции в государственные образовательные стандарты и экзаменационные системы.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
[[Фортран]]&lt;br /&gt;
[[Haskell]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Языки программирования]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=1DMrRvwlcAs Смотреть видео]&lt;/div&gt;</summary>
		<author><name>Yaroslav</name></author>
	</entry>
</feed>