суббота, 30 июня 2012 г.

Сообразим на троих :)

http://acm.pku.edu.cn/JudgeOnline/problem?id=1174 Обязательная задача на лето для троих :)
Друзья мои, вы должны обязательно за лето решить эту задачку (ну, это я так говорю за лето, а на самом деле - чем быстрее, тем лучше). И не говорите, что вы не читали это сообщение, я  все равно не поверю!  Даже вижу сейчас ваши три недовольных лица! :) Если вы не поняли о ком речь, перечислю поименно (Д.А. Н.В. И.Д.)Так вот, это важнейшая и интереснейшая задачка в методическом плане, в ней красиво сплетаются воедино несколько серьезных тем: "Указатели" (Н.В. снова отдыхал когда мы разбирали эту тему, поэтому должен разобрать ее самостоятельно по учебнику Окулова стр.346 ), "Системы счисления", "Обработка строк", "Сортировку"(Quicksort) . Сейчас я составляю кучу тестов к этой задаче (через три дня тесты будут) надеюсь, что вы не хотите получать двоечку в 11 классе. С уважением. Ваша добрейшая учительница.Контакт Доктор Астро Ински (Astro Insky) работает в радиотелескопическом центре. Недавно она заметила очень странное пульсирующее микроволновое излучение, исходящее непосредственно из центра галактики. Посланы ли эти сигналы какой-нибудь внеземной формой разумной жизни? Или это простое сердцебиение звезд?
Вы должны помочь доктору Ински отыскать истину, создав инструмент для анализа битовых последовательностей в записанных ею сообщениях. Доктор Ински хочет найти битовые подпоследовательности длиной от А до В включительно, которые встречаются в записанной последовательности наиболее часто. Подпоследовательности могут перекрываться. Определяются N наибольших различных частот (т.е. количество вхождений). Учитываются подпоследовательности, которые встречаются хотя бы один раз.

Решение (моё) и тесты готовы. 1.07.2012 (Два человека сдали.)

пятница, 29 июня 2012 г.

Сервис для виртуального путешествия по мировым достопримечательностям

Компания Google на днях анонсировала новый сервис World Wonders, благодаря которому пользователи смогут «виртуально» попутешествовать по мировым достопримечательностям, не вставая из-за монитора компьютера. Проект под эгидой Google’s Cultural Institute предоставит возможность увидеть уникальные памятники архитектуры, посетить исторические места и живописные уголки нашей планеты (c)


четверг, 28 июня 2012 г.

Волшебная таблица!

Разгадайте секрет волшебной таблицы, умеющей отгадывать задуманные числа!
Составьте расширенную волшебную таблицу для угадывания чисел от 1 до 63.  Ответы в блог, мне на почту - уведомление. Первый, раскрывший секрет волшебной таблицы, получает приз (еще не  придумала какой... :))

среда, 13 июня 2012 г.

Специальный (заключительный) выпуск этого года для 8 "Г"

Друзья мои, мы с Вами не успели провести один очень интересный урок. Для этого специально разрабатывали (ТОЛЬКО ДЛЯ ВАС) прикольную программу!
1.Переставьте одну спичку, чтобы получилось верное равенство. (В первой задачке укажите два способа, математический и "информатический" )

понедельник, 11 июня 2012 г.

Практика

В среду 13.06.2012 практика у второй подгруппы 8 "г" в 15.00
В четверг 14.06.2012 практика у второй подгруппы 8 "г" в 12.00

четверг, 7 июня 2012 г.

Сообщение ни о чем

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

пятница, 1 июня 2012 г.

Начало работы летней школы для одаренных детей


Мои пособия к урокам

Все авторские идеи и пособия для интерактивной доски 2012 года в одной книге с CD-диском. Скачать можно по предварительной договоренности по электронной почте.



Презентация - оглавление (10 из 100):









