Реферат по предмету "Информатика, программирование"


Програма візуальної демонстрації пошуку елементів у масиві

Вступ
В нашчас інформація відіграє дуже велику роль. З розвитком науки і технікиінформації стає все більше. Довгий час вона оброблялась вручну, але записи тарозрахунки, що зберігалися в папках займали багато місця. Операцію пошуку данихз часом ставало все тяжкіше реалізувати, через велику кількість інформації напаперових носіях. Тому ручна обробка інформації з часом стала зовсімнеефективною.
Першийкомп’ютер мав великі габаритні розміри і служив для виконання нескладних задачзагального характеру. Поступово розміри комп’ютера зменшувались і підвищуваласьйого функціональність. На сьогоднішній день ми маємо персональній комп’ютерневеликих розмірів, який своєю функціональністю і простотою використання ставневід’ємною частиною життя кожної людини.
В наш час ПК є дуже популярною і необхідною річчю. Він забезпечуєспілкування між людьми в будь-який час і на будь-якій відстані, користуватисяінформаційними ресурсами зі всього світу, використовувати різноманітнікомп’ютерні енциклопедії, вивчати нові науки і оволодівати знаннями задопомогою навчальних програм, залишаючись на своєму робочому місці.
Отжекористування різноманітними навчальними програмами значно полегшує сам процесвивчення необхідної інформації, адже в пам’яті комп’ютера можна розміститидоволі великий об’єм інформації, тобто зберігати доволі великі бібліотеки, і задопомогою спеціальних програм оперативно знаходити там потрібну інформацію.


1 Аналітичнийрозділ
На сьогодні існує багато навчальних програм, які за допомогоюкомп'ютерних засобів, допомагають краще зрозуміти різні фізичні чи математичні процеси.Більшість програм такого характеру, реалізують свою мету за допомогоюкольорових зображень, анімації, ЗD – графіки. Але не зважаючи які засоби використовуються,дані програми повинні нести навчальний характер і повинні покращити розуміннятого чи іншого процесу.
Програма повинна мати зручний інтерфейс, який повинен як найкращевідображати процес пошуку елемента у масиві, та підказки, що дозволятимекористувачу без попередніх навичок швидко працювати з даною програмою і закороткий термін освоїти її роботу.
Для початку роботи, користувачу буде необхідно лише вказати розмірмасиву, потім вибрати цифровий чи буквений спосіб заповнення масиву або вручнучи автоматично спосіб заповнення. Далі з’явиться повідомлення про даний пошук.
Для створення даної програми обрано середовище програмування Dеlрhі 7 ізвикористанням стандартних та нестандартних бібліотек та компонентів, якедозволяє реалізувати усі поставлені задачі до даної програми.
Delphi – цесередовище швидкої розробки, у якій як мова програмування використовується моваDelphi. Мова Delphi – строго типізована об’єктно-орієнтованна мова, в основіякої лежить добре знайомий програмістам Object Pascal. А автоматизаціяпрограмування досягається завдяки можливості переноситикомпонент на форму з палітри компонентів і змінювати його властивості, невносячи вручну змін до програмного коду.

2.Побудова інформаційно-математичної моделі задачі
 
Длястворення певного об’єкту чи розв’язання конкретної задачі, необхіднопобудувати її інформаційно-математичну модель, тобто сукупність послідовностейрізних дій, які будуть реалізовані в процесі написання програми.
Побудоваінформаційно-математичної моделі задачі – це побудова умовної схеми, по якійбуде розроблятися певна задача.
Наголовній формі користувач зможе: обрати кількість рядків чи стовбців;створити масив зможе вручну – вводити елементи, а також зможе автоматичнозгенерувати.
Користувачзможе вибрати на свій розсуд буквене або цифрове заповнення масиву елементами.У цифровому масиві цифри можуть бути як додатні та і від’ємні елементи.
Такожкористувач може зберегти результат пошуку елементів, і може завантажити ужезбереженні дані про минулий пошук.
Донедоліків можна віднести те, що більше трьох елементів для пошуку вводитинеможна.
Пошукздійснюється так: спочатку вводимо потрібний на елемент, якщо ви не ввели «*», або «?», то відбуваєтьсяпошук простий процедурою Search, якщо ж ви ввели елемент з»?», то відбувається пошукпроцедурою SearchV, якщо введено елемент з «*», то пошук здійснюється процедурою SearchZ.
 
