Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курс лекций по информатике для заочников

.pdf
Скачиваний:
74
Добавлен:
25.03.2016
Размер:
607.76 Кб
Скачать

Copyright by Livanov Roman, 2002-2014

4. По особенностям алгоритма.

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

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

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

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

д). Логические бомбы – это вирусы, которые внедряются в различные программы и активируются при наступлении какого-либо события, например определенной даты.

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

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

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

1.Использовать на одном компьютере несколько разных антивирусов.

2.Регулярно и своевременно обновлять антивирусные базы.

3.Проверять на наличие вирусов всю поступающую информацию.

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

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

итребуется меньший объем памяти для ее хранения.

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

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

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

31

Copyright by Livanov Roman, 2002-2014

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

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

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

Файл – это информация определенного типа, которая хранится в электронном виде и обозначена каким-либо именем.

Папка (каталог) – это место для хранения файлов, объединенных в группу по какому-либо критерию.

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

В настоящее время распространение получили 2 файловые системы, разработанные фирмой Microsoft:

1)FAT – первая файловая система, первоначально предназначенная для организации хранения файлов на дискетах. В настоящее время на жестких дисках используется 32-разрядная система FAT32, ограничениями которой являются: максимальный размер файла 4 Гб, максимальный размер логического диска 8 Тб. При этом у FAT32 есть ряд преимуществ по скорости чтения, записи и копирования данных.

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

Операционная система Windows поддерживает работу с длинными именами файлов и папок – имя может содержать до 256 символов. При этом в

именах не допускается использование следующих символов: \ / : * ? < > «»

Полное имя файла состоит из 3 частей:

Academy . doc

 

 

 

 

 

наименование

расширение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

разделяющая точка

 

 

 

 

 

 

 

 

 

 

При работе с файлами

и

папками

необходимо знать

 

их местоположение,

которое показывает путь:

С:\

Windows

\ System.ini

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

диск папка

файл

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

32

Copyright by Livanov Roman, 2002-2014

III. Прикладные программы.

3.1.Текстовые редакторы – предназначены для создания и оформления документов различной степени сложности. Все программы для работы с текстовыми документами можно разделить на 3 группы:

1). Простые текстовые редакторы – ориентированы на работу только с текстом и позволяют обрабатывать несложные текстовые документы.

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

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

3.2.Электронные таблицы – обеспечивают обработку числовой информации и позволяют выполнять любые вычисления. Основным достоинством электронных таблиц является автоматизация расчетов, которая предполагает возможность копирования формул во все необходимые ячейки и автоматический пересчет значений по заданным формулам при изменении исходных данных. Все программы для работы с электронными таблицами можно разделить на 2 группы:

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

2). Мощные электронные таблицы (табличные процессоры) – они ориентированы на выполнение сложных расчетов и содержат множество инструментов обработки и анализа числовых данных.

3.3.Системы управления базами данных (СУБД).

База данных (БД) – это совокупность структурированных данных, относящихся к определенной предметной области.

СУБД – это комплекс программных средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска необходимой информации в базе. Все СУБД можно разделить на 2 группы:

1). Простые СУБД – позволяют обрабатывать один информационный массив, обеспечивают ввод, поиск и сортировку записей базы, составление сводных отчетов и т.д.

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

33

Copyright by Livanov Roman, 2002-2014

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

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

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

(JPC, BMP и т.д.).

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

3.5.Программы для создания презентаций

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

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

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

а). Краткость изложения и максимальная информативность текста.

б). Использование единой цветовой схемы и форматирования шрифта.

в). Применение диаграмм для более наглядного представления числовой информации.

г). Оптимизация размера и разрешения графических объектов.

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

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

3.6. Программы для работы в Интернете – обеспечивают пользователю возможность обмена информацией через сеть Интернет. Выделяют 3 основные группы программ для работы в Интернете:

1). Браузеры – это программы для просмотра Web-страниц и навигации по сайтам.

2). Почтовые клиенты – это программы для работы с электронной почтой. 3). Коммуникационные приложения – это программы для общения и

обмена информацией в режиме реального времени.

34

Copyright by Livanov Roman, 2002-2014

IV. Языки и системы программирования.

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

1). Язык программирования (ЯП) – это формализованный язык для описания алгоритма решения задачи на компьютере. Элементами любого языка программирования являются:

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

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

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

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

2). Языковые трансляторы – предназначены для перевода программы в форму, воспринимаемую и исполняемую компьютером. В качестве транслятора может выступать:

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

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

3). Редактор текста программ – предназначен для ввода и редактирования программного кода, обеспечивает цветовое выделение на экране лексических и синтаксических конструкций языка программирования.

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

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

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

35

Copyright by Livanov Roman, 2002-2014

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

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

2.Надежность языка – обеспечивается возможностью автоматического отслеживания возможных ошибок как при написании программы, так и в процессе ее отладки.

3.Трудоемкость программирования – характеризуется сложностью описания действий, операторов и процедур в процессе непосредственного написания программного кода.

4.Качество создаваемых программ – определяется сочетанием правильности работы готовой программы с эффективностью ее программного кода.

Системы программирования различаются по тому, какой язык

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

Классификация языков программирования:

1.Степень удаленности от языка машинных команд.

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

