5.1 Комплект поставки

Программный продукт поставляется на дискете 3,5". В корневом каталоге дискеты находится каталог Saniokkurs, содержащий следующие файлы:

komp. pas – главный исполняемый файл;

Egavga. bgi – драйвер видеоадаптера;

Keyrus. com – драйвер клавиатуры;

Также в папке Saniokkurs находится еще один каталог, содержащий файлы

help. txt – файл со справочными сведениями по работе с программой;

mat. txt – файл, содержащий информацию о материнской плате;

proc. txt – файл, содержащий информацию о процессоре;

video. txt – файл, содержащий информацию о видеокарте;

zvuk. txt – файл, содержащий информацию о звуковой карте;

blok. txt – файл, содержащий информацию о блоке питания;

slot. txt – файл, содержащий информацию о слотах памяти;

cd. txt – файл, содержащий информацию о CD-ROM;

gest. txt – файл, содержащий информацию о жестком диске;

5.2. Порядок установки

Процедура инсталляции состоит в следующем:

- средствами операционной системы создаётся каталог для программы (возможно также использование уже существующего каталога, но создание для программы отдельного каталога является предпочтительным);

- средствами операционной системы файлы, входящие в комплект поставки, переносятся из каталога Saniokkurs дискеты в подготовленный каталог.

5.3. Запуск программного продукта

Для запуска программного продукта для начала необходимо выполнить файл Keyrus. com, а после запустить файл komp. exe. В случае отсутствия некоторых файлов, система выдаст соответствующее предупреждение, и если эти файлы были критически важными, прекратит работу.


6. АНАЛИЗ ЭФФЕКТИВНОСТИ

Данная программа обладает довольно качественным и понятным интерфейсом. Пользователь без труда может сориентироваться при запуске приложения при помощи подсказок, находящихся в нижней части экрана. Также одним из достоинств программы является то, что диалог пользователя с программой осуществляется при помощи понятных и довольно удобных диалоговых окон. Следует также заметить то, что в целом, программа выполнена в классическом варианте для приложений, разработанных для операционной MS-DOS. То есть, это удобная, не надоедливая цветовая гамма, которая не раздражает после долгой работы органы зрения пользователя.

В программе реализована удобная навигация по информационной базе, довольно понятное наглядное изображение устройств персонального компьютера, насыщенная информационная база.


ВЫВОДЫ

После завершения работы над программой, её можно протестировать и выявить как достоинства, так и недостатки. Мною были выполнены поставленные задачи, а именно:

- в программе был реализован удобный графический пользовательский интерфейс

Также следует дополнительные достоинства: это возможность пополнения базы новыми информационными материалами.

В будущем, возможна модернизация программы в следующих направлениях:

- сделать программу более удобной при чтении материала из информационной базы;

- сделать программу под более современную операционную систему;


СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1.         "Программирование в среде Turbo Pascal 7.0", А.И. Марченко; 1998

2.         Конспект лекций по предмету "ОП и АЯ"

3.         Энциклопедия современного персонального компьютера Москва 2005г.

4.         Ресурс в сети Интернет:

5.         http: // garbo. umasa. fi/pc/turboobj. html

6.         http: // garbo. umasa. fi/pc/turbopas. html

7.         http: // infobase. hypermart. net/pascal/programs. html

8.         http: // infocity. kiev. ua/

9.         Самоучитель Turbo Pascal О.А. Меженный Киев 2004.


Приложение А

ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА ПРОЕКТИРУЕМЫЙ ПРОГРАММНЫЙ ПРОДУКТ

А.1 Общие сведения

Полное название программного продукта: "Разработка информационно-справочной системы "Устройство персонального компьютера". Ее условное обозначение "ОППК". Работа выполнена студентом 1-го курса Донецкого государственного института искусственного интеллекта (ДонГИИИ), факультета современных компьютерных информационных технологий, группы СУА-05, Булавиным Александром Николаевичам.

Основанием для разработки "ОППК" является задание, выданное кафедрой Программного обеспечения интеллектуальных систем (ПОИС).

Плановый срок начала работы: 17.02.06.

Дата защиты работы: 22.05.06.

Курсовая работа выполняется согласно графику, приведенному в таблице А.1.

