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

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    32,5 Кб
  • Опубликовано:
    2012-06-29
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

ГЛАВА 1 ИСТОРИЯ КРИПТОЛГИИ

.1 Появление шифров

.2 Становление науки криптологии

ГЛАВА 2 АНАЛИТИЧЕСКИЙ ОБЗОР СОСТОЯНИЯ ВОПРОСА

.1 Актуальность мультимедийных обучающих систем

.2 Особенности создания обучающей программы

2.3 Обзор существующих обучающих систем

.4 Контроль состояния здоровья

.5 Выбор языка программирования

.5.1 Обоснование выбора стиля программирования

.5.2Обоснование выбора языка программирования

.6 Цели и задачи разрабатываемой обучающей программы

ГЛАВА 3 Обоснование структуры обучающей системы

3.1 Схема взаимодействия модулей

.2 Алгоритм функционирования обучающей программы

3.3 Общее описание работы программы

3.4 Модуль Unit1

3.5 Модуль TKF

3.6 Модуль LRF

3.7 Модуль Test

3.8 Модуль ResultF

.9 Модуль Tmini

.10 Модуль HELP

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

ПРИЛОЖЕНИЕ 1. Исходный код

ВВЕДЕНИЕ

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

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

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

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

Актуальность и важность данной диссертационной работы обусловлена следующими факторами:

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

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

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

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

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

Теоретическому обоснованию и практической реализации по криптографическим дисциплинам посвящено большое количество трудов. В качестве основных, следует отметить работы Нечаев В.И., Христочевский С.А., Черемушкина А.В., Нильс Фергюсон, Жельников В.

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

Объектом исследования является оптимизация учебного процесса.

В качестве предмета будет рассмотрена реализация программы visual foxpro на примере криптографической дисциплины «Криптографические протоколы». Изучение данного предмета вообще невозможно без помощи компьютера, т.к. многие современные алгоритмы были созданы специально для использования в ЭВМ.

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

Достижение поставленной цели требует решение следующих частных задач:

1.Изучить историю криптологии.

2.Проанализировать существующие обучающие программы.

.Проанализировать язык программирования.

.Рассмотреть цели и задачи разрабатываемой обучающей программы.

.Реализовать рабочую программу.

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

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

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

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

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

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

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

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

ГЛАВА 1. ИСТОРИЯ КРИПТОЛОГИИ

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

Важная для криптографии цель - секретность. Хотя традиционно криптография применялась исключительно вооруженными силами и дипломатическими службами, но сейчас она позволяет выполнять деловые операции путем передачи информации по сетям связи с использованием методов идентификации и аутентификации (идентификация и аутентификация - доказательства авторств и подлинности сообщения), цифровой подписи, выдачи разрешений на транзакции с регистрацией и их нотариальным заверением, отметки даты, времени суток и многое другое. Эти новые приложения превращают криптографию в технику двойного использования - для военных и гражданских целей. Шифрование в гражданском секторе ведется для проведения международных банковских операций, электронного обмена информацией, обмена электронной почтой и коммерческих сделок по сетям связи более чем 1000 коммерческих организаций в России и не менее чем 600 банков уже используют для этого специальные криптографические устройства. В основе такого разграничения применений лежит разделение сфер использования криптографии для сохранения секретности информации и для ее аутентификации. Это разграничение явно выражено в новейших криптографических системах с открытым ключом. Криптография необходима частному коммерческому сектору экономики России для прогрессивного развития и применение ее не должно зависеть лишь от интересов ФАПСИ.

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

1.1Появление шифров