3.Алгоритм задачі
Досвід практичної діяльності дозволив людинівиробити спосіб розв'язування складних задач, який називається алгоритмічним.Цей спосіб полягає в тому, що складний процес розв'язування задачі поділяєтьсяна декілька етапів, кожному з яких відповідає дія, виконання якої не становитьтруднощів. Алгоритм вказує, які операції обробки даних і в якій послідовностінеобхідно виконати для одержання розв’язку задачі.
Алгоритм – послідовність дій, які необхідно виконати дляоброблення сукупності початкових даних і здобуття відповідних результатів.
Базові структури зображується у вигляді блок-схеми. Блок-схема –це зображення алгоритму при допомозі геометричних фігур (блоків), кожна з якихвиконує певну дію.
Блок-схема – це зображення алгоритму при допомозі геометричнихфігур (блоків), кожна з яких виконує певну дію.
Існують різні алгоритми, які відображають такі обчислювальніпроцеси:
1) Лінійний – операціївиконуються послідовно, по черзі їх запису;
2) Розгалужений – в цьому разііснує умова залежно від виконання якої є кілька напрямків обчислень. Якщо напрямківдва то це простий розгалужений алгоритм, а якщо більше – складний. Будь якийвибраний напрямок завершує обчислювальний процес.
3) Циклічний – процес з однимабо більше блоками, що повторюються.
 
4.Визначенняструктури даних
Принаписанні коду програми необхідно було використовувати безліч змінних різнихтипів даних: масиви, файлові змінні, записи, а також звичайні змінні.
Таблиця1. Типи змінних та їх призначення.Тип Призначення Integer Цілочисельний тип діапазоном від – до File of Використовується в типізованих файлах Boolean Логічний тип, який має два значення: true або false Word Цілочисельний тип діапазоном від 0 до 65838 String Рядок символів діапазоном від 1 до 255 символів Byte Цілочисельний тип діапазоном від 0 до 255 Record Запис. Структорований тип даних Array Масив. Скінчений набір елементів одного типу
 
Таблиця2. Змінні та їх призначенняЗмінні Тип Призначення K1, K2, S String формує рядки B Boolean індифікатор F TextFile запис у файл С, R, P Integer шукає елементи масиву T, L Integer ознака редагування
 
5.Розробка інтерфейсу програми з користувачем
Розробкаінтерфейсної частини є досить важливим етапом створення програми, оскільки відтого наскільки зручним та інтуїтивно зрозумілим буде інтерфейс, може залежатичи обере користувач цю програму, чи програму конкурента.
Зпоявою нових різноманітних програмних виробів вдосконалюється інтерфейс роботикористувача. Інтерфейс – це механізм який допомагає пристрою або програмівзаємодіяти з користувачем.
Наданому етапі буде створено інтерфейс програми, котрий повинен бути зручним тафункціональним. Програма міститиме три форми, до кожної з них будутьвстановлені окремі параметри.
Інтерфейсданої програми складається з загальної форми (рис. 4) на якій знаходятьсякомпоненти:
Button1– кнопка за допомогою якої можливо зайти в програму.
Button2 – кнопка за допомогою якої можливопереглянути інформацію про програму.
Button3 – кнопка за допомогою якої можливо вийти зпрограми.
Label1, label2 – надпис.

/>
Рисунок4 – Форма SerPak післявстановлення компонентів
/>
Рисунок5 – Форма SerPak післявстановлення властивостей компонентів
Наформі SerPok розміщуються компоненти які зображені на рисунку 6:
Label1, label2 – надпис
StringGrid1– таблиця у якій відображається масив.
GroupBox1– згрупована панель, на якій для зручності розміщуються потрібні елементи.
GroupBox2– згрупована панель, на якій для зручності розміщуються потрібні елементи.
Button1– кнопка за допомогою якої виконується пошук.
Button2– кнопка за допомогою якої виконується збереження роботи.
Button3– кнопка за допомогою якої виконується загрузка даних.
Button4– кнопка за допомогою якої можливо згенерувати масив.
RadioButton1 – перемикачзаповнення масиву автоматично.
RadioButton2 – перемикачзаповнення масиву в ручну.
RadioButton3 – перемикачзаповнення масиву цифрами.
RadioButton4 – перемикачзаповнення масиву буквами.
Edit1 – полевведення. Сюди вводяться елемент який потрібно знайти.
SpinEdit1 – заданнякількість стовбців.
SpinEdit2 – заданнякількість рядків.
/>
Рисунок6 – Форма SerPоk післявстановлення компонентів