А.2 Назначения создания программы ведения

Программа предназначена для обучения пользователя основных устройств персонального компьютера

А.3 Требования к программе

А.3.1. Требования к программе в целом

В целом к программе предъявляются следующие требования:

удобный и простой для пользования графический интерфейс;

удобный способ ввода-вывода данных;

контроль действий пользователя, связанные с работой программы;

хранение информации во внешнем источнике данных;

- наличие справочной информации

А.3.2. Требования к задачам и функциям программного продукта

Программа должна реализовать следующие функции:

удобный доступ к информационно-справочному материалу;

вывод легко доступной для восприятия справочной информации;

А.3.3. Требования к программному обеспечению

Программа будет реализована на языке Turbo Pascal 7.0 и для ее работы необходимо наличие операционной системы MS-DOS 5.0 и выше.

А.3.4. Требования к техническому обеспечению

Для корректной работы программы необходимы:

IBM – совместимый ПК с процессором не ниже 80386;

VGA монитор.

А.4 Стадии разработки программы:

Таблица А.1 – Стадии разработки программы

Этапы работы Срок выполнения (недели)
1. Постановка задачи: определение требований к программному комплексу. Формулировка постановки задачи: исходные данные, ограничения, результат, связь. 1-2
2. Составление технического задания 2-3
3.

Техническое проектирование.

Разработка метода решения задачи. Модульный анализ: определение структуры программы, выделение модулей, организация и их взаимосвязи.

3-4
4. Разработка основного алгоритма функционирования программы. Составление спецификаций модулей. 5
5.

Рабочее проектирование:

Определение структур входных и выходных данных, алгоритмов работы модулей. Оценки структур данных и алгоритмов. Описание входных и выходных данных.

6-7
6. Написания программы. 8-10
7. Отладка программы на верхнем уровне. 11-12
8. Комплексная отладка и тестирование. 12-13
9. Написание пояснительной записки. 11-14
10. Защита курсового проекта. 22.05.06

Приложение Б

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Помощь при работе с информационно-справочной системой

- О программе

Отображает реквизиты.

- Наглядное представление персонального компьютера.

Отображает наглядную информацию основных устройств

персонального компьютера

- Информационный материал

Отображает список доступных для рассмотрения тем. Выбрав этот пункт в меню появится окно с названием основных устройств персонального компьютера. . Используя клавиши "вверх","вниз" и "enter" вы можете выбрать устройство, которое вас интересует.

- Руководство пользователя

Без комментариев.

- Выход

Используя этот пункт вы можете выйти из программы.


Приложение В

Листинг программы

USES GRAPH,CRT;

var

ch: char;

s,k,r: integer;

st: string;

com: char;

OldPattern: FillPatternType;

procedure init; {iniciiryet grafiky}

var gd,gm: integer;

begin

gd: =Detect;

initgraph(gd,gm,'');

if GraphResult <> grok then

begin

writeln ('ОШИБКА! ГРАФИЧЕСКИЙ РЕЖИМ НЕ ИНИЦИАЛИЗИРОВАЛСЯ'); {PROVERKA NA INICIACIY}

END;

end;

PROCEDURE MAINMENU(i: integer);

var

m: integer;

begin

CLEARDEVICE; {O4ISTKA EKRANA}

{----------------------РИСУЕМ ДИСКЕТУ--------------------------------------}

setfillstyle(1,9);

BAR (100,100, 200, 200);

setfillstyle(1,8);

BAR (105,105,110,110);

BAR (190,105, 195,110);

setfillstyle(1,8);

BAR (130,100,170,140);

setfillstyle(1,15);

BAR (120,150,180,180);

line (130,155,170,155);

line (130,160,170,160);

line (130,165,170,165);

line (130,170,170,170);

outtextxy (120, 190,'SUMSUNG');

{------------------------РИСУЕМ CD----------------------------------------}

setBkcolor(10);

setcolor (15);

setfillstyle(1,6);

bar3D (0,460, 200,477,0,FALSE);

outtextxy (40,465,'ENTER-ВЫБРАТЬ');

bar3D (210,460,400,477,0,FALSE);

outtextxy (240,465,'ВВЕРХ-ДВИЖЕНИЕ ВВЕРХ');