Ряд систем шифрования дошел до нас из глубокой древности. Скорее всего они появились одновременно с письменностью в 4 тысячелетии до нашей эры. Методы секретной переписки были изобретены независимо во многих древних обществах, таких как Египет, Шумер и Китай, но детальное состояние криптологии в них неизвестно. Криптограммы выискиваются даже в древние времена, хотя из-за применяемого в древнем мире идеографического письма в виде стилизованных картинок были примитивны. Шумеры, по-видимому, пользовались тайнописью. Археологами найдены глиняные клинописные таблички, где первая запись замазывалась слоем глины, на котором делалась вторая запись. Происхождение таких странных таблиц могло быть вызвано и тайнописью, и утилизацией. Оттого что число знаков идеографического письма было более тысячи, то запоминание их представляло собой трудную задачу - тут не до шифрования. Тем не менее, коды, появившиеся вместе со словарями, были хорошо извест- ны в Вавилоне и Ассирии, а древние египтяне применяли по меньшей мере 3 системы шифрования. С развитием фонетического письма письменность резко упростилась. В древнем семитском алфавите во 2-м тысячелетии до нашей эры было всего около 30 знаков. Ими обозначались согласные звуки, а также некоторые гласные и слоги. Упрощение письма стимулировало развитие криптографии.

Даже в Библии можно найти примеры шифровок, хотя мало кто это замечает. В книге пророка Иеремии читаем: «...а царь Сессаха выпьет после них.» Такого царя или царства не было - неужели ошибка писца? Нет, просто порой священные иудейские тексты шифровались простой заменой. Вместо первой буквы алфавита писалась последняя, вместо второй - предпоследняя и так далее. Этот древний метод шифрования назывался атбаш. Читая по нему слово СЕССАХ, на языке оригинала получаем слово ВАВИЛОН, и смысл библейского текста может быть принят даже не верящим слепо в истинность писания.

Несомненно, что Прометей, давший людям числа с буквами и оценивший, кстати сказать, их выше огня, может считаться одним из первых криптологов. Но еще Демокрит полагал: «...все искусства, ни какое-либо другое не следует возводить ни к Афине, ни к другому божеству: все искусства порождены с течением времени потребностями и обстоятельствами». Именно поэтому криптология не могла найти хорошую среду обитания вплоть до Римской империи. Так, по свидетельству Геродота в древнем Египте роль шифра обычно играл специально созданный жрецами язык. Там параллельно существовали три алфавита: письменный, священный и загадочный. Первый из них отображал обычный разговорный язык, второй мог использоваться для изложения религиозных текстов, а третий применялся предсказателями или для сокрытия смысла сообщений. В древней Греции - тех же щей, да пожиже влей - бытовали десятки весьма отличных друг от друга диалектов. Диоген Лаэртский так объяснял одну из причин угасания философии пифагорийцев: «...записана она была по-дорийски, а так как это наречие малопонятное, то казалось, что и учения, на нем излагаемые, не подлинны и искажены...»

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

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

Вот что об этом сообщает Гай Светоний: «Существуют и его письма к Цицерону и письма к близким о домашних делах: в них, если нужно было сообщить что-нибудь негласно, он пользовался тайнописью, то есть менял буквы так, чтобы из них не складывалось ни одного слова. Чтобы разобрать и прочитать их, нужно читать всякий раз четвертую букву вместо первой, например, D вместо А и так далее». Это означает, что каждая буква шифровки заменялась четвертой по счету от нее в алфавите: А-В-С-D, или D вместо А. Послание сенату VENI VIDI VICI, то есть ПРИШЕЛ УВИДЕЛ ПОБЕДИЛ, сделанное Цезарем после однодневной войны с понтийским царем Фарнаком, выглядело бы шифровкой SBKF SFAF SFZF.

Зачем обращаться к столь древней истории? Монтень в своих философских опытах утверждает: «Невежество бывает двоякого рода: одно, безграмотное, предшествует науке; другое, чванное, следуетет за нею». Поэтому не нужно смеяться над простотой и наивностью первых шифров - опыты пионеров всегда неуклюжи. Однако вовсе не до смеха, когда, стараясь защитить свой труд, современные программисты воспроизводят пороки Гая Юлия - это свидетельствует о глубоких пробелах в нашем образовании.