1.2.Языки высокого уровня (алгоритмические языки) – в значительно большей степени ориентированы на человека, так как команды и операторы этих языков описываются английскими или русскими словами. У каждого языка свой алфавит, лексика, синтаксис и семантика, которые могут значительно отличаться друг от друга в разных языках. Также любой язык высокого уровня имеет свои особые методы создания алгоритмов, приемы конструирования программы и подходы к написанию каждого ее элемента.

Наибольшее распространение получили три языка высокого уровня:

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

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

36

Copyright by Livanov Roman, 2002-2014

в). С (Си) – появился в 1972 году, затем в 1980 году он был доработан и стал называться C++. В нем соединяются свойства языка высокого уровня с возможностями низкоуровневых языков. Этот язык труден в изучении, требует особой тщательности при программировании, но позволяет создавать сложные

ивысокоэффективные программы.

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

г). Fortran (Фортран) – используется при программировании вычислений в научных исследованиях, основан на математических формулах.

д). Cobol (Кобол) – используется при программировании в сфере бизнеса, ориентирован на решение коммерческих задач.

е). Prolog (Пролог) – используется при программировании и разработке экспертных систем и систем искусственного интеллекта.

2.Используемая технология программирования.

2.1.Структурные языки – подразумевают, что программа четко структурирована и состоит из отдельных упорядоченных модулей, которые находятся в иерархической зависимости: Basic, Pascal, C.

2.2.Объектно-ориентированные языки – основаны на построении программы как совокупности различных объектов, для каждого из которых обозначены возможные действия и свойства. Объектно-ориентированные языки появились в результате эволюции структурных языков, к ним относятся Visual Basic, Visual C++, Delphi (Object Pascal).

В последнее время высокую популярность приобретают системы программирования на языке Java (Ява) – с их помощью создаются приложения для Интернета. Эти приложения могут вызываться при просмотре Web-страниц

ивыполняться на любом компьютере, независимо от установленной операционной системы.

Особым классом систем программирования являются системы для создания приложений типа клиент-сервер, основанных на работе с базами данных. В таких системах реализуется принцип объектно-ориентированного программирования, используются специальные приемы описания процедур обработки данных, а также содержатся заготовки для выполнения типовых действий по обработке данных. Основу этих систем составляют такие языки программирования как SQL, UML и другие.

37

Copyright by Livanov Roman, 2002-2014

Тема №5: Основы алгоритмизации

План:

I. Понятие алгоритма, его свойства и виды. II. Способы описания алгоритмов.

I. Понятие алгоритма, его свойства и виды.

Понятие алгоритма возникло в математике в связи с поиском общих методов решения однотипных задач. Существует несколько определений термина «алгоритм»:

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

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

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

Пример составления алгоритма:

Задача: определить длину пройденного пути в различные промежутки времени при равномерном движении объекта со скоростью 2 метра в секунду в течение 5 секунд.

Скорость,

Время,

Путь,

Этапы решения задачи:

м/c (V)

c (t)

м (S)

1

этап: ввести значение скорости (V).

2

1

2

2

этап: ввести начальное значение времени (t нач).

 

2

4

3

этап: вычислить путь (S=V*t).

 

3

6

4

этап: вывести результат вычислений (S).

 

4

8

5

этап: изменить значение времени (t =t+ t).

 

5

10

6

этап: если t t max – продолжить вычисления;

если t > t max – закончить вычисления. Каждый алгоритм обладает системой свойств:

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

2). Массовость – универсальность и пригодность алгоритма для решения множества однотипных задач при различных значениях исходных данных.

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

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

38

Copyright by Livanov Roman, 2002-2014

Существует 3 основных вида алгоритмов:

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

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

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

II. Способы описания алгоритмов.

Форма представления алгоритма зависит от способа его описания:

а). Словесный способ – содержание этапов алгоритма отражается в произвольной форме на естественном языке.

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

в). Словесно-формульный способ – объединяет математические формулы с пояснениями на естественном языке.

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

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

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

начало или конец вычислительного процесса

выполнение действий

ввод данных и вывод результатов

выбор направления вычислительного процесса

изменение управляющих данных

циклический вычислительный процесс

вывод результатов вычислений на печать

предопределенный процесс или подпрограмма

комментарий

линии информационного потокапересечение линий потокаслияние линий потока

39

Copyright by Livanov Roman, 2002-2014

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

в этом случае направление потока не указывается стрелками.

 

Примеры блок-схем для различных видов алгоритмов:

 

линейный

ветвящийся

циклический

Начало

Начало

 

Начало

Ввод исходных

Ввод исходных

Открытие

данных

данных

 

цикла

Выполнение

Проверка

 

Выполнение

 

действий

действий

 

условия

 

 

 

 

 

 

Вывод

Выполнение

Выполнение

Вывод

результатов

результатов

действий 1

действий 2

 

Конец

Вывод

 

Закрытие

 

цикла

результатов

 

 

 

 

 

 

 

Конец

 

Конец

 

 

 

Блок-схемы алгоритма для приведенной выше задачи:

 

Начало

 

Начало

 

V

 

V

 

tнач

 

tнач, tmax, t

 

S=V t

 

S=V t

 

 

 

 

S

 

S

 

 

 

 

t=t+ t

 

t

да

нет

Конец

Конец

 

t t max

 

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

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

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

3). Составление блок-схемы алгоритма.

4). Написание программы на алгоритмическом языке программирования и ее ввод в компьютер.

5). Отладка программы и оценка результатов ее работы.

40