Автор: Надточий Ирина Сергеевна, учитель информатики, МБУ лицей №6 г.Тольятти
Цели урока:
образовательная:
закрепить знания, умения и навыки решения задач по теме «Составные типы данных. Строки»;
развивающая:
развивать умения выделять главное, сравнивать, анализировать, проводить аналогию, обобщать, творчески мыслить;
развивать операционный и алгоритмический стили мышления;
воспитательная:
воспитывать умение работать в коллективе, чувство ответственности за принимаемое решение;
воспитывать творческий подход к выполняемой работе.
Формирование основных компетенций:
коммуникативная компетенция – отношение к языкам (программирования) как к средству коммуникации; понимание особенностей использования формальных языков;
социальная компетенция — отношение к информатике как к части общечеловеческой культуры, играющей особую роль в общественном развитии;
персональная компетенция — способность к саморазвитию, способность самостоятельно приобретать новые знания и умения.
Тип урока: урок обобщения и систематизации знаний и способов деятельности.
Материалы и оборудование, используемое программное обеспечение:
персональные компьютеры, Turbo Pascal, MS PowerPoint.
Этапы урока:
I. Организация начала занятия — 1 мин.
II. Подготовка к основному этапу занятия, сообщение темы и целей урока — 2 мин.
III. Повторение основных положений, необходимых для выполнения работы — 5 – 7 мин.
IV. Обобщение и систематизация знаний и способов деятельности — 20 – 25 мин.
Физкультминутка – 1мин.
V. Подведение итогов урока -2 – 3 мин.
VI. Информация о домашнем задании, инструктаж по его выполнению — 3 – 5 мин.
Ход урока
Организационный момент.
Здравствуйте, ребята!
Думаю, что все вы обратили внимание на три загадочных слова на слайде: ТУЛЫИО ЦЕЛЗИО ТСДИЗЛО. Можно ли сразу предположить, что они значат?
Ответ: Можно предположить, что это зашифрованная фраза
Подготовка к основному этапу занятия, сообщение темы и целей урока.
Верно, это так. Я думаю, что каждый из вас хотя бы раз придумывал себе пароль для входа в какую-нибудь компьютерную программу. И старался придумать пароль по хитрее, чтобы никто не смог его взломать.
Один из методов защиты информации от неправомерного доступа – это шифрование, т.е. кодирование специального вида. Человечество применяет шифрование с того момента, как появилась секретная информация, которую надо было скрыть от врагов. Первое известное науке шифрованное сообщение – египетский текст, в котором вместо принятых тогда иероглифов были использованы другие знаки.
Методы шифрования и расшифровывания сообщения изучает наука криптология, история которой насчитывает около четырех тысяч лет. Она состоит из двух ветвей: криптографии и криптоанализа, иначе говоря, шифрование информации и способы вскрытия шифров.
Давайте настроимся и активизируем наше внимание на теме урока– «Составные типы данных. Строки». Цель нашего урока — закрепление знаний, умений и навыков обработки строковых переменных в Turbo Pascal.
III. Повторение основных положений.
На уроках вы узнали, что такое типы данных, их виды, изучили простые типы, познакомились с составным типом — строками. Теперь давайте вспомним функции обработки строковых величин и приведем наши знания в систему.
Вопросы: (после каждого ответа на слайде появляется правильный ответ)
1. Что такое строка? Возможный ответ: Строка – это последовательность символов.
2. Какая длина у строки? Возможный ответ: Количество символов в строке может меняться от 0 до 255.
3. Как объявляется строка? Возможный ответ: Для определения строки используется служебное слово string.
4. Перечислите основные процедуры и функции обработки строковых переменных.
Возможный ответ: Delete (St, Poz, N) – удаление N символов строки, начиная с номера Poz.
Insert (Str1, Str2, Poz) – вставка строки Str1 в строку Str2, начиная с позиции Poz.
Str (Chislo, Stroka) – преобразование числа в строку.
Val (Stroka, Chislo, Code) – преобразование строки в число. Code – номер позиции первого ошибочного символа, если он есть.
Copy (St, Poz, N) – выделяет из строки подстроку длиной N символов, начиная с номера Poz.
Length (Stroka) – вычисляет текущую длину строки.
Обобщение и систематизация знаний и способов деятельности.
Итак, условие задачи: Галльским воинам посчастливилось перехватить римского гонца, везшего свиток с важным посланием римскому дивизиону от самого Юлия Цезаря. Развернув свиток, галлы обнаружили не имеющую на первый взгляд смысла последовательность символов. Помогите галлам прочитать важное послание Юлия Цезаря.
Сегодня вам предстоит попробовать себя в роли шифровщика и дешифровщика сообщений. Мы будем использовать шифр Цезаря – один из самых известных и древних шифров. В этом шифре каждая буква x заменяется на другую, расположенную в алфавите на заданное число позиций к вправо от нее: y = x + k
На слайде — те три загадочных слова, которые вы видели в начале урока. Это известная фраза: «ПРИШЕЛ УВИДЕЛ ПОБЕДИЛ», зашифрованная шифром Цезаря со сдвигом k=3.
Если известно число k, то разгадать сообщение легко. А если нет?
Ключом для шифра Цезаря служит сдвиг k; если его знать, то сообщение легко расшифровать.
Для этого используется формула: x = (y – k +n) mod n, где n – количество символов в алфавите.
Давайте разделимся на 4 группы. Первая группа будет писать программу шифрования с известным сдвигом и зашифрует сообщение «ЛЮДИ ОХОТНО ВЕРЯТ ТОМУ, ЧЕМУ ЖЕЛАЮТ ВЕРИТЬ» со сдвигом к=6, вторая группа – напишет программу и расшифрует сообщение «СДКО ФЫФШУФ ИЛЦЕШ ШФТЩ, ЭЛТЩ МЛСЖДШ ИЛЦОШЕ» со сдвигом к=6. Третья и четвертая группа составят программу, которая расшифрует сообщение «ХШЖНПУТ ФКХКОЙКТ» с произвольным сдвигом.
Первым двум группам того, что мы повторили, достаточно. Но третьей и четвертой группе для работы понадобится использовать и другие составные типы данных – текстовые файлы и массивы. В этих группах будут работать ребята, которые на дополнительных занятиях и на командных тренировках познакомились с этими составными типами. Обсудите, что вам понадобится для работы.
Первые две группы могут приступать к работе.
Разберем задание третьей и четвертой группам.
Если неизвестен сдвиг k, то следует воспользоваться так называемым частотным анализом: в каждом языке частоты встречаемости букв примерно постоянны для любого достаточно большого текста.
Частота | |
Пробел | 20% |
О | 7,6% |
Е | 7,3% |
А | 6,3% |
И | 5,8% |
Т | 5,5% |
Н | 4,9% |
… | … |
Вам следует взять текст из папки 9 класса и записать в массив частоту встречаемости каждой буквы алфавита. Затем аналогичным образом проанализировать зашифрованный текст. Сдвиг k будет определяться как разность между номерами чаще всего встречающейся буквы из первого и второго массива.
Приступайте к работе.
Во время выполнения учитель подходит к группам, отвечает на вопросы, помогает учащимся. Учащиеся распределяют работу между собой, предлагают способы представления данных, обсуждают алгоритм решения.
Физкультминутка: Теперь отдохнём. Сейчас мы с вами выполним упражнения. Они выполняются сидя.
1.Сомкните веки обоих глаз на 3—5 секунд. Затем откройте их на такое же время. Это упражнение повторите 6—8 раз.
2. Быстро моргайте обоими глазами в течение 10—15 секунд. Повторите 6—8 раз.
3.Медленно переводите взгляд вправо-вверх, затем влево-вниз и обратно. А теперь переводите взгляд по другой диагонали — влево-вверх, затем вправо-вниз и обратно. Повторите упражнение 8—10 раз. Молодцы!
V. Подведение итогов урока.
Давайте подводить итоги. Все группы получили карточки с заданием. Первая и вторая группа запускают свои программы и вводят заданное высказывание и сдвиг k = 6. Затем обмениваются карточками и проверяют себя. Ваши ответы должны совпасть. Посмотрите на экран, это правильный ответ. Третья и четвертая группы должны были расшифровать сообщение и определить сдвиг. Правильный ответ на слайде «РУБИКОН ПЕРЕЙДЕН», сдвиг к=5.
Какой вывод вы сделали?
Примерный ответ: Этот метод расшифровки хорошо работает для достаточно больших текстов, чтобы можно было использовать частотный анализ.
Все группы справились с заданием, молодцы! (Учитель зачитывает оценки учащихся).
А кто из вас знает значение этой фразы: «Рубикон перейден»?
Среди тех, кто обогатил нашу речь чудесными афоризмами, был знаменитый римский политический деятель и полководец Гай Юлий Цезарь. С его именем связывают и фразу, знаменующую принятие бесповоротного решения, когда человек отваживается на нечто чрезвычайное, что может иметь важные, возможно, непредсказуемые последствия. В таких случаях мы нередко говорим: “Жребий брошен” или “Рубикон перейден”. Правда, сам Цезарь в переломный момент своей судьбы высказался короче: “Alea jacta est” (алеа якта эст), что означает “жребий брошен”.
…В 49 году до н. э., покорив всю Галлию (территория современной Франции), став обладателем несметных богатств, захваченных в качестве военной добычи, Цезарь, однако, должен был сложить перед Сенатом полномочия проконсула Галльских провинций и для этого явиться в Рим. Из-за растущего могущества Цезаря Сенат стал считать его прямой угрозой и себе, и республике. Поэтому он наделил особыми полномочиями Помпея (соратника полководца, а потом его врага) и одновременно потребовал, чтобы Цезарь, согласно закону, распустил войско – ни один военачальник не мог пересекать границу Италии во главе вооруженных отрядов. Получив об этом известие, Цезарь решился на завоевание единоличной власти, и первым шагом к этому стала переправа его легиона через реку Рубикон, служившую естественной границей древней Италии.
Вот как описывает этот исторический момент античный автор Плутарх: «Когда он (Цезарь) приблизился к речке под названием Рубикон, которая отделяет Галлию от собственно Италии, его охватило глубокое раздумье при мысли о наступающей минуте, и он заколебался перед величием своего дерзания. Остановив повозку, он вновь долгое время обдумывал со всех сторон свой замысел, принимая то одно, то другое решение. Он понимал, началом каких бед для всех людей будет переход через эту реку и как оценит этот шаг потомство. Наконец, как бы отбросив размышления и отважно устремляясь навстречу будущему, он произнес слова, обычные для людей, вступающих в отважное предприятие, исход которого сомнителен: «Жребий брошен!» – и двинулся к переправе… Вместе с границей провинции были нарушены и стерты все римские законы». Началась вторая гражданская война, которую выиграл Цезарь.
С тех пор и вошли в обиход крылатые выражения: “Жребий брошен” и “Рубикон перейден”.
VI. Домашнее задание: первая и вторая группа меняются заданиями.
Третья и четвертая группа находят в сети Интернет информацию о шифре Виженера – продолжении развития шифра Цезаря и зашифрует фразу Цезаря «ПРИШЕЛ УВИДЕЛ ПОБЕДИЛ» с ключом «ЗАБЕГ». Спасибо за урок!
Литература
https://gra.ros-adv.ru/magazine.php?m=25&a=20 Общественно-правовой журнал «Российский адвокат»
А.В.Зязин, Турнир по программированию «История криптографии», «Информатика», №16, 2010г.
К.Ю.Поляков, Основы криптографии, «Информатика», №16, 2010г.