Что такое программа кратко

Обновлено: 09.07.2024

Компью́терная програ́мма — последовательность инструкций, предназначенная для исполнения устройством управления вычислительной машины. Программа — один из компонентов программного обеспечения. В зависимости от контекста, рассматриваемый термин может относиться также и к исходным текстам программы. Компьютерные программы, как объект авторского права и других прав интеллектуальной собственности, относится к категории нематериальных активов.

Программа — данные, предназначенные для управления кон­кретными компонентами системы обработки ин­формации в целях реализации определённого ал­горитма.

Программа — представленная в объективной форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств с целью получения определённого результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения.

Содержание

Создание программ

Чаще всего образ программы хранится в виде исполняемого модуля (отдельного файла или группы файлов). Из этого образа, находящегося как правило на диске, исполняемая программа в оперативной памяти может быть построена программным загрузчиком.

В системном программировании существует более формальное определение [источник не указан 1311 дней] программы как размещённых в оперативной памяти компьютера данных и машинных кодов, исполняемых процессором для достижения некоторой цели. Здесь подчёркиваются две особенности: нахождение программы в памяти и её исполнение процессором.

Запись исходных текстов программ при помощи языков программирования облегчает понимание и редактирование человеком. Этому, в частности, помогают комментарии, допустимые в синтаксисе большинства языков. Для выполнения на компьютере готовый текст программы преобразуется (компилируется) в машинный код.

Некоторые языки программирования позволяют обходиться без предварительной компиляции программы и переводят её в инструкции машинного кода непосредственно во время исполнения. Этот процесс называется динамической компиляцией и он позволяет добиться большей переносимости программ между разными аппаратными и программными платформами при сохранении многих плюсов компиляции.

Исходные тексты компьютерных программ в большинстве языков программирования состоят из списка инструкций, точно описывающих заложенный алгоритм. Подобный подход в программировании называется императивным. Однако применяются и другие методологии программирования. Например, описание исходных и требуемых характеристик обрабатываемых данных и предоставление выбора подходящего алгоритма решения специализированной программе-интерпретатору — такой подход называется декларативным программированием. К декларативному программированию относятся функциональное и логическое, а также менее распространённые виды программирования.

Использование программ

Большинство пользователей компьютеров используют программы, предназначенные для выполнения конкретных прикладных задач, таких как подготовка и оформление документов, математические вычисления, обработка изображений и т. п. Соответствующие программные средства называют прикладными программами или прикладным программным обеспечением. Управление компонентами вычислительной системы и формирование среды для функционирования прикладных программ берёт на себя системное программное обеспечение, наиболее важной составляющей которого является операционная система.

Правовые аспекты

Программы с общедоступными исходными текстами называются открытыми.

Компьютерные программы в большинстве стран являются объектами авторского права. В некоторых странах компьютерные программы могут защищаться патентами. Авторское и некоторые другие [какие?] права интеллектуальной собственности позволяют ограничивать доступ к исходным текстам программ.

Программный код

Существует огромное количество определений, что такое программа, но в какой бы словарь ни заглянули, какими бы разными ни были формулировки, суть у них одна.

Программа — это.

Программа — это текст (код), написанный на одном из языков программирования, содержащий инструкции и операторы в логической последовательности, которые заставляют работать аппаратное обеспечение, выполняя необходимые пользователю функции.

Для пользователя программа чаще всего представляется как инсталлятор (экзешник), который нужно скачать в папку загрузок, запустить на компьютере и установить в определенную папку с набором необходимых модулей, библиотек и файлов.

  1. одеться;
  2. взять деньги;
  3. выйти из дома;
  4. дойти до магазина;
  5. в магазине осуществить выбор нужных продуктов;
  6. вернуться домой.

В свою очередь, эти последовательности действий могут быть и дополнительными подпрограммами со своими инструкциями.

Так же происходит и в программе при помощи языков программирования: компьютеру даются команды, которые он выполняет и делает все, что пожелает пользователь (например, чтобы войти в интернет, мы запускаем программу-браузер).

Языки программирования

Для написания текстов используются тоже программы (среды разработки или специальные редакторы кода), которые поддерживают синтаксис языков (Visual Studio Code, Sublime Text, Eclipse и др.). Информацию о них легко найти в просторах интернета с помощью google, chrome и др. браузерами.

Большинство редакторов кода — доступны в свободном доступе на официальных сайтах (достаточно вбить их названия в строку поиска, зайти на страницу загрузки и скачать файл инсталлятор бесплатно).