Презентация по теме "Одномерные массивы" 2019г.

   Презентация к уроку "Одномерные массивы"​. Занимательная презентация выполненная в стиле фантастического фильма  Fantastic Beasts and Where to Find Them​, 2016г позволит провести увлекательный и запоминающийся урок, для обучающихся 7 класса. А главный герой фильма, всеми любимый персонаж - веселый "Нюхлер", позволит освоить сложный материал быстро и качественно. Цель урока - поймать воришку Нюхлера, собирая золотые монеты за каждую правильно решенную задачу. Как только у Вас будет много монет, приманить его не составит особого труда! Удачи, мои юные волшебники!







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







"Люди обожают все таинственное".
Код да Винчи (Дэн Браун)


"Разработка учебного научно-исследовательского проекта по защите информации "Кодовый диск Альберти"в рамках концепции смешанного обучения

            В современном информационном мире ценность информации постоянно растет, соответственно, возникает необходимость её защиты от несанкционированного доступа. Шифрование информации -- единственное надёжное решение данной задачи. В связи с этим постоянно увеличивается количество методов шифрования. Таким образом, цель данной работы напрямую связана с актуальностью проблемы защиты информации. Кроме того, реализация и подготовка подобного творческого  проекта поможет обучающимся старших классов не только открыть для себя интересный и многогранный мир шифров и кодов, и выступить с докладом на научной конференции учащихся, но и параллельно подготовиться к сдаче ЕГЭ по  информатике, т.к. проект охватывает большой пласт подготовки к экзамену, связанный с решением самой сложной задачи ЕГЭ № 27. Примеры подобных задач я привожу в этой статье.
            Данная статья представляет собой подробную инструкцию по подготовке совместно с учащимися научного проекта, начиная от ответа на вопрос "Где взять вдохновение" и какие задачи можно разобрать в рамках программы по информатике непосредственно на уроках, чтобы учащиеся справились с  реализацией проекта самостоятельно. Проект получается настолько глубокий и многогранны  й, что позволяет достаточно просто выстроить  индивидуальные образовательные траектории для всех учеников кто будет заинтересован в его реализации в рамках концепции смешанного обучения. Итак, проект подходит для многих возрастных категорий (10-11 класс), начиная с 5 класса, но данная статья рассчитана на обучающихся старших классов, хорошо владеющих языком программирования Pascal и желающих самостоятельно и очень быстро познакомиться со средой разработки оконных приложений Delphi7.
Цель проекта: Разработать приложение для решения задачи шифрования и дешифрования текста при помощи  метода Леон Баттиста Альберти. Создать  модель кодового диска Альберти. Углубить знания языка программирования Pascal и среды разработки оконных приложений Delphi7. (Программа представляет собой оконное приложение), узнать новые методы шифрования информации. Научиться решать сложные задачи на кодирование и декодирование информации.

Задачи проекта:
1. Изучить метод шифрования при помощи кодового диска  Леона Баттиста Альберти.
2. Разработать алгоритм, связывающий идею шифрования и особенности языка программирования.
3. Разработать оконное приложение, которое преобразует текст в зашифрованный текст.
4. Подготовить набор тестов и протестировать полученное приложение. Оформить и оценить результаты, сделать выводы.
Этапы реализации проекта.
Подготовку данного проекта условно можно разбить на следующие этапы (с нарастающем уровнем сложности от этапа к этапу), которые и позволят нам легко выстроить индивидуальные образовательные траектории и реализовать концепцию смешанного обучения:
1. Начальный этап. Просмотра фрагментов документального научно-познавательного фильма "Взломщики кодов", позволит нам заинтересовать и отобрать желающих работать в данном направлении, а также расширить познания учащихся по теме кодирование информации.
2. Постановка задачи. В зависимости от возрастных и индивидуальных особенностей учащихся, каждый для себя ставит задачу до какого этапа реализации проекта он хотел бы дойти. Кто то может выбрать создание презентации и рассказ о шифрах и методах кодирования информации, и своими руками сделать модель кодового диска. Учащиеся старших классов могут написать соответствующую программу на изученном ранее языке программирования (и т.о. углубить свои знания по данной теме для подготовки к экзамену и олимпиадам по информатике) или освоить новую среду разработки оконных приложений для создания красивого и наглядного интерфейса.
3. Реализация проекта. На этом этапе обучающиеся открывают для себя много нового. Кто то выпиливает деревянный диск, совместно с учителем технологии, изучает программу создания мультимедийных презентаций. Кто то узнает множество шифров и готовится к олимпиадам и ЕГЭ, кто то осваивает среду разработки оконных приложений, и все необходимые знания в кратком описании я даю в конце этой статьи.
4. Цель. Подведение итогов. Результатом может стать выступление на научной конференции учащихся, с рассказом о том, какую область своих познаний получилось углубить и развить.

