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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



 

Первый текст языка программирования Short Code и интерпретатор для этого языка был создан в конце 40-х XX века Джоном Маучли. В 1951г. Трейс Холлер создала первую в мире систему программирования с компилятором и редактором связи для этого языка. Ею были введены термины: компилятор, подпрограмма, отладка. Обычно языки делят на языки низкого и высокого уровня.

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

Языки высокого уровня ближе и понятнее человеку, чем компьютеру. Особенности попарных аппаратных архитектур в них не учитываются, поэтому создаваемые программы на уровне исходных текстов легко переносимы на другие платформы, для 2-х создан транслятор этого языка. Такие языки – это языки описания алгоритмов решения задач, удобные для человека. Разрабатывать программы на них значительно проще, а ошибок допускается гораздо меньше.

Cловесно-формульное описание алгоритма.

1,Алгоритм записыв в виде текста по пунктам, определяющим последовательность действий.

2,Каждый шаг алгоритма начинается с его имени за кот следует фраза,кот как можно короче резюмирует суть этого шага.

3,После этой фразы подробно записыв описание словами и знаками тех действий,кот д/б выполнены. 4,Порядок действий д/б указан слева направо.

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

 

 

Состав ОС

 

В составе ОС для ПВМ можно выделить часть кот явл-ся основой системы и назыв ее ядром. В состав ядра входят наиболее часто используемые компоненты, такие как ср-ва распределения основных ресурсов, управление файловой структурой, и т.д. Программы входящие в состав ядра при загрузке ОС помещаются в оперативную память, где нах-ся постоянно до окончания работы с ОС, такие программы назыв резидентными.

ОС для ПВМ содержат след компоненты: 1) BIOS. 2) блокначальной загрузки Boot Record. 3) подсистема управления файловой структурой. 4) Подсистема обработки прерываний и ошибок, а также обслуживание спец ситуаций, связанных с загрузкой и заверш программ. 5) Подсистема управления драйверами и драйверы внешних устройств. 6) Процессор командного языка ОС. 7) Системные программы выполнения команд.

1) нах-ся в ПЗУ системного блока.

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

2) Содержится в самом начале памяти каждого диска.В начале этого блока нах-ся служебная инфа(фирма-изготовитель,версия),далее спец программа,кот загружает в оперативную память основные компоненты ядра ОС,эта программа назыв загрузчиком ОС.

3) Файлов система вкл программы и файлы данных необходимые для манипулирования файлами.

4).5) Драйверы как и подсистема управления ими явл резидентными.

6) (командный процессор). Для взаимодействия пользователя с ОС имеется специальный командный язык, с помощью которой можно формулировать указания на выполнение тех или иных действий. Командный процессор – это программа, предназначенная для анализа и выполнения команд ОС.

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

 

Антивирусы и вирусы

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

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

1. файлы с программами имеют расширение com, exe Вирусы, заражающие такие файлы, называются файловыми, они наиболее распространены;

2. Загрузчик операционной системы и главная загрузочная запись устройства внешней памяти. Вирусы, заражающие эти области памяти, называют загрузочными или бутовыми Такой вирус выполняется при начальной загрузки операционной системы и становится резидентным. Распространяется он, заражая загрузочные записи, подключенных носителей информации устройств внешней памяти. Некоторые подобные вирусы заражают еще и файлы.

3. Драйверы устройств. Вирусы, находящиеся в них выполняются при каждом обращении к соответствующему устройству.

4. Файлы, созданные с компьютерного текстового процессора Microsoft Word и табличного процессора Microsoft Excel. Вирусы, заражающие такие файлы, называются макровирусами, они действуют каждый раз, когда происходит работа с этими файлами с помощью Microsoft Word и Microsoft Excel.

Виды вирусов:

1сетевые черви (Warm)-программы, тиражируются во внешней памяти, оперативной памяти компьютера и распространяется по сети. Особенностью является то, что черви не несут в себе никакой вредоносной нагрузки, кроме саморазмножения. Целю вируса является замусорить память и как следствие затормозить работу ОС.;

2. троянские программы или трояны (Trojan) – программы, которые находятся внутри другой, как правило, совершенно безобидной. Такие вирусы являются одни из самых опасных, поскольку в них заложена возможность самых разнообразных действий.;

3. зомби (Zombie) – программы, которые после проникновения в компьютер, подключенному к сети Интернет, управляются из вне и используются злоумышленниками для организации атак на других компьютерах. Зараженное ПО компьютеры могут объединяться в сети;