Принципиально иной шифр, более древний, связан с перестановкой букв сообщения по определенному, известному отправителю и получателю правилу. Древние рассказывали: какой-то хитрец из спартанцев обнаружил, что если полоску пергаента намотать спиралью на палочку и написать на нем вдоль палочки текст сообщения, то, после снятия полоски буквы на ней расположатся хаотично. Это то же самое, будто буквы писать не подряд, а через условленное число по кольцу до тех пор, пока весь текст не будет исчерпан. Сообщение ВЫСТУПАЙТЕ при окружности палочки в 3 буквы даст шифровку ВУТЫПЕСАТЙ. Текст ее не понятен, не так ли?

Для прочтения шифровки нужно не только знать систему засекречивания, но и обладать ключом в виде палочки, принятого диаметра. Зная тип шифра, но не имея ключа, расшифровать сообщение было сложно. Этот шифр именовался скитала по названию стержня, на который наматывались свитки папируса, что указывает на его происхождение. Он был весьма популярен в Спарте и много раз совеpшенствовался в позднейшие времена. О его важном значении и большом распространении говорит свидетельство Плутарха в «Сравнительных жизнеописаниях», когда историк сообщает о жизни греческого полководца Алкивиада: «Однако Лисандр обратил внимание на эти слова не раньше, чем получил из дома скиталу с приказанием отделаться от Алкивиада...»

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

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

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

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

1.2Становление науки криптологии

В ручных шифрах того времени часто используются таблицы, которые дают простые шифрующие процедуры перестановки букв в сообщении. Ключом в них служат размер таблицы, фраза, задающая перестановку или специальная особенность таблиц. Простая перестановка без ключа - один из самых простых методов шифрования, родственный шифру скитала. Например, сообщение НЕЯСНОЕ СТАНОВИТСЯ ЕЩЕ БОЛЕЕ НЕПОНЯТНЫМ записывается в таблицу по столбцам. Для таблицы из 5 строк и 7 столбцов это выглядит так:

Н О Н С Б Н Я

Е Е О Я О Е Т

Я С В Е Л П Н

С Т И Щ Е О Ы

Н А Т Е Е Н М

После того, как открытый текст записан колонками, для образования шифровки он считывается по строкам. Если его записывать группами по 5 букв, то получится: НОНСБ НЯЕЕО ЯОЕТЯ СВЕЛП НСТИЩ ЕОЫНА ТЕЕНМ. Для использования этого шифра отправителю и получателю нужно договориться об общем ключе в виде размера таблицы. Объединение букв в группы не входит в ключ шифра и используется лишь для удобства записи несмыслового текста.

Более практический метод шифрования, называемый одиночной перестановкой по ключу очень похож на предыдущий. Он отличается лишь тем, что колонки таблицы переставляются по ключевому слову, фразе или набору чисел длиной в строку таблицы. Использовав в виде ключа слово ЛУНАТИК, получим такую таблицу.

Л У Н А Т И К

7 5 1 6 2 3

Н О Н С Б Н Я

Е Е О Я О Е Т

Я С В Е Л П Н

С Т И Щ Е О Ы

Н А Т Е Е Н М

до перестановки

А И К Л Н Т У

2 3 4 5 6 7

С Н Я Н Н Б О

Я Е Т Е О О Е

Е П Н Я В Л С

Щ О Ы С И Е Т

Е Н М Н Т Е А

после перестановки

В верхней строке ее записан ключ, а номера под ключом определены по естественному порядку соответствующих букв ключа в алфавите. Если в ключе встретились бы одинаковые буквы, они бы нумеровались слева направо. Получается шифровка: СНЯНН БОЯЕТ ЕООЕЕ ПНЯВЛ СЩОЫС ИЕТЕН МНТЕА. Для дополнительной скрытности можно повторно шифровать сообщение, которое уже было зашифровано. Этот способ известен под названием двойная перестановка. Для этого размер второй таблицы подбирают так, чтобы длины ее строк и столбцов были другие, чем в первой таблице. Лучше всего, если они будут взаимно простыми. Кроме того, в первой таблице можно переставлять столбцы, а во второй строки. Наконец, можно заполнять таблицу зигзагом, змейкой, по спирали или каким-то другим способом. Такие способы заполнения таблицы если и не усиливают стойкость шифра, то делают процесс шифрования гораздо более занимательным.

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

