телевизори. Конзоли. Проектори и аксесоари. Технологии. Цифрова телевизия

Запишете стойността на получената променлива s. Език за алгоритмично програмиране. Алгоритмизиране и програмиране

Достъпен и разбираем материал за изучаване на задачи 9 и 10 от OGE по компютърни науки + задачи за упражнение

Вижте съдържанието на документа

Алгоритмичен език

алг
начало
цяло число s, k
s:= 8
nc за k от 3 до 8
s:= s + 8
kts
изход s
кон

DIM k, s КАТО ЦЯЛО ЧИСЛО
s = 8
ЗА k = 3 ДО 8
s = s + 8
СЛЕДВАЩ k
ПЕЧАТ s

Var s,k: цяло число;
Започнете
s:= 8;
за k:= 3 до 8 направете
s:= s + 8;
writeln(s);
Край.

Решение:

Както можете да видите, в тялото на цикъла има само една команда s:= s + 8. Тоест тази операция ще се изпълнява при всяка итерация (на всяка стъпка) на цикъла.

В тялото на цикъла стойността на променливата s се увеличава с 8. Тъй като параметърът на цикъла се увеличава от 3 на 8 на стъпки от 1, при изпълнение на програмата тялото на цикъла ще се изпълни 6 пъти (k ще бъде равно на 3, 4, 5, 6, 7, 8) . Тоест променливата s се е увеличила с 8 * 6 = 48. И тъй като първоначалната стойност на променливата s = 8 и след изпълнение на програмата ще се увеличи с 48, тогава в крайна сметка стойността на променливата s ще стане равна на 56.

Решаване на задачи от тип 10 GIA по информатика

Таблицата Dat съхранява данни за броя на учениците в паралелките (Dat е броят на учениците в първи клас, Dat е броят на учениците във втори и т.н.). Определете какво число ще бъде отпечатано в резултат на следната програма. Текстът на програмата е предоставен на три езика за програмиране.

Алгоритмичен език

celtab Dat

цяло число k, m

Дата := 20; Дата := 25

Дата := 19; Дата := 25

Дата := 26; Дата:= 22

Дата := 24; Дата := 28

Дата := 26; Дата:= 21

Дата:= 27

m:= 0

за k от 1 до 11

ако Dat[k] 22 тогава

DIM Dat(11) КАТО ЦЯЛО ЧИСЛО

DIM k,m КАТО ЦЯЛО ЧИСЛО

Dat(1) = 20: Dat(2) = 25

Dat(3) = 19: Dat(4) = 25

Dat(5) = 26: Dat(6) = 22

Dat(7) = 24: Dat(8) = 28

Dat(9) = 26: Dat(10) = 21

Dat(11) = 27

m = 0

ЗА k = 1 ДО 11

АКО Дата(к) 22 ТОГАВА

m = m + 1

КРАЙ АКО

СЛЕДВАЩ k

Var k, m: цяло число;

Започнете

Дата := 20; Дата := 25;

Дата := 19; Дата := 25;

Дата := 26; Дата := 22;

Дата := 24; Дата := 28;

Дата := 26; Дата := 21;

Дата := 27;

m:= 0;

за k:= 1 до 11 направете

ако Dat[k] 22 тогава

започвам

m:= m + 1

Отговор: ___________________________.

Решение:

Забележка. Масивът Dat, който е описан в Basic, ще има 12 елемента, тъй като номерирането започва не от първия елемент, а от нула.

Масив Dat

Значение

В тялото на цикъла условието се проверява

Така, правилен отговор 7.

Вижте съдържанието на презентацията
„Решение на задачи 9 и 10 от OGE по компютърни науки“

Решение на проблема

по компютърни науки


Решаване на задачи от тип 9 GIA по информатика

Алгоритмичен език

ОСНОВЕН

алг начало цяло число s, k s:= 8 nc за k от 3 до 8 s:= s + 8 kts изход s кон

Паскал

DIM k, s КАТО ЦЯЛО ЧИСЛО s = 8 ЗА k = 3 ДО 8 s = s + 8 СЛЕДВАЩ k ПЕЧАТ s

Var s,k: цяло число; Започнете s:= 8; за k:= 3 до 8 направете s:= s + 8; writeln(s); Край.

Запишете стойността на променливата s, получена в резултат на следната програма. Текстът на програмата е предоставен на три езика за програмиране.