/>
Рисунок7 – Форма SerPоk післявстановлення властивостей компонентів
Наформі SeRa розміщуються компоненти які зображені на рисунку 8:
Label1. Label6 – надпис.
Button1 – кнопка задопомогою якої можливо вийти з програми.
 
/>
Рисунок8 – Форма SeRa післявстановлення компонентів

/>
Рисунок9 – Форма SeRa післявстановлення властивостей компонентів
 
6.Складання коду програми
 
Кодпрограми складається за допомогою конкретної мови програмування. Так як проектнаписаний у візуальному середовищі Delphi 7.0, то мова якавикористовується для написання програми – це Object Pascal.
Нижчебуде проведено опис і характеристика основних процедур
1. ПроцедураТSerPF. FillBorders виконує функціюкнопки Refresh тобто генерує елементи в масиві.
ProcedureTSerPF. FillBorders;
VarC, R: Integer;
Begin
RefreshK;
SG.Cells [0,0]:='A [K, N]';
ForC:=1 To KC. Value do
Begin
SG.Cells [C, 0]:='A [1,'+IntToStr(C)+']';
End;
ForR:=1 To KR. Value do
Begin
SG.Cells [0, R]:='A ['+IntToStr(R)+', 1]';
End;
End;
2.Процедура TSerPF. FillData заповнює масив елементами – цифрами, якірозташовуються безладно у відповідних комірках.
ProcedureTSerPF. FillData;
VarC, R: Integer;
begin
Randomize;
ForC:=1 To KC. Value do
Begin
ForR:=1 To KR. Value do
Begin
SG.Cells [C, R]:=IntToStr (Random(1000) – 500);
End;
End;
End;
3.Процедура TSerPF. FillData2 заповнює масив елемент буквами великимилітерами російського алфавіту, які розташовані у відповідних комірках масиву
ProcedureTSerPF. FillData2;
VarC, R: Integer; S: String;
begin
S:='АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
Randomize;
ForC:=1 To KC. Value do
Begin
ForR:=1 To KR. Value do
Begin
SG.Cells [C, R]:=S [Random(33)];
End;
End;
End;
4.Процедура TSerPF. Search виконує пошук елемента у масиві при його знаходженнівиводиться повідомлення: 'Запись найдена'
ProcedureTSerPF. Search;
VarC, R: Integer;
MR:TGridRect;
Begin
ForC:=L To KC. Value do
Begin
ForR:=T To KR. Value do
Begin
IfSG. Cells [C, R]=TFS. Text then
Begin
IfC=KC. Value then
Begin
L:=1;
T:=R+1;
End
else
Begin
L:=C+1;
T:=R;
End;
If(R=KR. Value) and (C=KC. Value) then
Begin
T:=1;
L:=1;
End;
MR.Left:=C;
MR.Top:=R;
MR.Right:=C;
MR.Bottom:=R;
SG.Selection:=MR;
ShowMessage('Запись найдена');
Caption:='Top'+Inttostr(T)+';Left'+inttostr(L)+'; C'+inttostr(C)+'; R'+inttostr(R);
break;
End;
End;
End;
End;
5. ПроцедураTSerPF працює такимчином, якщо тексту немає, то виконується умова, якщо немає ні '?', ні '*', то виконується процедура Search тобто простий абозвичайний пошук, Якщо ж виявляється '?', то відбувається пошук з процедури SearchV, відповідно,якщо ж '*', то SearchZ, якщо '?' і '*' – SearchVZ
інакшеповідомлення ShowMessage ('Введите текст котрий следует искать!');
procedureTSerPF. Button1Click (Sender: TObject);
begin
IfTFS. Text'' then
Begin
If(Pos ('?', TFS. Text)
If(Pos ('?', TFS. Text)>0) then SearchV;
If(Pos ('*', TFS. Text)>0) then SearchZ;
If(Pos ('?', TFS. Text)>0) and (Pos ('*', TFS. Text)>0) then SearchVZ;
end
else
ShowMessage('Введите текст котрый следует искать!');
end;
Лістингпрограми приведений в додатку А.
 
7.Реалізація проекту у візуальному середовищі
 
Для реалізаціїданого проекту, мною було використано середовище візуального програмування Borland Delphi 7.0, яке на сьогоднішній день є одним із найпотужнішихсучасних програмних засобів для розробки прикладного програмного забезпечення.
У Delphi програмні модуліпозначаються словом «Unit», кожен з цих програмних модулів містить текстпрограми. Усі процедури та функції головної форми описуються у модулі Unit1. Компонентивікна форми тестової програми описуються у Unit2. Вікно форми пропрограму належить до Unit3. Також на формі міститься кнопка «Вихід», тобтовиходу з програми.
Для вдосконаленняроботи даного проекту можна внести свої змінні у функції чи процедури програми,за допомогою добавлення нових чи вдосконалення існуючих команд. У головнійформі «Form» відображено інтерфейс користувача, тобто набір кнопок,полів, картинок. Кожен об’єкт має свій програмний код, який відображено в Unit. Томуможна зробити висновок, що у Unit здійснюється реалізація програми, а у Formздійснюється візуальне її оформлення.
Реалізаціяпроекту у візуальному середовищі передбачає наступні стани:
1. Запуск на виконання Delphi 7 для створення новогопроекту (Пуск – Програми– Borland Delphi 7 – Delphi 7)
2. Створення 3-ох форм: Form1, Form2, Form3 (Form1 створюється автоматичнопри завантаженні Delphi, для створення іншої форми потрібно на панелі інструментів обратиNew Form, або в меню Form – New – Form).
3. Встановлення властивостейдля Form1, Form2 Form3 згідно до розділу 5 Розробка інтерфейсу роботи з користувачем.
4. Встановлення компонентів таїх властивості для Form1, Form2, Form3.
5. Введення програмного коду, якийнаведений у Додатку А.
6. Зберегти проект (File – Save All, або за допомогою комбінаціїклавіш Shift+Ctrl+S), вказавши ім’я файлу проекту, для решти файлів імена призбереженні змінювати не потрібно.
7. Після виконання усіхпопередніх пунктів дану програму потрібно відкомпілювати (F9, або за допомогою меню Run – Run).
8. Після виконання усіхпопередніх пунктів дану програму потрібно відкомпілювати (F9, або за допомогою меню Run – Run).
Упроекті присутні велика кількість компонентів, для їх функціонування необхіднозмінити певні властивості:
Таблиця3 – Властивостікомпонентів Форми SerPakНазва копонентів Властивості назва Button1 Caption ‘Працювати’ Працювати Height 30 Width 110 name work Button2 Caption Про програму Height 30 name about Width 130 Button3 Caption Вийти Width 120 name exit Height 30 Lable1 Caption Привіт transparent true Lable2 Caption Вас вітає програма Aligment taCenter transparent true
Параметришрифту для візуальних комронентів форми SerPak, таких як:
Lable1, Button потрібновстановити наступним чином, назва шрифту =MS Sane Serif, розмір = 14.для решти компонентів цю властивість змінювати не потрібно.
Таблиця4. Властивостікомпонентів форми SerPokНазва копонентів
Властивості що
необхідно змінити Значення Button1 Height 30 Width 110 name OK Lable1… Lable6 transparent true Image1 Width 561 Height 513
 
Параметришрифту для візуальних комронентів форми SerPak, таких як:
Lable, Button, RadioButton, GroupBox потрібновстановити наступним чином, назва шрифту =MS Sane Serif, розмір = 14.для решти компонентів цю властивість змінювати не потрібно. Також длякомпонентів SpinEdit, Button, в властивості Hint коротко описатифункціональне призначення даного елемента, виходячи з його назви

Таблиця5. Властивостікомпонентів форми SerPok (початок)Назва компонента Властивості Значення Label1 Caption – відповідно до рис. 13 Transparent true Label2 Caption – відповідно до рис. 13 Transparent true GroupBox1 Caption заповнення RadioButton1 Caption авто RadioButton2 Caption ручне GroupBox2 Caption цифри / текст RadioButton3 Caption текст RadioButton4 Caption цифри SpinEdit Name KR Button1 Caption Шукати Width 121 Height 22 Button2 Caption Зберегти Width 121 Height 21 Button3 Caption Загрузити Width 121 Height 22 OpenDialog Властивостей змінювати не потрібно SeveDialog Властивостей змінювати не потрібно Edit1 Властивостей змінювати не потрібно SpinEdit Name KС /> /> /> />
 
8.Аналіз програми
Воснові даної програми лежить робота з масивом, а саме з пошуком елементів. Проектскладається з трьох форм:
Головної,Про програму та форму, що відображається при завантаженні.
При запускупрограми відображається форма, що зображена на рис. 10, при натисканні нату чи іншу кнопку виконуються певні дії. При натисканні на кнопку ‘Вийти’ користувач покидаєпрограму. При натисканні на кнопку ‘Про програму’ відкривається вікно, у якому міститься короткаінформація про даний програмний продукт і міститься електронна адресавиробника. При натисканні на кнопку ‘Працювати’ відкривається головна форма на якій виконуєтьсяпрактично уся робота.
Наголовній формі користувач може: обрати кількість рядків чи стовбців; створити масивможе вручну – вводити елементи, а може автоматично згенерувати.
Користувачможе вибрати на свій розсуд буквене або цифрове заповнення масиву елементами. Уцифровому масиві цифри можуть бути як додатні та і від’ємні елементи.
Такожкористувач може зберегти результат пошуку елементів, і може завантажити ужезбереженні дані про минулий пошук.
До недоліківможна віднести те, що більше трьох елементів для пошуку вводити неможна.
9. Тестуванняпрограми
Вході тестування програми було виправлено усі виявлені помилки та недолікироботи програми, було зменшено текст програми за рахунок вдосконалення певнихпроцедур та функцій, збільшено загальну продуктивність та швидкодія програми задопомогою оптимізація та логічного вдосконалення програмного коду. Також буломаксимально вдосконалено інтерфейс програми.
Тестуванняпрограми виконувалось, як при покроковому режимі виконання програми, так і прикомпілюванні.

/>
Рисунок10 – Робота програми до початку пошуку у масиві
/>
Рисунок11 – Робота програми під час пошуку елемента у масиві.
 
10.Інструкція з експлуатації програми
Для забезпеченнянормального функціонування даної програми, до комп'ютера висуваються такімінімальні вимоги:
– процесор зтактовою частотою не менше 166 MHz;
– відео картаз пам’яттю не менше 8 Mb;
– операційнасистема Windows 95/98/2000/XP/Vista;
– Не менше 5 Мb вільного місця на жорсткому диску;
– Об’єм оперативноїпам’ятіне менше 32 Мb;
– Обов‘язково наявність мишки та клавіатури.
Програма непотребує інсталяції. Для того щоб вона працювала на комп’ютері, достатньоскопіювати файл ‘SerPok.exe’ та деякі текстові файли.
Запуск програмиздійснюється за допомогою файлу «SerPok.exe».
При завантаженніпрограми для продовження роботи потрібно натиснути кнопку «Працювати», при натисканні накнопку «Про програму», відкриється вікно котре містить інформацію про програму.
Наголовній формі користувач може: обрати кількість рядків чи стовбців задати уполі; натиснувши на перемикач ‘ручне’, ‘авто’ створити масив може вручну – вводити елементи, а можеавтоматично згенерувати.
Користувачможе вибрати на свій розсуд буквене або цифрове заповнення масиву елементами при перемиканніперемикачів, ’букви’ і ‘цифри’. У цифровому масиві елементиможуть бути як додатні та і від’ємні.
Також користувачможе зберегти результат пошуку елементів, якщо нажати на кнопку ‘сохранити’, і можезавантажити уже збереженні дані про минулий пошук якщо нажати на кнопку ‘загрузити’.
11. Аналізотриманих результатів
Згідно з завданнямданого курсового проекту, було розроблена програма візуальної демонстрації пошукуелементів у масиві. Після чого ми можемо пересвідчитись в достовірності роботипрограми на рис. 12 -14.

/>
Рисунок12-Програма при завантаженні
/>
Рисунок13 – Головна формапри завантаженні
/>
Рисунок14 – Інформація про програму


Висновок
Підчас виконання завдання курсової роботи, було розроблено програму, яка ведеоблік комп’ютерів на підприємстві, з можливість створення нової, зміни тавидалення старої непотрібної інформації.
В процесі виконання курсової роботи,створена аналітична модель програми, процес аналізу завдання розглядається ваналітичному розділі, Побудована інформаційно-математична модель програми, де зточки зору математики було розроблено етапи роботи програми, і всі ці етапирозписані в інформаційно-математичній моделі, розроблений алгоритм програми, деописано в яких послідовностях повинні виконуватися частини програми, та з якимиособливостями. Визначена структура даних, з’ясовані ті змінні, які необхіднідля виконання поставленої задачі. В процесі роботи був розроблений інтерфейскористувача, який дозволяє легко та без особливих зусиль користуватисяпрограмою. Складений код програми, відповідно до якого програма повиннавиконувати всі поставлені перед нею завдання. Проведений аналіз програми,з’ясовані основні події роботи програми та процедури які їх опрацьовують,відбувалось тестування програми на наявність помилок та недоліків роботи, притестуванні помилок та недоліків не виявлено, складена інструкція довикористання програми та встановленні системні вимоги до персональногокомп’ютера.

Списоклітератури
 
1. В. Фаронов – Системапрограммирования Delphi;
2. Глинський Я.М – TurboPascal\Delphi 6 – видання;
3. Кэнту – Delphi дляпрофисионалов;
4. Краснов – Графика в проектахDelphi;
5. Марков Є.П. – Програмированье вDelphi 7;
6. Мозговой М. – Занимательноепрограммирование.
7. Григас Г. – Началапрограмируванье. – М., 1987
8. Грогоно П. –Програмируванье на языке паскаль.
9. Спірідонов В.І. – Обчислювальнатехніка і програмування.
10. Глинський Я.М. – Основиінформатики та обчислювальної техніки.
11. Абрамов С.А – Начала програмируваньяна языке Паскаль.
12. Фаронов В.В. – Delphi 5учебный курс.
13. Черняхівський В.В-Сучаснатехнологія візуального програмування.
14. Немнюгин – Turbo Pascal.
15. Климов – Pascal 7.0
16. Юрий Гурский – Трюки и эффектыв Delphi 7.
17. Род Стивенс – Delphi. Готовыеалгоритмы.
18. Виктор Пестриков, АртурМаслобоев – Delphi на примерах.
19. Михаил Фленов –Программирование в Delphi глазами хакера.


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

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

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Усовершенствование стратегии развития АКБ "Приватбанк" в сегменте ипотечного кредитования населения
Реферат Гидрогеохимическая проявленность ореолов техногенного замещения подземных вод в связи с Ларинским полигоном ТБО г. Донецка
Реферат Отоларингология. Хронические гнойные отиты и их осложнения
Реферат Lucille Ball The World
Реферат Harry Potter Essay Research Paper The Best
Реферат Educating Hispanic Students Essay Research Paper Education
Реферат Иридодиагностика
Реферат Отражение особенностей национального менталитета в пословицах и по
Реферат Взаимодействие объективной и субъективной сторон экономической жизни общества
Реферат История науки об управленческих решениях
Реферат Конституция Европейского Союза
Реферат Психологический анализ профессионально важных качеств сотрудников ОВД когнитивные и коммуникативные
Реферат Проблема гуманизации человеческой деятельности. Развитие альтруистического поведения как одно из направлений гуманизации
Реферат Объединение русских земель вокруг Москвы и становление централизованного Российского государства
Реферат Ісландія та країни Балтії