bar3D (420,460,638,477,0,FALSE);

outtextxy (460,465,'ВНИЗ-ДВИЖЕНИЕ ВНИЗ');

SETLINESTYLE(SOLIDLN,0,3); {risuet liniu}

setcolor(12);

setfillstyle(9,14); {wablon zapolnenij i cvet}

bar3d(240, i,500, i+40,0,false); {risuem paralelepiped 1,2,3,4-koordinati; 0-glubina,fals-otobragenie grani}

setcolor(8); {cvet wrifta}

settextstyle(6,0,3); {vivod texsta; 4-kod wrifta; 0-kod napravlenij; 3-kod razmera}

outtextxy (270,105,'1. О ПРОГРАММЕ');

outtextxy (270,155,'2. НАГЛЯДНОЕ ПРЕДСТОВЛЕНИЕ ПК');

outtextxy (270, 205,'3. ИНФОРАЦИОННЫЙ МАТЕРИАЛ ');

outtextxy (270,255,'4. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ');

setcolor(red);

outtextxy (290,305,' 5. ВЫХОД');

gETfILLpattern(oldpattern);

setcolor (blue);

setfillpattern(oldpattern,blue);

circle (565,300,60);

floodfill(565,300,blue);

setcolor(green);

setfillpattern(oldpattern,green);

circle (565,300, 20);

floodfill(565,300,green);

SETCOLOR(RED);

settextstyle(4,0,2);

outtextxy (530,266,'ESPERANZA');

outtextxy (510,300,'CD-R');

end;

PROCEDURE COMP;

var

i: integer;

BEGIN

INIT;

setBkcolor(11);

settextstyle(6,0,3);

setcolor (red);

bar3D (0,460,290,477,0,FALSE);

outtextxy (30,465,'ENTER-ВОЗВРАТ В ОСНОВНОЕ МЕНЮ');

bar3D (320,460,638,477,0,FALSE);

outtextxy (410,465,'F2-ВЫХОД ИЗ ПРОГРАММЫ');

{------------------------------------------------РИСУЕМ СИСТЕМНЫЙ БЛОК-----}

setfillstyle(1,8);

bar3d(180,100,400,300, 20,TRUE);

LINE (410,280,460,280);

outtextxy (461,280,'СИСТЕМНЫЙ БЛОК');

line(410,270,440,270);

outtextxy (441,270,'СИГНАЛ РАБОТЫ ПРОЦЕССОРА');

gETfILLpattern(oldpattern);

r: =2;

setcolor (blue);

setfillpattern(oldpattern,blue);

circle (410,270,r*2);

floodfill(410,270,blue);

setcolor(green);

setfillpattern(oldpattern,green);

circle (410,270,r*1);

floodfill(410,270,green);

{---------------------------------------------рисуем материнскую плату------}

setcolor(red);

setfillstyle(1,10);

bar (190,160,340,290);

LINE (330, 200,440, 200);

outtextxy (440, 200,'МАТЕРИНСКАЯ ПЛАТА');

{----------------------------рисуем жесткий диск----------------------------}

setfillstyle(1,7);

bar3d(195,165,230,175,3,TRUE);

line (200,170,145,170);

outtextxy (45,166,'ЖЕСТКИЙ ДИСК');

{---------------------------------------------рисуем процессор--------------}

SETCOLOR(6);

setfillstyle(1,6);

for i: =1 to 30 do

circle (280,220,25-i);

line (280,220,440,220);

outtextxy (440,220,'ПРОЦЕССОР');

{-------------------------------------------РИСУЕМ ВИДЕОКАРТУ---------------}

setfillstyle(10,6);

BAR (180, 200,220,215);

line (185, 205,122, 205);

outtextxy (40, 203,'ВИДЕОКАРТА');

{-------------------------------------------РИСУЕМ ЗВУКОВУЮ КАРТУ------------}

setfillstyle(7,7);

BAR (180,240,215,250);

LINE (190,250,155,250);

outtextxy (40,249,'ЗВУКОВАЯ КАРТА');

{------------------------------------------РИСУЕМ БЛОК ПИТАНИЯ---------------}

setfillstyle(10,8);