Существуют следующие языки:

  1. низкоуровневые (ассемблер, C++ и т.д.) — инструкции таких языков компьютер понимает лучше, так как они наиболее близки к машинному коду (состоящему из 0 и 1), а компьютер понимает только его;
  2. высокоуровневые (JavaScript, Python, Ruby и т.д.) — языки больше похожие на человеческий (в них есть много слов, чаще английских), такие языки предлагают больший уровень абстракции для взаимодействия между компьютером и человеком.

Языков программирования очень много. Каждый из них применяется в зависимости от того, какой вид программы необходимо написать. Исходя из потребностей и квалификации программистов, выбирают тот или иной язык.

Виды компьютерных программ

Существует несколько видов программного обеспечения (ПО):

Некоторые виды программ удобно писать на определенном языке программирования, для других же используются несколько для написания разных модулей (например, приложение для стационарного компьютера, для телефона, для веб-сайта).

Таким образом почти все, что находится в компьютере является программой. Каждая программа написана при помощи языка программирования и в определенной среде разработки.

Надеемся, вам стало более понятно, что же такое компьютерная программа, из чего она состоит, как взаимодействует с аппаратной частью.

Эта статья относится к рубрикам:

Комментарии и отзывы (2)

Для программ ещё крайне важна их переносимость, я имею ввиду переносимость не только из одной операционной системы в другую (как раз программы нельзя запустить в одной операционной системе, если она написана для другой), а переносимость на уровне микропроцессора.

Данную проблему можно решить за счёт использования языков программирования высокого уровня, именно они позволяют корректно работать программам на большинстве процессоров.

Обычная люстра — это тоже программа. Допустим, у нас есть выключатель состоящий из двух клавиш, эти две клавиши являются двумя битами информации, если обе клавиши стоят в позиции 00, свет не горит, если позиция 10, то горят две лампочки из пяти, если позиция 01, то горят три лампочки из пяти и позиция 11, в люстре горят все пять лампочек.

  • Компью́терная програ́мма — 1) комбинация компьютерных инструкций и данных, позволяющая аппаратному обеспечению вычислительной системы выполнять вычисления или функции управления (стандарт ISO/IEC/IEEE 24765:2010); 2) синтаксическая единица, которая соответствует правилам определённого языка программирования, состоящая из определений и операторов или инструкций, необходимых для определённой функции, задачи или решения проблемы (стандарт ISO/IEC 2382-1:1993).

Другие определения из нормативных документов:

Программа — данные, предназначенные для управления конкретными компонентами системы обработки данных в целях реализации определённого алгоритма (ГОСТ 19781—90).

Связанные понятия

Ути́ли́та (англ. utility) — вспомогательная компьютерная программа в составе общего программного обеспечения для выполнения специализированных типовых задач, связанных с работой оборудования и операционной системы (ОС).

Библиоте́ка (от англ. library) в программировании — сборник подпрограмм или объектов, используемых для разработки программного обеспечения (ПО).

Интерфе́йс по́льзователя, он же по́льзовательский интерфейс (UI — англ. user interface) — интерфейс, обеспечивающий передачу информации между пользователем-человеком и программно-аппаратными компонентами компьютерной системы (ISO/IEC/IEEE 24765-2010).

Пользователь — лицо или организация, которое использует действующую систему для выполнения конкретной функции.

Упоминания в литературе

World wide web – всемирная паутина или Web является одним из наиболее популярных и удобных для работы ресурсов Интернета. WWW обладает широкими возможностями, унифицируя и связывая воедино всю информацию, хранящуюся в Интернете в форме текстов, изображений и звукового сопровождения. Использование Web предполагает создание Web-серверов, предназначенных для хранения и передачи различных документов, изображений, компьютерных программ и т.д., что может быть предоставлено в виде компьютерного файла. Находящиеся на Web-серверах файлы называют страницами.

В это же время начинается интенсивное проникновение информационных технологий в системы управления предприятий. С появлением компьютерных программ для бизнес-приложений, стало очевидно, что коммуникационный разрыв, который существовал между программистами и бизнесменами должен быть преодолен. Представители бизнес-сообщества требовали от программистов окончательного решения своих практических проблем. В этих целях было принято решение разработать обучающий курс, в котором бы объединялись информационные технологии, бизнес и компьютерное программирование. Это направление получило название информационные системы управления[41]. Тогда, главная проблема заключалась в преодолении коммуникационных препятствий и технических проблем между целями и задачами руководителей предприятий и программистов.