Отговор: ___________________________.


Решение :

  • И така, нека да разгледаме този алгоритъм, написан на различни езици.
  • Първо се обявява, че ще се използват променливи k и s от целочислен тип
  • След това на променливата s се присвоява стойност 8.
  • След това се описва цикъл, където променливата k действа като параметър, който се променя от 3 до 8 на стъпки от 1 (т.е. ще приеме последователни стойности 3, 4, 5, 6, 7 и 8) .
  • Има само една команда в тялото на цикъла: s:= s + 8. Тоест тази операция ще се изпълнява при всяка итерация (на всяка стъпка) на цикъла.
  • И в самия край на екрана се показва стойността на променливата s
  • В тялото на цикъла стойността на променливата s се увеличава с 8. Тъй като параметърът на цикъла се увеличава от 3 на 8 на стъпки от 1, при изпълнение на програмата тялото на цикъла ще се изпълни 6 пъти (k ще бъде равно на 3, 4, 5, 6, 7, 8) . Тоест променливата s ще се увеличи с 8 * 6 = 48. И тъй като първоначалната стойност на променливата s = 8 и след изпълнение на програмата ще се увеличи с 48, тогава в крайна сметка стойността на променливата s ще стане равна на 56 .

22 ТОГАВА m:= 0; m = m + 1 за k:= 1 до 11 do if Dat[k] 22 then m:= m + 1 END IF if Dat[k] 22 then NEXT k start all m:= m + 1 kc PRINT m край; изход m con writeln(m) Край. "ширина="640"

Таблицата Dat съхранява данни за броя на учениците в паралелките (Dat броя на учениците в първи клас, Dat във втори и т.н.). Определете какво число ще бъде отпечатано в резултат на следната програма. Текстът на програмата е предоставен на три езика за програмиране.

Отговор: ___________________________.

Алгоритмичен език

ОСНОВЕН

Паскал

DIM Dat(11) КАТО ЦЯЛО ЧИСЛО

DIM k,m КАТО ЦЯЛО ЧИСЛО

Var k, m: цяло число;

celtab Dat

Dat: масив от цели числа;

Dat(1) = 20: Dat(2) = 25

цяло число k, m

Dat(3) = 19: Dat(4) = 25

Дата := 20; Дата := 25

Дата := 19; Дата := 25

Dat(5) = 26: Dat(6) = 22

Дата := 20; Дата := 25;

Dat(7) = 24: Dat(8) = 28

Дата := 26; Дата:= 22

Дата := 19; Дата := 25;

Дата := 26; Дата := 22;

Dat(9) = 26: Dat(10) = 21

Дата := 24; Дата := 28

Dat(11) = 27

Дата := 24; Дата := 28;

Дата := 26; Дата:= 21

Дата:= 27

Дата := 26; Дата := 21;

ЗА k = 1 ДО 11

Дата := 27;

nc за k от 1 до 11

АКО Дата(к) 22 ТОГАВА

m = m + 1

за k:= 1 до 11 направете

ако Dat[k] 22 тогава

m:= m + 1

ако Dat[k] 22 тогава

m:= m + 1

изход m

writeln(m)

), тогава не го вземаме под внимание, тъй като 22 не е повече от 22. Може да се вземе предвид, ако в сравнението имаше знак =. Така че верният отговор е 7." width="640"

Решение:

  • Нека разгледаме програмата стъпка по стъпка. И така, в самото начало се декларират променливите, които ще се използват (променливи k и m), както и масивът Dat, съдържащ 11 елемента (от 1 до 11).
  • Следва попълване на масива. Например на елемента от масива с индекс 1 се присвоява стойност 20, на елемента с индекс 2 се присвоява стойност 25 и т.н. В резултат на това полученият масив може да бъде представен по следния начин:
  • След това на променливата m се присвоява стойност 0. След което започва цикълът с параметъра k, като k се променя от 1 на 11 на стъпки от 1.
  • Стойността на елемента на масива с индекс k се сравнява с числото 22. Ако елементът на масива е по-голям от 22, тогава променливата m се увеличава с 1. В противен случай нищо не се случва.
  • В самия край на програмата на екрана се показва стойността на променливата m.
  • И така, преведохме програмата на човешки език, сега нека помислим какво в крайна сметка ще получим след нейното изпълнение. Интересуваме се от цикъла - тук се променя стойността на променливата m. Преди цикъла стойността му е нула. След това програмата преминава през всички елементи на масива и ги сравнява с числото 22. И ако елементът на масива е по-голям от 22, тогава променливата m се увеличава с 1. Така че трябва да преброим всички елементи на масив, които са по-големи от 22 - техният брой ще бъде равен на стойността на променливата m. Има 7 такива елемента - това са елементи с индекси 2, 4, 5, 7, 8, 9 и 11.
  • Трябва да обърнете внимание на елемент номер 6, който е равен на 22. Тъй като нашето сравнение е строго (знак), ние не го вземаме предвид, тъй като 22 не е повече от 22. Може да се вземе предвид, ако сравнението беше знак =.

