Программа – полный, достаточный набор команд, выполнение которых заставляет компьютер вести себя определенным образом и за конечное число шагов решить конкретную задачу [1] .
Программа на языке программирования или в машинном коде описывает действия, которые компьютер должен выполнить в виде точной и подробной последовательности команд обработки данных. Программа подобна рецепту: содержит список ингредиентов (так называемых переменных) и инструкций (команд), указывающих компьютеру действия с переменными. Переменные могут представлять числа, текст, графические изображения и др.
Программное обеспечение – совокупность программ и необходимых для их эксплуатации документов. Программное обеспечение является информационной компонентой компьютера, в отличие от устройств – физической, аппаратной компоненты, и предназначено для многократного использования и применения разными пользователями. Без программ компьютер бесполезен.
Программирование – разработка программ для решения задач на ЭВМ. Оно состоит из следующих этапов:
Python. Команды print() input()
- • формулировка задачи, общего плана решения;
- • составление алгоритма – набора операций, команд на языке программирования;
- • трансляция программы на языке программирования в машинные коды, преобразование текста программы в форму, воспринимаемую устройствами компьютера;
- • отладка, устранение ошибок, улучшение, применение программы.
Алгоритм – метод описания решения задачи (проблемы) через конечную последовательность шагов (этапов), следуя которым преобразование исходных данных приведет к результату. Происхождение слова связывают с именем математика Аль-Хорезми (из Хорезма, Средняя Азия), в IX в. разработавшего правила выполнения арифметических операций над многозначными числами.
Свойствами алгоритма решения задачи являются:
- • дискретность – разбиение процесса обработки данных на отдельные операции;
- • определенность (точность) – однозначное выполнение каждого действия;
- • результативность – получение результата за конечное число шагов;
- • понятность – включение только таких команд, которые входят в систему команд данной программы, операционной системы или процессора.
Алгоритмизация – этап решения задачи, на котором по формулировке задачи разрабатывается алгоритм.
Программист пишет программу на каком-либо языке программирования, состоящем из правил написания программ, и описывает алгоритм, используя слова, буквы, символы, знаки, математические операторы и др. Программа, написанная на языке программирования, называется исходным текстом. Программист меняет исходный текст, редактирует, изменяет, вставляет новые команды. Отлаживая программу, устраняя ошибки, создавая модификации и версии, может подключать другие программы как компонент или саму программу вставлять в другую программу как компонент.
Языки программирования высокого уровня (Бейсик, Паскаль, Си, Делфи, Фортран, Си++ и др.) позволяют писать программы в наглядном, воспринимаемом человеком виде, не зависящем от типа ЭВМ. Исходный текст программы преобразуют в машинный код, понимаемый и выполняемый компьютером. Этот этап называют трансляцией и выполняют с помощью специальных программ: компиляторов, интерпретаторов.
Компьютерные программы
Языки программирования низкого уровня (например, Ассемблер) допускают непосредственное обращение к некоторым устройствам (например, к регистрам процессора) и предназначены для определенного типа ЭВМ.
Машинная команда – элементарная инструкция, выполняемая машиной автоматически без дополнительных указаний. Машинные команды подразделяются но видам выполняемых операций на арифметические и логические операции с данными, операции пересылки данных, обращения к внешним устройствам и передачи управления, а также обслуживающие и вспомогательные операции.
Команды хранятся в памяти в двоичном коде. Машинная команда содержит код выполняемой операции, указания на операнды (данные для операции) и размещение получаемого результата. Команда в программу может подаваться извне – вводом данных от пользователя или другой программы. Машинная программа – последовательность команд решения задачи на языке вычислительной машины (в кодах машины).
- [1] См. также Гражданский кодекс РФ, ст. 1261. Программы д ля ЭВМ: «Программой для ЭВМ является представленная η объективной форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств в целях получения определенного результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения».
Источник: studme.org
1.9. Общие сведения о программном обеспечении
В необходимом объеме мы рассмотрели аппаратную часть информационных технологий. Остановимся подробнее на программном обеспечении, иначе говоря, на компьютерных программах.
Компьютерная программа — это набор закодированных инструкций (команд), исполняемых центральным процессором при работе компьютера. Любые действия компьютер выполняет только согласно ранее заданной программе.
Компьютерные программы условно делятся на системные и прикладные
Прикладные программы (приложения) служат для обработки информации пользователя. Системные программы служат для нормальной работы аппаратных устройств компьютера, сети, управления прикладными программами и других служебных целей.
Важнейшей совокупностью системных программ является операционная система. Операционная система загружается в оперативную память автоматически при запуске компьютера и находится там постоянно, управляя оборудованием и программами работающего компьютера. Операционным системам в данной работе посвящена отдельная глава.
Перечень современного прикладного программного обеспечения обширен и разнообразен. Попытаемся классифицировать его по назначению в таблице 6.
Таблица 6. Современное прикладное программное обеспечение
Создание и обработка документов различных видов. Различают текстовые, графические, звуковые редакторы и программы видеомонтажа.
Редакторы табличной информации — простейших баз данных.
Системы управления базами данных (СУБД)
Системы обработки и поиска информации в крупных массивах табличной информации — базах данных.
Системы автоматизированного проектирования (САПР)
Различные программы для автоматизации работы чертежников, дизайнеров, конструкторов, инженеров.
Системы автоматизированного управления производством (торговлей и т.п.)
Автоматизация подготовки, планирования производства, контроля ресурсов, подготовки отчетов и т.д.
Просмотрщики и проигрыватели
Просмотр и проигрывание информации различных видов
Создание новых компьютерных программ с помощью языков программирования.
Сетевое программное обеспечение
Управление процессом передачи информации по компьютерной сети
Различные вспомогательные и служебные программы.
Разнообразнейшие функции по обработке информации: переводчики, обучающие программы, компьютерные игры и т.д.
Все программы для вычислительных машин разрабатываются на специальных кодовых языках согласно принятому алгоритму. Алгоритм — заранее определенная последовательность выполняемых действий. Характерная черта алгоритмов — условные переходы, благодаря которым реализуется логика компьютерной программы.
Язык программирования — форма, способ и правила записи инструкций компьютерной программы. Языки программирования делятся на:
- языкивысокогоуровня (команды представлены в виде слов и выражений — удобны для использования программистом);
- языкинизкогоуровня (машинный код, ассемблер — команды в виде простейших математико-логических инструкций — менее удобен, но более быстр).
Машинный код — единственный вид компьютерной программы, выполняемый центральным процессором без предварительной подготовки и перевода. Близким понятием является ассемблер — язык программирования низкого уровня. Ассемблер представляет собой аналог машинного кода, его мнемоническую запись (в виде слов). Машинный код и ассемблер неудобны для программирования. Большинство современных программ разрабатываются на языках высокого уровня в средах разработки. Для запуска программы на языке высокого уровня, ее необходимо предварительно перевести в машинный код. Программа-переводчик, выполняющая кодирование программы на языке программирования высокого уровня в машинные коды, называется транслятор. По способу перевода в машинный код трансляторы подразделяются на компиляторы и интерпретаторы. Компилятор — это транслятор, осуществляющий проверку, сборку и единоразовый перевод программы в машинный код, для последующего многократного запуска операционной системой. Интерпретатор — это транслятор, выполняющий проверку, кодирование и пошаговое выполнение инструкций программы. Рис. 6 Компьютерные программы Закрепим сказанное схемой (рис. 6). Нетранслированные программы — всего лишь текстовая информация. Программа в виде машинного кода, запущенная на выполнение операционной системой, называется процессом (или задачей). Инструкции процессов выполняются центральным процессором в виде операций. Современные процессоры выполняют порядка 1 млрд. операций (типа сложения или вычитания двух чисел) в секунду. В современных многозадачных операционных системах одновременно выполняется несколько процессов. Для общей эрудиции поговорим немного о вредоносном программном обеспечении. Компьютерный вирус — программа, способная автоматически, без контроля пользователя, размножаться с помощью компьютерной сети или накопителей. Поскольку эти программы создаются лицами из хулиганских побуждений, очень часто вирусы имеют деструктивные функции: уничтожение и искажение информации и программ пользователей. В последнее время с распространением глобальной сети Интернет, вирусы все чаще приобретают функции шпионов, получая несанкционированный доступ к информации пользователя и пересылая ее автору вируса. Разновидность вирусов — черви. Это программы, которые не используют для распространения накопители, а только компьютерную сеть. Еще одним видом вредоносных программ являются троянские кони — программы с функциями, не указанными в сопроводительных описаниях, часто шпионскими и деструктивными. Вредоносное программное обеспечение является одной из наиболее опасных угроз информационной безопасности. Борьбой с угрозами информационной безопасности занимается защита информации — отрасль информационных технологий. Для борьбы с вредоносным программным обеспечением выпускается антивирусное программное обеспечение. Поскольку новые вирусы появляются практически каждый день, для эффективной работы антивируса необходимо ежедневное обновление антивирусов в автоматическом режиме с помощью сети Интернет.
Источник: studfile.net
Общие сведения о программном обеспечении
В необходимом объеме мы рассмотрели аппаратную часть информационных технологий. Остановимся подробнее на программном обеспечении, иначе говоря, на компьютерных программах.
Компьютерная программа — это набор закодированных инструкций (команд), исполняемых центральным процессором при работе компьютера. Любые действия компьютер выполняет только согласно ранее заданной программе.
Компьютерные программы условно делятся на системные и прикладные
Прикладные программы (приложения) служат для обработки информации пользователя. Системные программы служат для нормальной работы аппаратных устройств компьютера, сети, управления прикладными программами и других служебных целей.
Важнейшей совокупностью системных программ является операционная система. Операционная система загружается в оперативную память автоматически при запуске компьютера и находится там постоянно, управляя оборудованием и программами работающего компьютера. Операционным системам в данной работе посвящена отдельная глава.
Перечень современного прикладного программного обеспечения обширен и разнообразен. Попытаемся классифицировать его по назначению в таблице 6.
Таблица 6. Современное прикладное программное обеспечение | |
Группа | Назначение |
Редакторы | Создание и обработка документов различных видов. Различают текстовые, графические, звуковые редакторы и программы видеомонтажа. |
Табличные процессоры | Редакторы табличной информации — простейших баз данных. |
Системы управления базами данных (СУБД) | Системы обработки и поиска информации в крупных массивах табличной информации — базах данных. |
Системы автоматизированного проектирования (САПР) | Различные программы для автоматизации работы чертежников, дизайнеров, конструкторов, инженеров. |
Системы автоматизированного управления производством (торговлей и т.п.) | Автоматизация подготовки, планирования производства, контроля ресурсов, подготовки отчетов и т.д. |
Просмотрщики и проигрыватели | Просмотр и проигрывание информации различных видов |
Среды разработки | Создание новых компьютерных программ с помощью языков программирования. |
Сетевое программное обеспечение | Управление процессом передачи информации по компьютерной сети |
Утилиты | Различные вспомогательные и служебные программы. |
Прочее | Разнообразнейшие функции по обработке информации: переводчики, обучающие программы, компьютерные игры и т.д. |
Все программы для вычислительных машин разрабатываются на специальных кодовых языках согласно принятому алгоритму. Алгоритм — заранее определенная последовательность выполняемых действий. Характерная черта алгоритмов — условные переходы, благодаря которым реализуется логика компьютерной программы.
Язык программирования — форма, способ и правила записи инструкций компьютерной программы. Языки программирования делятся на:
o языки высокого уровня (команды представлены в виде слов и выражений — удобны для использования программистом);
o языки низкого уровня (машинный код, ассемблер — команды в виде простейших математико-логических инструкций — менее удобен, но более быстр).
Машинный код — единственный вид компьютерной программы, выполняемый центральным процессором без предварительной подготовки и перевода. Близким понятием является ассемблер — язык программирования низкого уровня. Ассемблер представляет собой аналог машинного кода, его мнемоническую запись (в виде слов).
Машинный код и ассемблер неудобны для программирования. Большинство современных программ разрабатываются на языках высокого уровня в средах разработки. Для запуска программы на языке высокого уровня, ее необходимо предварительно перевести в машинный код. Программа-переводчик, выполняющая кодирование программы на языке программирования высокого уровня в машинные коды, называется транслятор. По способу перевода в машинный код трансляторы подразделяются на компиляторы и интерпретаторы.
Компилятор — это транслятор, осуществляющий проверку, сборку и единоразовый перевод программы в машинный код, для последующего многократного запуска операционной системой. Интерпретатор — это транслятор, выполняющий проверку, кодирование и пошаговое выполнение инструкций программы.
Рис. 6 Компьютерные программы
Закрепим сказанное схемой (рис. 6). Нетранслированные программы — всего лишь текстовая информация.
Программа в виде машинного кода, запущенная на выполнение операционной системой, называется процессом (или задачей). Инструкции процессов выполняются центральным процессором в виде операций. Современные процессоры выполняют порядка 1 млрд. операций (типа сложения или вычитания двух чисел) в секунду. В современных многозадачных операционных системах одновременно выполняется несколько процессов.
Для общей эрудиции поговорим немного о вредоносном программном обеспечении.
Компьютерный вирус — программа, способная автоматически, без контроля пользователя, размножаться с помощью компьютерной сети или накопителей. Поскольку эти программы создаются лицами из хулиганских побуждений, очень часто вирусы имеют деструктивные функции: уничтожение и искажение информации и программ пользователей. В последнее время с распространением глобальной сети Интернет, вирусы все чаще приобретают функции шпионов, получая несанкционированный доступ к информации пользователя и пересылая ее автору вируса. Разновидность вирусов — черви. Это программы, которые не используют для распространения накопители, а только компьютерную сеть.
Еще одним видом вредоносных программ являются троянские кони — программы с функциями, не указанными в сопроводительных описаниях, часто шпионскими и деструктивными.
Вредоносное программное обеспечение является одной из наиболее опасных угроз информационной безопасности. Борьбой с угрозами информационной безопасности занимается защита информации — отрасль информационных технологий. Для борьбы с вредоносным программным обеспечением выпускается антивирусное программное обеспечение. Поскольку новые вирусы появляются практически каждый день, для эффективной работы антивируса необходимо ежедневное обновление антивирусов в автоматическом режиме с помощью сети Интернет.
Источник: infopedia.su