Виды компьютерных программ и их назначение. Что такое компьютерная программа


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

С точки зрения пользователя компьютера важным отличием является характер программы:

  • системные программы — программы, обеспечивающие взаимодействие пользователя с компьютером и создающие среду для выполнения прикладных программ. К таким программам, например, относятся «операционные системы» и «драйвера».
  • прикладные программы — программы, с которыми взаимодействует непосредственно пользователь. Сюда можно отнести «браузер», «текстовые редакторы», «игры», «web-сайты».

Синонимы слова программа: «программное обеспечение», «ПО», «приложение», «software».

Считается, что компьютер — есть совокупность «аппаратного» и «программного» обеспечения.

Программное обеспечение можно разделить также по следующим признакам:

  • целевая платформа — различное «аппаратное обеспечение», которое поддерживает различный набор инструкций, поэтому, как правило, «программа» создается под конкретное «аппаратное обеспечение». Наиболее известные платформы: «ARM», «x86», «x64», «IA64», «Itanium» и т.д.;
  • целевая «операционная система» — так как различные «операционные системы» создают различные среды для прикладного программного обеспечения, — важно под какую операционную систему создана та или иная «программа». Наиболее известными семействами «операционных систем» являются: Microsoft Windows, Ubuntu Linux, SuSe Linux, MacOS, FreeBSD, NetBSD, OpenBSD.

Как правило, создание программного обеспечения предполагает написание исходных текстов программы на определенном «языке программирования», последующую «компиляцию» программы, «отладку», «тестирование» и распространение программного обеспечения.

На заре вычислительной техники (30-50-е годы ХХ в.) исходные тексты записывались в виде «машинного кода» (т.е. указания номеров инструкций и аргументов для них), позднее появился первый известный язык программирования «ASSEMBLER», который значительно упростил процесс создания программы, так как позволил указывать не числовой номер инструкции, а ее символьное обеспечение, что упростило чтение и отладку исходного теста программы. Последующее появление языков более «высокого уровня», чем «ASSEMBLER», позволило перевести создание программного обеспечения из удела технических специалистов, обеспечивающих функционирование конкретных аппаратных комплексов, в удел специалистов по созданию программного обеспечения, именуемых далее «программистами» или «разработчиками программного обеспечения».

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

В СНГ отношение к «программистам» всегда было несколько особенным. Вследствие развала Советского Союза и уничтожения предприятий, непосредственно занимавшихся созданием вычислительной техники, страны СНГ вынуждены практически в полном объеме (исключая военные нужды) закупать данную технику в других государствах, обладающих технологиями производства аппаратного обеспечения. Такая ситуация привела к некоторой задержке в поступлениях и определенной нехватке вычислительной техники в странах СНГ, поэтому отечественные программисты были вынуждены обходиться меньшим количеством часов работы с вычислительной техникой и меньшими аппаратными ресурсами (память, скорость вычислений, скорость передачи информации и т.д.).

Приложив к такому отставанию и нехватке вычислительной техники хорошую математическую подготовку отечественных специалистов (обеспеченную хорошим уровнем образования в СССР) и невероятную тягу к изобретательству, в итоге возник определенный образ «программиста», которого уважали и местами не понимали, как в нашей стране, так и за ее пределами.

С появлением и популяризацией интернета, индустрия создания программного обеспечения перешла на новый уровень — ведь распространять программы (и продавать) стало намного проще. Это обеспечивалось, во-первых, появлением систем моментальной оплаты (электронных денег, СМС, терминалов, кредитных карт, и т.п.), во-вторых, появлением особого вида программного обеспечения «web-сайтов», которые на первом этапе своего развития скорее напоминали электронный вариант печатных изданий (книг, газет, журналов), однако, позднее стали полноценными приложениями .

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

  • lingvo.yandex.ru — происхождение и толкование слова «программа»;
  • ru.wikipedia.org — статья «компьютерная программа» на Wikipedia.org;
  • ru.wikipedia.org — статья «языки программирования» на Wikipedia.org;
  • ru.wikipedia.org — статья «компьютерные игры» на Wikipedia.org.


Продолжаем рубрику — компьютерные уроки. В самом простом виде компьютерная программа - это исполнимый файл (с расширением имени.СОМ или.EXE), в котором записываются команды процессора.

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

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

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

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

Важно также понимать, что покупая диск, получая данные из Интернета или принося от друзей, - фактически Вы получаете дистрибутивные комплекты, а не программы.

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

Рассмотрим пример: Вы купили диск с компьютерной игрой. На нем четыре файла с именем Setup! Зачем их столько и как выбрать нужный?

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

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

SETUP c изображением глобуса — это значок файла, в котором сохранены данные для соединения по Интернету с сервером фирмы, выпустившей программу. Если вы не собираетесь вступать с ней в контакт, вам данный файл не понадобится.

Значок графического файла (SETUP.BMP), в котором хранится картинка отображаемая на экране в ходе установки программы.