Така че правилният отговор е 7.

Алгоритмизиране и програмиране

2. Липсва в процедурните езици за програмиране 2) комплекс

Тип данни.

При разработването на софтуерен продукт сравняването на резултатите от програмата с резултатите от наблюденията или резултатите, получени експериментално, се отнася до етапа

1) отстраняване на грешки и тестване на програмата

4. Проектирането на програми чрез последователно разделяне на голяма задача на по-малки подзадачи съответства на... 3) проектиране отгоре надолу

5. Езикът, чието име е съкращение от „универсален символен код за начинаещи“ е 4) Basic

6. Таблицата с идентификатори по време на процеса на превод се използва за съхраняване на... 3). имена на променливи и функции

7. Понятието "Полиморфизъм" се отнася до 3) технологии за модулно програмиране

8. Модулната структура на програмата отразява една от характеристиките 2) динамичен програмиране.

10. Зареждане на модула на програмата - резултатът от работата... 4) редактор на връзки (линкер)

11. Обектно-ориентираният подход се основава на концепцията 3)класова йерархия

12. Първият етап от решаването на проблем на компютър е 1) постановка на проблема

13. Езиците за маркиране на данни са 1)HTML и XML

3)P=Невярно;Q=Невярно

16. Програмата е 2) алгоритъм, написан на език за програмиране

Капсулирането в обектно-ориентираното програмиране означава да можеш

2) определяне на интерфейса (спецификация) на методите за тяхното изпълнение

18. Изпълняват преводачи 1) обработка на оператор по израз и изпълнение на програма

Задачата: „въведете две числа и намерете тяхното средно аритметично и средно геометрично и дайте резултата“ отговаря на алгоритъм...

22. Не се отнася за основни алгоритмични конструкции 1) заместване

Обектно-ориентираният подход към програмирането се основава на принципа

4). дизайн отдолу нагоре

26. Езикът Lisp е език 2) функционален

Програмиране

27. При разработване на софтуерен продукт отстраняването на забелязаните от потребителя недостатъци се извършва на етап 4) поддръжка на софтуерния продукт

Основните принципи на структурното програмиране не включват

3) постигане на абсолютен минимум от знаци и редове в програмния текст

29. Атрибути на променливи в езиците за програмиране: а) име б) адрес в) видим/скрит г) стойност д) тип е) функционалност 2). а, б, г, г

1) брой нули

Фрагмент от алгоритъма е изобразен под формата на блокова диаграма. Определете каква стойност на променливата S ще бъде отпечатана в резултат на изпълнение на алгоритъма.

Каква стойност на променливата S ще бъде отпечатана след изпълнение на фрагмент от програмата BASIC?

За N = 1 до 3

Печат S 4)6

4) намира броя на знаците на въведеното число

38. Определението за „пригодност на алгоритъм за решаване на определен клас проблеми“ се отнася до свойството на алгоритмите, което се нарича 3) масов характер

39. Транслатор, който превежда изходната програма в еквивалентна резултатна програма на машинен команден език, се нарича 4) Компилатор

40. Процедурните езици за програмиране нямат 2) комплекс

Тип данни.

41. Понятието "Полиморфизъм" се отнася до 1)технологии за обектно-ориентирано програмиране

База данни

4) е ключов и в двете таблици

1) параметричен

3. Релационните бази данни представляват зависими данни във формата 1) взаимосвързани таблици

5. Езикът за заявки към релационни бази данни е 1) SQL

6. В релационна база данни едно поле е 4) колона в таблицата

