Традиционные информационные модели (географические карты, музыкальные ноты, математические теоремы и т.д.) достаточно сложны и содержат в себе много дополнительной информации, для извлечения которой нужно знать правила, по которым они организованы. Рассмотрим несколько примеров анализа информационных моделей.
Музыкальные ноты и закономерности звуковых колебаний
В современной музыкальной культуре принято записывать музыку в форме нот. Нотный лист состоит из серии нотных станов - серий по пять линеек. Линейка обозначает определённую высоту звука.
Нота состоит из обозначения длительности и высоты (ее положение на нотном стане). Разные длительности обозначаются штрихами и цветом ноты. По длительности различают ноты целые, половины, четверти, восьмые, шестнадцатые и т.д. Каждая последующая длительность в два раза меньше предыдущей. Для обозначения громкости нот (она меняется не часто) введены особые символы, которые пишутся под нотным станом.
Рисунок 1. Соотношения музыкальных нот и частот.Автор24 — интернет-биржа студенческих работ
С физической точки зрения ноты представляют собой записи частот звуков, подчиняющихся определенной закономерности: они кратны друг другу (такие колебания называют гармоническими). Это дает возможность создавать компьютерные алгоритмы, генерирующие музыкальные звуки.
Компьютерный протокол midi появился в эпоху бурного развития электронных синтезаторов. Он описывает специфическую для нажатия на клавиши информацию: длительность, высоту, тембр, громкость и рассчитан на управление синтезаторами в режиме реального времени. Midi-файл представляет собой историю выступления и аналогичен нотной записи. Зная частоты нот, легко можно реализовать c помощью микроконтроллера Arduino простую мелодию, опираясь на ее нотную запись или извлекая частоты и длительности из midi-файлов:
#include
int melody[] = {
370, 370, 440, 370, 440, 440, 494, 370,
440, 494, 370, 370, 494, 440, 370, 494, 440,
440, 370, 494, 440, 370, 494, 370, 494, 523,
440, 370, 494, 523, 440, 440, 494, 370, 523,
440, 494, 370, 523, 494, 370, 523, 440, 494,
370, 523, 440, 523, 370, 494, 440, 523, 370,
494, 440, 370, 494, 523, 440, 370, 494, 523,
440, 440, 523, 370, 494, 440, 523, 370, 494,
440, 523, 370, 494, 440, 523, 370, 494};
int noteDurations[] = {
960, 240, 240, 240, 240, 240, 240, 240, 240,
240, 240, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 60, 60, 60, 60, 60,
60, 60, 60, 240, 240, 240, 240, 240, 240, 240,
240, 120, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120, 180,
180, 180, 180, 180, 180, 180, 180, 120, 120,
120, 120, 120, 120, 120, 120, 360, 360, 360,
360, 360, 360, 360, 360};
int count = 79;
void setup() {} // Nothing to setup, just start playing!
void loop() {
toneAC(); // Turn off toneAC, can also use noToneAC().
delay(1000); // Wait a second.
for (int thisNote = 0; thisNote
Определение кратчайшего пути
В курсе информатики встречается класс задач на основе т.н. весовых моделей, когда отношения между участвующими в соотношении объектами выражены числами. Рассмотрим одну из них. Между населенными пунктами A, B, C, D, E, F, G проложены дороги. Их длины сведены в таблицу. Отсутствие числа в клетке означает, что прямой дороги между пунктами не существует.
Рисунок 2. Весовая модель расстояний между пунктами. Автор24 — интернет-биржа студенческих работ
Требуется определить кратчайший путь между A и G.
Решение.
- из пункта A за один шаг можно переместиться в B или D: AB(2) и AD(6) - в скобках дана длина маршрута;
- из B можно попасть в C и D. ABC(2+5=7 ) и ABD(2+3=5 );
- из C можно попасть в D и G. ABCD(2+5+1=8 ) (этот путь длиннее прямого AD и его дальше можно не рассматривать) и ABCG(2+5+8=15) - первый способ добраться в конечный пункт равен 15.
- из D можно попасть в E и F; запомним только кратчайший маршрут ABD(5); соответственно ABDE (2+3+9=14) и ABDF (2+3+7=11).
- из пункта E попадаем в G и общая длина пути ABDEG (2+3+9+5=19) равна 19.
- из пункта F попадаем в G и общая длина пути ABDFG (2+3+7+7=19) тоже 19.
Отбрасывая два длинных маршрута (оба равны 19), выбираем правильный ответ: 15.
Нахождение расстояния с помощью координатной сетки
Информационная модель земной поверхности, применяемая в географических картах, оснащена координатами: параллелями и меридианами. Часто требуется проложить маршрут или определить расстояние между двумя точками.
Рисунок 3. Модель земной поверхности и ее координаты. Автор24 — интернет-биржа студенческих работ
Для решения задач навигации поверхность Земли принимают за сферу (на самом деле она ближе к эллипсоиду). Положение точки на ней определяется сферическими широтой и долготой (географические координаты). Сферическая широта точки А — угол φА между плоскостью экватора и направлением R на данную точку из центра Земли; долгота — угол λА, заключенный между плоскостью нулевого меридиана и плоскостью меридиана данной точки.
Радиус Земли в среднем составляет R = 6371, 21 км, а экваториальный радиус RЭ = 6378,245 км. Полярный радиус Земли RП = 6356,83 км. Длины дуг (меридиана, экватора, окружности большого круга) в 1°, 1′ и 1″ равны, соответственно, 111,2 км, 1,852 км и 30,9 м.
Опираясь на законы сферической тригонометрии можно рассчитать кратчайшее расстояние между двумя точками на земной сфере:
cos(d) = sin(φА)•sin(φB) + cos(φА)•cos(φB)•cos(λА − λB),
где φА и φB — широты, λА, λB — долготы точек, d — расстояние в радианах дуги большого круга. Расстояние между точками в километрах, определяется как:
L = d•R,
где R = 6371 км — средний радиус земного шара.