|
||||||||||||
|
||||||||||||
|
|||||||||
МЕНЮ
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА - РЕФЕРАТЫ - Применение программных комплексов для решения задачПрименение программных комплексов для решения задачУчреждение образования ''БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТРАНСПОРТА'' Кафедра "Информатика" КУРСОВАЯ РАБОТА по дисциплине "Информатика" "Применение программных комплексов для решения задач" Выполнила студентка 1 курса Бранцевич А.С. Учебный шифр: 08-ЗД-985В Индекс и домашний адрес: 211513 Витебская обл., Сенненский р-н, п. Яново, ул. Садовая 2008 /2009 уч.год Оглавление
Целью данного курсового проекта является выработка умений и навыков самостоятельной роботы в применении программных комплексов для решения инженерных задач. Для достижения этой цели в данном проекте предусмотрена работа с такими программными комплексами как Microsoft Excel, MathCAD и Microsoft Access. Табличный процессор Microsoft Excel - это программа, моделирующая таблицу из строк и столбцов. Основной задачей является хранение данных в ячейках, обработка их по формулам и графическое представление. Математический пакет MathCAD - это интегрированная математическая система, позволяющая наглядно вводить исходные данные, производить традиционное математическое описание решения задачи и получить результаты вычислений, как в аналитическом, так и численном виде. Microsoft Access - это полнофункциональная реляционная СУБД. В ней предусмотрены все необходимые средства для определения и обработки данных, а так же для управления ими при работе с большими объемами информации. 1. Обобщенная структурная схема ЭВМЭВМ, компьютер - это комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач. Требования пользователей к выполнению вычислительных работ определяется подбором и настройкой технических и программных средств объединенных в одну структуру. Структура ЭВМ - это совокупность ее элементов и их связей. Различают структуры технических, программных и аппаратурно-программных средств. Обобщенная структурная схема ЭВМ имеет следующий вид: Рисунок 1.1. Структурная схема ЭВМ. Процессор - производит обработку информации, осуществляет выполнение программ, управляет работой остальных устройств компьютера. АЛУ - арифметико-логическое устройство, выполняет арифметические и логические операции над данными. УУ - устройство управления, организует и координирует взаимодействие всех устройств компьютера во время работы, генерирует и распределяет сигналы управления выполнением операций и переносом данных в системе. ОЗУ - оперативное запоминающее устройство, служит для хранения информации во время работы компьютера, после выключения компьютера информация не сохраняется. ПЗУ - постоянное запоминающее устройство, служит для постоянного хранения информации, после выключения компьютера информация сохраняется, ее невозможно быстро изменить. ВЗУ - внешнее запоминающее устройство, выполняет функции медленной памяти компьютера, позволяет хранить информацию длительное время, накапливать новую и ликвидировать уже ненужную. Монитор - устройство вывода текстовой и графической информации на экран. Принтер - устройство вывода текстовой и графической информации на бумажный носитель. Графопостроитель - устройство вывода результатов обработки информации на бумажный носитель в графической форме. Мультимедиа - устройства, позволяющие воспроизводить и записывать звуковую информацию (акустические системы, динамики, наушники, микрофон и т.д.). Клавиатура - устройство ввода информации в компьютер, имеет вид плоской коробки с клавишами. Мышь - устройство ввода информации в компьютер, имеет вид коробки с небольшими кнопками, главной деталью является небольшой шар (или оптический индикатор). Сканер - устройство ввода информации в компьютер путем сканирования поверхности изображения, помещенного в устройство. Световое перо - устройство ввода информации в компьютер в виде небольшого маркера, ввод осуществляется через специальную поверхность-планшет или непосредственно через экран монитора. НГМЛ - носитель на гибкой магнитной ленте. НЖМД - носитель на жестком магнитном диске. НГМД - носитель на гибком магнитном диске. CD - компакт диск МОД - магнитно-оптический диск. 2. СУБД "Access" - создание многотабличных запросовБаза данных (БД) - это совокупность данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования данными, независимо от прикладных программ. БД является информационной моделью предметной области. Обращение к БД осуществляется с помощью систем управления базами данных (СУБД). Microsoft Access - это полнофункциональная реляционная СУБД. В ней предусмотрены все необходимые средства для определения и обработки данных, а так же для управления ими при работе с большими объемами информации. В базе данных Microsoft Access основными объектами являются таблицы, запросы, формы, отчеты, страницы доступа к данным, макросы и модули. Таблица - это объект, который определяются и используются для хранения данных. Запрос - это объект, который позволяет пользователю получить нужные данные из одной или нескольких таблиц. Форма - объект, в основном предназначенный для удобного ввода данных. Отчет - объект, предназначенный для создания документа, который впоследствии может быть распечатан или включен в документ другого приложения. Страница доступа к данным - объект, предоставляющий пользователям возможность просматривать, вводить и редактировать данные, используя браузер, например, Microsoft Internet Explorer. Макрос - объект, представляющий структурированное описание одного или не скольких действий, которые должен выполнить ACCESS в ответ на определенное событие. Модуль - объект, содержащий программы на VBA. Многотабличные запросыМноготабличные запросы позволяют осуществлять не только простую выборку данных из нескольких таблиц, но и устанавливать определенные закономерности представления данных путем определения между таблицами различного типа связей (соединений) в построителе запросов. В зависимости от решаемых задач соединение между таблицами в запросах может быть нескольких видов. Наиболее распространенным является внутреннее соединение (эквисоединение). Если таблицы связаны отношением "один-ко-многим", соединения основываются на уникальном значении поля первичного ключа в одной таблице и значениях поля внешнего ключа в другой таблице. В результирующее множество запроса попадают все записи из главной таблицы (таблицы на стороне "один"), для которых имеются соответствующие записи в подчиненной таблице (таблице на стороне "многие"). Если в подчиненной таблице записи с заданной величиной отсутствуют, то соответствующие записи в главной таблице в результирующее множество не включаются. Подобного рода соединения между таблицами Access создает автоматически, если: в таблицах имеются поля с одинаковыми именами и согласованными типами, причем одно из полей является ключевым (или не допускающим совпадения); соединение было явно задано в окне "Схема данных". Результатом такого запроса являются все записи, значения связанных полей которых в обеих таблицах совпадают. Другими словами, эквисоединение связывает записи в таблицах отношением равенства значений связывающих полей. Внутреннее соединение двух таблиц по одному полю в реляционной базе данных строится на основе отношения "один-ко-многим". В ходе разработки баз данных, в которых предполагается использование запросов на основе внутренних соединений, необходимо придерживаться следующих правил: 1. Каждая таблица "один" должна иметь первичный ключ с уникальными значениями. Отсутствие повторений значений поля или полей первичного ключа в таблице Access устанавливает автоматически. 2. Отношение "многие-ко-многим" реализуются на основе промежуточной таблицы, которая связана с каждой из двух таблиц отношением "многие-к-одному". Для обеих связей промежуточная таблица будет находиться со стороны "многие". 3. Необходимо извлечь повторяющиеся данные в новую таблицу и связать ее с таблицей, из которой эти данные были получены, отношением "многие-к-одному". Основная цель - однозначно определить извлеченные данные. Часто для этого приходится использовать первичный ключ, состоящий из нескольких полей. Для автоматизации работы по нахождению и извлечению повторяющейся информации можно использовать Мастер по анализу таблиц Microsoft Access. Для создания запроса, объединяющего все записи из одной таблицы, и только те записи из второй, в которых связанные поля совпадают, используют внешнее соединение. В этом случае независимо от того, имеются ли соответствующие записи во второй таблице, все записи первой попадают в результирующее множество запроса. Внешние соединения бывают левыми или правыми. Запрос, в котором участвуют таблицы с левым внешним соединением (LEFT JOIN или *= в SQL), выводит все записи таблицы "один", в независимости от того, имеются ли соответствующие им записи в таблице "многие". И наоборот, запрос, в котором участвуют таблицы с правым внешним соединением (RIGHT JOIN или =* в SQL), выводит все записи таблицы "многие", в независимости от того, имеются ли соответствующие им записи в таблице "один". Если необходимо связать данные любым отношением, кроме отношения равенства, используют соединение по отношению или тэта-соединение. Соединение по отношению не отображается в окне "Схема данных" и не выводится в окне Конструктора запросов. Для связывания данных в одной таблице применяют рекурсивное соединение (самообъединение). Оно создается путем добавления в запрос копии таблицы (в результате чего Access назначает псевдоним для копии) и связывания полей идентичных таблиц. 3. Решение уравнения с помощью табличного процессора Excel и математического пакета MathCAD3.1 Решение нелинейного уравнения 4sin x+х=5 с точностью 10-3 с помощью табличного процессора ExcelТабличный процессор Microsoft Excel - программа, моделирующая таблицу из строк и столбцов. Основной задачей является хранение данных в ячейках, обработка их по формулам и графическое представление. Основные функции Microsoft Excel: 1. ввод и редактирование данных, автоматизация ввода; 2. форматирование табличных данных с использованием стандартных средств в стиле шаблонов; 3. возможность обработки различных типов данных (числа, текст, даты, массивы); 4. выполнение вычислений по формулам. Ввод данных производится в одну конкретную ячейку, которая называется активной. Если введенное число не помещается в ячейку, то оно приводится к экспоненциальному виду. Если введенный текст не помещается в ячейку, то он накладывается на соседнюю ячейку, если она пуста. Задано нелинейное уравнение: 4 sin x + x = 5. Для решения его требуется привести к виду f(x) = 0. Получаем 4 sin x + x - 5 = 0. Тогда: f(x) = 4 sin x + x - 5. Находим f(x) на промежутке (-10; 10) путем ввода в ячейки числа аргумента -10 с расчетом его до 10 (= "ячейка с числом "х"" + 1) и в ячейки для формулы (рядом с "ячейкой с числом "х"") необходимую формулу, которая будет иметь следующий вид: = 4 * sin ("ячейка с числом "х"") + "ячейка с числом "х"" - 5. Результаты расчета приведены в таблице 3.1.1: Таблица 3.1.1. На основании данной таблицы строим график. Рисунок 3.1. График функции f(x) = 4 sin x + x - 5 Определяем приблизительно по графику на каких интервалах аргумента график пересекается с осью "х": х1 є (1; 2), х2 є (2; 3), х3 є (6; 7). Определяем первый корень нелинейного уравнения (х1) на промежутке (1; 2) с точностью 10-3. Нахождение корней уравнения производится способом указанным выше для таблицы 3.1.1. Таблица 3.1.2. Таблица 3.1.3 Таблица 3.1.4. Из расчетов таблиц 3.1.2, 3.1.3 и 3.1.4. видно, что первый корень нелинейного уравнения равен х1=1,23. Определяем второй корень нелинейного уравнения (х2) на промежутке (2, 3) с точностью 10-3: Таблица 3.1.5. Таблица 3.1.6. Таблица 3.1.7. Из расчетов таблиц 3.1.5, 3.1.6 и 3.1.7. видно, что второй корень нелинейного уравнения равен х2=2,451. Определяем третий корень нелинейного уравнения (х3) на промежутке (6, 7) с точностью 10-3: Таблица 3.1.8. Таблица 3.1.9. Таблица 3.1.10. Из расчетов таблиц 3.1.8, 3.1.9 и 3.1.10. видно, что третий корень нелинейного уравнения равен х3=6,024. Таким образом у данного нелинейного уравнения 4 sin x + x = 5 имеется три корня: х1=1,23; х2=2,451;х3=6,024. 3.2 Решение нелинейного уравнения 4sin x+х=5 с точностью 10-3 с помощью математического пакета MathCADMathCAD - интегрированная математическая система позволяющая наглядно вводить исходные данные, производить традиционное математическое описание решения задачи и получить результаты вычислений как в аналитическом, так и численном виде. Все блоки MathCAD делятся на два типа: математические текстовые. Математическая область содержит математические выражения и графики. Текстовая область предназначена для кратких пояснений. Расположение блоков в документе, кроме текстового, имеет принципиальное значение. Они должны быть выполнены с лева направо и сверху в низ. Есть три основных панели инструментов: - стандартная панель; - панель форматирования; - математическая панель. Задано нелинейное уравнение: 4 sin x + x = 5. Для решения его требуется привести к виду f(x) = 0. Получаем 4 sin x + x - 5 = 0. Тогда: f(x) = 4 sin x + x - 5. 1) Определяем данную функцию с помощью оператора присваивания. Существуют два вида операторов присваивания: локальные" := " и глобальные " ". Локальные определяют значение переменной правее и ниже в документе. Глобальные определяют значение переменной во всем документе. В данном случае будем использовать локальное присваивание. 2)Строим график данной функции. Для построения графиков используются шаблоны, перечень которых представлен на математической панели инструментов в панели "графика". Для вывода шаблона двухмерной графики в декартовой системе координат служит комбинация клавиш "Shift + @", которая выводит текущее положение курсора в шаблон двухмерного графика. После вызова шаблона построения графика необходимо установить следующие минимальные параметры: - по оси 'у' на месте центрального маркера записать функциональную зависимость или функцию график, которой нужно построить. - по оси 'х' - записать аргумент функции "х". После выполнения вышеуказанных действий нажимаем Enter. Появляется график функции на интервале от -10 до 10. Рисунок 3.2. График функции f(x) = 4 sin x + x - 5 3) Определяем приблизительно по графику на каких интервалах аргумента график пересекается с осью "х": х1 є (1; 2), х2 є (2; 3), х3 є (6; 7). 4) Записываем функцию root и находим значения корней уравнения. Функция root возвращает с заданной точностью значение переменной при которой выражение равно нулю. Функция root реализует вычисления итерационным методом. Причем перед ее использованием в случае отсутствия пределов интервала изоляции необходимо задать начальное значение переменной (приближенное значение корня уравнения) или интервал, в котором находится значение переменной, которые визуально определенны по графику. Таким образом у данного нелинейного уравнения 4 sin x + x = 5 имеется три корня: х1=1.23; х2=2.451;х3=6.024; 4. Решение системы уравнений с помощью математического пакета.4.1 Решение системы уравнений матричным способом в среде MathCADМатрицей называется прямоугольная таблица, элементы которой принадлежат некоторому множеству. Дана система уравнений: Составляем матрицы А и В. А - матрица данной системы уравнений. В - матрица: столбец для данной системы уравнений. По правилам матричного исчисления получаем уравнение: А * х = В. х - матрица: столбец из неизвестных. Решая это уравнение, найдем решение системы. Таким образом х1 = -0.722; х2 = -3.399; х3 = -0.117; х4 = -0.99. 4.2 Решение системы уравнений с помощью функции Given .. Find в среде MathCADПри решении систем не линейных уравнений используется специальный вычислительный блок, открываемый служебным словом-директивой Given. Дана система уравнений: Начальное условие определяет начальное значение искомых переменных, которые задаются путем обычного присваивания. Для многих уравнений берется произвольное начальное значение. Записываем служебное слово-директиву Given и задаем уравнения системы с помощью жирного знака равенства между левой и правой частями каждого уравнения. Записываем функцию Find. Она возвращает значение одной или ряда переменных для точного решения. Функция Find используется, если решение реально существует. Таким образом х1 = -0.723; х2 = -3.4; х3 = -0.118; х4 = -0.991. 4.3. Решение системы уравнений с помощью функции Given .. Minerr в среде MathCAD.Дана система уравнений Начальное условие определяет начальное значение искомых переменных, которые задаются путем обычного присваивания: Записываем служебное слово-директиву Given и задаем уравнения системы с помощью жирного знака равенства: Записываем функцию Minerr. Она возвращает значение одной или ряда переменных для приблизительного решения. Функция Minerr пытается найти максимально приближение даже к несуществующему решению путем минимизации средней квадратичной погрешности решения. Таким образом х1 = -0.723; х2 = -3.4; х3 = -0.118; х4 = -0.991. 5. Создание базы данных "Расписание автобусов" с помощью пакета AccessБаза данных -- это набор сведений, относящихся к определенной теме или задаче. БД является информационной моделью предметной области. Обращение к БД осуществляется с помощью систем управления базами данных (СУБД). СУБД Access является системой управления базами данных реляционного типа. Данные хранятся в такой базе в виде таблиц. С каждой таблицей могут быть связаны индексы (ключи), задающие нужные пользователю порядки на множестве строк. Таблицы могут иметь однотипные поля (столбцы), и это позволяет устанавливать между ними связи, выполнять операции реляционной алгебры. Базы данных, как правило, обладают следующими признаками: БД содержит некоторое множество данных, необходимых для решения конкретных задач многих пользователей (в том числе как реальных, так и потенциальных) или удовлетворения соответствующих информационных потребностей; данные или информационные элементы в БД определенным образом структурированы и связаны между собой, при этом структура, состав данных и их содержание в БД не зависят от особенностей прикладных программ, используемых для управления БД; данные представлены на машиночитаемых носителях в форме, пригодной для оперативного использования их с применением средств вычислительной техники, включая и системы управления базами данных. Основные функции СУБД следующие: Определение данных - определить, какая именно информация будет храниться в базе данных, задать свойства данных, их тип, а также указать, как эти данные связаны между собой. Обработка данных - данные могут обрабатываться самыми различными способами. Можно выбирать любые поля, фильтровать и сортировать данные. Можно объединять данные с другой, связанной с ними, информацией и вычислять итоговые значения. Управление данными - можно указать, кому разрешено знакомиться с данными, корректировать их или добавлять новую информацию. Проектируя базу данных "Расписание автобусов", разбиваем ее на две связные таблицы. В первой таблице содержатся следующие поля: пункт назначения; время отправления; время в пути; количество посадочных мест. А во второй: время отправления; расстояние до пункта назначения. При создании базы данных следует соблюдать следующие принцыпы: · В каждой таблице не должно быть повторяющихся полей; · В каждой таблице олжен быть уникальный идентификатор - ключ; · Каждому значению первичного ключа должна соответствоватьдостаточная информация о сущности или объекте таблицы. Создадим таблицы в режиме конструктора: С тем чтобы Microsoft Access мог связать данные из разных таблиц каждая таблица должна содержать поле или набор полей, которые будут задавать индивидуальное значение каждой записи в таблице. Такое поле или набор полей называют основным ключом. Таблица 5.1.
Для поля Время отправления поставим ключ и зададим Маску ввода "00:00". Таким же образом создадим вторую взаимосвязанную таблицу: Таблица 5.2.
Для поля Пункт назначения поставим ключ. После распределения данных по таблицам и определения ключевых полей необходимо выбрать схему для связи данных в разных таблицах. Для этого нужно определить связи между таблицами. Для облегчения работы с данными и заполнения базы данных используют формы. Формы являются типом объектов базы данных, который обычно используется для отображения данных в базе данных. Заполняются формы в соответствии с полями таблиц №5.1. и 5.2. базы данных:
На основе созданной базы данных создаем запросы. Запросы являются основным средством извлечения информации из базы данных. С помощью запроса можно выбрать определенную информацию и рассортировать ее по значениям полей и даже добавлять описания в презентации. Запросы часто используются в качестве основы при создании форм и отчетов. Другие запросы могут создавать новые таблицы, присоединять данные к существующим таблицам, удалять записи и осуществлять поиск дублирующихся записей. Создаем запрос на совпадение значений для поля Пункт назначения таблицы (формы) №5.1. Для этого заходим в "Мастер запросов", выбираем запрос на повторяющиеся записи, нажимаем далее, выбираем таблицу 5.1., далее, поле Пункт назначения и нажимаем готово. Появляется готовый запрос:
Создаем запрос с сортировкой по полю Время отправления таблицы (формы) №5.1. Для этого заходим в "Конструктор запросов", добавляем таблицу 5.1., выбираем поля Пункт назначения и Время отправления. Под полем Время отправления в графе сортировка выбираем вид сортировки "по возрастанию" или "по убыванию". Закрываем "Конструктор" и при сохранении нажимаем Да.
Создаем запрос на принадлежность поля Расстояние до пункта назначения заданному диапозону. Для этого в "Конструкторе" для поля Расстояние до пункта назначения в графе Условие отбора указываем значение: (>=30) and (<=45). Далее сохраняем запрос.
Создаем параметрический запрос для поля Количество посадочных мест. Для этого в "Конструкторе" для поля Количество посадочных мест в графе Условие отбора в квадратных скобках указываем: [Введите количество посадочных мест]. Далее сохраняем запрос. При запуске запроса появится диалоговое окно, в котором необходимо ввести нужное количество посадочных мест и нажать на кнопку OK.
Создаем отчет на основе запроса на принадлежность поля Расстояние до пункта назначения заданному диапозону. Отчет является эффективным средством представления данных в печатном формате. Имея возможность управлять размером и внешним видом всех элементов отчета, пользователь может отобразить сведения желаемым образом. Для создания отчета выбираем "Мастер отчетов". Добавьте все выбранные поля. Задаем требуемый порядок сортировки. Выбираем макет табличный, ориентацию книжную и стиль. ЗаключениеВ результате выполнения этого курсового проекта я выработала умения и навыки в применении программных комплексов для решения инженерных задач. Научилась работать с такими программными комплексами как Microsoft Excel, MathCAD и Microsoft Access. В разделе 1 я привела обобщенную структурную схему ЭВМ и расписала все ее компоненты. В разделе 2 я рассказала про систему управления базами данных (СУБД) Microsoft Access, ее основные объекты (таблицы, запросы, формы, отчеты, страницы доступа к данным, макросы и модули) и про создание многотабличных запросов. В разделе 3 я привела пример решения нелинейного уравнения с заданной точностью с помощью табличного процессора Microsoft Excel и математического пакета MathCAD определяя корни графическим методом. В разделе 4 я привела пример решения системы уравнений с помощью математического пакета MathCAD. Для решения системы использовала следующие методы: матричный, Given .. Find, Given .. Minerr. В разделе 5 я спроектировала базу данных, разбив ее на две связанные таблицы. Создала форму для заполнения базы данных. С помощью формы заполнила базу данных. На основе созданной базы данных создала 4 запроса: запрос на совпадение значений; запрос с сортировкой по заданному полю; запрос на принадлежность поля заданному диапазону; параметрический запрос. На основе запроса на принадлежность поля заданному диапазону создала отчет. Список используемой литературы1. Симонович С. В., Евсеев Г. А., Алексеев А. Г. Специальная информатика: Учебное пособие. - М.: АСТ-ПРЕСС: Инфорком-Пресс, 2000. 2. Робинсон С. Microsoft Access 2000. Учебный курс. - С-Пб.: Питер, 2000. 3. Вейскас Д. Эффективная работа с Microsoft Access 2000. - С-Пб.: Питер, 2001. 4. Быкадоров Ю.А., Кузнецов А.Т. Информатика: Учебное пособие. - Мн.: Народная асвета, 2000. 5. Симонович С. В. Информатика. Базовый курс (2-е издание) - С-Пб.: Питер, 2008. 6. Кудрявцев Е.М. MathCAD 11. Полное руководство по русской версии. - М.: ДМК Пресс, 2005. 7. Гораев О.П. Табличный процессор MS Excel. Практикум по компьютерным технологиям. - Гомель: БелГУТ, 2003. 8. Лыч Ю.П. Технологии оргвнизации, хранения и обработки данных. Часть 1. Основы создания баз данных. Пособие для самостоятельной работы. - Гомель: БелГУТ, 2003. 9. Лыч Ю.П. Технологии оргвнизации, хранения и обработки данных. Часть 2. Основы програмирования СУБД ACCESS. Пособие для самостоятельной работы. - Гомель: БелГУТ, 2003. 10. Лыч Ю.П. Электронные таблицы: Учебное пособие. - Гомель: БелГУТ, 2000. 11. Кейзер А.П., Халамов С.Г., Рогачева З.Н., Кабакова Т.Е. Информатика (Решение задач контрольной работы средствами математического пакета MathCAD и табличного процессора EXCEL): Пособие по выполнению контрольной работы для студентов ФБО. - Гомель: БелГУТ, 2003. 12. Додж М., Стинсон К. Эффективная работа с Microsoft Excel 2000. - С-Пб.: Питер, 2001. |
РЕКЛАМА
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА | ||
© 2010 |