Широкое развитие торговли в средние века потребовало специфических шифров, предельно простых и удобных, которыми могли бы пользоваться купцы для передачи, например, даты приезда или цены товара. Это были простые шифры замены цифр на буквы, основанные на ключевом слове. Собственно, это коды, а не шифры - вспомните обозначение месяцев на банках консервов, но код, примененный единожды с неизвестной таблицей кодирования, схож по свойствам с шифром. Торговцы заранее договаривались об использовать общее ключевое слово, буквы которого соответствовали бы цифрам. Например, для ключа РЕСПУБЛИКА цифра 0 означает букву Р, цифра 1 означает Е, 2 - С, 3-Н и так далее. Поэтому получив от корреспондента сообщение ПРИБЫВАЮ ЕЛРПАС, они его читали как ПРИБЫВАЮ 16/03/92. Простота и удобство этой системы шифрования позволили ей дожить до начала этого века без всяких изменений.

Другой шифр, обычно называемый шифром Гронсфельда, состоит в модификации шифра Цезаря числовым ключом. Для этого под сообщением пишут ключ. Если ключ короче сообщения, то его повторяют циклически. Шифровку получают будто в шифре Цезаря, но отсчитывая необязательно только третью букву по алфавиту, а ту, которая сдвинута на соответствующую цифру ключа. Так, применяя в качестве ключа группу из трех начальных цифр числа «пи», а именно 314, получаем шифровку:

сообщение СОВЕРШЕННО СЕКРЕТНО

ключ 3143143143143143143

шифровка ФПЖИСЬИОССАХИЛФИУСС

Чтобы зашифровать первую букву сообщения С используя первую цифру ключа 3, отсчитывается третья по порядку от С в алфавите буква С-Т-У-Ф и получается буква шифровки Ф. Разновидность этого шифра была применена в резидентном англорусском словаре, составленном студентами МВТУ, и взломка его доставила слушателям лекций по программированию не меньше удовольствия, чем разгадывание кроссворда. Шифр Гронсфелвда имеет массу модификаций, претендующих на его улучшение, от курьезных, вроде записи текста шифровки буквами другого алфавита, до нешуточных, как двойное шифрование разными ключами. Кроме этих шифров, зачастую использовался шифр простой замены, заключающийся в замене каждой буквы сообщения на соответствующую ей букву шифра. Такой шифр, популярный среди школьников, является простым кодом и вскрытие его возможно при длине шифровки всего в 20-30 букв, а при длинах текста свыше 100 символов представляет собой очень простую, но весьма увлекательную задачу приведенную ниже. А сейчас рассмотрим рождение шифра сложной замены (шифры сложной замены называют многоалфавитными, так как для шифрования каждого символа исходного сообщения применяется свой шифр простой замены. Шифр Гронсфельда тоже многоалфавитный шифр - в нем 10 вариантов замены.), который используется по сей день.

Многие историки считают Иоганна Трисемуса, аббата из Германии, вторым отцом современной криптологии. В 1508 году Трисемус написал "Полиграфию", первую печатную работу по криптологии. В ней он первым систематически описал применение шифрующих таблиц, заполненных алфавитом в случайном порядке. Для получения такого шифра обычно использовались ключевое слово или фраза и таблица, которая для русского языка может иметь размер 5 х 6. Ключевое слово вписывалось в таблицу по строкам, а повторяющиеся буквы отбрасывались. Таблица дозаполнялась не вошедшими в нее буквами алфавита по порядку. Поскольку ключевое слово легко хранить в памяти, то такой подход упрощал процессы шифрования и дешифрования. Для ключа РЕСПУБЛИКА таблица будет иметь следующий вид:

Р Е С П У Б

Л И К А В Г

Д Ж 3 М Н О

Т Ф Х Ц Ч Ш

Щ Ь Ы Э Ю Я