7. Въз основа на метода за достъп до бази данни СУБД се разделят на 2). клиентски сървър

Колко записа има в представената база данни? 4)4

9. Какви записи ще бъдат намерени след търсене в текстовото поле Компютър с условието „съдържа Pentium“?

10. В релационна база данни, таблично поле 3) колона на таблицата

11. В релационна база данни, всички елементи на една колона в таблица 1) имат същия тип и дължина

12. Попълнете пропуснатите думи в определението: Системата за управление на бази данни е 1) набор от софтуерни и езикови инструменти, необходими за създаване на бази данни, поддържането им в актуално състояние и организиране на търсенето на необходимата информация в тях.

13. Попълнете пропуснатите думи в определението: База данни е 2) наименувани и структурирани колекция от данни, свързани с конкретна предметна област.

14. В таблица на релационна база данни 3) всяко поле има уникално име

15. В какъв ред ще бъдат разположени записите в базата данни след сортиране във възходящ ред в полето Памет?

16. В релационна база данни 2) данните са представени под формата на една или повече взаимосвързани таблици

17. Попълнете пропуснатите думи в определението: Поле, чиято стойност 3) недвусмислено идентифицира съответния запис , се нарича ключово поле.

18. При въвеждане на условие за стойност на дата в СУБД на Access правилният запис е 1)>#01.01.55#И<#01.01.75#

19. Полето на база данни може да съдържа 2) текстови, числови и други видове данни

20. Понятието сделка съответства на 1) Последно. операции върху данни, които се разглеждат в СУБД като едно цяло

2) много към много (M:M)

22. Формуляр в Acess може да бъде създаден въз основа на 2) таблици и заявки

23. Връзките между таблиците в СУБД на MS Access се установяват автоматично при използване на съветника 2) замествания

Глобални и локални мрежи

1. Извиква се мрежова топология с последователно обслужване на възли 4) Пръстен

2) комуникационен протокол с отдалечен компютър

4. Извиква се компютър, който има 2 мрежови карти и е предназначен за свързване на мрежи 1) рутер

6. Комуникационната линия с минимално забавяне е 2) оптични влакна

7. Извиква се приложение за преглед на хипертекстови страници 4) Браузър

8. IP адрес, който се присвоява автоматично, когато дадено устройство се свърже към мрежата и се използва до края на сесията за връзка, се нарича 4) Динамичен

9. FTP е 3) името на мрежовия протокол, който обслужва приемането и предаването на файлове

4) усукана двойка

11. Моделът за отворена мрежова връзка (OSI) включва 1) седем нива на взаимодействие

1) общ автобус

13. Отнася се за браузъри 1) Опера

14. FTP протоколът е предназначен за 1) прехвърляне на файлове

16. Браузърът е 2) програма за преглед на уеб страници

17. Модемът е 4) техническо средство

18. Електронната поща (e-mail) ви позволява да прехвърляте 3) съобщения и прикачени файлове

19. Модем, предаващ информация със скорост от 28 800 bps, може да предаде две страници текст (3600 байта) в рамките на 3)1 секунди

20. Компютър, свързан с интернет, трябва да има 1)IP адрес

Тип данни

Описание

8-битови (1 байт) неподписани числа в диапазона от 0 до 255. Типът данни може да се използва при анализиране на ASCII символни кодове или прости изчисления, ако е известно предварително, че резултатът няма да надвиши стойността 255. Например , използвайки променлива Byte може да съхранява броя на дните в месеца, тъй като максималната стойност не надвишава 31.

16-битови цели числа в диапазона от -32768 до 32767. Цифровият тип данни Integer често се използва за достъп до елементите на масив или колекция.

32-битови цели числа (4 байта) в диапазона от -2 147 483 648 до 2 147 483 647. Променливите от този тип ви позволяват да съхранявате резултатите от аритметични изрази, които използват доста големи цели числа. Например типът данни Long може да се изисква при изчисляване на големи прости числа, числа на Фибоначи, факториел на число и т.н.

96-битови (12 байта) числа без знак. В дробната част се записва степента на числото. В този случай броят на десетичните знаци може да варира в диапазона от 0 до 28. В променливи от тип десетичнаМожете да съхранявате супер големи цели числа в диапазона от -79*10 28 до 79*10 28 .

