<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0</id>
	<title>Компьютерная программа - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0&amp;action=history"/>
	<updated>2026-07-19T09:45:20Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0&amp;diff=7291&amp;oldid=prev</id>
		<title>imported&gt;Рогволод в 20:34, 1 ноября 2025</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0&amp;diff=7291&amp;oldid=prev"/>
		<updated>2025-11-01T20:34:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{другие значения термина|программа|Программа}}&lt;br /&gt;
[[Файл:Object-Oriented-Programming-Methods-And-Classes-with-Inheritance.png|thumb|Компьютерная программа.]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Компью́терная програ́мма&amp;#039;&amp;#039;&amp;#039; — 1) комбинация компьютерных [[Машинный код|инструкций]] и [[Данные (вычислительная техника)|данных]], позволяющая [[Аппаратное обеспечение|аппаратному обеспечению вычислительной системы]] выполнять [[Вычисление|вычисления]] или функции управления (стандарт [[Международная организация по стандартизации|ISO]]/[[IEC]]/[[IEEE]] 24765:2010)&amp;lt;ref name=&amp;quot;ISO24765&amp;quot;&amp;gt;ISO/IEC/IEEE 24765:2010 Systems and software engineering — Vocabulary&amp;lt;/ref&amp;gt;; 2) [[Синтаксис (программирование)|синтаксическая]] единица, которая соответствует правилам определённого [[Язык программирования|языка программирования]], состоящая из определений и [[Оператор (программирование)|операторов или инструкций]], необходимых для определённой функции, задачи или решения проблемы (стандарт ISO/IEC 2382-1:1993)&amp;lt;ref name=&amp;quot;ISO2382&amp;quot;&amp;gt;ISO/IEC 2382-1:1993, Information technology — Vocabulary — Part 1: Fundamental terms&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Первое определение соответствует понятию «[[Исполняемый файл|исполняемая программа]]», второе относится к понятию «[[Исходный код|исходный текст]]».&lt;br /&gt;
&lt;br /&gt;
Другие определения из нормативных документов:&lt;br /&gt;
* данные, предназначенные для управления конкретными компонентами системы [[Обработка данных|обработки данных]] в целях реализации определённого [[алгоритм]]а&amp;lt;ref&amp;gt;{{ГОСТ|19781-90}}&amp;lt;/ref&amp;gt;;&lt;br /&gt;
* представленная в объективной форме совокупность данных и команд, предназначенных для функционирования [[Электронно-вычислительная машина|ЭВМ]] и других компьютерных устройств с целью получения определённого результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения ([[Гражданский кодекс Российской Федерации]])&amp;lt;ref&amp;gt;[[:s:ru:Гражданский кодекс РФ/Глава 70#Статья 1261. Программы для ЭВМ|ст. 1261 «Программы для ЭВМ» ГК РФ]]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Компьютерные программы как объект [[Авторское право|авторского права]] и других прав [[Интеллектуальная собственность|интеллектуальной собственности]] относятся к категории [[Нематериальные активы|нематериальных активов]].&lt;br /&gt;
&lt;br /&gt;
== Создание программ ==&lt;br /&gt;
Чаще всего [[Образ (информация)|образ]] программы хранится в виде [[Исполнимый модуль|исполняемого модуля]] (отдельного [[файл]]а или группы файлов). Из этого образа, находящегося, как правило, на [[Жёсткий диск|диске]], исполняемая программа в [[Оперативная память|оперативной памяти]] может быть построена [[Загрузчик программ|программным загрузчиком]].&lt;br /&gt;
&lt;br /&gt;
В [[Системное программирование|системном программировании]] программой называются данные, которые используются [[процессор]]ом как инструкции по управлению компьютерной системой&amp;lt;ref&amp;gt;{{книга|автор=Фельдман С. К.|заглавие=Системное программирование. Полный курс лекций с теоретическими материалами и лабораторными работами|год=2003|страниц=512|isbn=5-88548-096-6}}&amp;lt;/ref&amp;gt;. В состав программы может входить как [[машинный код]], исполняемый процессором для достижения некоторой цели, так и необходимые для этого данные. Отличительной особенностью программы является её нахождение в памяти и исполнение процессором.&lt;br /&gt;
&lt;br /&gt;
[[Процесс разработки программного обеспечения]] состоит из нескольких этапов, из которых в узком смысле лишь непосредственное создание программного кода носит название «[[программирование]]». В широком смысле под программированием часто подразумевается весь процесс разработки ПО, а людей, занимающихся этим видом деятельности, называют [[программист]]ами.&lt;br /&gt;
&lt;br /&gt;
Запись исходных текстов программ при помощи [[Язык программирования|языков программирования]] облегчает понимание и редактирование человеком. Этому, в частности, помогают [[Комментарии (программирование)|комментарии]], допустимые в [[синтаксис (программирование)|синтаксисе]] большинства языков. Для выполнения на компьютере готовый текст программы преобразуется ([[Компиляция (программирование)|компилируется]]) в машинный код.&lt;br /&gt;
&lt;br /&gt;
Некоторые языки программирования позволяют обходиться без предварительной компиляции программы и переводят её в инструкции машинного кода непосредственно во время исполнения. Этот процесс называется [[JIT-компиляция|динамической компиляцией]], и он позволяет добиться большей переносимости программ между разными аппаратными и программными платформами при сохранении многих плюсов компиляции.&lt;br /&gt;
&lt;br /&gt;
[[Интерпретация (информатика)|Интерпретируемые]] программы, для которых, как правило, не применяется процесс компиляции и которые интерпретируются [[операционная система|операционной системой]] или специальными программами-интерпретаторами, называются [[Сценарный язык|скриптами]] или «сценариями».&lt;br /&gt;
&lt;br /&gt;
Исходные тексты компьютерных программ в большинстве языков программирования состоят из списка инструкций, точно описывающих заложенный [[алгоритм]]. Подобный подход в программировании называется &amp;#039;&amp;#039;[[Императивное программирование|императивным]]&amp;#039;&amp;#039;. Однако применяются и другие методологии программирования. Например, описание исходных и требуемых характеристик обрабатываемых данных и предоставление выбора подходящего алгоритма решения специализированной программе-интерпретатору — такой подход называется &amp;#039;&amp;#039;[[Декларативное программирование|декларативным программированием]]&amp;#039;&amp;#039;. К декларативному программированию относятся &amp;#039;&amp;#039;[[функциональное программирование|функциональное]]&amp;#039;&amp;#039; и &amp;#039;&amp;#039;[[логическое программирование|логическое]]&amp;#039;&amp;#039;, а также менее распространённые виды [[программирование|программирования]].&lt;br /&gt;
&lt;br /&gt;
Программы могут создаваться в текстовом виде и [[Визуальное программирование|визуально]]. В первом случае исходный код набирается вручную, во втором функциональность программы задаётся с помощью элементов [[графический интерфейс пользователя|графического интерфейса пользователя]], а текст программы генерируется автоматически и может быть как доступен для изменения вручную, так и полностью скрыт от программиста.&lt;br /&gt;
&lt;br /&gt;
== Хранение и выполнение ==&lt;br /&gt;
[[Файл:Papertape3.jpg|thumb|В [[1950-е годы]] компьютерные программы хранились на [[Перфолента (носитель информации)|перфолентах]].]]&lt;br /&gt;
&lt;br /&gt;
До момента, когда пользователь компьютера явно или неявно выдаст запрос на выполнение компьютерной программы, она обычно хранится в [[Энергонезависимая память|энергонезависимой памяти]]. При получении такого запроса программа посредством другой компьютерной программы, называющейся операционной системой, загружается в [[Запоминающее устройство с произвольным доступом|память с произвольным доступом]], откуда центральный процессор может непосредственно выполнять её. После этого центральный процессор выполняет программу, инструкция за инструкцией, до её завершения. Выполняющаяся программа называется [[Процесс (информатика)|процессом]]{{sfn|Silberschatz|1994|p=97}}. Завершение программы происходит либо по достижении её последней инструкции (обычно передающей управление операционной системе), либо по ошибке, программной или аппаратной.&lt;br /&gt;
&lt;br /&gt;
=== Одновременное выполнение ===&lt;br /&gt;
{{см. также|Процесс (информатика)|Мультипроцессорность}}&lt;br /&gt;
&lt;br /&gt;
Многие операционные системы поддерживают механизм [[многозадачность|многозадачности]], который позволяет создать эффект одновременной работы нескольких компьютерных программ на одном компьютере. Операционные системы могут выполнять несколько программ, используя [[диспетчер операционной системы]] — программный механизм для [[Переключение контекста|переключения]] процессов, выполняемых процессором. Хотя в каждый момент времени выполняется только одна программа, при достаточно частом переключении пользователь может взаимодействовать со всеми программами во время их работы{{sfn|Silberschatz|1994|p=100}}. Современные многопроцессорные компьютеры или компьютеры с многоядерными процессорами поддерживают одновременное выполнение нескольких программ аппаратно&amp;lt;ref name=&amp;quot;mcore&amp;quot;&amp;gt;{{книга&lt;br /&gt;
  | автор = Akhter Shameem&lt;br /&gt;
  | заглавие = Multi-Core Programming&lt;br /&gt;
  | ссылка = https://archive.org/details/multicoreprogram0000akht_v9s4/page/11&lt;br /&gt;
  | издательство = Richard Bowles (Intel Press)&lt;br /&gt;
  | год = 2006&lt;br /&gt;
  | страницы = 11—13&lt;br /&gt;
  | isbn = 0-9764832-4-6&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Фрагменты кода одной и той же компьютерной программы могут одновременно выполняться с помощью [[Поток выполнения|потоков выполнения]]. Существуют [[Многопоточность|многопоточные]] процессоры, специально оптимизированные для выполнения нескольких потоков.&lt;br /&gt;
&lt;br /&gt;
=== Самомодифицирующиеся программы ===&lt;br /&gt;
{{Основная статья|Самомодифицирующийся код}}&lt;br /&gt;
&lt;br /&gt;
Считается, что выполняющаяся компьютерная программа отличается от данных, которые она обрабатывает. Однако это отличие размывается, когда компьютерная программа модифицирует сама себя. Модифицированная компьютерная программа затем выполняется как часть исходной программы. [[Самомодифицирующийся код|Самомодификация кода]] возможна в программах, написанных в [[Машинный код|машинном коде]], на [[Язык ассемблера|ассемблере]], [[Лисп]]е, [[Си (язык программирования)|Си]], [[Кобол]]е, [[ПЛ/1]] и [[Пролог (язык программирования)|Прологе]].&lt;br /&gt;
&lt;br /&gt;
== Использование программ ==&lt;br /&gt;
Большинство пользователей компьютеров использует программы, предназначенные для выполнения конкретных прикладных задач, таких, как подготовка и оформление документов, математические [[Вычисление|вычисления]], обработка изображений и т. п. Соответствующие программные средства называют &amp;#039;&amp;#039;прикладными программами&amp;#039;&amp;#039; или &amp;#039;&amp;#039;[[Прикладное программное обеспечение|прикладным программным обеспечением]]&amp;#039;&amp;#039;. Управление компонентами вычислительной системы и формирование среды для функционирования прикладных программ берёт на себя &amp;#039;&amp;#039;[[системное программное обеспечение]]&amp;#039;&amp;#039;, наиболее важной составляющей которого является операционная система.&lt;br /&gt;
&lt;br /&gt;
== Правовые аспекты ==&lt;br /&gt;
Согласно ст. 1261 ГК РФ, программой для ЭВМ является представленная в объективной форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств в целях получения определённого результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения.&lt;br /&gt;
&lt;br /&gt;
Программы с общедоступными исходными текстами называются [[Открытое программное обеспечение|открытыми]].&lt;br /&gt;
&lt;br /&gt;
Компьютерные программы в большинстве стран являются объектами [[авторское право|авторского права]] (включая страны СНГ). В некоторых странах компьютерные программы могут защищаться [[Патент на программное обеспечение|патентами]]. Патентованию компьютерных программ способствовало Соглашение о торговых аспектах прав интеллектуальной собственности, которое установило минимальные&amp;lt;ref&amp;gt;{{Статья|автор = Чибісов Д. М.|заглавие =Правова природа Угоди про торговельні аспекти прав інтелектуальної власності (ТРІПС)|издание = Науковий вісник Ужгородського національного університету. Серія «Право»|тип = |год = 2012|номер = 19|язык =uk }}&amp;lt;/ref&amp;gt; требования к охраняемому ряду объектов прав интеллектуальной собственности и фактически разрешило патентовать программы. Соглашение ТРИПС обязательно для выполнения на территории Украины как государства — члена ВТО{{Значимость факта?}}.&lt;br /&gt;
&lt;br /&gt;
Таким образом, программа может охраняться и как «литературное произведение» и как «изобретение». Для определения режима правовой охраны в первом случае используется «текст кода», в другом — признаки, применяемые для изобретений, предлагаемых для патентования (то есть нужно доказать «инновационность», «оригинальность» и «неочевидность», а также возможность решения существующей технической проблемы и коммерческую пригодность)&amp;lt;ref&amp;gt;{{Cite web|url = http://iplaw.kiev.ua/?page_id=396|title = Режимы охраны проприетарного цифрового контента|author = Чибисов Д.М.|work = |date = 2015-04-08|lang = uk|access-date = 2015-04-09|archive-url = https://web.archive.org/web/20150402182442/http://iplaw.kiev.ua/?page_id=396|archive-date = 2015-04-02|url-status = dead}}&amp;lt;/ref&amp;gt;. При этом существует проблема правового разграничения компьютерных программ от проприетарного цифрового контента и [[Проприетарное программное обеспечение|проприетарного программного обеспечения]]&amp;lt;ref&amp;gt;{{Cite web|url = http://iplaw.kiev.ua/wp-content/uploads/2015/04/Базовые-понятия1.pdf|title = Проприетарный цифровой контент: основная характеристика|author = Д.М. Чибисов|work = Блог|date = 2015-04-08|publisher = |archive-url=https://web.archive.org/web/20180612142754/http://iplaw.kiev.ua/wp-content/uploads/2015/04/Базовые-понятия1.pdf|archive-date=2018-06-12}}&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Исключительное право на программы для ЭВМ и базы данных возникает автоматически с момента её создания и действует в течение всей жизни автора и семидесяти лет, считая с 1 января года, следующего за годом смерти автора (либо смерти последнего из соавторов).&lt;br /&gt;
&lt;br /&gt;
Действующим законодательством Российской Федерации не предусмотрено патентование компьютерных программ как таковых. Данные объекты интеллектуальной собственности охраняются авторским правом, которое возникает автоматически с момента их создания и не требуют обязательной государственной регистрации. Однако программы для ЭВМ и базы данных могут быть зарегистрированы в Роспатенте по желанию правообладателя&amp;lt;ref&amp;gt;{{Cite web|url=http://national-expertise.ru/registraciya-programm-dlya-evm-v-rossijskoj-federacii/|title=Регистрация программ для ЭВМ в Российской Федерации|author=Зимин В.А.|work=|date=|publisher=|access-date=2016-06-09|archive-date=2016-04-04|archive-url=https://web.archive.org/web/20160404015245/http://national-expertise.ru/registraciya-programm-dlya-evm-v-rossijskoj-federacii/|url-status=live}}&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Авторское право и некоторые другие{{какие}} права [[Интеллектуальная собственность|интеллектуальной собственности]] позволяют ограничивать доступ к исходным текстам программ.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Программное обеспечение]]&lt;br /&gt;
* [[Утилита]]&lt;br /&gt;
* [[Встроенное программное обеспечение]]&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{примечания}}&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
{{Навигация}}&lt;br /&gt;
* {{книга&lt;br /&gt;
  | автор = Silberschatz Abraham&lt;br /&gt;
  | заглавие = Operating System Concepts, Fourth Edition&lt;br /&gt;
  | издательство = Addison-Wesley&lt;br /&gt;
  | год = 1994&lt;br /&gt;
  | страницы = 970&lt;br /&gt;
  | ref = Silberschatz&lt;br /&gt;
  | isbn = 0-201-50480-4&lt;br /&gt;
}}&lt;br /&gt;
* {{книга&lt;br /&gt;
|заглавие=The Art of Computer Programming, Volume 1, 3rd Edition&lt;br /&gt;
|год=1997&lt;br /&gt;
|издательство=[[Addison-Wesley]]&lt;br /&gt;
|место=Boston&lt;br /&gt;
|isbn=978-0-201-89683-1&lt;br /&gt;
|язык=en&lt;br /&gt;
|автор=Knuth, Donald E.&lt;br /&gt;
}}&lt;br /&gt;
* {{книга&lt;br /&gt;
|заглавие=The Art of Computer Programming, Volume 2, 3rd Edition&lt;br /&gt;
|год=1997&lt;br /&gt;
|издательство=[[Addison-Wesley]]&lt;br /&gt;
|место=Boston&lt;br /&gt;
|isbn=978-0-201-89684-8&lt;br /&gt;
|язык=en&lt;br /&gt;
|автор=Knuth, Donald E.&lt;br /&gt;
}}&lt;br /&gt;
* {{книга&lt;br /&gt;
|заглавие=The Art of Computer Programming, Volume 3, 3rd Edition&lt;br /&gt;
|год=1997&lt;br /&gt;
|издательство=[[Addison-Wesley]]&lt;br /&gt;
|место=Boston&lt;br /&gt;
|isbn=978-0-201-89685-5&lt;br /&gt;
|язык=en&lt;br /&gt;
|автор=Knuth, Donald E.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Глобализировать|дата=2011-02-08}}&lt;br /&gt;
{{ВС}}&lt;br /&gt;
{{Выполнение программы}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Программирование]]&lt;br /&gt;
[[Категория:Программное обеспечение]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Рогволод</name></author>
	</entry>
</feed>