Для описанного выше шифра Полибия с данной таблицей сообщение ОТПЛЫВАЕМ давало шифровку ШЩАДСНМИЦ. Такие табличные шифры называются монограммными, так как шифрование ведется по одной букве. Трисемус первым заметил, что можно шифровать по две буквы за раз. Такие шифры были названы биграммными. Наиболее известный шифр биграммами называется Playfair. Он применялся Великобританией в Первую мировую войну. Опишем его на примере той же самой таблицы. Открытый текст разбивался на пары букв (биграммы) и текст шифровки строился из него по следующим двум очень простым правилам.

Если обе буквы биграммы исходного текста принадлежали одной колонке таблицы, то буквами шифра считались буквы, которые лежали под ними. Так биграмма УН давала текст шифровки ВЧ. Если буква открытого текста находилась в нижнем ряду, то для шифра бралась соответствующая буква из верхнего ряда и биграмма ОЯ давала шифр ШБ. (Биграмма из одной буквы или пары одинаковых букв тоже подчинялась этому правилу и текст ЕЕ давал шифр ИИ).

Если обе буквы биграммы исходного текста принадлежали одной строке таблицы, то буквами шифра считались буквы, которые лежали справа от них. Так биграмма ИВ давала текст шифровки КГ. Если буква открытого текста находилась в правой колонке, то для шифра бралась соответствующая буква из левой колонки и биграмма ОМ давала шифр ДН.

Если обе буквы биграммы открытого текста лежали в разных рядах и колонках, то вместо них брались такие две буквы, чтобы вся четверка их представляла прямоугольник. При этом последовательность букв в шифре была зеркальной исходной паре. Например, СТ шифровалось как РХ, а ТБ шифровалось как ШР. При шифровании фразы ПУСТЬ КОНСУЛЫ БУДУТ БДИТЕЛЬНЫ по биграммам получается такая шифровка:

ПУ СТ ЬК ОН СУ ЛЫ БУ ДУ ТБ ДИ ТЕ ЛЬ НЫ

УБ РХ ЫИ ДО ПБ КЩ РБ HP ШР ЖЛ ФР ИЩ ЗЮ

Шифрование биграммами резко усилило стойкость шифров к вскрытию. При всем при том, что «Полиграфия» была довольно доступной печатной книгой, описанные в ней идеи получили признание лишь тремя веками позже. Скорее всего это вызвано плохой известностью среди криптографов Трисемуса, который слыл богословом, библиофилом и основателем архивного дела. Среди шифров средневековья встречается много курьезов. Леонардо да Винчи шифровал большинство своих личных записей. Самый простой вид шифра которым он пользовался, это обратное написание текста так, что прочесть его можно лишь в отражении зеркала. Однако Леонардо иногда использовал шифры и посерьезнее, поэтому далеко не все его заметки и записи расшифрованы и изучены. Люди, умеющие писать левой рукой справа налево зеркальный текст, нередки. Изумительно, но встречаются люди, которые умеют даже произносить фразы «наоборот» и понимать их на слух. Поистине, человеческим способностям нет и не будет предела. В средние века появляются профессиональные и даже потомственные криптографы, вроде семейства Ардженти, служившего у папы Римского.

Новое время привнесло новые достижения в криптографию. Постоянно расширяющееся применение шифров выдвинуло новое требование к ним - легкость массового использования, а старое требование - устойчивость к взлому не только осталось, но и было усилено. Поэтому 1854 год, когда англичанин Чарльз Уитстон разработал новую шифровку биграммами, которую называют двойной квадрат, открыл новый этап в криптографии. Название шифр получил по аналогии с полибианским квадратом. В отличие от полибиаиского, двойной квадрат использует сразу две таблицы, расположенные по горизонтали, а шифрование идет биграммами, как в шифре Playfair. Эти, казалось бы и не столь уж значительные изменения привели к появлению на свет новой криптографической системы ручного шифрования. Она оказалась так надежна и удобна, что применялась немцами даже в годы Второй мировой войны. По отзыву ее создателя, шифрование двойным квадратом предельно просто и его «можно доверить даже дипломатам». Приведем пример использования шифра двойной квадрат для русских текстов. Имеются две таблицы со случайно расположенными в них алфавитами:

