Основные понятия и определения Программы и программное обеспечение
Программа — это данные, предназначенные для управления конкретными компонентами системы обработки информации (СОИ) в целях реализации определенного алгоритма.
Программное обеспечение (ПО) — совокупность программ СОИ и программных документов, необходимых для их эксплуатации
Ряд необходимых свойств ПО:
- Необходимость документирования(По определению программы становятся ПО только при наличии документации.)
- Эффективность (ПО, рассчитанное на многократное использование пишется и отлаживается один раз, а выполняется многократно.)
- Надежность(Тестирование программы при всех допустимых спецификациях входных данных, Защита от неправильных действий пользователя, Защита от взлома )
- Возможность сопровождения (Возможные цели сопровождения — адаптация ПО к конкретным условиям применения, устранение ошибок, модификация. )
Системное программирование
Системная программа — программа, предназначенная для поддержания работоспособности СОИ или повышения эффективности ее использования.
Прикладная программа — программа, предназначенная для решения задачи или класса задач в определенной области применения СОИ.
Подразделение ПО:
- Системное (является сложным программным изделием многократного и многоцелевого использования)
- Промежуточное ( совокупность программ, осуществляющих управление вторичными ресурсами, ориентированными на решение определенного класса задач. )
- Прикладное (не работает на прямую с первичными ресурсами, а использует для этого сервисы, предоставляемые системным ПО)
Подразделение системных ПО: управляющие программы(управление ресурсами и взаимодействие с внешней средой СОИ, восстановление работы системы после проявления неисправностей в технических средствах) и обслуживающие программы (предназначенная для оказания услуг общего характера пользователям).
Управляющая программа + обслуживающие программы= операционную систему (ОС).
Программный модуль — программа или функционально завершенный фрагмент программы, предназначенный для хранения, трансляции, объединения с другими программными модулями и загрузки в оперативную память.
При выборе модульной структуры должны учитываться следующие основные соображения:
- Функциональность — модуль должен выполнять законченную функцию
- Несвязность — модуль должен иметь минимум связей с другими модулями, связь через глобальные переменные и области памяти нежелательна
- Специфицируемость — входные и выходные параметры модуля должны четко формулироваться
Программа пишется в виде исходного модуля.
Исходный модуль — программный модуль на исходном языке, обрабатываемый транслятором и представляемый для него как целое, достаточное для проведения трансляции.
- Первымэтапомподготовки программы является обработка ее Макропроцессором (или Препроцессором). Макропроцессор обрабатывает текст программы и на выходе его получается новая редакция текста.
Второй этап является трансляция.
Трансляция — преобразование программы, представленной на одном языке программирования, в программу на другом языке программирования, в определенном смысле равносильную первой.
Машинный язык — язык программирования, предназначенный для представления программы в форме, позволяющей выполнять ее непосредственно техническими средствами обработки информации.
Трансляторы — общее название для программ, осуществляющих трансляцию. Они подразделяются на Ассемблеры и Компиляторы — в зависимости от исходного языка программы, которую они обрабатывают. Ассемблеры работают с Автокодами или языками Ассемблера, Компиляторы — с языками высокого уровня.
Автокод — символьный язык программирования, предложения которого по своей структуре в основном подобны командам и обрабатываемым данным конкретного машинного языка.
Язык Ассемблера — язык программирования, который представляет собой символьную форму машинного языка с рядом возможностей, характерных для языка высокого уровня (обычно включает в себя макросредства).
Язык высокого уровня — язык программирования, понятия и структура которого удобны для восприятия человеком.
Объектный модуль — программный модуль, получаемый в результате трансляции исходного модуля.
- Третий этап Редактор Связей соединяет вместе все объектные модули, входящие в программу. Поскольку Редактор Связей «видит» уже все компоненты программы, он имеет возможность обработать те места в объектных модулях, которые содержат внешние ссылки. Результатом работы Редактора Связей является загрузочный модуль.
- Четвертый этапЗагрузочный модуль — программный модуль, представленный в форме, пригодной для загрузки в оперативную память для выполнения.
- Пятый этап интерпретации – подразумевает прямое исполнение исходного модуля.
Интерпретация — реализация смысла некоторого синтаксически законченного текста, представленного на конкретном языке.
Интерпретатор читает из исходного модуля очередное предложение программы, переводит его в машинный язык и выполняет.
Компьютерная программа
Компью́терная програ́мма — последовательность инструкций, предназначенная для исполнения устройством управления вычислительной машины. Чаще всего образ программы хранится в виде исполняемого модуля (отдельного файла или группы файлов). Из этого образа, находящегося как правило на диске, исполняемая программа в оперативной памяти может быть построена программным загрузчиком. В зависимости от контекста, рассматриваемый термин может относиться также и к исходным текстам программы.
Закон РФ “О защите программ”
В Законах РФ “О защите программ и баз данных для ЭВМ” и “Законе об авторских и смежных правах” дано следующее определение компьютерных программ:
Программа для ЭВМ – это совокупность команд и данных, предназначенных для определенного функционирования ЭВМ.
В системном программировании существует более формальное определениеШаблон:Источник? программы как размещённых в оперативной памяти компьютера данных и машинных кодов, исполняемых процессором для достижения некоторой цели. Здесь подчеркиваются две особенности: нахождение программы в памяти и её исполнение процессором.
Ошибки в программах для ЭВМ
Программы для ЭВМ содержат ошибки, если при их выполнении ЭВМ возникают сбои, отказы либо неправильные результаты.
Количество ошибок в программах обычно неизвестно. Процесс поиска и исправления ошибок называется отладкой программ на ЭВМ.
Продолжительность отладки программ на ЭВМ заранее неизвестна. После нахождения ошибки в программе следует искать следующую ошибку и так далее.
Отсутствие ошибок в программах могут дать только доказательства (Э.Дейкстра, Дисциплина программирования.)
Программирование
Процесс создания компьютерных программ носит название программирование, а людей, занимающихся этим видом деятельности, называют программистами либо разработчиками программ для ЭВМ. Людей, занимающихся отладкой программ на ЭВМ путем тестирования называют тестировщиками.
Запись исходных текстов программ при помощи языков программирования удобна для понимания и редактирования человеком. Этому, в частности, помогают комментарии, допустимые в синтаксисе большинства языков. Для выполнения на компьютере готовый текст программы преобразуется (компилируется) в машинный код.
Языки программирования
Некоторые языки программирования позволяют обходиться без предварительной компиляции программы и переводят её в инструкции машинного кода непосредственно во время исполнения. Этот процесс называется динамической компиляцией и он позволяет добиться большей переносимости программ между разными аппаратными и программными платформами при сохранении многих плюсов компиляции.
Интерпретация программ
Интерпретируемые программы, для которых как правило не применяется процесс компиляции и которые интерпретируются операционный системой или специальными программами-интерпретаторами, называются скриптами или «сценариями».
Исходные тексты компьютерных программ в большинстве языков программирования состоят из списка инструкций, точно описывающих заложенный алгоритм. Подобный подход в программировании называется императивным. Однако применяются и другие методологии программирования. Например, описание исходных и требуемых характеристик обрабатываемых данных и предоставление выбора подходящего алгоритма решения специализированной программе-интерпретатору — такой подход называется декларативным программированием. Также, применяются функциональное и логическое программирование.
Пользователи программ
Большинство пользователей компьютеров используют программы, предназначенные для выполнения конкретных прикладных задач, таких как подготовка и оформление документов, математические вычисления, обработка изображений и т. п. Соответствующие программные средства называют прикладными программами или прикладным программным обеспечением. Управление компонентами вычислительной системы и формирование среды для функционирования прикладных программ берёт на себя системное программное обеспечение, наиболее важной составляющей которого является операционная система.
Защита прав потребителей
Пользователи программ для ЭВМ согласно Закону РФ “О защите прав потребителей” имеют общегражданские права на защиту своих прав при обнаружении дефектов в программах на ЭВМ – права на замену программ без дефектов либо на возврат денег за приобретение дефектной продукции.
Дефектами программ для ЭВМ являются сбои, отказы и ошибки в работе программ, зафиксированные протокольно на твердом носителе или на бумажном носителе либо на компакт-дисках с тестовыми примерами и тестовыми программами с предоставлением корий платежных документов и копий документов и лицензий с гарантиями качества и процедурами обмена дефектной продукции.
Литература
- Дейкстра Э. Дисциплина программирования. М.: Мир, 1978.
- Соммервил Дж. Програмная инженерия. М.: Мир, 2004.
- Каймин В.А. Методы разработки программ на языках высокого уровня. М.: МИЭМ, 1985.
- Каймин В.А. Основы доказательного программирования. М.: МИЭМ, 1987.
- Каймин В.А. Информатика. Учебник для студентов вузов. М.: ИНФРА-М, 1999-2009.
- Каймин В.А. Информатика. Учебник для школьников. М.: Прогресс, 2009.
Интернет-ссылки
- Технологии Доказательного Программирования
- информатика в Школах и Вузах
1. Понятие программы, программное обеспечение, классификация программного обеспечения
Возможности компьютера как технической основы системы обработки данных связаны с используемым программным обеспечением.
Программа (program, routine) – упорядоченная последовательность команд (инструкций) компьютеру для решения задачи. Конечная цель любой компьютерной программы – управление аппаратными средствами.
Пример программы написанной на языке FOXPRO 8.0:
@ 5,20 SAY “Программа для вывода таблицы умножения до 10 на заданное число”
@ 7,30 say “Введите число для таблицы умножения” get x picture “9”
@ 9,20 say “Можно вводить числа только от 1 до 9”
@ 7,30 say “Введите число для таблицы умножения” get x
@ 11+i,30 say x picture “9”
@ 11+i,36 say i picture “99”
Блок схема программы:
Основные элементы программирования:
- Ввод данных
- Вычисления, действия
- Ветвление
- Условный и безусловный переход
- Цикл
- Вывод результатов
- Массивы
- Подпрограммы И т.д.
- базовый уровень;
- системный уровень;
- служебный уровень
- прикладной уровень.
2. Базовое программное обеспечение. Расположение, назначение и функции.
Самый низкий уровень программного обеспечения представляет базовое программное обеспечение. Оно отвечает за взаимодействие с базовыми аппаратными средствами. Как правило, программные средства этого уровня входят непосредственно в состав базового оборудования и хранятся в специальных микросхемах, называемых постоянными запоминающими устройствами (ПЗУ – Read Only Memory, ROM). Программы и данные записываются (“прошиваются”) в микросхемы ПЗУ на этапе производства и не могут быть изменены в процессе эксплуатации. Комплект программ находящихся в ПЗУ образует базовую систему ввода-вывода (BIOS – Basic Input Output System). Основное назначение BIOS на этапе загрузки компьютера – проверить работоспособность системы. В тех случаях, когда изменение базовых программных средств во время эксплуатации является технически целесообразным, вместо микросхем ПЗУ применяют перепрограммируемые постоянные запоминающие устройства (ППЗУ). В этом случае содержание ППЗУ можно изменять.
При подготовке материала использовались источники:
https://studfile.net/preview/16556749/
https://www.tadviser.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F:%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
https://studfile.net/preview/4496701/