Значок программного файла (SETUP.EXE), представляющий программу-установщик. Она-то нам и нужна. Именно она установит игру на жестком диске. После установки на Рабочем столе (или в Главном меню) появится значок для запуска игры.

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

Причем, для лучшего понимания темы статьи: что такое программа — следует сказать, что действуют несколько правил, характерных для Windows :

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

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

3 . Не стоит передавать свои дистрибутивные копии посторонним лицам для установки на их компьютере. Каждый должен иметь свои дистрибутивы. 😉

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

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

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

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

С Уважением, Владислав Никитин.

Изучение программирования нельзя начать, не ответив на ряд вопросов: а что же такое программа, алгоритм, данные, язык программирования . В этом списке основным термином является алгоритм, который, как и большинство понятий общего вида, имеет множество определений. Например:

«Алгоритм - это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность». (Д. Э. Кнут )

«Алгоритм - это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату». (А. Марков ).


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

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

· прежде всего, программа работает не с пользователем, а с данными . Эта первая и основная компонента программы – предметы (объекты), над которыми реализуется алгоритм. Данные состоят из отдельных переменных, связанных как между собой непосредственно (через указатели), так и косвенно (как входные данные – результат);

· в языке программирования имеются средства описания данных, которые позволяют программисту конструировать различные формы их представления – типы данных;

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

· вторая основная компонента программы – описание порядка, последовательности выполняемых действий, также называется алгоритмом «в узком смысле», или алгоритмической компонентой. Она обычно состоит из двух частей. Первая часть – выражения , представляет собой описание линейной последовательности выполнения простейших действий из набора операций (арифметические операции, присваивание, условные выражения). Они включаются во вторую компоненту – операторы, которые задают ту или иную последовательность действий;

· как уже отмечалось, программа работает исключительно с данными, что и определяет сущность алгоритма. В наборе операций имеются команды ввода-вывода, осуществляющие обмен данными между переменными и внешней средой (посредством устройств ввода-вывода). С «программно-эгоцентрической» точки зрения это выглядит чистой формальностью и не является существенной частью программы;

Любая программа выполняется в компьютере. Посмотрим, как соотносятся между собой компоненты программы и компьютерной архитектуры:

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

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

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

· средства описания данных: определение типов данных (форма представления) и переменных;

· набор операций над основными типами данных (включая ввод-вывод), а также средства записи выражений;

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

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

Определение программы уже давно дано в простой формуле: «Программа = алгоритм + данные» . Но в ней алгоритм и данные не просто «складываются» в одно целое как независимые части, но являются двумя взаимозависимыми элементами. Это своего рода «Янь и Инь» программы, олицетворяющие единство и борьбу двух противоположных начал (в философии этот принцип положен в основу диалектики – учения о развитии). Попробуем привести несколько аналогий, поясняющих сущность взаимодействий в этой «парочке»:

· если данные можно в какой-то мере обладают свойствами пространства (объем, протяженность), то алгоритм – свойствами времени (эффективность, быстродействие). Тезис «проигрывая в пространстве, выигрываем во времени» здесь также уместен: эффективность программ может быть принципиально повышена за счет использования дополнительных структур данных в памяти;

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

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

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

Уравнение «Программа = алгоритм + данные» можно разрешить и по-другому: «Алгоритм = программа - данные», что также имеет некоторый смысл, несмотря на явную натяжку. Например, конечный автомат ( см.3.8) как раз и является программой, лишенной данных, т.е. алгоритмической компонентой, взаимодействующей с внешней средой без сохранения результатов во внутренних данных. Также и «Данные= программа - алгоритм» определяют их как пассивную программную систему, лишенную действий.

Выбор редакции
Индивидуальные предприниматели вправе выбрать общую систему налогообложения. Как правило, ОСНО выбирается, когда ИП нужно работать с НДС...

Теория и практика бухгалтерского учета исходит из принципа соответствия. Его суть сводится к фразе: «доходы должны соответствовать тем...

Развитие национальной экономики не является равномерным. Оно подвержено макроэкономической нестабильности , которая зависит от...

Приветствую вас, дорогие друзья! У меня для вас прекрасная новость – собственному жилью быть ! Да-да, вы не ослышались. В нашей стране...
Современные представления об особенностях экономической мысли средневековья (феодального общества) так же, как и времен Древнего мира,...
Продажа товаров оформляется в программе документом Реализация товаров и услуг. Документ можно провести, только если есть определенное...
Теория бухгалтерского учета. Шпаргалки Ольшевская Наталья 24. Классификация хозяйственных средств организацииСостав хозяйственных...
Союз) значительно выросли числом в последние десятилетия. До лета 2011 года союз этот назывался Западноевропейским. Список европейских...
Сегодня нам предстоит понять, как управлять деньгами. Ни для кого не секрет, что у каждого человека есть возможность получать больше....