1.  Начальный этап работы над проектом и история создания шифра Альберти.
            Вдохновение для реализации подобных проектов учащиеся непременно почерпнут от просмотра документального фильма талантливого режиссера Мэла Морпета - "Взломщики кодов" (Великобритания, 2007)  " Во всем мире, сами того не осознавая, миллионы людей ежедневно пользуются тайными кодами. Постоянно идет борьба между теми,  кто хочет сохранить информацию в секрете, и теми, кто хочет ее раскрыть. Эта борьба длится веками. Коды взламываются, меняя ход истории навсегда".
            Итак, нас  очень заинтересовал  прибор 500 летней давности, названный Кодовым Диском Альберти. Его секрет " колесо в колесе" дает возможность рандомизировать алфавиты до такой степени, что они становятся практически неразбираемыми. Около 1470 года изобретение Леона Баттиста Альберти навсегда изменило криптологию. Леон Баттиста Альберти (итал. Leon Battista Alberti; 18 февраля 1404, Генуя — 25 апреля 1472, Рим). Альберти один из забытых великих людей эпохи Возрождения. Он был великолепным ученым, архитектором, просветителем, но особым предметом его интереса были коды и шифры. В центре того времени было папство. Друг Альберти, работающий одним из секретарей папы, поставил перед ним задачу создать способ шифровки документов. То что Альберти придумал, вероятно было первым шифровальным приспособлением в истории. Кодовый диск действовал по принципу многоалфавитной подстановки. Ее называют многоалфавитной, потому что вращаясь этот диск выдает не один, а много зашифрованных алфавитов. Каждый из двух вращающихся дисков содержит 24 буквы латинского алфавита. Буквы внутреннего диска расставлены в случайном порядке. Принцип шифрования Альберти строится на том, что отправитель и адресат пользуются одинаковыми дисками и между ними существует предварительная договоренность об индексе или ключевой букве на внутреннем из них. Отправитель начинает сообщение с помещения индексной буквы на любой другой символ внешнего диска. Так получается первая заглавная буква зашифрованного сообщения. Он продолжает своё послание считывая символы с внутреннего диска на внешний. Написав три или четыре слова, автор передвигает индексную букву на произвольное количество позиций. Это передвижение он отмечает для получателя заглавной буквой. Таким образом, каждая часть письма кодируется отдельно. Хотя такой код практически невозможно взломать, применение самого диска требовало большого количества времени. Изобретение Альберти не получило широкого применения. Своей работой я хочу показать, что знание языков программирования позволяет нам шифровать свои сообщения неразрешимыми шифрами за короткие промежутки времени, не забывая людей бывших
первопроходцами в области криптологии. Слово «криптология» встречается в английском языке с XVII века, и изначально означало «скрытность в речи»; в современном значении было введено американским учёным Уильямом Фридманом  и популяризовано писателем Дэвидом Каном.

Шифрование публичным ключом или самый современный шифр.