BAR (185,105,245,140);

outtextxy (187,120,'3 0 0 W');

LINE (185,110,140,110);

outtextxy (40,106,'БЛОК ПИТАНИЯ');

{----------------------------------------РИСУЕМ СЛОТЫ ПАМЯТИ-----------------}

setfillstyle(2,2);

BAR (260,260,270,280);

BAR (280,260,290,280);

LINE (265,270,140,270);

LINE (285,277,140,270);

outtextxy (40,267,'CЛОТЫ ПАМЯТИ');

{---------------------------------------РИСУЕМ CD-ROM------------------------}

LINE (400,140,420,125);

LINE (400,160,420,145);

line(405,145,415,138);

LINE (410,140,460,140);

circle (410,148,2);

setcolor (red);

outtextxy (461,140,'CD-ROM');

{-------------------------------------РИСУЕМ флопик-------------------------}

line (415, 195,460, 195);

outtextxy (461, 190,'ФЛОППИ-ДИСК');

line (405, 200,415, 193);

line (405,210,415, 203);

line (405, 200,405,210);

line (415, 193,415, 203);

setlinestyle (1,2,2);

line (407, 205,413, 201);

readkey;

end;

PROCEDURE TITL;

VAR

I,k,j: integer;

BEGIN

INIT;

CLEARDEVICE;

i: =60;

{---------------------------рисуем мышь--------------------------------}

setfillstyle (1,4);

fillellipse (320,240,80,140);

setfillstyle (1,1);

fillellipse (320,240,60, 20);

setcolor (15);

settextstyle (4,0,30);

outtextXY (295,235,'S V E N');

line (250,180,390,180);

line (320,180,320,100);

{-----------------------------------------------------------------------}

SETFILLSTYLE (1,15);

setcolor (black);

settextstyle(9,0,15);

bar3D (0,460,300,477,0,FALSE);

outtextxy (40,465,'ENTER-возврат в основное меню');

bar3D (320,460,638,477,0,FALSE);

outtextxy (420,465,'F2-выход из программы');

setcolor (10);

outtextxy (120, i,'ДОНЕЦКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА');

delay (200);

outtextxy (140, i+40,'КАФЕДРА ПРОГРАММНОГ ОБЕСПЕЧЕНИЯ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ');

delay (200);

outtextxy (230, i+80, ' КУРСОВАЯ РАБОТА');

delay (200);

outtextxy (170,210,' ПО ДИСЦИПЛИНЕ: "АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ И ПРОГРАММИРОВАНИЕ"');

delay (200);

outtextxy (120,260,'ТЕМА: "РАЗРОБОТКА ИНФОРМАЦИОННО-СПРАВОЧНОЙ СИСТЕМЫ"');

delay (200);

outtextxy (160,280,'"УСТРОЙСТВО ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА"');

delay (200);

outtextxy (480,300,'ВЫПОЛНИЛ: ');

delay (200);

outtextxy (460,320,'СТ. ГР. СУА-05: ');

delay (200);

outtextxy(460,340,'БУЛАВИН АЛЕКСАНДР');

readkey;

end;

procedure WorSpece;

begin

setcolor(15);

setfillstyle(1,9);

bar3d(0,0,getmaxX,getmaxY,0,true);

setfillstyle(1,7);

setcolor(0);

bar3d(15,15,getmaxX-15,getmaxY-15,0,true);

setcolor(4);

setfillStyle(1,8);

bar3d(16,16,getmaxX-16,30,0,true);

setcolor(0);

line(17,32,17,getmaxY-17);

line(17,32,getmaxX-17,32);

line(getMaxX-17,32,getmaxX-17,getmaxY-17);

line(17,getmaxY-17,getmaxX-17,getmaxY-17);

setcolor (2);

settextstyle(9,0,15);

bar3D (0,460,210,477,0,FALSE);

outtextxy (40,465,'F2-ВЫХОД');

bar3D (400,460,638,477,0,FALSE);

outtextxy (400,465,'ВВЕРХ-возврат в основное меню');

end;

procedure colo;

var

m: integer;

n: fillpatterntype;

begin

setcolor (red);

settextstyle(3,0,1);

outtextxy (240,50,'Приготовьте мне, пожалуйста, на завтра');