Ч В Ы П

О К : Д У

Г Ш 3 Э Ф

Л Ъ Х А ,

Ю Р Ж Щ Н

Ц Б И Т Ь

. С Я М Е

Е Л Ц : П

. Х Ъ А Н

Ш Д Э К С

Ы Б Ф У

Я Т И Ч Г

М О , Ж Ь

В Щ 3 Ю Р

Для шифрования сообщение разбивают на биграммы. Первая буква биграммы находится в левой таблице, а вторая в правой. Затем, мысленно в таблице строится прямоугольник так, чтобы буквы биграммы лежали в его противоположных вершинах. Другие две вершины этого прямоугольника дают буквы шифровки. Предположим, что шифруется биграмма текста ОЖ. Буква О находится в колонке 1 строки 2 левой таблицы. Буква Ж находится в колонке 4 строки 6 правой таблицы. Значит, прямоугольник образован строками 2 и 6, а также колонками 1 левой и 4 правой таблиц. Следовательно, шифровке соответствуют буквы, лежащие в колонке 1 строки 6 левой таблицы Ц и в колонке 4 строки 2 правой таблицы А - биграмма АЦ. Так парами букв шифруется все сообщение:

Сообщение: ПР ИЕ ЗЖ АЮ Ш ЕС ТО ГО

Шифровка : ПЕ МБ КИ ФМ ЕШ РФ ЖБ ДЦ ЩП

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

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

ГЛАВА 2. АНАЛИТИЧЕСКИЙ ОБЗОР СОСТОЯНИЯ ВОПРОСА

.1 Актуальность мультимедийных обучающих систем

Веками человечество накапливало знания, навыки работы, сведения об окружающем мире, т.е. собирало информацию. Вначале информация передавалась из поколения в поколение в виде преданий и устных рассказов. Возникновение и развитие книжного дела позволило передавать и хранить информацию в более надежном письменном виде. Открытия в области электричества привели к появлению телеграфа, телефона, радио, телевидения - средств, позволяющих оперативно передавать и накапливать информацию. Развитие прогресса обусловило резкий рост информации, в связи с чем, вопрос о ее сохранении и переработке становился год от года острее. С появлением вычислительной техники значительно упростились способы хранения, а главное, обработки информации. Развитие вычислительной техники на базе микропроцессоров приводит к совершенствованию компьютеров и программного обеспечения. Появляются программы, способные обработать большие потоки информации. С помощью таких программ создаются информационные системы. Целью любой информационной системы является обработка данных об объектах и явлениях реального мира и предоставление человеку нужной информации о них [5].

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

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

Также актуальность разработки обучающих программ заключается еще и в том, что сейчас существует множество спецдисциплин с быстро меняющейся предметной областью, например, микропроцессоры, программное обеспечение устаревает за 1 - 2 года. В этом случае преподавателю удобнее поддерживать и актуализировать электронную версию учебника [15].

2.2Особенности создания обучающей программы

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

. Презентационная составляющая, в которой излагается основная информационная часть курса (теория);

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

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

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

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

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

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

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

Однако проводить качественное тестирование без применения специальных средств, практически, невозможно из-за большого объема данных, который необходимо переработать преподавателю:

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

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

Поэтому неотъемлемым компонентом электронного учебника является пакет интерактивных компьютерных дидактических программ. Именно благодаря этому компоненту обеспечивается контроль знаний обучаемых [15].

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

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

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

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

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

. может обновить необходимую информацию, например, с помощью Интернет;

Вдобавок к вышесказанному, современные автоматизированные учебники должны обладать следующими основными свойствами:

. соответствовать образовательным стандартам;

. поддерживать компьютеризированную методику обучения;

. быть реализованными на основе современных инструментальных средств;

. иметь документацию для пользователя;

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

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

2.3Обзор существующих обучающих программ

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

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

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

