Смекни!
smekni.com

Информатика как единство науки и технологии (стр. 23 из 30)

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

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

35

35.1

Свойства алгоритма

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

· дискретностью;

· определенностью;

· результативностью;

· массовостью.

Дискретность – последовательное выполнение простых или ранее определённых (подпрограммы) шагов. Преобразование исходных данных в результат осуществляется дискретно во времени.

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

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

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

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

· правило начала;

· правило непосредственной переработки информации (описание последовательности действий);

· правило окончания;

· правило извлечения результатов.

Алгоритм всегда рассчитан на конкретного исполнителя. В нашем случае таким исполнителем является ЭВМ. Для обеспечения возможности реализации на ЭВМ алгоритм должен быть описан на языке, понятном компьютеру, то есть на языке программирования.

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

35.2

Исполнитель алгоритма — это некоторая система, способная выполнить действия, предписываемые алгоритмом.

Характеристики исполнителя:

· сpеда — это "место обитания" исполнителя;

· элементаpные действия — после вызова команды исполнитель совеpшает соответствующее элементаpное действие;

· cистема команд — некий строго заданный список команд, с заданными условиями применимости и описанными результатами выполнения команды;

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

В информатике универсальным исполнителем алгоритмов является компьютер.

Исполнитель алгоритма — это устройство управления, соединенное с набором инструментов. Устройство управления понимает алгоритмы и организует их выполнение, командуя соответствующими инструментами.

Алгоритм — это организованная последовательность действий, допустимых для некоторого исполнителя

35.3

АЛГОРИТМИЧЕСКИЙ ЯЗЫК. Искусственная система языковых средств, обладающая выразительными возможностями, достаточными для того, чтобы с ее помощью можно было задать любое принадлежащее заранее очерченному классу детерминированное общепонятное предписание, выполнение которого ведет от варьирующих в определенных пределах исходных данных к искомому результату. Такого рода предписания носят название алгоритмов, откуда и сам термин «алгоритмический язык». В систематическое употребление он был введен в 1958 Г.Боттенбрухом. Исторически понятие алгоритмического языка сформировалось в 50-х гг. 20 в. в процессе становления компьютерного программирования как самостоятельной научной дисциплины. Однако теоретические истоки этого понятия прослеживаются еще в работах 30-х гг. С.К.Клини, Э.Л.Поста, А.М.Тьюринга и А.Черча по уточнению общего математического понятия алгоритма. В настоящее время теория алгоритмических языков, а также проблематика, связанная с их разработкой и использованием, составляет один из важнейших разделов информатики.

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

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

37

КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

2.1. Машинно – ориентированные языки

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

- высокое качество создаваемых программ (компактность и скорость выполнения);

- возможность использования конкретных аппаратных ресурсов;

- предсказуемость объектного кода и заказов памяти;

- для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;

- трудоемкость процесса составления программ ( особенно на машинных языках и ЯСК), плохо защищенного от появления ошибок;

- низкая скорость программирования;

- невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.