Разработка графической оболочки с названием Windows для операционной системы DOS началось в 1983г. в фирме Microsoft. Первая версия оболочки была представлена на выставке в ноябре 1983г., однако коммерческая продажа началась только в ноябре 1985г. Такая задержка была связана с нежеланием фирмы выходить на рынок с "сырым" продуктом и неоднократным переписыванием операционной системы на других языках. Первоначально система была написана на Microsoft Pascal, затем на Lattice C и, наконец, на Microsoft C.
В течение 1985–1987гг. версии Windows распространялись слабо, так как производительность ПЭВМ еще не позволяла эффективно использовать возможности этой оболочки, и, кроме того, количество приложений, которые разрабатывались для работы под Windows, было еще слишком мало.
В 1987–1988гг. начинают распространяться версии с номерами 2.03 и 2.10. В них были заложены основы того графического интерфейса, который стал классическим для системных оболочек и других графических прикладных программ. Эти версии еще ориентировались на 286 процессор. Но уже для этой версии реализуется возможность запуска программ DOS в полноэкранном и оконном режимах.
Полноэкранные программы – это программы, использующие прямой доступ к устройствам (оперативной памяти, видеопамяти и др.). При работе они используют такие средства управления, которые не позволяют функционировать системе Windows, поэтому почти вся среда Windows выгружается (остаются только возможности восстановления среды), и программа использует в работе только средства DOS.
Оконные программы написаны без прямого обращения к устройствам. Они используют только функции DOS, построенные на стандартном интерфейсе (т.н. ANSI–соглашение). Такие программы могут загружаться в окно Windows с атрибутами заголовка и контрольного меню, через которые система Windows может ими управлять. Конечно, такие программы можно запускать и в полноэкранном виде.
|
Для запуска программ DOS из–под Windows требуется некоторый специальный информационный файл, в котором указано, полноэкранный или оконный режим будет использоваться, а также некоторые другие характеристики запуска и работы. Такой файл носит название PIF (Program Information File). Для его создания в системе Windows версии 2 предусмотрен специальный редактор.
В 1990г. выходит версия 3.0, которая имела огромный успех. За три месяца Microsoft продает свыше полутора миллионов экземпляров Windows 3.0. Windows становится стандартом для интерфейса графических оболочек. Хотя это еще 16-разрядная система, зато она может ставиться на ПЭВМ с 286 процессором и оперативной памятью всего в 1 Мб.
В 1991г. появляется версия 3.1, в которой реализована плоская модель памяти (т.е. прямая 32-разрядная адресация без использования сегмента памяти).
К 1995г. Windows приобретает свой окончательный вид, и распространяется под номерами версий 3.10 и 3.11 (последняя – как Windows для рабочих групп, т.е. работающая в сети из нескольких ПЭВМ).
В 1995г. фирма Microsoft объявляет о выпуске принципиально новой операционной системы под названием Windows95-Chicago. Эта ОС представляла собой программу, написанную для 32-х разрядных ЭВМ и замещающую MS DOS, поверх которой она ставилась. В ней реализовывалась истинная многозадачность. Появляются черты многопользовательской ОС. Изменяется дизайн рабочего стола, окон, менеджера задач. Однако следует отметить недостатки этой системы, связанные с неустойчивостью ее работы. В последствии эта версия получила название Windows-95.
|
В 1998г. выходит новая версия 32-х разрядной Windows-системы под названием Windows-98. Это уже многопользовательская ОС, хотя и одномашинная, в отличие от Windows-NT, ориентированной, в первую очередь, на работу локальной сети ПЭВМ. В эту ОС внедрены функции "Plug and Play" ("включай и работай") – автоматического распознавания и подключения новых узлов и устройств ПЭВМ, а также активно используется связь с глобальной сетью Интернет (WWW). В этой версии были исправлены многие ошибки и недоработки Windows-5, но устойчивость ее работы по-прежнему оставляет желать лучшего.
Наконец, в 2000г. выпускается новая версия Windows 9х под названием "MILLNIUM" (Windows ME). Ее назначение – обслуживать домашние ПЭВМ, автономные и связанные с Интернет, а также использоваться на рабочих станциях и пользовательских узлах локальной сети. Считается, что это последняя версия системы Windows, основанной на "старой технологии".
Параллельно с цепочкой версий Windows 9x, фирма Microsoft вела разработку другой операционной системы, сразу ориентированной на многопользовательскую работу. Эта операционная система также получила название Windows, однако чтобы подчеркнуть ее принципиальную новизну, в название включены символы NT (что означает New Technology – новая технология). Промышленный выпуск этой ОС начался в 1993г. Операционная система Windows NT первоначально имела графический интерфейс, аналогичный популярному интерфейсу Windows 3.1 и управление через команды в командной строке. Однако успех Windows 9x быстро привел к переводу Windows NT в похожий графический интерфейс.
|
Интенсивное развитие локальных сетей ПЭВМ в офисах и учреждениях способствовало появлению двух модификаций этой операционной системы. На сервер локальной сети стали устанавливать ОС Windows NT Server, а на рабочие узлы сети – версию Windows NT WorkStation. Под такими названиями Windows NT версии 4.0 эта операционная система выпускалась до 2000г., когда ей на смену была выпущена версия 5.0 под названием Windows 2000. В основе ее по-прежнему заложена технология NT.
Стремление соединить удобство и быстроту работы ОС Windows 9x (Milenium) с надежностью и защищенностью Windows NT (2000) приводит к появлению в конце 2001г. новой версии Windows XP (от англ. Experience – опыт). Важно отметить, что эта ОС уже полностью отходит от "ДОСовской" подложки и 16-ти разрядного программирования, и использование таких устаревших пакетов в рамках новой ОС будет или невозможно, или сопряжено с большими трудностями.
18. Драйверы, архиваторы, антивирусные программы.
Основное ограничение у памяти – это её объём. Поэтому большой объём информации, который следует хранить или передавать, предварительно кодируют таким образом, чтобы уменьшить объём информации при сохранении возможности её сто процентного восстановления.
Архивирование – это упаковка (сжатие) файла или группы файлов с целью уменьшения места, занимаемого ими на диске.
Для упаковки файлов используются служебные программы-архиваторы, каждая из которых вместо одного или нескольких файлов создаёт один архивный файл в том или ином формате с расширением.
Архиватор – программа, выполняющая сжатие (архивирование) файлов для более компактного хранения во внешней памяти и восстановление (разархивирование) сжатых файлов в первоначальное состояние.
Основные характеристики архиватора
1. Степень сжатия файла.
2. Скорость работы.
3. Сервис (набор функций архиватора).
Принцип сжатия
Частота появления различных символов в сообщении разная. Наиболее часто встречаемые символы кодируются наименьшим числом бит. Редко встречаемые символы кодируются более длинной последовательностью бит. В результате объём информации в целом уменьшается.
Каждая программа-архиватор использует свои методы сжатия, и архив, созданный одной программой, не может быть распакован другой программой. Узнать, какой архиватор был использован, можно по расширению файла-архива.
Расширение | Программа-архиватор |
1. Arj (АэрЖи) | Arj.exe |
2. Zip (ЗИП) | Pkzip.exe (Пэ-Ка-ЗИП) |
Pkunzip.exe (Пэ-Ка-аН-ЗИП) | |
3. Lzh (ЭльЗеАш) | Lharc.exe (Эль-Эйч-АРК) |
4. Rar (РАР) | Rar.exe |
Наиболее часто используемые архиваторы ARJ и ZIP.
Компьютерные вирусы – программы, которые могут копировать сами себя и скрытно внедрять свои копии в файлы, загрузочные сектора дисков и документы. Активизация компьютерного вируса может вызвать уничтожение программ и данных.
Вирусы создаются программистами с целью самоутверждения, развлечения или хулиганства.
Программа, внутри которой находится вирус, является заражённой. Когда такая программа загружается в память, то сначала управление получит вирус, который выполнит «вредные действия» – засор оперативной памяти (ОП) (портит файлы), и только после этого передаёт управление программе, в которой он находится.
По масштабу вредных воздействий вирусы можно разделить на:
1. Безвредные, т.е. никак не влияющие на работу ПК (кроме уменьшения свободной памяти на диске в результате своего размножения).
2. Неопасные, влияние которых ограничивается уменьшением свободной памяти на диске, графическими, звуковыми и др. внешними эффектами.
3. Опасные вирусы, которые могут привести к сбоям и зависаниям при работе ПК.
4. Очень опасные, активизация которых приводит к потере программ и данных, форматированию винчестера и т.д.
По «среде обитания» вирусы можно разделить на:
1. Файловые.
2. Загрузочные.
3. Макро-вирусы.
4. Сетевые.
Файловые вирусы
Файловые вирусы различными способами внедряются в исполняемые файлы (программы) и активизируются при их запуске. После запуска заражённой программы вирусы находятся в ОП ПК и являются активными, то есть могут заражать др. файлы, вплоть до момента выключения ПК или перезагрузки операционной системы (ОС).
Файловые вирусы не могут заразить файлы данных, например, файлы, содержащие изображение или звук.
Профилактическая защита от файловых вирусов состоит в предварительной проверке антивирусными программами файлов, полученных из сомнительного источника.
Загрузочные вирусы
Загрузочные вирусы записывают себя в загрузочный сектор диска. При загрузке ОС с заражённого диска вирусы внедряются в ОП ПК. В дальнейшем загрузочный вирус ведёт себя так же, как файловый.
Профилактическая защита от загрузочных вирусов состоит в отказе от загрузки ОС с гибких дисков и установке в BIOS ПК защиты загрузочного сектора от изменений.
Макро-вирусы
Макро-вирусы заражают файлы документов Word и электронных таблиц (ЭТ) Excel. Макро-вирусы являются фактически макрокомандами, которые встраиваются в документ.
После загрузки заражённого документа в приложение макро-вирусы постоянно присутствуют в памяти ПК и могут заражать др. документы. Угроза заражения прекращается только после закрытия приложения.
Профилактическая защита от загрузочных вирусов состоит в предотвращении запуска вируса. При открытии документа в приложениях Word и Excel сообщается о присутствии в них макросов (потенциальных вирусов) и предлагается запретить их загрузку.
Сетевые вирусы
По компьютерной сети могут распространяться и заражать ПК любые обычные вирусы. Однако существуют и специфические сетевые вирусы, которые используют для своего распространения электронную почту и Всемирную паутину.
Для профилактики заражения почтовыми вирусами не рекомендуется открывать вложенные в почтовые сообщения файлы, полученные из сомнительных источников.
Основные методы защиты от вирусов
1. Аккуратная работа.
2. Регулярное тестирование ПК антивирусными программами.
3. Проверка всех дискет до их запуска.
4. Регулярно сохранять ценную информацию на дискетах.
5. Защита от несанкционированного доступа.
Для борьбы с вирусами успешно используются специальные антивирусные программы, которые просматривают все файлы на ПК на предмет наличия в них вируса.
Имеются хорошие антивирусные программы западного происхождения, однако они не всегда эффективны против отечественных вирусов, по производству которых Россия занимает теперь одно из первых мест в мире. Абсолютно надёжных программ, гарантирующих обнаружение и уничтожение любого вируса, не существует, тем более, что постоянно появляются новые разновидности вирусов.
В настоящее время наибольшей популярностью пользуются постоянно обновляемые программы Лозинского, Данилова, Мостового, Касперского.
Типы антивирусных программ
1. Самыми популярными и эффективными антивирусными программами являются антивирусные программы - сканеры. Они просматривают данные на диске и в ОП, далее лечат или удаляют заражённые программы.
Наиболее распространённые:
· Aidstest (Айдстест) – Лозинского,
· Dr.Web (Доктор Вэб) – Данилова,
· AVP – Касперского (10-е место в мире).
Недостатки: большие размеры используемых ими антивирусных баз данных, которые должны содержать информацию о максимально возможном количестве вирусов, что приводит к небольшой скорости поиска вирусов.
2. Ревизоры – программы для контроля за изменением в ОП и на винчестере.
Наиболее распространённая программа – ADINF – Мостового.
Недостатки: они не могут обнаружить вирус в новых файлах, т.к. в их базах данных отсутствует информация об этих файлах.
3. Блокировщики (резидентные сторожа) – программы, которые всегда находятся в ОП.
С помощью программы BIOS Setup можно провести настройку BIOS т.о., что будет запрещена любая запись в загрузочный сектор диска и ПК будет защищён от заражения загрузочными вирусами.
19. Языки программирования низкого и высокого уровня.
20. Понятие алгоритма. Примеры алгоритмов.
Понятие алгоритма. Все задачи делятся на два класса: вычисление функции и распознавание образов (классификация). Функция вычислима если возможно построение алгоритма для ее вычисления. Множество разрешимо если существует алгоритм, позволяющий определить принадлежит данный объект к этому множеству или нет. Проблемы теории алгоритмов: основные свойства алгоритмов, поиск эффективных алгоритмов и алгоритмически неразрешимых задач.
Выделяют следующие этапы решения задачи на ЭВМ: 1) постановка задачи; 2) математическое описание задачи; 3) разработка алгоритма решения; 4) написание программы на языке программирования; 5) подготовка исходных данных; 6) ввод программы и данных в ЭВМ; 7) отладка и тестирование программы; 8) решение задачи; 9) обработка и интерпретация результатов.
Формальный исполнитель --- устройство, которое читает программу, изменяет в соответствие с ней свое внутреннее состояние, и исполняет команды, осуществляя пошаговую обработку информации. Чтобы задать исполнитель достаточно определить: а) систему команд; б) форму представления входной и выходной информации; в) множество внутренних состояний; г) язык программирования.
Алгоритм --- последовательность арифметических и логических действий над числами, приводящая к получению результата и решению задачи (любая конечная система правил преобразования информации). Свойства алгоритма: 1) детерминированность, --- применение алгоритма к одним и тем же данным должно приводить к одному результату; 2) массовость, --- дает результат при различных исходных данных; 3) результативность --- дает результат через конечное число шагов.
Структура алгоритмов может быть: 1) линейной: вычислительные действия выполняются последовательно друг за другом, алгоритм не содержит условий; 2) разветвляющейся: в зависимости от выполнения некоторого условия вычислительный процесс осуществляется по одной или по другой ветви; 3) циклической: содержать циклы --- многократно повторяющиеся участки вычислительного процесса.
Функциональный блок --- часть алгоритма, имеющая один вход (выполнение начинается с одного оператора) и один выход (после завершения начинает выполняться один и тот же оператор). Структурным называется алгоритм, являющийся комбинацией линейного, разветвляющегося и циклического алгоритмов.
Теорема Бома--Джакопини: Любой неструктурный алгоритм может быть сведен к эквивалентному ему структурному алгоритму.
Сложность алгоритма характеризуется числом элементарных шагов выполнения программы, что пропорционально времени выполнения алгоритма, а также требуемым объемом оперативной памяти.
Алгоритмически неразрешимой называется задача, для решения которой невозможно построить алгоритм. Примеры: 1. Проблема остановки: по описанию алгоритма A над заданным числом x нельзя ответить (создать универсальный алгоритм отладки) остановится алгоритм A или нет. 2. Проблема распознавания эквивалентности алгоритмов: невозможно построить универсальный алгоритм, который бы для любых программ определял вычисляют они одну и ту же функцию или нет.
Виды универсальных алгоритмических моделей, позволяющих описать любой алгоритм: 1. Абстрактная машина Тьюринга и Поста; 2. Система подстановок; 3. Арифметизация алгоритма с помощью рекурсии.
2.2. Абстрактные машины Тьюринга и Поста. Машина Тьюринга (МТ) --- абстрактная машина, предложенная для обоснования понятия алгоритма и доказательства алгоритмической разрешимости задачи.
МТ состоит из бесконечной подвижной ленты Л, разделенной на ячейки, головки чтения/записи Г и управляющего устройства УУ. Головка чтения/записи, которая, может считывать содержимое обозреваемой ячейки, стирать, либо записывать в ячейку один символ из алфавита X={x1, x2,..., xn}. УУ в каждый такт находится в одном из множества состояний Q={q1, q2,..., qm}.
За один такт МТ головка считывает символ из обозреваемой ячейки, устройство управления переходит в новое состояние и выполняет команду, перемещая гловку относительно ленты на требуемое число ячеек влево или право и записывая необходимый символ. Программа МТ состоит из команд записанных в виде: qiaj--> q'ia'jdk. Это означает следующее: если в обозреваемой ячейке aj, а УУ в состоянии qi, то УУ переходит в состояние q'i, в данную ячейку записывается a'j, головка смещается на dk ячеек (на 1 влево, вправо или остается на месте). Перейдя в состояние qz МТ останавливается.
Многоленчатая МТ имеет несколько входных лент и одну выходную для записи результата вычислений. За один шаг головка считывает символы со всех входных лент, УУ переходит в другое состояние, затем осуществляется запись новых символов и смещение всех лент.
С помощью МТ можно показать, что любой сложный алгоритм разложим на простые операции. Если для решения задачи можно построить машину Тьюринга, то задача алгоритмически разрешима.
Тезис Тьюринга: Для любой вычислимой функции можно построить машину Тьюринга, которая ее вычисляет.
Машина Поста --- абстрактная машина, состоящая из каретки (считывающей и записывающей головки) и бесконечной ленты, разбитой на ячейки. В каждой ячейке может стоять метка, либо она будет оставаться пустой. В МП используется унарная система счисления: числу 4 соответствует 4 ячейки с метками, расположенные по порядку. Программой МП является конечный список следующих команд: сместить каретку вправо/влево и перейти к команде N; если в обозреваемой кареткой ячейке метка, то перейти к команде N, иначе --- к M; стереть метку и перейти к команде N; остановиться. Ниже написана программа МП, которая вычитает из левого числа правое. Исходное положение каретки --- напротив пустой ячейки между числами.
2.3. Нормальные алгоритмы Маркова. Алгоритм в алфавите A --- функция, преобразующая входную последовательность символов из алфавита A={a1, a2,..., an} в выходную. Нормальный алгоритм Маркова задается алфавитом A={a1, a2,..., an}, содержащим конечное непустое множество элементов, нормальной схемой подстановок и порядком их применения. Нормальная схема подстановок --- это набор правил (формул) вида Pk -> Pn, согласно которым левое подслово Pk исходного слова P заменяется на слово Pk.
К исходному слову P применяют по порядку каждую пару из схемы подстановок. Если подстановка возможна, то ее осуществляют и все начинают сначала. Выполнение алгоритма прекращается, когда нет ни одной допустимой подстановки. В результате получается конечное слово Q. Например, нормальная схема: ab ->ba, ac -> ab, aa -> bc. Если входное слово acabba, то:
acabba -> acbaba -> acbbaa -> abbbaa -> babbaa -> bbabaa -> bbbaaa -> bbbbca.
Нормальные алгоритмы эквивалентны машинам Тьюринга. Если доказано, что нельзя построить нормальную схему подстановок, позволяющую перейти от P к Q, то данная задача алгоритмически неразрешима. Множества алгоритмически разрешимых задач для нормальных алгоритмов Маркова машин Тьюринга и Поста совпадают.
2.4. Рекурсивные функции. Последовательность шагов в алгоритме определяется двумя способами: 1. Суперпозиция --- подстановка функции в функцию: x*y+x/z-y, содержащая фиксированное число операций; 2. Рекурсия --- определение очередного значения функции fi+1 через ранее вычисленное fi. Структура примитивно--рекурсивного определения функции предполагает задание значения функции для начального значения аргумента и правила определения fi+1 через fi.
Рекурсивной называется функция, которую можно построить из целых чисел и арифметических операций с помощью суперпозиции и рекурсии. Простейшие числовые функции: 1) одноместная функция непосредственного следования: S1(x)=x+1; 2) n-местная функция тождественного равенства 0: 0n(x1,x2,..., xn)=0; 3) n-местная функция тождественного повторения значения одного из своих аргументов: Inm (x1,...,xm,..., xn)=xm, где m --- целое, в интервале от 1 до n.
Из этих элементарных операций можно построить операторы:
1. Суперпозиция частичных функций S(g,f1,..., fn): Имеются n m--местных функции f1(x1,...,xm), f2(x1,...,xm),....., fn(x1,...,xm), их подставляют в n--местную функцию g(x1, x2,..., xn). В результате получается n--местная функция:
h(x1, x2,..., xn)= g(f1(x1,...,xm), f2(x1,...,xm),..., fn(x1,...,xm)).
2. Примитивная рекурсия: Функция f образуется из частичных функций g(x1,..., xn) и h(x1,...,xn,k,m) посредством примитивной рекурсии, если для всех натуральных x1,...,xn справедливо:
f(x1,...,xn,0)=g(x1,..., xn),
f(x1,...,xn,m+1)=h(x1,..., xn,m+1,f(x1,...,xn,m)).
Эти условия задают последовательность нахождения функции f:
f(x1,...,xn,0)=g(x1,..., xn),
f(x1,...,xn,1)=h(x1,..., xn,1,f(x1,...,xn,0)),
f(x1,...,xn,2)=h(x1,..., xn,2,f(x1,...,xn,1)),
...........................
...........................
Примитивно рекурсивной называется такая частичная функция, которая может быть получена конечным числом операций суперпозиции и примитивной рекурсии, исходя из элементарных функций S1, 0n, Inm.
Тезис Черча: Любая вычислимая функция является рекурсивной, то есть может быть построена из целых чисел и арифметических операций с помощью суперпозиции и рекурсии. (Множество алгоритмически вычислимых функций совпадает с классом всех рекурсивных функций).
Теоремы: 1. Любая рекурсивная функция может быть вычислена на соответствующей машине Тьюринга. 2. Любая задача, решаемая на машине Тьюринга может быть решена с помощью нормального алгоритма Маркова.
2.5. Основные понятия теории автоматов. Автомат --- дискретное устройство, выполняющее заданную последовательность действий, в результате чего происходит преобразование информации, материальных объектов или энергии. Автомат имеет n входов и m выходов, и характеризуется множеством внутренних состояний Q, а также функцией перехода P и функцией выхода T.
Функция перехода P связывает внутреннее состояние устройства в момент времени t+1 с внутренним состоянием и входным символом (сигналом) в предыдущий момент времени t: qt+1= P (qt,xt). Функция выходов T связывает внутреннее состояние устройства и входной сигнал в момент t с выходным сигналом в тот же момент времени: yt=T(qt,xt). Компоненты задают автомат, преобразующий входные сигналы X в выходные Y.
Множество внутренних состояний Q является внутренней памятью автомата. Различают автоматы без памяти, с конечной памятью, с бесконечной памятью. Автоматы без памяти --- это автоматы, имеющие всегда одно внутреннее состояние, и задаваемые тройкой компонентов. Они не меняют своего поведения: выходной сигнал зависит только от входного и не зависит от ранее поступивших сигналов: yt=T(xt). При работе автомата без памяти осуществляется побуквенный перевод входного сообщения. Если X и Y --- двоичные сигналы, то автомат без памяти состоит из логических элементов И, ИЛИ, НЕ. Схемы, в которых выходы одних логических элементов подсоединяются к входам других называются комбинационными.
Пусть входной алфавит конечного автомата X=(a,b), выходной алфавит --- Y=(c,d,e), множество внутренних состояний Q=1, 2, 3. Автоматные функции переходов P(q,x) и выходная функция Q=(q,x) заданы таблицами или с помощью ориентированного графа (диаграммы Мура). Вершины графа изображают состояния автомата Q=(1,2,3). Каждой команде qixr -> qjxs соответствует ребро, идущее из qi в qj называемое (xr,ys). Для диаграмм Мура выполняются требования: 1) множества вершин и ребер конечны; 2) из одной вершины не выходят два ребра с одним входным символом; 3) для каждой входной комбинации (qi, xr) существует ребро, идущее из qi с символом xr.
Теорема: Для любого конечного автомата можно построить единственный эквивалентный ему минимальный автомат.
2.6. Автоматическая классификация объектов. Классификацией называют упорядочение объектов, осуществляемое исходя из степени сходства или различия между ними. При этом степень сходства между объектами, включенными в один класс, должна быть больше, чем степень сходства между объектами из различных классов.
Автоматическая классификация, построенная на использовании ЭВМ, называется кластеризацией объектов. Ее преимущество состоит в объективности, возможности учета нескольких характеристик большого числа классифицируемых объектов. Метод кластеризации наиболее эффективен, когда неизвестно исходное естественное распределение объектов.
Кластеризация иерархического типа состоит в последовательном объединении (разделении) групп объектов, начиная с самых близких, сходных (далеких, отличных), затем все более отдаленных друг от друга (приближенных друг к другу). В качестве меры близости двух объектов, как правило, используется геометрическое расстояние между точками, соответствующими этим объектам, в пространстве, образованном характеристиками, по которым осуществляется классификация.
Рассмотрим множество из n объектов, каждый из которых характеризуется некоторой совокупностью признаков O1(x1,y1,z1), O2(x2,y2,z2)... В пространстве признаков XYZ каждому объекту соответствует точка. В качестве меры близости двух объектов Oi и Ok обычно выбирают геометрическое расстояние между этими точками:
Si,k=((xi-xk)2+ (yi-yk)2+ (zi-zk)2)1/2.
На начальном этапе считают, что каждый объект образует кластер с весовым коэффициентом 1. Для каждой пары точек определяют меру близости Si,k и, сравнивая их друг с другом, находят наиболее близко расположенные объекты, которые объединяются в один кластер с весовым коэффициентом 2. Координаты нового кластера определяются как средние взвешенные координат объединенных кластеров. Затем процесс повторяется. При слиянии двух кластеров Oi и Ok c весовыми коэффициентами pi и pk получающийся кластер Oi,k имеет следующие координаты и весовой коэффициент соответственно:
xi,k= (pi xi+ pk xk)/(pi+pk), yi,k= (pi yi+ pk yk)/(pi+pk), zi,k= (pi zi+ pk zk)/(pi+pk), pi,k= pi + pk. В результате l шагов, на каждом из которых два кластера объединяются в один, получается разбиение на n-l кластеров.
21. Линейные, разветвлённые и циклические алгоритмы.
Линейные, разветвляющиеся и циклические алгоритмы. Линейными называются алгоритмы, в которых операторы выполняются последовательно друг за другом, как они записаны в программе. Пример: вычисление плотности прямоугольного параллелепипеда и нахождения значения логических функций x = (A) and (C), y = (A) or (B), z = (not (A)) and (B or C) при заданных A, B, C.
INPUT "ВВЕДИТЕ ДЛИНЫСТОРОН ", a, b, c
INPUT "ВВЕДИТЕ МАССУ ", m
v = a * b * c
rho = m / v
PRINT "ОБЪЕМ ", v
PRINT "ПЛОТНОСТЬ ", rho
A = FALSE: B = TRUE: C = FALSE
x = A AND C: y = A OR B
z = (NOT (A)) AND (B OR C)
PRINT A, B, C, x, y, z
Разветвляющимися называются алгоритмы, исполнение которых может происходить по той или иной ветви в зависимости от промежуточных результатов вычислений. Для их программирования используется оператор условного перехода: IF условие THEN оператор1 ELSE оператор 2. Оператор безусловного перехода имеет формат: GOTO номер строки.
Пример: Вычисление функции y=log(x). Если введенное значение x неположительно, программа должна сообщить об этом.
INPUT "ВВЕДИТЕ X ", X
IF X > O THEN Y = LOG(X) ELSE GOTO 1
PRINT Y: END
1 PRINT "X ДОЛЖЕН БЫТЬ >0": END
Часто требуется многократно вычислять значения функции по одним и тем же формулам для различных значений аргумента, либо повторять иную последовательность действий при непрерывно изменяющихся значениях параметров. В этом случае используют циклы --- многократно повторяющиеся участки вычислительного процесса, в которых выполяняются одни и те же операторы для различных входных величин. Различают циклы с заданным и с неизвестным числом повторений. Целочисленная переменная, изменяющаяся в цикле называется параметром цикла. Чтобы организовать цикл необходимо: 1) задать параметр цикла i; 2) изменять параметр цикла на величину шага h; 3) проверять условие повторения цикла; 4) выходить из цикла при его окончании.
Возможны три вида циклов: 1) цикл с предусловием "пока" (WHILE условие... WEND): ПОКА (условие Q) ВЫПОЛНЯТЬ (оператор S); 2) цикл с постусловием "до" (используется оператор IF... THEN...): ПОВТОРЯТЬ (оператор S) ДО (условие Q); 3) счетный цикл или цикл с параметром (используется оператор FOR... TO... STEP...): ДЛЯ i от 1 ДО n ПОВТОРЯТЬ (оператор S).
22. Понятие об объектно-ориентированных языках программирования.
23. Классификация типов данных (на примере языка Паскаль).
24. Интегрированная среда Турбо Паскаль.
25. Электронные таблицы. Базы данных. СУБД.
Вопрос 2. Электронные таблицы. Назначение и основные функции.
Электронные таблицы (ЭТ) или табличные процессоры – специальные пакеты программ (прикладные программы) для хранения, анализа и обработки данных, представленных в виде таблиц, выполнения различного рода расчётов, математических операций и манипуляций с ними.
ЭТ используются в компьютерной технологии около 20 лет. В 80-х годах в нашей стране широко применялись табличные процессоры Lotus 1-2-3 и SuperCalc, работавшие с MS-DOS в текстовом режиме. До сих пор на маломощных машинах используется русифицированная версия SuperCalc под названием «Тагра». На современных машинах применяются более совершенные программы, работающие в графическом режиме под управлением Windows. В нашей стране наиболее популярны QuattroPro, Lotus и особенно Microsoft Excel.
Сегодня программы ЭТ распространены во всём мире. Они прошли путь развития и совершенствовались по мере развития компьютерной техники и информационных технологий. Изменялся интерфейс, увеличивался набор производимых операций, упрощалось «общение» пользователя с программой. Работая с современными ЭТ, вы обработаете любой объём данных, выполните серьёзные расчёты с помощью формул и с добавлением функций, вставите и обработаете диаграммы и графики, найдёте, систематизируете и упорядочите данные, а также используете знакомые вам способы форматирования (добавление рамок, выбор шрифтов, заливка и т.д.).
Функции ЭТ
1. Размещение данных в памяти ПК в упорядоченном виде.
2. Автоматическое проведение расчётов.
3. Вывод данных в наглядной графической форме.
4. Проведение численных экспериментов с математическими моделями.
5. Использование ЭТ как простую базу данных (с операциями сортировки, выборки).
6. Изготовление форматированных документов с произвольной информацией (можете поместить в таблицу портрет продавца или видеоклип с его персоной, нарисовать цветную диаграмму).
7. Сохранение информации на диске.
8. Печать документов, созданных в ЭТ.
Окно программы и окно документа содержат стандартные элементы. Видом экрана можно управлять, используя команду горизонтального меню (Вид – Панели инструментов).
Документом Excel является файл, который называется рабочей книгой. Книга содержит от 1 до 255 ЭТ, называемых рабочими листами.
Окно документа – таблица, состоящая из 16384 строк и 256 столбцов. Столбцы пронумерованы буквами латинского алфавита А, В …, АА, АВ, …, IV. Строки пронумерованы целыми числами от 1 до 16384. Основной структурный элемент таблицы – ячейка – на пересечении столбца и строки. Для указания на конкретную ячейку используется адрес, который составляется из обозначения столбца и номера строки, на пересечении которых эта ячейка находится. Например, А1; В5. Для ссылки на диапазон ячеек указывается адрес начальной и конечной ячеек диапазона, разделённых знаком «:». Например, А1: В5.
Этапы работы с ЭТ
Постановка задачи.
1.1. Разработка структуры таблицы.
1.2. Определение исходных данных, результатов и расчётных формул.
2. Ввод данных в ЭТ.
3. Редактирование данных и расчёт по формулам.
4. Форматирование таблицы перед печатью.
5. Сохранение на диске.
База данных (БД) – совокупность информации, организованной определённым образом на какую-либо тему. Например: БД книжного фонда библиотеки, БД кадрового состава учреждения, БД современной эстрадной музыки.
Сама по себе база данных не может обслужить запросы пользователя на поиск и обработку информации. БД – это только «информационный склад». Обслуживание пользователя осуществляет информационная система.
Информационная система – совокупность БД и всего комплекса аппаратно-программных средств для хранения, изменения и поиска информации, для взаимодействия с пользователем. Например, системы продажи билетов на пассажирские поезда и самолёты.
Компьютерная база данных – организованная совокупность данных, предназначенная для длительного хранения во внешней памяти ЭВМ и постоянного применения.
Для хранения БД может использоваться как один ПК, так и множество взаимосвязанных ПК. Информация в БД может быть организована по-разному. Чаще всего используется табличный способ.
БД с табличной формой организации называются реляционными БД.
Компьютерную базу данных можно создать несколькими способами:
· С помощью алгоритмических языков программирования Basic, Pascal и т.д. Данный способ применяется для создания уникальных БД опытными программистами.
· С помощью прикладной среды Visual Basic. Создание такой базы под силу только опытным пользователям.
· С помощью специальных программных средств, которые называются Системами Управления Базами Данных (СУБД). Работа с такими системами требует навыков работы с ПК и может быть освоена пользователем в короткие сроки.
Система Управления Базами Данных (СУБД) – программное обеспечение, предназначенное для работы с БД.
Системы, работающие с реляционными БД, называются реляционными СУБД. Большинство современных СУБД предназначены для работы с реляционными БД.
Функции СУБД
1. Размещение данных в памяти ПК в упорядоченном виде.
2. Использование операций сортировки и выборки.