Обучающая программа «Help Office»

Данная обучающая программа предназначена для получения пользователем навыков по работе с офисными программами «MS Outlook», «MS Access», «MS Word», «MS Excel», «MS PowerPoint», также она позволяет научиться работать в Интернете, в программе автоматического перевода «Promt», позволяет приобрести знания по сканированию, распознаванию текста, записи файлов на компакт-диск, а еще ознакомиться с программой по архивации данных.

Принцип работы:

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

Язык программирования:

Средством разработки данной работы является язык программирования Delphi.

Достоинства обучающей программы «Help Office»:

. помогает быстро найти необходимую информацию;

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

. можно обновить необходимую информацию, например, с помощью Интернет;

. красивый интерфейс;

Недостатки обучающей программы «Help Office»:

1.Нет возможности контроля полученных знаний;

2.Программа не включает блок тренинга, который бы помог закрепить полученные знания.

.Низкая скорость переключения между модулями.

Обучающая программа «Учимся программировать в Delphi»

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

Принцип работы:

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

Язык программирования:

Средством разработки данной работы является язык программирования Delphi.

Достоинства обучающей программы «Учимся программировать в Delphi»:

1. наглядность подачи материала, вследствие этого хорошая запоминаемость информации;

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

Недостатки обучающей программы «Учимся программировать в Delphi»:

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

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

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

Созданные продукты, как правило, несут на себе отпечаток личных взглядов создателя. Так, например, если разработчиками электронного издания являются программисты, то в этом случае можно наблюдать недостаточное внимание к информации, к ее достоверности и качеству. Основное внимание здесь уделяется компьютерным эффектам или особым навигационным приемам, реализуемым в продукте. Достаточно взглянуть на характеристики компакт-дисков, наиболее часто представляемых в компьютерных изданиях и рекламных проспектах: на первом месте стоит объем записанной информации, количество иллюстраций, аудио - и видеофрагментов и их продолжительность. Данные о качестве информации обычно отсутствуют, в лучшем случае указывается, что продукт представляет собой электронную копию печатного издания. Примерами этому могут служить обучающая программа «Репетитор по биологии человека» Р.Д. Маш, которая представляет собой полную копию книги «Биология, человек 8 класс» (под авторством Д.В.Колесова, Р.Д. Маш, И.Н. Беляева), только с использованием множества компьютерных эффектов.

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

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

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

.4Контроль состояния здоровья

шифр криптология обучающая программа

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

В блок тестирования включены два теста:

. Методика диагностики уровня эмоционального выгорания В.В. Бойко;

. Методика экспресс-диагностики невроза К.Хека и Х. Хесса, а также диагностики уровня невротизации Л.И. Вассермана.

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

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

2.5 Выбор языка программирования

.5.1 Обоснование выбора стиля программирования

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

Процедурное программирование

Процедурное (императивное) программирование является отражением архитектуры традиционных ЭВМ, которая была предложена фон Нейманом в 40-х годах.

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

Процедурные языки характеризуются следующими особенностями:

необходимостью явного управления памятью, в частности, описанием переменных;

малой пригодностью для символьных вычислений;

отсутствием строгой математической основы;

высокой эффективностью реализации па традиционных ЭВМ.

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

К процедурным языкам относятся: язык Ассемблера, С, Basic, Pascal.

Функциональное программирование

Первым таким языком был LISP.

Роль основной конструкции в функциональных (аппликативных) языках играет выражение. К выражениям относятся скалярные константы, структурированные объекты, функции, тела функций и вызовы функций.

Аппликативный язык программирования включает следующие элементы:

классы констант, которыми могут манипулировать функции;

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

правила построения новых функций из базовых;

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

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

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

Логическое программирование

Новую область - логическое, или реляционное программирование, - открыло появление языка PROLOG. Этот язык был создан французским ученым А. Кольмероэ в 1973 году. В настоящее время известны и другие языки, однако наиболее развитым и распространенным языком логического программирования является именно Пролог. Языки логического программирования, в особенности Пролог, широко используются в системах искусственного интеллекта.

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