Внедрение компьютеров первого поколения в систему российского образования вызвало появление на свет примитивных компьютерных программ , создаваемых в основном в виде тренажеров. К первоочередным целям использования компьютера в процессе обучения относятся:

Связанные понятия (продолжение)

Прикладная программа, или приложение, — программа, предназначенная для выполнения определённых задач и рассчитанная на непосредственное взаимодействие с пользователем. В большинстве операционных систем прикладные программы не могут обращаться к ресурсам компьютера напрямую, а взаимодействуют с оборудованием и другими программами посредством операционной системы. Также на простом языке — вспомогательные программы.

Интерфе́йс (от англ. interface) — общая граница между двумя функциональными объектами, требования к которой определяются стандартом; совокупность средств, методов и правил взаимодействия (управления, контроля и т.д.) между элементами системы.

Сценарный язык (язык сценариев, жарг. скриптовый язык; англ. scripting language) — высокоуровневый язык сценариев (англ. script) — кратких описаний действий, выполняемых системой. Разница между программами и сценариями довольно размыта. Сценарий — это программа, имеющая дело с готовыми программными компонентами.

Синхронизация (от др.-греч. σύγχρονος — одновременный) в информатике обозначает одно из: синхронизацию процессов, либо синхронизацию данных, либо процесс синхронизации передачи данных.

Графи́ческий интерфе́йс по́льзователя (ГИП), графический пользовательский интерфейс (ГПИ) (англ. graphical user interface, GUI) — разновидность пользовательского интерфейса, в котором элементы интерфейса (меню, кнопки, значки, списки и т. п.), представленные пользователю на дисплее, исполнены в виде графических изображений. Также называется графической оболочкой управления.

Програ́ммное обеспе́чение (допустимо также произношение обеспече́ние) (ПО) — программа или множество программ, используемых для управления компьютером (ISO/IEC 26514:2008).

Исхо́дный код (также исхо́дный текст) — текст компьютерной программы на каком-либо языке программирования или языке разметки, который может быть прочтён человеком. В обобщённом смысле — любые входные данные для транслятора. Исходный код транслируется в исполняемый код целиком до запуска программы при помощи компилятора или может исполняться сразу при помощи интерпретатора.

Отла́дчик (деба́ггер, англ. debugger от bug) — компьютерная программа, предназначенная для поиска ошибок в других программах, ядрах операционных систем, SQL-запросах и других видах кода. Отладчик позволяет выполнять трассировку, отслеживать, устанавливать или изменять значения переменных в процессе выполнения кода, устанавливать и удалять контрольные точки или условия остановки и т.д.

Дизассе́мблер (от англ. disassembler ) — транслятор, преобразующий машинный код, объектный файл или библиотечные модули в текст программы на языке ассемблера.

Текстовый пользовательский интерфейс, ТПИ (англ. Text user interface, TUI; также Character User Interface, CUI) — разновидность интерфейса пользователя, использующая при вводе-выводе и представлении информации исключительно набор буквенно-цифровых символов и символов псевдографики. Характеризуется малой требовательностью к ресурсам аппаратуры ввода-вывода (в частности, памяти) и высокой скоростью отображения информации. Появился на одном из начальных этапов развития вычислительной техники, при развитии.

Межпроцессное взаимодействие (англ. inter-process communication, IPC) — обмен данными между потоками одного или разных процессов. Реализуется посредством механизмов, предоставляемых ядром ОС или процессом, использующим механизмы ОС и реализующим новые возможности IPC. Может осуществляться как на одном компьютере, так и между несколькими компьютерами сети.

Исполняемый файл (англ. executable file, также выполняемый, реже исполнимый, выполнимый) — файл, содержащий программу в виде, в котором она может быть исполнена компьютером. Перед исполнением программа загружается в память, и выполняются некоторые подготовительные операции (настройка окружения, загрузка библиотек).

Интерфейс командной строки (англ. Command line interface, CLI) — разновидность текстового интерфейса (CUI) между человеком и компьютером, в котором инструкции компьютеру даются в основном путём ввода с клавиатуры текстовых строк (команд), в UNIX-системах возможно применение мыши. Также известен под названием консоль.

Те́кстовый реда́ктор — самостоятельная компьютерная программа или компонент программного комплекса (например, редактор исходного кода интегрированной среды разработки или окно ввода в браузере), предназначенная для создания и изменения текстовых данных в общем и текстовых файлов в частности.