Алгоритм шифрования, применяющийся сегодня в различных модификациях буквально во всех компьютерных системах. Есть два ключа: открытый и секретный. Открытый ключ — это некое очень большое число, имеющее только два делителя, помимо единицы и самого себя. Эти два делителя являются секретным ключом, и при перемножении дают публичный ключ. Например, публичный ключ — это 1961, а секретный — 37 и 53. Открытый ключ используется для того, чтобы зашифровать сообщение, а секретный — чтобы расшифровать. Без секретного ключа расшифровать сообщение невозможно. Когда вы отправляете свои личные данные, допустим, банку, или ваша банковская карточка считывается банкоматом, то все данные шифруются открытым ключом, а расшифровать их может только банк с соотвествующим секретным ключом. Суть в том, что математически очень трудно найти делители очень большого числа. Вот относительно простой пример. Недавно RSA выделила 1000 долларов США в качестве приза тому, кто найдет два пятидесятизначных делителя числа 1522605027922533360535618378132637429718068114961
380688657908494580122963258952897654000350692006139.
Этап №2. Необходимо написать программу шифрования и дешифрования сообщения методом Альберти и разработать оконное приложение с интуитивно понятным интерфейсом в среде Delphi7. Для того, чтобы подготовить учащихся к самостоятельной реализации поставленной  задачи рекомендуется совместно разобрать известную 27 задачу из ЕГЭ по информатике про заклинания Гарри Поттера. Напомним текст условия и один из вариантов решения.
На вход программе подаётся текст заклинания, состоящего не более чем из 200 символов, заканчивающийся точкой. Оно было зашифровано Гарри Поттером следующим образом. Сначала Гарри определил количество букв в самом длинном слове, обозначив полученное число К (словом называется непрерывная последовательность английских букв, слова друг от друга отделяются любыми другими символами, длина слова не превышает 20 символов). Затем он заменил каждую английскую букву в заклинании на букву, стоящую в алфавите на К букв ранее (алфавит считается циклическим, то есть перед буквой А стоит буква Z), оставив другие символы неизменными. Строчные буквы при этом остались строчными, а прописные - прописными. Требуется написать как можно более эффективную программу, которая будет выводить на экран текст расшифрованного заклинания. Например, если зашифрованный текст был таким:  Zb Ra Ca,Dab Ra. то результат расшифровки должен быть следующим: Се Ud Fd,Gde Ud.
Пояснение.
var f:boolean; i, k, max: integer;
с,cnew:char; s:string;
begin
    s:=''; max:=0; k:=0;f:=false;
repeat
read(c); s:=s+c; 
if f then
if с in ['a'..'z','A'..'Z']
then k:=k+1
else begin
   if k>max then max:=k;
   f:=false
end
else {f=false}
if с in ['a'..'z','A'..'Z']
   then
     begin
       f:=true;  k:=1
     end
until c='.';
for i:=1 to length(s) do
begin
cnew:=chr(ord(s[i])+max);
case s[i] of
'a'..'z': if cnew>'z' then write (chr (ord (cnew)-26))
else write(cnew);
'A'..'Z': if cnew>'Z' then write (chr (ord (cnew)-26))
else write(cnew);
else   write(s[i])
end;end;
end

Этап №3.
Обозначим каким должен быть результат работы программы с точки зрения пользователя. Результатом должно являть оконное приложение с продуманным и удобным интерфейсом, необходимо так же реализовать раздел "Помощь по программе" и продумать "Защиту от дурака".
Данное приложение направлено на реализацию процесса шифрования информации, в частности слова, строки или текста, написанного при помощи букв латинского алфавита. Пользователю, пожелавшему зашифровать тот или иной текст требуется ввести его в поле ввода, затем придумать ключ, который необходимо в процессе шифрования. На практике ключевое слово необходимо запомнить, так как без него зашифрованный текст привести к начальному, незашифрованному состоянию практически невозможно. Так же ключевое слово не следует передавать третьим лицам, так как расшифровать текст, зная ключевое слово, не составит большого труда. Ключ - это кодовое слово, которое используется при процессе шифрования, играет большую роль при процессе дешифрования. В статье  приведем один из возможных способов реализации этого алгоритма на языке Pascal.  Полная реализация алгоритма в оконных приложениях в среде Delphi7 см. Приложение1.
var
i,f,k,n,r,max: integer;
c,a,b,cnew:char;
s:string;
begin
readln(f); if f=0 then begin
readln(a,b); k:=abs(ord(a)-ord(b));
readln(n,r); read(s);
for i:=1 to length(s) do begin
if i mod n =0 then k:=k+r;
cnew:=chr(ord(s[i])+k);
case s[i] of
'A'..'Z': if cnew>'Z' then begin
while cnew>'Z' do cnew:=chr(ord(cnew)-26);
write (cnew); end else if cnew<'A' then begin
while cnew< 'A' do cnew:=chr(ord(cnew)+26);
write (cnew); end
ELSE write(cnew);
end; end; end
else begin  readln(a,b); k:=abs(ord(a)-ord(b));
readln(n,r); read(s);
for i:=1 to length(s) do begin
if i mod n =0 then k:=k+r;
cnew:=chr(ord(s[i])-k);
case s[i] of
'A'..'Z': if cnew<'A' then begin
while cnew<'A' do cnew:=chr(ord(cnew)+26);
write (cnew); end else if cnew>'Z' then begin
while cnew> 'Z' do cnew:=chr(ord(cnew)-26);
write (cnew); end
ELSE write(cnew);
end; end; end;
end.
Рассмотрим как подготовить учащихся (владеющих только языком создания консольных приложений Pascal) к самостоятельному создания оконного приложения на языке Delphi. Необходимо кратко объяснить учащимся как разместить основные простые компоненты на форму и с чего начать писать процедуры обработчики событий, а так же основные различия ввода данных в поле редактирования Edit в среде оконных приложений от сред разработки консольных приложений. В качестве примера опять же привожу простой наглядный пример создания простейшего оконного приложения только с целью наглядности отличий ввода данных.

