Смекни!
smekni.com

Предмет и содержание кибернетики (стр. 7 из 10)


Лекция №7. Разработка ПП для ЭВМ. Алгоритмы и алгоритмизация

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

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

С позиции специфики разработки и вида программного обеспечения будем различать два класса задач – технологические и функциональные.

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

Функциональные – требуют решения при реализации функций управления в рамках ИС предметных областей.

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

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

Входная информация представляется в виде документа, файла базы данных и т.д.

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

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

1. Дискретность – разбиение процесса обработки информации на дискретные шаги.

2. Определенность – однозначность выполнения (детерминированность) каждого отдельного шага преобразования информации.

3. Конечность – конечность действий (результативность алгоритма), позволяющая получить результаты за конечное число шагов.

4. Массовость – пригодность алгоритма для решения определенного класса задач.

5. Понятность алгоритма компьютеру.

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

Способы записи алгоритма

1. Формальный – запись алгоритма словесно, на естественном языке.

2. Графический – изображение алгоритма в виде блок-схемы.

Виды алгоритмов

В зависимости от поставленной задачи и последовательности выполняемых шагов различают следующие виды алгоритмов:

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

Блоки алгоритма 1, 2, 3 выполняются именно в такой последовательности, после чего алгоритм достигает цели и заканчивается.

2. Алгоритм с ветвлением – в зависимости от выполнения или невыполнения условия, исполняется либо одна, либо другая ветвь алгоритма.

В данном алгоритме проверяется выполнение условия, и если оно выполняется, то есть на вопрос можно ответить «Да», исполняется блок алгоритма 1 (одно ли несколько действий), а если не выполняется – ответ на вопрос отрицательный, то исполняется блок 2.
Примечания: одно из блоков: 1 или 2 может не быть вовсе. Тогда в одном из случаев будут выполняться какие-либо действия, а в другом – ничего не будет выполняться.

3. Циклический – блоки алгоритма выполняются до тех пор, пока не будет выполнено определенное условие.

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

Программирование – это теоретическая и практическая деятельность, связанная с созданием программ.

Основная категория специалистов занятых разработкой программ – программисты, которые по характеру своей деятельности делятся на системных и прикладных.

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

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

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

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

Существуют специальные языки программирования для создания программных модулей – языки низкого и высокого уровня. Языки низкого уровня предназначены для прямого кодирования работы реального исполнителя, вычислителя (Бейсик). Языки высокого уровня предназначены для программирования работы физически на существующего (виртуального) исполнителя, не связанного с имеющимися техническими ограничениями. В языке программирования зафиксированы определенные правила построения языковых конструкций – синтаксис. Синтаксисом задается состав допустимых конструкций, имеющих определенный смысл и формы их записи.


Лекция №8. Архивация файлов

Наименьшей единицей хранения данных на МД является файлэто именованная область внешней памяти, выделенная для хранения массива данных, хранимая, пересылаемая и обрабатываемая как единое целое.

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

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

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

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

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

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

Степень сжатия файлов – характеризуется коэффициентом сжатия Кc, определяемым как отношения объема сжатого файла Vcк объему исходного файла V0, выраженное в процентах:


Степень сжатия зависит от используемой программы, метода сжатия и типа исходных данных. Наиболее хорошо сжимаются файлы графических образов, текстовые файлы и файлы данных (5 – 40%), меньше сжимаются файлы исполняемых программ (60 –90%).

Архивация (упаковка) – помещение (загрузка) исходных файлов в архивный файл в сжатом или несжатом виде.

Разархивация (распаковка) – процесс восстановления файлов из архива точно в таком же виде, какой они имели до загрузки в архив.

Программы, осуществляющие упаковку и распаковку файлов, называются программами – архиваторами.

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

Известно несколько программ-архиваторов: ARJ, PKPAK, EXPAND, RAR, WINZIP и др.

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

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

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

Компьютерные вирусы

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