Отла́дка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится.

Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) — комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем.

Дра́йвер (англ. driver, мн. ч. дра́йверы) — компьютерное программное обеспечение, с помощью которого другое программное обеспечение (операционная система) получает доступ к аппаратному обеспечению некоторого устройства. Обычно с операционными системами поставляются драйверы для ключевых компонентов аппаратного обеспечения, без которых система не сможет работать. Однако для некоторых устройств (таких, как видеокарта или принтер) могут потребоваться специальные драйверы, обычно предоставляемые производителем.

Проце́сс — программа, которая выполняется в текущий момент. Стандарт ISO 9000:2000 определяет процесс как совокупность взаимосвязанных и взаимодействующих действий, преобразующих входящие данные в исходящие.

Монтирование файловой системы — системный процесс, подготавливающий раздел диска к использованию операционной системой.

Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы (target — целевая, или гостевая платформа) и исполняющая программы для target-платформы на host-платформе (host — хост-платформа, платформа-хозяин) или виртуализирующая некоторую платформу и создающая на ней среды, изолирующие друг от друга программы и даже операционные системы (см.: песочница); также спецификация некоторой вычислительной среды (например.

Планировщик задач — программа (служба или демон), часто называемая сервисом операционной системы, которая запускает другие программы в зависимости от различных критериев, как, например.

Подсве́тка си́нтаксиса — выделение синтаксических конструкций текста с использованием различных цветов, шрифтов и начертаний.

Де́мон (daemon, dæmon, др.-греч. δαίμων божество) — компьютерная программа в системах класса UNIX, запускаемая самой системой и работающая в фоновом режиме без прямого взаимодействия с пользователем.

Двоичный (бинарный) файл — в широком смысле: последовательность произвольных байтов. Название связано с тем, что байты состоят из бит, то есть двоичных (англ. binary) цифр.

Установка программного обеспечения, инсталляция — процесс установки программного обеспечения на компьютер конечного пользователя. Выполняется особой программой (пакетным менеджером), присутствующей в операционной системе (например, RPM, APT или dpkg в Linux, Установщик Windows в Microsoft Windows), или же входящим в состав самого программного обеспечения средством установки. В операционной системе GNU очень распространено использование системы GNU toolchain и её аналогов для компиляции программного.

Конфигурация программного обеспечения — совокупность настроек программы, задаваемая пользователем, а также процесс изменения этих настроек в соответствии с нуждами пользователя.

Файловый дескриптор — это неотрицательное целое число. Когда создается новый поток ввода-вывода, ядро возвращает процессу, создавшему поток ввода-вывода, его файловый дескриптор.

Фа́йловая систе́ма (англ. file system) — порядок, определяющий способ организации, хранения и именования данных на носителях информации в компьютерах, а также в другом электронном оборудовании: цифровых фотоаппаратах, мобильных телефонах и т. п. Файловая система определяет формат содержимого и способ физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имен файлов (и каталогов), максимальный возможный размер файла и раздела, набор.

Дамп памяти (англ. memory dump; в Unix — core dump) — содержимое рабочей памяти одного процесса, ядра или всей операционной системы. Также может включать дополнительную информацию о состоянии программы или системы, например значения регистров процессора и содержимое стека. Многие операционные системы позволяют сохранять дамп памяти для отладки программы. Как правило, дамп памяти процесса сохраняется автоматически, когда процесс завершается из-за критической ошибки (например, из-за ошибки сегментации.

Открытое программное обеспечение (англ. open-source software) — программное обеспечение с открытым исходным кодом. Исходный код таких программ доступен для просмотра, изучения и изменения, что позволяет убедиться в отсутствии уязвимостей и неприемлемого для пользователя функционала (к примеру, скрытого слежения за пользователем программы), принять участие в доработке самой открытой программы, использовать код для создания новых программ и исправления в них ошибок — через заимствование исходного кода.

Поток данных (англ. stream) в программировании — абстракция, используемая для чтения или записи файлов, сокетов и т. п. в единой манере.

Элеме́нт интерфе́йса — примитив графического интерфейса пользователя, имеющий стандартный внешний вид и выполняющий стандартные действия.

Объе́ктный мо́дуль (также — объектный файл, англ. object file) — файл с промежуточным представлением отдельного модуля программы, полученный в результате обработки исходного кода компилятором. Объектный файл содержит в себе особым образом подготовленный код (часто называемый двоичным или бинарным), который может быть объединён с другими объектными файлами при помощи редактора связей (компоновщика) для получения готового исполнимого модуля либо библиотеки.

Веб-приложение — клиент-серверное приложение, в котором клиент взаимодействует с сервером при помощи браузера, а за сервер отвечает веб-сервер. Логика веб-приложения распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб-приложения являются межплатформенными службами.

Закры́тый исхо́дный код — программа, лицензия которой не подходит под определение открытого ПО. Как правило, это означает, что распространяются только бинарные (скомпилированные) версии программы и лицензия подразумевает отсутствие доступа к исходному коду программы, что затрудняет создание модификаций программы. Доступ к исходному коду третьим лицам обычно предоставляется при подписании соглашения о неразглашении.

Упоминания в литературе (продолжение)

Как вы уже знаете, на компакт-диск может быть записана самая разнообразная информация: компьютерные программы и данные, музыка, видео и т. д. Тем не менее, создание каждого типа дисков имеет определенные особенности. Более того, практически для каждого типа записываемых данных существует свой промышленный стандарт, которого придерживаются как производители CD-приводов, так и разработчики программ для прожига.

Перенесемся на 30 лет назад. Именно тогда появились первые персональные компьютеры, которые могли использоваться любым человеком индивидуально. Для каких целей компьютер применялся тогда? Поскольку он только появился, применение ему в обычной жизни найти было не так просто. Спектр задач ограничивался набором текстов, играми, выполнением простых вычислений и т. п. Действительно с пользой компьютер стал применяться при написании компьютерных программ , которые начали появляться как грибы после дождя.

Причисляя обучающие компьютерные программы к одним из основных средств современных информационных технологий, отметим, что, как правило, обучающие программы, используемые для индивидуализированного обучения, реализуются в виде так называемых мультимедийных обучающих программ.

Автоматизированные компьютерные технологии обучения. Название технологии обучения устаревшее, но положившее начало дальнейшему активному применению компьютера в обучении. Период времени достаточно насыщен поиском разнообразных подходов, алгоритмов обучения и разработками компьютерных программ обучения и контроля. Появление персональных ЭВМ – компьютеров, значительно повлияло на становление и развитие компьютерных технологий обучения.

С развитием компьютерной индустрии появилась потребность в технологии, позволяющей хранить на компакт-дисках не только цифровой звук, но и различные данные. Компьютерные программы не могли поместиться на дискетах, а объемы пользовательских файлов становились все больше и больше.

Чтобы создавать, редактировать или открывать файлы на компьютере, понадобятся особые инструменты — программы.

Например, Блокнот умеет не только открывать текстовые документы, но и создавать заметки. Программа Paint дает возможность рисовать и сохранять рисунки.

Программу можно отличить по её особу формату, самый распространенный — .exe

программа

Интерфейс — общее в разнообразии программ

Программа — это код, написанный программистами особым языком. Этот язык прячут от нас за графической оболочкой с кнопками и окнами вкладками, то есть за интерфейсом.

Интерфейс — внешняя оболочка программы, то как она выглядит, где расположены кнопки.

Для нас нажатие на кнопку — обычный щелчок мышки, а для компьютера — целый ряд команд. Интерфейс переводит наш клик в понятный компьютеру язык.

Интерфейс программы можно менять. Сама программа останется такой же и будет выполнять те же действия, что и раньше, но внешняя оболочка сменит вид. В прошлых уроках мы говорили, что операционная система — комплекс программ. Значит, что и её интерфейс можно поменять, вот так выглядит смена интерфейса в Windows7.

Мы видим, что изменены не только обои рабочего стола, но и все его составляющие: панель задач (нижняя горизонтальная полоска), кнопка пуска, фон открывающихся окон, а так же все значки.

Калькулятор, как типичная программа

Программы открываются в новом окне и большинство из них имеет схожее строение В верхней части располагается название открывшейся программы и её иконка. Пониже находится строка меню с различными настройками и функциями, при нажатии на кнопки появляются выпадающие окна, внутри которых могут быть дополнительные параметры На панели инструментов обычно находятся кнопки с функциями для быстрой и эффективной работы, а так же там могут быть индикаторы и прочие настройки. Рабочая область — это часть программы, где находится основная информация, с которой работает пользователь. Область, занятая меню и другой служебной информацией не является рабочей областью.

Читайте также: