Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Учебная программа дисциплины



Общий курс
«Основы программирования»
(Fortran, C, C++, D)

(название)

Разработчики:

канд.техн.наук Храмушин Василий Николаевич

Рецензент:

Санкт-Петербург

2013 г.


Группа

  9.07 9.14 9.21 9.28 10.05 10.12 10.19 10.26
1. Власов Александр Александрович + + + + + ?    
2. Данилов Артем Дмитриевич + + + + -- +    
3. Каюмова Диана Шамильевна + -- + + + +    
4. Колесова Александра Александровна + + + + -- +    
5. Лапин Егор Дмитриевич + + + + + +    
6. Леганькова Дарья Андреевна + + + + + +    
7. Минаева Ульяна Сергеевна + + + + -- +    
8. Мозин Виталий Романович + + + + -- +    
9. Пенкрат Андрей Олегович + + -- + -- --    
10. Глотова Екатерина Андреевна     + + -- +    
11. Пономарева Юлия Константиновна + + + + + +    
12. Сатина Алена Юрьевна + + + + + +    
13. Сафронов Вадим Викторович + --- -- -- -- --    
14. Симанков Сергей Сергеевич + + + + + +    
15. Смирнова Дарья Сергеевна   + +     +    
16. Фатькина Анна Игоревна + + + + + +    
17. Федосеев Георгий Александрович + + + + -- +    

1. Организационно-методический раздел

1.1. Основные определения.

– первый-второй курсы основной образовательной программы 010300 «Фундаментальная информатика и информационные технологии»

– программа является обязательной;

– лекции и практические занятия;

– физика, математика и информатика в объеме среднего общего образования;

1.2. Цель учебной дисциплины.

Целью дисциплины является изучение фундаментальных основ программирования, формирование навыков разработки наукоемкого программного обеспечения.

1.3. Задачи учебной дисциплины.

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

1.4. Перечень компетенций, которые приобретает студент (слушатель) в процессе изучения данной дисциплины (выходные компетенции).

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

2. Формы текущего и промежуточного контроля.

- самостоятельные работы по каждому разделу курса;

- семестровые курсовые задания;

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

3. Объем и распределение часов курса по модулям, разделам, темам и видам занятий

№ п/п Наименование модулей, разделов, (тем) (для двух- и многосеместровых дисциплин – разбиение по семестрам) (для ООП) Аудиторные занятия Самостоятельная работа Общая трудоемкость с учетом зач. и экз., ч/кредит
Лекции Практич. зан. (семинары, лаб. раб.) Контактное время Всего
часы
1 2 3 4 5 6 7 8
               
               
               
  Итого            

4. Содержание дисциплины*)

4.1. Основные вопросы разделов и тем модулей.

Общие сведения о методах и языках программирования........................................

История компьютереых языков и их эволюция, компиляторы и интерпретаторы. Международные стандарты и сфера применения языка декларативных и функциональных языков прогшраммирования. Пример простой программы, процесс ее написания и использования простейших языковых конструкций. Подготовка и нстройка среды программирования, особенности использования компиляторов, сборка и запуск программы на выполнение.........

История развития и особенности испоьзования языков программирования....................

Отражение архитектуры ЭВМ в строении языков про-граммирования: Fortran+Algol à Pascal (PL/1, Ada, Lisp(Prolog)Planner? ЯАП, Эль) à C, C++, D.

Простейшая программа на языке Fortran, С, С++, D..............................................................

Компиляция, сборка и выполнение программы......................................................................

Компилирование и выполнение программ в среде Windows (Unix).........................................

Имена, переменные и константы............................................................................

Правила именования переменных и функций языка, правила записи констант. Понятие ключевого или зарезервированного слова, список ключевых слов Си++........................................................

Имена, переменные, константы...................................................................................................
Статическая и стековая память, прямая глобальная адресация данных............................
Массивы, структуры и файлы......................................................................................................

Операции и выражения...........................................................................................

Правила формирования и вычисления выражений в языке Си++. Все операции языка...........

Выражения.......................................................................................................................................