Пример.  Программа пересчета длинны отрезка из дюймов в сантиметры.
Инструкция, которая присваивает вещественной переменной d значение числа, изображением которого является строка,  введённая в поле Edit1,  выглядит следующим образом:              d:=StrToFloat (Edit1.Text);
Полный текст процедуры обработки события OnClick для кнопки Button1 будет выглядеть так:

procedure  TForm1.Button1Click (Sender: TObject);  
var d, sm : real;
begin  
d:=StrToFloat (Edit1.Text);
sm:=d*2.54;   
Label2.Caption:=Edit1.Text +'дюйм(а/ов) это  ' +  FloatToStrF(sm, ffGeneral,6, 2) + ' см ';
end.
Решение нескольких простых задач подобного типа даст возможность учащимся легко освоить интерфейс Delphi и приступить к самостоятельной реализации нашего проекта.
Этап №4.
Итак, вот мы и подошли к заключительному этапу. Как говорил Брайан Уилсон Керниган: "Отладка кода вдвое сложнее, чем его написание". Созданное в результате работы над проектом  приложение необходимо протестировать при помощи нескольких групп хорошо продуманных тестов. Первые  тесты могут быть  связаны с неправильным формированием входной строки. Так же нужны тесты выявляющие реакцию программы на нулевую размерность строки. Вторая группа тестов должна показать результат работы программы, если строка сформирована неверно, или содержит символы русского алфавита. В ходе тестирования необходимо  провести полный анализ работы программы, а именно - выявить зависимость времени выполнения программы от длины входной строки.
Заключение: Цель данной работы заключалась в разработке приложения для решения задачи шифрования текста при помощи шифра Леон Баттиста Альберти. В ходе разработки приложения были изучены особенности шифрования при помощи данного метода, а именно алгоритм шифрования (Приложение №1 ). Оконное приложение, решающее поставленную задачу, написано на языке программирования Delphi7
В результате выполнения данного научно-творческого проекта учащиеся не только расширяю свои знания в области информационного мира и защиты информации, но и оттачивают навыки программирования, узнают новые среды программирования и параллельно и ненавязчиво готовясь сдать экзамен по информатике на высокий балл.
Использованная литература:
1. https://tproger.ru/translations/10-codes-and-ciphers/
2. https://knowledge.allbest.ru/programming/3c0b65635a2bc78b5d53a88521306d36_0.html
3. Сеть Internet. https://ru.wikipedia.org
4.National geographic: Взломщики кодов (2007) . Режиссер: Мэл Морпет.
7. https://www.factroom.ru/facts/16828
8. https://inf-ege.sdamgia.ru/test?pid=3103
9. Методическое пособие "Программирование в среде Delphi. Часть2". Садовская О.Б.