outtextxy (240,57,'компьютер, но я не знаю, какой ');

outtextxy (240,64,'конфигурации... ');

setcolor (14);

outtextxy (280,71,'Звонок клиента в компьютерную фирму');

setcolor (13);

for m: =1 to 60 do

ellipse (300,240,180-4*m,0+4*m,100+6*m,30+2*m);

setfillstyle(1,7);

bar (190,150,410,350);

setfillstyle(1,11);

bar (205,160,395,340);

setcolor (0);

setfillpattern(fillpatterntype(n),7);

fillellipse (300,370,40, 20);

setfillstyle(10,10);

bar (110, 200,140,340);

bar (440, 200,470,340);

SETCOLOR (RED);

outtextxy (205,170,'К О М П Ь Ю Т Е Р-ЭТО... ');

outtextxy (230, 190,' ХОТИТЕ В ЭТОМ ');

outtextxy (250,210,'РАЗОБРАТЬСЯ... ');

outtextxy (255,230,'ЖМИТЕ ENTER!!! ');

SETCOLOR (0);

outtextxy (205,260,'ЧТОБЫ ВЫЙТИ ИЗ ПРОГРАММЫ');

outtextxy (270,280,'ЖМИТЕ F2');

readkey;

end;

procedure read(name: string);

var fname: text;

s: string;

y: Integer;

pos: longint;

begin

assign(fname,name);

reset(fname);

while not eof(fname) do

begin

y: =30; setcolor(0);

for pos: =1 to 40 do

begin

y: =y+10;

readln(fname,s);

outtextXY(30,y,s);

end;

com: =readkey;

readkey;

if com=#60 then break

else mainmenu(90);

end;

end;

Procedure fajl;

PROCEDURE proff(i: integer);

var

k: integer;

begin

CLEARDEVICE; {O4ISTKA EKRANA}

setBkcolor(12);

setcolor (2);

setfillstyle(1,14);

bar3D (0,460, 200,477,0,FALSE);

outtextxy (40,465,'ENTER-ВЫБРАТЬ');

bar3D (210,460,400,477,0,FALSE);

outtextxy (240,465,'ВВЕРХ-ДВИЖЕНИЕ ВВЕРХ');

bar3D (420,460,638,477,0,FALSE);

outtextxy (460,465,'ВНИЗ-ДВИЖЕНИЕ ВНИЗ');

SETLINESTYLE(SOLIDLN,0,3); {risuet liniu}

setcolor(12);

setfillstyle(9,9); {wablon zapolnenij i cvet}

bar3d(220, i,500, i+40,0,false); {risuem paralelepiped 1,2,3,4-koordinati; 0-glubina,fals-otobragenie grani}

setcolor(15); {cvet wrifta}

settextstyle(6,0,3); {vivod texsta; 4-kod wrifta; 0-kod napravlenij; 3-kod razmera}

outtextxy (260,50, '1. ЖЕСТКИЙ ДИСК');

outtextxy (260,90,'2. МАТЕРИНСКАЯ ПЛАТА');

outtextxy (260,140,'3. ПРОЦЕССОР');

outtextxy (260, 190,'4. ВИДЕОКАРТА');

outtextxy (260,240,'5. ЗВУКОВАЯ КАРТА');

outtextxy (260,290,'6. БЛОК ПИТАНИЯ');

outtextxy (260,340,'7. СЛОТЫ ПАМЯТИ');

outtextxy (260,390,'8. CD-ROM');

outtextxy (265,440,'9. ВЫХОД');

end;

BEGIN

INIT;

k: =35;

proff(35);

repeat

repeat

ch: =readkey;