Операция присваивания................................................................................................................

Все операции языка Си++.............................................................................................................

Арифметические операции........................................................................................................

Операции сравнения....................................................................................................................

Логические операции..................................................................................................................

Битовые операции......................................................................................................................

Условная операция......................................................................................................................

Последовательность..................................................................................................................

Операции присваивания..............................................................................................................

Порядок вычисления выражений................................................................................................

Операторы..............................................................................................................

Описываются все операторы управления, имеющиеся в языке Си++, даются примеры их использования....................................................................................................................................

Что такое оператор.........................................................................................................................

Операторы-выражения.............................................................................................................

Объявления имен..........................................................................................................................

Процедуры и функции............................................................................................

Функции – это основные единицы построения программ при процедурном программировании на языке Си++. Правила их записи, вызова и передачи параметров...............................................

Вызов функций................................................................................................................................

Имена функций................................................................................................................................

Необязательные аргументы функций.........................................................................................

Рекурсия............................................................................................................................................

Встроенные типы данных.......................................................................................

Рассматриваются все встроенные типы языка Си++: целые числа разной разрядности, вещественные числа, логические величины, перечисляемые значения, символы и их кодировка.

Общая информация........................................................................................................................

Целые числа.....................................................................................................................................

Вещественные числа......................................................................................................................

Логические величины....................................................................................................................

Символы и байты............................................................................................................................

Кодировка, многобайтовые символы.........................................................................................

Наборы перечисляемых значений..............................................................................................

Классы и объекты...................................................................................................

Способы описания классов. Создание объектов. Обращение к атрибутам и методам объектов.

Понятие класса................................................................................................................................

Определение методов класса.......................................................................................................

Переопределение операций.........................................................................................................

Подписи методов и необязательные аргументы......................................................................

Запись классов.............................................................................................................................

Производные типы данных.....................................................................................

Создание и использование массивов, структур, объединений, указателей. Адресная арифметика. Строки и литералы..........................................................................................................................

Массивы............................................................................................................................................

Структуры.........................................................................................................................................

Битовые поля...............................................................................................................................

Объединения....................................................................................................................................

Указатели..........................................................................................................................................

Адресная арифметика................................................................................................................

Связь между массивами и указателями...................................................................................

Безтиповый (нетипизированный) указатель...........................................................................

Нулевой указатель......................................................................................................................

Строки и литералы..........................................................................................................................

Распределение памяти............................................................................................

Проблемы при явном распределении памяти в Си++, способы их решения. Ссылки и указатели. Распределение памяти под переменные, управление памятью с помощью переопределения операторов new и delete...................................................................................................................

Автоматические переменные.......................................................................................................

Статические переменные..............................................................................................................

Динамическое выделение памяти...............................................................................................

Выделение памяти под строки.....................................................................................................

Рекомендации по использованию указателей и динамического распределения памяти

Ссылки...............................................................................................................................................

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

Рекомендации по передаче аргументов....................................................................................

Производные классы, наследование.......................................................................

Наследование, виды наследования. Виртуальные методы. Абстрактные классы. Множественное наследование......................................................................................................................................

Виртуальные методы.....................................................................................................................

Виртуальные методы и переопределение методов................................................................

Преобразование базового и производного классов...............................................................

Внутреннее и защищенное наследование.................................................................................

Абстрактные классы.......................................................................................................................

Множественное наследование....................................................................................................

Виртуальное наследование........................................................................................................

Контроль доступа к объекту...................................................................................

Рассматриваются возможности контроля доступа к атрибутам и методам объекта, контроль по чтению и по записи...........................................................................................................................

Интерфейс и состояние объекта..................................................................................................

Объявление friend...........................................................................................................................

Использование описателя const..................................................................................................

Доступ к объекту по чтению и записи....................................................................................

Классы – конструкторы и деструкторы...................................................................

Конструкторы и деструкторы классов. Возможности инициализации объектов. Копирующий конструктор. Операции new и delete..............................................................................................

Копирующий конструктор............................................................................................................

Деструкторы....................................................................................................................................

Инициализация объектов..............................................................................................................

Операции new и delete...................................................................................................................

Дополнительные возможности классов...................................................................

Рассматриваются дополнительные возможности при определении классов, включая переопределение операций, определение методов inline и задание собственных преобразований типа..............................................................................................................................................................

Переопределение операций.........................................................................................................

Как определять операции.............................................................................................................

Преобразования типов...................................................................................................................

Явные преобразования типов....................................................................................................

Стандартные преобразования типов......................................................................................

Преобразования указателей и ссылок......................................................................................

Преобразования типов, определенных в программе................................................................

Компоновка программ, препроцессор.....................................................................

До сих пор мы рассматривали небольшие примеры программ или даже фрагменты программ. Но современный язык программирования должен поддерживать производство больших программных продуктов, состоящих из многих десятков, сотен или даже тысяч классов. Программа на языке Си++ может создаваться коллективом программистов на протяжении нескольких лет. Сейчас мы рассмотрим свойства языка, позволяющие писать большие программы..................................

Компоновка нескольких файлов в одну программу...............................................................

Проблема использования общих функций и имен..................................................................

Использование включаемых файлов.........................................................................................

Препроцессор..................................................................................................................................

Определение макросов................................................................................................................

Условная компиляция..................................................................................................................

Дополнительные директивы препроцессора...........................................................................

Определение, время жизни и области видимости переменных в больших программах

Возможности построения больших программ, использование общих данных. Определение контекста, оператор namespace....................................................................................................

Файлы и переменные.....................................................................................................................

Общие данные.............................................................................................................................

Глобальные переменные.............................................................................................................

Повышение надежности обращения к общим данным..........................................................

Область видимости имен..............................................................................................................

Оператор определения контекста namespace...........................................................................

Обработка ошибок..................................................................................................

Попытка классификации ошибок. Сообщение об ошибке с помощью возвращаемого значения. Исключительные ситуации. Обработка исключительных ситуаций, операторы try и catch.

Виды ошибок...................................................................................................................................

Возвращаемое значение как признак ошибки..........................................................................

Исключительные ситуации...........................................................................................................

Обработка исключительных ситуаций...................................................................................

Примеры обработки исключительных ситуаций...................................................................

Ввод-вывод.............................................................................................................

Потоки. Манипуляторы и форматирование ввода-вывода. Строковые потоки. Ввод-вывод файлов.

Потоки...............................................................................................................................................

Операции << и >> для потоков....................................................................................................

Манипуляторы и форматирование ввода-вывода...................................................................

Строковые потоки...........................................................................................................................

Ввод-вывод файлов........................................................................................................................

Шаблоны................................................................................................................

Понятие шаблона. Функции-шаблоны. Шаблоны классов. Примеры использования................

Назначение шаблонов...................................................................................................................

Функции-шаблоны..........................................................................................................................

Шаблоны классов...........................................................................................................................

«Интеллигентный указатель»..................................................................................................

Задание свойств класса..............................................................................................................

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

1. Архитектура ЭВМ и особенности реализация вычислительных операций на ЭВМ с обособленным АЛУ. Вычислительные потоки аналоговых и цифровых вычислительных комплексов.

2. Языки программирования в качестве современного инструментария для математического описания, эффективного моделирования текущего состояния и поиска обоснований развития окружающей нас природы, физических и технологических процессов;

3. Особенности организации оперативной и постоянной памяти на ЭВМ, отображение переменных и структур данных в языках программирования;

4. Правила и соглашения о связях в различных языках программирования, ограничения инициализации и эффективность процедурного программирования;

5. Основные типы процедур и функций, особенности назначения, контекстные связи и варианты достижение эффективности исполнения математических алгоритмов;

6. Идеология проектирования и практическое построение современных языков программирования. Специализированные экспертные системы или языки программирования высокого уровня.

7. Аналитическая геометрия и приоритетное развитие графических систем и серверов визуализации графических результатов на пространственных сценах;

8. Особенности реализации прямых вычислительных экспериментов при моделировании физических процессов и решении прикладных естественнонаучных задач;

9. Проектирование программных комплексов, функциональные и декларативные особенности реализации математических алгоритмов и контекстной адаптации сложных экспертно-информационных систем, в том числе при реализации прикладных вычислительных экспериментов.

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

11. Реализация математических пакетов для решения различных прикладных задач. Основные достоинства использования и сопутствующие проблемы унификации при разработке математических пакетов для решения различных прикладных пакетов программ;

12. Стандартная компьютерная графика и ее техническое отражение в архитектуре современных ЭВМ. Эффективные алгоритмы для графических построений, использование графических процессоров для ускорения традиционных математических алгоритмов.

4.3. Примерная тематика эссе, рефератов, курсовых работ.

1. Архитектура и технические особенности цифровой ЭВМ: интерактивные алгоритмы, информационные структуры и вычислительные операции.

- Исторический очерк развития вычислительных технологий при решении прикладных задач механики и физики;

- Особенности технической реализации вычислительных операций для прямого моделирования физических процессов на цифровых и аналоговых ЭВМ.

- Определение числовых объектов, расчетных полей и базовых вычислительных операций на современных цифровых ЭВМ, их алгоритмическое структурирование и функциональное связывание для решения прикладных задач математики и физики;

- Аппаратные и алгоритмические методы реализации вычислительных экспериментов или анализа больших объемов разнородной информации с использованием больших массивов и списков структурированных данных.

- Многопроцессорные комплексы и параллельные вычисления. Аппаратная поддержка и алгоритмические особенности реализации многопроцессорных вычислений.

2. Функциональные и алгоритмические языки для реализации сложных инженерных вычислительных комплексов и пакетов прикладных программ.

- Исторический обзор алгоритмических и функциональных языков программирования с позиций их развития для практического использования при решении сложных математических задач и реализации прямых вычислительных экспериментов в механике и физике;

- Особенности построения сложных математических пакетов на основе алгоритмических языков программирования (Algol, Fortran, Pascal, Ada – C, C++, D);

- Функциональные языки программирования и их преимущества при реализации инженерных интерактивных программных комплексов с элементами искусственного интеллекта (Lisp, Prolog, Planner – Эль, Дисп – С++, D).

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

3. Построение эффективных алгоритмов интерполяции и аппроксимации непрерывных числовых рядов и пространственных полей;

- Математические, геометрические и физические задачи, использующие алгоритмы интерполяции и экстраполяции;

- Обзор формализованных математических моделей интерполяции и экстраполяции, анализ особенностей их алгоритмического отображения на архитектуру современных цифровых ЭВМ;

- Построение эффективных алгоритмов одно-, двух- и трехмерной интерполяции с использованием явных и неявных численных схем;

- Обобщение алгоритмов интерполяции на построение оптимальных сеточных пространств и эффективных численных решений задач механики и физики (алгоритмическое сведение математических моделей до простейшей канонической формы).

4. Построение вычислительных объектов в дуальных системах пространственных координат, физические явления и законы механики в локальных базисах.

- Постановка задач теоретической механики в трехмерном пространстве, системы дифференциальных уравнений в частных производных и моменты (полные дифференциалы) движения тел и деформируемых объектов во времени;

- Определение локальных систем отсчета, связанных с движущимся, вращающимся и деформирующимся элементарным пространственным объектом (телом конечных размеров);

- Математические и алгоритмические формализации векторных и тензорных объектов: геометрический и физический смысл векторных и тензорных операций; логические ограничения операций и автоматическое построение вычислительных операций по признакам соответствия физических размерностей и принадлежности к конкретным координатным базисам.

- Построение скалярных, векторных и тензорных полей, реализация вычислительных экспериментов и адаптивных алгоритмов для решения прикладных задач механики деформируемых сред.

5. Эффективные алгоритмы компьютерной графики; Теория поля, законы физики и алгоритмы прямого численного моделирования на сеточных пространственных узлах, сформированных из компьютерных цифровых массивов и многомерных списков.

6. Эффективная реализация задач механики сплошных сред; Алгоритмическая реализация законов физики, решение прямых и обратных задач механики, анализ особенностей численной аппроксимации аналитических моделей физики и прямой постановки вычислительных экспериментов (методы конечного объема и крупных частиц).

7. Использование математических пакетов...

- Обзор современных математических пакетов для решения прикладных задач физики, представленных в исходных текстах программ;

- Построение прикладных пакетов программ и завершенных вычислительных комплексов для графической визуализации научных данных (MathGL);

- Анализ особенностей систематизации математических задач и программных алгоритмов, разработка предложений для создания эффективного специального языка программирования для решения конкретных прикладных математических задач.

10. Проектирование программных комплексов, отладка ключевых алгоритмов, поверка результатов и обоснование корректности функционирования компьютерных экспертно-информационных систем.

4.4. Примерный перечень вопросов, тестов, других контрольно-измерительных материалов для текущего контроля и зачета (экзамена) по всем модулям учебной дисциплины.

1. Объектно-ориентированное и функциональное программирование – решение прикладных задач и проведение прямых вычислительных экспериментов при моделировании естественных процессов природы, физических и технологических процессов

2. …

4.5. Рекомендуемый перечень вопросов (задач) для вынесения на междисциплинарный**) итоговый государственный экзамен (составляется с учетом учебного материала 2–3-х и более дисциплин) (для ООП).

Данные … объекты;

Структуры … классы;

Программы … функции.

4.6. Глоссарий (перечень определений, терминов и сокращений).

4.7. График контрольных мероприятий (указываются все точки контроля самостоятельной работы студентов (слушателей) по всем формам контроля и учебным процедурам данной дисциплины (модуля)).

5. Учебно-методическое обеспечение дисциплины*)

5.1. Перечень обучающих и контролирующих компьютерных программ, диафильмов, кино- и телефильмов, мультимедиа и т. п.

5.2. Активные методы обучения (указываются названия учебно-исследовательских работ, деловых игр, кейсов и т. п.).

5.3. Материальное обеспечение дисциплины, технические средства обучения и контроля (указываются современные приборы, установки, стенды, специализированные лаборатории и классы, необходимые для проведения занятий по конкретным модулям дисциплины).

5.4. Методические рекомендации (материалы) преподавателю (могут оформляться в виде приложения к программе дисциплины и должны указывать на средства, методы обучения, виды учебной деятельности, применение которых для освоения тех или иных модулей наиболее эффективно).

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

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

5.7. Рекомендации по использованию информационных технологий, в том числе сайтов, где находится информация по содержанию модуля дисциплины и необходимая литература (виртуальная библиотека).

1. http://algolist.manual.ru/ – алгоритмы, методы, исходники.

2. http://alglib.sources.ru/ – алгоритмы.

3. http://www.srcc.msu.su/num_anal/lib_na/cat/cat0.htm – НИВЦ МГУ

4. GNU Scientific Library (GSL) / Edition 1.15, May-05, 2011. (eng.)
http://www.gnu.org/software/gsl/

5. Math Graphics Library / 1.11.2-1, March-25, 2011 г. http://mathgl.sf.net

6. Р.Д. Верма. Введение в OpenGL, версия 1.4. М.: Телеком, 2004. http://www.opengl.org/, http://www.xmission.com/~nate/glut.html

7. OpenFOAM v.1.5: Imperial College London, King’s College London, Chalmers University, University of Exeter, University of Strathclyde, Utah State University, University of Guelph, Tohoku University, Hirosaki University, Tokyo Institute of Technology. http://www.opencfd.co.uk;

8. Храмушин В. Н. Трехмерная тензорная математика вычислитель-ных экспериментов в гидромеханике. ДВО РАН. 2005. – 212 с.
http://www.shipdesign.ru/Khram/Tensor.html.

5.8. Рекомендуемая литература (основная и дополнительная) (надо отметить издания с грифом Федерального органа образования России и УМО, а также с рецензиями, полученными от вузов, уполномоченных выдавать рецензии в соответствии с приказом Минобрнауки России от 1.01.2007 № 10).

1. Андерсен Д., Таннехилл Дж., Плетчер Р. Вычислительная гидромеханика и теплообмен. М.: Мир, 1990. Том 1,2. 726 с.

2. Астарита Дж., Маруччи Дж. Основы гидромеханики неньютоновских жидко-стей. М.: Мир, 1978. 309 с.

3. Баррон Д. Введение в языки программирования. М.: Мир, 1980. 190 с.

4. Белоцерковский О.М., Давыдов Ю.М. Метод крупных частиц в газовой дина-мике. М.: Наука, 1982. 370 с.

5. Верма Р.Д.. Введение в OpenGL, версия 1.4. М.: Горячая линия – Телеком, 2004. – 303 с.

6. Вирт Н. Алгоритмы + структуры данных = программы. М.: Мир, 1985. 404 с.

7. Кильчевский Н.А.. Элементы тензорного исчисления и его приложения к механике. М.: Гостехиздат. 1954. 167 с.

8. Кочин Н.Е. Векторное исчисление и начала тензорного исчисления. М.: Наука, 1965. 424 с.

9. Майкл Ласло. Вычислительная геометрия и компьютерная графика на С++, М.: «Издательство Бином», 1997. 301с.

10. Мак-Коннел А.Дж. Введение в тензорный анализ, М.: Наука, 1963, 411 с.

11. Мейерс С. Эффективное использование STL. Библиотека программиста. СПб.: Питер, 2002. 224 с.

12. Основы современный компьютерных технологий. Под редакцией проф. А.Д. Хомоненко (ВИКА им.Можайского). СПб, «Корона-принт», 1998. 446 с.

13. Стивен Нельсон. Office-97. СПб.: «Питер», 1997. 288 с.

14. Страуструп Б. Язык программирования C++. Спец. изд. - М.: Бином, 2008. - 1104 с.

15. Турчак Л.И.. Основы численных методов. М.: Наука. 1987. – 320 с.

16. Уинстон П. Искусственный интеллект. М.: Мир, 1980. 519 с.

17. Хокни Р., Иствуд Дж. Численное моделирование методом частиц. М.: Мир, 1987, 638 с.

18. Храмушин В.Н. Трехмерная тензорная математика вычислительных экспериментов в гидромеханике. – Владивосток: ДВО РАН. 2005. – 212 с.

19. Шилдт Г. Самоучитель С++: учебное пособие. - 3-е изд., перераб. и доп. - СПб.: БХВ-Петербург, 2007. - 688 с.

20. Эйнджел Эдвард. Интерактивная компьютерная графика. Вводный курс на основе OpenGL. М.: Изд.дом "Вильямс", 2001. 592 с.

21. GNU Scientific Library. Reference Manual / Edition 1.11, Feb-5,2008.

22. Lau H.T. A Numerical Library in C for Scientists and Engineers. London, Tokyo: CRC Press, 1985. 800 p.

23. Math Graphics Library. Reference Manual / version 1.6. Март 2008 г.

24. Numerical Recipes in C. The Art of Scientific Computing, Cambridge University Press, 1988. - 740 p.

25. Numerical Recipes in C. The Art of Scientific Computing, Cambridge University Press, 1988. - 740 p.

26. Red Hat Enterprise Linux / Scientific Linux. Под редакцией О.Садова. СПб.: «БХВ-Петербург», 2007. 469 с.

Дата и подпись разработчиков программы.


*) Разделы 4 и 5 могут быть заменены на раздел: 4. Состав и содержание Учебно-методического комплекса дисциплины (УМКД).

**) Различают: монодисциплинарный экзамен (по одной дисциплине); полидисциплинарный экзамен – каждый из заданных экзаменующемуся вопросов опирается лишь на одну дисциплину, но среди самих вопросов могут быть относящиеся к различным дисциплинам; междисциплинарный, под которым понимается экзамен, где ответ на любое задание (вопрос) требует знаний из различных дисциплин.





Дата публикования: 2014-12-10; Прочитано: 216 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.051 с)...