Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Последовательный (линейный) поиск.

Free(newPtr); | Очереди | Алгоритм как абстрактная машина | Сопоставление алгоритмических моделей | Формы рекурсивных процедур. | Пример рекурс алгоритмаЗадача о Ханойских башнях. | Program Hanoi_Towers; | Анализ сложных алгоритмов | Сортировка посредством выбора | Сортировка методом слияния.(двухпутевое слияние) |


Читайте также:
  1. ЖЕЛАНИЕ, НАМЕРЕНИЕ, ПОИСК... 1 страница
  2. ЖЕЛАНИЕ, НАМЕРЕНИЕ, ПОИСК... 2 страница
  3. ЖЕЛАНИЕ, НАМЕРЕНИЕ, ПОИСК... 3 страница
  4. ЖЕЛАНИЕ, НАМЕРЕНИЕ, ПОИСК... 4 страница
  5. Поверь, Я сумею найти компромисс между Моим желанием максимальной скорости и страхами твоего замутненного разума. Но Я жду твоего разрешения начать этот поиск.

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

Условия окончания поиска таковы:

1. Элемент найден, т.е. Ki=K.

2. Весь массив просмотрен и совпадения не обнаружено.

Бинарный поиск (поиск делением пополам).

Поиск можно сделать значительно более эффективным, если данные будут упорядочены. Основная идея – выбрать случайно некоторый элемент, предположим, Ki, и сравнить его с аргументом поиска. Если он равен K, то поиск заканчивается, если он меньше K, то мы заключаем, что все элементы с индексами <=i можно исключить из дальнейшего поиска. Если же он >K, то исключаются индексы >=i. Здесь используем два указателя l и u, которые указывают верхнюю и нижнюю границы поиска.


7. Программные продукты и их основные характеристики: основные понятия программного обеспечения; характеристики программных продуктов; защита программных продуктов; классификация программных продуктов

Основные понятия программного обеспечения

Программа (program) — упорядоч. последовательность ко­манд компьютера для решения задачи.

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

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

Существует разнообразные классификации задач. С позиций специфи­ки разработки и вида ПО— тех­нологические и функциональные.

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

Все программы по характеру использования и категориям пользователей можно разделить на два класса — утилитарные программы и программные продукты (изделия).

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

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

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

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

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

Ряд производителей использует ОЕМ-программы (Original Equipment Manufac­turer), т.е. встроенные программы, устанавливаемые на компьютеры или поставляемые вместе с вычислительной техникой.

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

Программные продукты могут создаваться как:

· индивидуальная разработка под заказ;

· разработка для массового распространения среди пользователей.

Сопровождение программного продукта — это поддержка работоспособнос­ти программного продукта, переход на его новые версии, внесение измене­ний, исправление обнаруженных ошибок и т.п.

Основными характеристиками программ являются:

1) алгоритмическая сложность (логика алгоритмов обработки информации); 2) состав и глубина проработки реализованных функций обработки; 3) полнота и системность функций обработки; 4) объем файлов программ; 5) требования к операционной системе и техническим средствам обработки со стороны и др.

Программные продукты имеют многообразие показателей качества

Структура характеристик качества программных продуктов можно представить в виде схемы:

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

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

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

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

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

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

В условиях существования рынка программных продуктов важными характеристиками являются:1)стоимость; 2)количество продаж; 3)время нахождения на рынке;4)известность фирмы-разработчика и программы; 5)наличие программных продуктов аналогичного назначения.

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

. Методы защиты программных продуктов

Методы защиты программных продуктов условно можно подразделить на программные и правовые. При использовании программных систем программа выполняется только при опознании некоторого уникального неко­пируемого ключевого элемента.

Таким ключевым элементом могут быть:

· дискета, на которой записан не подлежащий копированию ключ;

· определенные характеристики аппаратуры компьютера;

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

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

· идентифицируют среду, из которой будет запускаться программа;

· устанавливают соответствие среды, из которой запущена программа, той, для которой разрешен санкционированный запуск;

· вырабатывают реакцию на запуск из несанкционированной среды;

· регистрируют санкционированное копирование;

· противодействуют изучению алгоритмов и программ работы системы.

Для идентификации запускающих дискет применяются следующие методы:

· нанесение повреждений на поверхность дискеты (т.н. "лазерная дыра"), которая с тру­дом может быть воспроизведена в несанкционированной копии дискеты;

· нестандартное форматирование запускающей дискеты.

Идентификация среды компьютера обеспечивается за счет:

· закрепления месторасположения программ на жестком магнитном диске (т.н. неперемещаемые программы);

· привязки к номеру BIOS (расчет и запоминание с последующей проверкой при за­пуске контрольной суммы системы);

· привязки к аппаратному ключу, вставляемому в порт ввода-вывода.

Правовые методы защиты программ включают:

1) патентную защиту(устанавливает приоритет в разработке и использовании нового подхода или метода, примененного при разработке программ, удостоверяет их ори­гинальность), 2) закон о производственных секретах (статус производственного секрета для программы ограничивает круг лиц, знакомых или допущенных к ее эксплуатации, а также определяет меру их ответствен­ности за разглашение секретов); 3) лицензионные соглашения и контракты (лицензионные соглашения распространяются на все аспекты правовой ох­раны программных продуктов, включая авторское право, патентную защиту, производст­венные секреты); 4)закон об авторском праве.


Дата добавления: 2015-07-16; просмотров: 43 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Сортировка с помощью включений с уменьшающимися расстояниями (Сортировка Шелла)| Классы программных продуктов

mybiblioteka.su - 2015-2024 год. (0.01 сек.)