1. Типологизация задач, решаемых с помощью ЭВМ
Задачи, решаемые с помощью ЭВМ, могут быть классифицированы по различным признакам: по типу информации, обрабатываемой при их решениии, по используемым методам решения задач, по сложности алгоритмов их решения, по типам предметных областей, характеру самих задач и т.д.
Задачи обработки - задачи на нахождение и задачи на доказательство. Признак классификации - конечная цель решения задачи. Цель задачи на нахождение - нахождение (построение, проведение, получение, отождествление и т.д.) некоторого объекта, т.е. неизвестного данной задачи. Цель задачи на доказательство - установление правильности или ложности некоторого утверждения, подтверждения его или опровержения.
Среди задач на нахождение могут быть выделены:
· задачи на вычисление (вычислительные задачи);
· задачи на поиск;
· задачи на построение.
Вычислительные задачи связаны с вычислением в традиционном (арифметическом) смысле этого слова неизвестного значения информационного объекта (переменной, функции и т.д.). Основными элементарными операциями, выполняемыми при решении таких задач, являются арифметические операции сложения, вычитания, умножения, деления, возведения в степень и т.д.
В постановке вычислительной задачи выделяют три обязательных элемента: условие задачи, известные данные (исходные данные) и неизвестное (неизвестные). Условие задачи представляет собой явно или неявно выраженное соотношение между данными и неизвестными задачи.
Задачи поиска аналогичны задачам поиска информации человеком в справочниках, словарях, учебниках и т.д. Основная операция, выполняемая при решении таких задач, - это операция сравнения с заданным образцом (ключом).
Задачи на построение связаны с формированием соответствующих информационных структур: генерацией текстов, построением графических изображений и т.д. Типичной задачей на построение, решаемой на ЭВМ, является трансляция программы с одного языка программирования на другой, когда текст, написанный на одном языке программирования, переводится в текст на другом, как правило, машинном языке.
По типу обрабатываемой информации:
· задачи обработки числовой информации (вычислительный характер, связаны с количественной обработкой информации, основные действия – математические операции с числами, большинство таких задач относятся к вычислительным, разновидность задач на нахождение)
· задачи обработки нечисловой информации (информация в виде текста – символьная, графики, изображения, сигналы).
По методам решения задачи подразделяют на два типа:
· задачи, решаемые традиционными (алгоритмическими) методами (в основе понятие алгоритма);
· задачи, решаемые нетрадиционными (эвристическими) методами (эвристики – индивидуальные знания высококвалифицированных специалистов, состоящие в значительной степени из эмпирических правил).
По сложности алгоритмов:
· самые легкие задачи (ВФС полиномиального характера, полиномиальной является функция y, в которую аргумент x входит в качестве основания степени);
· трудноразрешимые задачи (ВФС экспоненциального характера, с функциями, в которых аргумент выступает в роли показателя степени);
· самые трудные задачи.
Эффективность в широком смысле связана со всеми вычислительными ресурсами, необходимыми для выполнения алгоритма.
По степени общности рассмотрения проблемы:
Массовая - это некоторый общий вопрос, на который следует дать ответ. Имеет параметры - совокупность свободных переменных, конкретные значения которых неопределены. Считается, что задача определена, если известен список всех ее параметров и дана формулировка тех свойств, которым должен удовлетворить ответ - решение задачи.
Индивидуальная задача получается из массовой, если всем параметрам последней назначить конкретные значения. Хорошим считается такой алгоритм решения индивидуальной задачи, по которому можно решить и соответствующую массовую задачу. Алгоритм решает массовую задачу, если он применим к каждой индивидуальной задаче, получаемой из данной массовой.
По областям и отраслям деятельности человека (наука и техника, экономика и сельское хозяйство, сфера управления и обслуживания и т.д.)
По предметным областям с учетом их направленности. Исходя из этого, все задачи, решаемые на ЭВМ, могут быть разбиты на два вида: прикладные и системные.
Классификация ПО ЭВМ по функциональному критерию
По функциональному признаку различают системное и прикладное программное обеспечение.
1. прикладные программы, ПО, предназначенное для решения определенной целевой задачи из проблемной области (приложения). Это ПО, непосредственно обеспечивающие выполнение необходимых пользователям работ;
2. системные программы - программное обеспечение, включающее в себя операционные системы, сетевое ПО, сервисные программы, а также средства разработки программ (трансляторы, редакторы связей, отладчики и пр.):
· управление ресурсами компьютера;
· создание копий используемой информации;
· проверка работоспособности устройств компьютера;
· выдача справочной информации о компьютере и др.;
3. инструментальные программные системы, программы, которые используются в ходе разработки, корректировки или развития других прикладных или системных программ.
На сегодняшний день можно сказать, что более или менее определённо сложились следующие группы программного обеспечения:
· операционные системы и оболочки;
· системы программирования (трансляторы, библиотеки подпрограмм, отладчики и т.д.);
· инструментальные системы;
· интегрированные пакеты программ;
· динамические электронные таблицы;
· системы машинной графики;
· системы управления базами данных (СУБД);
· прикладное программное обеспечение.