64-битови (8 байта) числа с плаваща запетая с двойна точност за работа с числа в диапазона -1.798E+308 до -4.941E-324 за отрицателни стойности и 4.941E-324 до 1.798E+308 за положителни стойности .

Този тип данни се използва в случаите, когато се изисква повишена точност на изчислението.

32-битови (4 байта) числа с плаваща запетая в диапазона от -3.403E38 до -1.401E-45 за отрицателни числа и 1.401E-45 до 3.403E38 за положителни числа.

Типът данни се използва за съхраняване на низови стойности с променлива (до 2 милиарда знака) или постоянна (64K знака) дължина.

Тип данни, който ви позволява да работите с дати и часове в календара. В паметта на компютъра типът Дата е 64-битово число с плаваща запетая, което ви позволява да съхранявате дати в диапазона от 1 януари 100 г. до 32 декември 9999 г. и времена в диапазона от 0:00:00 до 23:59 :59.

16-битови числа, които приемат две стойности: True (всички битове на числото са зададени на единица, което съответства на -1) и False (всички битове на числото се нулират на нула, което съответства на числото 0). Булевите променливи се използват при сравняване на изрази, в условия и в някои видове цикли.

Променлива за съхраняване на препратки към обекти във Visual Basic и други приложения

Позволява ви да съхранявате данни от всякакъв тип - числа, низове, дати и празни стойности.

Един тип обект може да бъде разделен на типове категории - формуляри, елементи, принтери и т.н.

За да декларирате нова променлива, използвайте оператора Dim, чийто синтаксис е както следва:

Dim<идентификатор> , <идентификатор1> ...

<идентификатор>- име на променлива.

<тип>- валиден тип данни.

Например, следната конструкция декларира променливата V1:

Dim V1 като цяло число

Може да се пропусне типът на променливата и съответно конструкцията As. В този случай променливата е нетипизирана. Когато декларирате няколко променливи едновременно, много често се използва тази конструкция Dim A, B, C As Integer. Освен това се приема, че и трите променливи са цели числа. Всъщност това не е вярно. Само променлива C е цяло число, а променливите B и C са нетипизирани. По-правилният начин да го напишете е:

Dim A като цяло число, B като цяло число, C като цяло число

Присвояване на стойност на променлива

Първоначалната стойност на променливата е 0 за числови типове данни и празен низ "" за низови стойности. В повечето случаи тази стойност е доста подходяща за условията на проблема. Така че можете да напишете програма за сумиране на редовете на масива A, без да нулирате стойността на променливата S:

Дим С
За I = 1 до 5
S = S + A[I]
Следващия

Такава програма няма да генерира грешка при изпълнение и правилно ще сумира петте елемента на масива. Но правилата за добра форма в програмирането все още ви принуждават да му присвоите първоначална стойност, преди да използвате нова променлива. Към програмата трябва да се добави още един ред за сумиране на елементите на масива:

Дим С
S=0
За I = 1 до 5
S = S + A[I]
Следващия

Можете да присвоите стойност на променлива по два начина: изрично чрез използване на подходящи езикови инструкции Visual Basic за приложениеили в неявна форма, като променливи на цикъл. Следните примери показват различни начини за присвояване на стойности на променливи:

· числова променлива
Дим година като цяло число
Година = 2003

· булева променлива
Dim IsTrue като булево
IsTrue = Вярно

променлива тип дата
Dim BD като дата
BD = #10/4/03#

· изчисляване на стойността на израз
B = (3*(3+4))/4

· използване на функции Visual Basic за приложение
S = InputBox("Моля, представете се")

· началната стойност на променливата е 1, крайната стойност е 5.
За I = 1 до 5
Debug.Print I
Следващия

· променлива I може да се използва след завършване на цикъла

| Тест

Урок 38
Тест

"Алгоритмизация и програмиране"

внимание! Тестът съдържа въпроси и кодови елементи от Pascal!


Първи вариант

Част 1.

1. Как изглежда знакът за присвояване в програмирането?:

  1. <=

2. Какво е името на алгоритмичен дизайн, който се състои от последователни действия, които следват едно след друго в строго подреден ред?

  1. Следване
  2. Разклоняване
  3. Повторение

3. Какъв алгоритъм е показан на снимката?:

  1. Следване
  2. Разклоняване
  3. Повторение