высоким уровнем;

строгой ориентацией на символьные вычисления;

возможностью инверсных вычислений, то есть переменные в процедурах не делятся на входные и выходные;

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

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

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

Объектно-ориентированные системы предназначены для изменений. Второе преимущество объектно-ориентированных систем обусловлено способом взаимосвязи объектов через сообщения. Гибкость объектно-ориентированных систем является неоспоримым преимуществом для пользователей в быстро меняющихся средах, например, в технологии программирования. Так, Computer Science Corporation использовал объектно-ориентированный язык Smalltalk для разработки продукта Design Generator. Компания отмечает, что благодаря использованию объектно-ориентированной технологии, разработчики программ имеют возможность быстро реагировать на новые течения рынка в условиях возрастающей конкуренции.

Объекты могут использоваться несколько раз. Третье преимущество объектно-ориентированных систем заключается в том, что классы могут наследовать процедуры от других классов. Компания может составить библиотеки наиболее часто используемых классов, содержащих процедуры, предназначенные для специфических нужд и применяющихся в последующих прикладных задачах. В прошлом библиотеками подпрограмм пользовались разработчики ПО для решения стандартных задач типа математических вычислений. Объектно-ориентированные системы дают более широкий спектр многократного использования текстов программ. Библиотеки объектов также можно приобретать от независимых поставщиков. В настоящее время наиболее активно покупают такие библиотеки классов для создания пользовательских интерфейсов с пиктограммами. Разработка и написание таких интерфейсов с нуля - задача нелегкая. Компании типа Apple и Whitewater Group поставляют инструментарии для быстрого построения таких интерфейсов на основе нескольких базовых классов типа Window, Menu, ScrollBar и Icon. Пользователи могут использовать как эти классы, так и их подклассы, добавляющие в интерфейс, например, специальные пиктограммы.

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

Вследствие этих преимуществ, а также еще ряда причин, объектно-ориентированное программирование (ООП) является в настоящее время самым перспективным, распространенным и эффективным направлением в программировании [35].

2.5.2 Обоснование выбора языка программирования

Программирование всегда было достаточно сложной задачей. Как выбрать способ, наиболее подходящий для решения конкретной задачи, и как добиться максимальной производительности приложения?

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

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

Коммерческие компании предъявляют к своим сотрудникам достаточно жесткие требования. Это естественно, ведь цель любой компании - получение прибыли. Обычно они создают хорошие условия труда и выплачивают солидную зарплату. Но рабочий день в таких компаниях расписан по минутам, и времени на изучение устройства нового компонента или принципов функционирования новой технологии подчас просто не найти. Поэтому вся мировая индустрия средств разработки приложений движется в направлении максимального упрощения процесса создания программ, переводя его на визуальный уровень. - самая современная система программирования и в тоже время доступна для освоения даже начинающим [31].

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

Если же сравнивать Delphi с С++, то сразу понятно, что синтаксис С++ прямо-таки провоцирует создание запутанных программ, в которых трудно разобраться даже автору, в то время как простой и ясный синтаксис Delphi позволяет последнему претендовать на роль языка, идеально подходящего для описания алгоритма. А еще Delphi имеет самый быстрый среди продуктов подобного рода оптимизирующий компилятор, позволяющий создавать быстрые и относительно компактные программы.- язык и среда программирования, относящаяся к классу RAD- (Rapid Application Development - «Средство быстрой разработки приложений») средств CASE - технологии. Delphi сделала разработку мощных приложений Windows быстрым процессом, доставляющим вам удовольствие. Приложения Windows, для создания которых требовалось большое количество человеческих усилий например в С++, теперь могут быть написаны одним человеком, использующим Delphi. [29]

Выгоды от проектирования АРМ в среде Windows с помощью Delphi:

1. Устраняется необходимость в повторном вводе данных;

2. Обеспечивается согласованность проекта и его реализации;

. Увеличивается производительность разработки и переносимость программ [31].

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

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

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

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!