until (ch=#13) or (ch=#80) or (ch=#72) or (ch=#60);

begin

if ch=#60 then

begin

CLOSEGRAPH;

break; {ostanovka proceduru}

end;

if (ch=#80) and (k>=35) and (k<435) then

begin

k: =k+50;

proff(k);

end;

if (ch=#72) and (k>35) and (k<=435) then

begin

k: =k-50;

proff(k);

end;

if ch=#13 then

begin

if k=435 then

begin

CLOSEGRAPH;

break;

end;

if k=35 then

begin

CLRSCR;

WorSpece;

read('c: \infa\GEST. txt');

end;

if k=85 then

begin

CLRSCR;

WorSpece;

read('c: \infa\mat. txt');

end;

if k=135 then

begin

CLRSCR;

WorSpece;

read('c: \infa\proc. txt');

end;

if k=185 then

begin

CLRSCR;

WorSpece;

read('c: \infa\video. txt');

end;

if k=235 then

begin

CLRSCR;

WorSpece;

read('c: \infa\zvuk. txt');

end;

if k=285 then

begin

CLRSCR;

WorSpece;

read('c: \infa\blok. txt');

end;

if k=335 then

begin

CLRSCR;

WorSpece;

read('c: \infa\slot. txt');

end;

if k=385 then

begin

CLRSCR;

WorSpece;

read('c: \infa\cd. txt');

end;

end

else

proff (k);

end;

until ch=#60;

end;

BEGIN

INIT;

colo;

k: =90;

MAINMENU(90);

repeat

repeat

ch: =readkey;

until (ch=#13) or (ch=#80) or (ch=#72) or (ch=#60);

begin

if ch=#60 then

begin

CLOSEGRAPH;

break; {ostanovka proceduru}

end;

if (ch=#80) and (k>=90) and (k<290) then

begin

k: =k+50;

MAINMENU(k);

end;

if (ch=#72) and (k>90) and (k<=290) then

begin

k: =k-50;

MAINMENU(k);

end;

if ch=#13 then

begin

if k=290 then

begin

CLOSEGRAPH;

break;

end;

if k=90 then

begin

titl;

end;

if k=140 then

begin

comp;

end;

if k=240 then

begin

CLRSCR;

WorSpece;

read('c: \infa\help. txt');

end;

if k=190 then

begin

fajl;

end

else

mainmenu (k);

end;

end;

until ch=#60;

END.

Приложение Г

ЭКРАННЫЕ ФОРМЫ

Рисунок Б.1 Экран приветствия

Рисунок Б.2 Вид главного меню


Рисунок Б.3 Вид окна о программе

Рисунок Б.4 Вид окна наглядного представления персонального компьютера


Рисунок Б.5 Вид окна информационно-справочного материала

Рисунок Б.6 Вид окна в режиме открытого файла


Информация о работе «Разработка информационно-справочной системы "Устройство персонального компьютера"»
Раздел: Информатика, программирование
Количество знаков с пробелами: 35402
Количество таблиц: 1
Количество изображений: 13

Похожие работы

Скачать
122831
9
8

... с приобретением и использованием данного ПС за счет экономии ресурсов. Данный раздел содержит характеристики разработки, расчет затрат на разработку, производство и использование «Информационно-справочной системы кинотеатра», вычислительной техники, выбор метода и расчет экономического эффекта. 9.1 Исходные данные Таблица 9.1 – Исходные данные № пп Наименование показателя Единица ...

Скачать
37917
0
1

... клавиатуры вряд ли изменится. До недавнего времени использовалась стандартная клавиатура, 101/102 клавиши (первая модель клавиатуры содержала лишь 83 клавиши), но с развитием персональных компьютеров производители старались развивать и основное устройство ввода информации. Это и привело к созданию мультимедийных клавиатур, с гораздо большим количеством кнопок, которые в наши дни все больше и ...

Скачать
180330
0
3

... работающих с мультимедиа и сопроцессором, эффективность процессора Pentium MMX меньше, чем у процессора Pentium с той же тактовой частотой [10]. Выпуск процессоров Pentium MMX возвестил о победе мультимедиа на персональных компьютерах. Кстати, MMX является сокращением от MultiMedia eXtensions (расширения для мультимедиа). В мае 1997 г. фирма Intel объявила о начале выпуска процессоров Pentium II. ...

Скачать
74052
0
0

... запускать мощные приложения в удобной и легкой в освоении графической многозадачной среде. В Windows 95 возможности этих систем усовершенствованы и расширены, обеспечен новый упрощенный подход к работе на персональном компьютере. Кроме того в Windows 95 заложен целый ряд новейших технических решений, которые позволят максимально использовать мощь современных персональных компьютеров. ...

0 комментариев


Наверх