4. шпионские программы (Spyware) – программы, устанавливаются или проникают в компьютер с целью получения полного доступа к компьютера, сбора и отслеживания личной конфедициальной информации. Как правило проникает в компьютер при помощи сетевых червей, троянов или под видом рекламы. Разновидностями шпионских программ являются фишенги и фарминги. И те, и другие ориентированы на получение финансовой информации. Фишенг – почтовая рассылка, которая содержит ссылку на сайт, являющейся копией какого-либо финансового учреждения. Пользователь не догадываясь о том, что находится на фальшивом сайте, выдает всю финансовую информацию преступникам и т.д. Фарминг – замаскированная форма фишенга. Заключается в том, что при попытке зайти на официальный сайт финансовой организации пользователь автоматически перенаправляется на ложный сайт, который очень сложно отличить от официального. В отличие от фишинга не используется почта, а более изощренные способы во время работы пользователя с каким-либо сайтом;

5. невидимки (Stealth) = резидентные вирусы, которые фальсифицируют информацию ПО, что программа, которой предназначена эта информация получает неверные данные. В связи с этим такой вирус остается невидимым для АП при проверке системы. Он пытается перехватить запросы и выдать сфальсифицированный ответ,сигнализирующий, что все в порядке. Они представляют незараженные файлы как зараженные, а сами маскируются под незараженные;

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

7. мутанты – программы, которые самопроизвольно создают копии, явно отличающиеся от оригиналов;

8. мобильные вирусы – программы, которые специально разрабатываются для распространения через мобильные устройства. Чаще всего они распространяются с помощью SMS и MMS сообщения.

Как правило, вирусы распространяются вместе с зараженными файлами и с почтовыми сообщениями. Наиболее распространены следующие антивирусные программы:

1) Программы-детекторы или сканеры. Обнаруживают зараженные файлы.

2) Программы-докторы или ФАГи. уничтожают вирусы в файлах и восстанавливают зараженные программы.

3) Программы-ревизоры. Запоминают состояние программ и системных областей и сравнивают с текущим состоянием. При выявлении несоответствия сообщают пользователю.

4) Программы-фильтры. Располагаются резидентно, перехватывают управление у вирусов и сообщают пользователю.

 

 

Системы программирования

Системы программирования включают в себя:

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

2) трансляторы

3) редакторы связей

4) отладчики

Транслятор – переводчик с языка, на котором написаны программы на машинный внутренний язык. Два вида:

- интерпретаторы

- компиляторы

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

Компилятор переводит текст программного модуля на машинный язык без его выполнения. При этом выявляются синтаксические ошибки, допущенные в тексте. В результате создается объектный модуль. Он не готов к выполнению.

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

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

Достоинства интерпретатора:

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

2) файлы с такими программами занимают небольшой объем памяти поскольку содержат лишь тексты

Недостатки интерпретатора:

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

2) программа может выполнятся только под управлением интерпретатора.

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

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

 

Элементарные алгоритмические структуры. Требования,предъявляемые к алгоритмам.

 

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

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

можно представить следующей линейной структурой:

 
 

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

Эта структура реализует вычисление:

y={

Циклическая структура – это процесс, содержащий цикл. Цикл – это последовательность многократно повторяющейся группы действий

В описании цикла можно выделить следующие этапы:

1 ) подготовка (инициализация)

2) выполнение (тело цикла)

3) модификация параметров

4) проверка условия окончания цикла

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

 

ТРЕБОВАНИЯ ПРЕДЪЯВЛЕНЫЕ К АЛГОРИТМАМ

Алгоритм должен удовлетворять следующим основным требованиям: 1) конечность (результативность) 2) определенность 3) наличие описания входных и выходных данных. Конечность. Последовательность действий, заданная алгоритмом, должна заканчиваться получением результата после выполнения конечного числа шагов. Этим алгоритм отличается от вычислительного метода. Определенность. Каждое действие алгоритма должно быть точно определено, т.е. строго и не двусмысленно для каждого возможного случая. Наличие описания входных и выходных данных. В алгоритме должно присутствовать некоторое кол-во входных данных, т.е. величин, заданных ему до начала работы. Так же алгоритм должен иметь одну или несколько выходных величин, полученных в результате его выполнения. Если для решения одной и той же задачи имеется несколько алгоритмов, то необходимо проводить сравнительный анализ их для выбора наилучшего. При этом используются такие характеристики: 1) эффективность. Означает, что все операции алгоритма должны быть как можно более простыми. 2) Массовость. Означает, что алгоритм можно применить для решения мн-ва задач. 3) Время, необходимое для выполнения алгоритма, можно оценивать по разному, например представить числом, указывающим сколько раз в среднем выполняется каждый шаг алгоритма.

 



Поделиться:


Последнее изменение этой страницы: 2016-08-26; просмотров: 439; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.125.171 (0.044 с.)