4. Изберете правилния запис на програмата :

  1. програма Yakov_petrovich;
  2. програма Яков Петрович;
  3. програма Яков Петрович;
  4. програма_Яков_Петрович;

5. Коя команда може да се използва за намиране на остатък от деление на число? аНаb:

Част 2.


1. Запишете стойността на променливата b

а:=4;

x:=10;

a:= x-a*2;

x:=a*2-x;

2. Какво ще се случи в резултат на изпълнението на този алгоритъм? Запишете отговора си :

а:=5;

b:=7;

ако a>b тогава b:= a+b-28

другоb:= а* b-30;

3. Какво ще се случи в резултат на изпълнението на този алгоритъм? Запишете стойността, която получавате за променлива b

а:=7;

b:=22;

a:= b div a;

b:= b mod a;

4. Каква стойност на b ще се получи след изпълнение на алгоритъма? Запишете отговора. (Ако трябва да закръглите отговора си, закръглете до най-близката десета)

а:=3;

b:=90;

за i:=1 до 4 направи

b:=b/a;

  1. програма чаша_чай;
  2. var a, b, c, y, x: реален;
  3. започвам
  4. writeln('Моля, въведете три числа');
  5. readln(a,b,c);
  6. y:=a;
  7. ако b>y тогава y:=b;
  8. ако c>y тогава y:=c;
  9. ако ab) или (a>c) тогава x:=a;
  10. ако ba) или (b>c) тогава x:=b;
  11. ако ca) или (c>b) тогава x:=c;
  12. writeln(y+x);
  13. край.
  1. Как се казва програмата? Пишете
  2. Запишете какъв тип променливи се използват в програмата.
  3. Запишете имената на използваните променливи.
  4. На кой ред програмата получава данни от потребителя? Напишете номера на реда
  5. Какво ще се покаже, ако потребителят въведе стойностите: 6, 9, 3

Част 3. Напишете програма.

Въвеждат се три числа. Отпечатайте най-малкото число.

Втори вариант

Част I

1. Дизайнът на алгоритъм, в който в резултат на проверка на изпълнението на дадено условие могат да се извършват различни действия, се нарича:

  1. Следване
  2. Разклоняване
  3. Повторение

2. Не е равно на паскал се пише:

3. Кой запис е правилен:

  1. пишете (Задайте променливи a и b);
  2. пишете (‘ Задаване на променливи а и б’);
  3. пишете (‘ Задаване на променливи “, а и б);
  4. пишете ( Задаване на променливи , „а и б“);

4. Блоковата диаграма показва алгоритмичния дизайн:

  1. Линеен алгоритъм
  2. Алгоритъм за разклоняване
  3. Алгоритъм за повторение

5. Команда в паскал, която ви позволява да четете данни, получени от потребителя:

  1. пишете

Част 2.


1. Каква стойност ще има променливата k след изпълнение на този алгоритъм?:

а:=2;

k:=4;

a:= k+a*3;

k:=a/2-k;

2. Запишете стойността на променливата b след изпълнение на фрагмент от алгоритъма:

а:=7;

b:=5;

ако a>b тогава b:= a+b+5

другоb:= а* b-3;

3. Запишете стойността на променливата b след изпълнение на фрагмент от алгоритъма:

а:=4;

b:=15;

a:= b div a;

b:= b mod a;

4. Запишете стойността на променливата b след изпълнение на фрагмент от алгоритъма:

а:=2;

b:=5;

за i:=1 до 5 направи

b:= а* b;

5. Прегледайте алгоритъма и отговорете на въпросите:

програмно зарибяване;

var a, b, c, y: реален;

започвам

writeln('Въведете три числа');

readln(a,b,c);

y:=a;

ако b>y тогава y:=b;

ако c>y тогава y:=c;

writeln( г) ;

край.

  1. Напишете името на програмата.
  2. Какъв тип променливи се използват в програмата.
  3. Колко променливи се използват в програмата, посочете техните имена.
  4. Пренапишете реда, където програмата получава данни от потребителя.
  5. Какво ще се покаже, ако потребителят въведе стойностите: 5, 8, 2.

Част 3. Напишете програма.

Дадени са две цели числааИb ( а< b). Отпечатайте във възходящ ред всички числа, разположени между a иb(включително самите числааИb), както и числотонтези числа.



Свързани публикации