Как развивались языки программирования

Содержание

  • Слайд 1

  • Слайд 2

  • Слайд 3

    • Синтаксис
    • Семантика
  • Слайд 4

    • Компилируемые
    • Интерпретируемые
    • Программа на компилируемом языке при помощи специальной программы компилятора преобразуется (компилируется) в набор инструкций для данного типа процессора (машинный код) и далее записывается в исполняемый файл, который может быть запущен на выполнение как отдельная программа. Другими словами, компилятор переводит программу с языка высокого уровня на низкоуровневый язык, понятный процессору.
    • Интерпретируемые
    • Интерпретируемые языки обладают некоторыми специфическими дополнительными возможностями (см. выше), кроме того, программы на них можно запускать сразу же после изменения, что облегчает разработку. Программа на интерпретируемом языке может быть зачастую запущена на разных типах машин и операционных систем без дополнительных усилий. Однако интерпретируемые программы выполняются заметно медленнее, чем компилируемые, кроме того, они не могут выполняться без дополнительной программы-интерпретатора.
  • Слайд 5

  • Слайд 6

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

  • Слайд 7

    • Язык Ассемблера – это символическое представление машинного языка. Он облегчает процесс программирования по сравнению с программированием в машинных кодах.
    • Программисту не обязательно употреблять настоящие адреса ячеек памяти с размещенными в них данными, участвующими в операции, и вычисляемые результаты, а также адреса тех команд, к которым программа не обращается.
  • Слайд 8

    • FORTRAN(1954)
    • COBOL (1959)
    • BASC
    • (1964 г.)
  • Слайд 9

    • Изображение отрезка
    • LINE (x1,y1)-(x2,y2)
    • Например:
    • SCREEN 7
    • LINE
    • (50,100)-(80,30),5
    • Изображение прямоугольника
    • LINE(x1,y1)-(x2,y2)
    • Например:
    • SCREEN 7
    • LINE
    • (50,100)-(80,30),5,B
    • Изображение закрашенного
    • прямоугольника
    • LINE(x1,y1)-(x2,y2),
    • Бейсик – это продукт Новой Англии. Cозданный в 1964г., как язык обучения программированию. Бейсик является общепринятым акронимом от»Beginner’s All-purpose Symbolic Insruction Code» (BASIC) — Многоцелевой Символический Обучающий Код для Начинающих».
  • Слайд 10

    • Фрагмент программы на языке ФортранАлгоритм Евклида (нахождение наибольшего общего делителя)
    • INTEGER FUNCTION NOD (X,Y) INTEGER X INTEGER Y 40 IF (X.EQ.Y) GO TO 10 IF (X.GT.Y) GO TO 20 Y=Y-X GO TO 30 20 X=X-Y 30 GO TO 40 10 RETURN END
  • Слайд 11

    • Фрагмент подпрограммы на языке Algol-60Алгоритм Евклида(нахождение наибольшего общего делителя)
    • integer procedure NOD (X,Y);integer X,Y;begin while X#Y do if X
  • Слайд 12

    С начала 80-ых г. XX в. начали создаваться языки программирования, которые позволили перейти к структурному программированию (использование операторов ветвления, выбора, цикла и практически отказ от частого использования операторов перехода (goto). К этим языкам относятся:

  • Слайд 13

    • Фрагмент программы на языке PascalАлгоритм Евклида (нахождение наибольшего общего делителя двух чисел)
    • function NOD (X,Y: integer): integer;begin while X<>Y do if X>Y then X:=X-Y else Y:=Y-X; NOD:=X;end;
  • Слайд 14

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

  • Слайд 15

    Языки программирования на платформе

    • наязыке Visual Basic .Net ( наоснове Visual Basic) — 2003 г.;
    • на языке Visual C# (С-шарп) – на основе языков С++ и J – 2003 г.;
    • на языке Visual J# (J-шарп) – на основе Java и JavaScript – 2003 г.
  • Слайд 16

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

Посмотреть все слайды

Камера ТВ, Из истории телевидения, ПК

Представлены след англ. тексты с их переводом на русский язык: Камера ТВ, Из истории телевидения, Радиоактивные вещества, Общие сведения о IBM PC, Цветное телевидение, Компьютер как он есть, Микроэлектроника, Из каких же основных элементов состоит современный ПК, Персональные компьютеры в медицинской практике. Так называемые «Тысячи»

Английский язык стал основой при создании существующих языков программирования. Английский язык стал основой при создании существующих языков программирования.

92080 92083 92091 92108 92093 92085 92082 92079 92107 92095 92097 92102 92100 92081 92092 92089 92099 92084 92094 92087 92088 92096 92090 92098 92086 92104 92103 92106 92105 92101

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать её на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

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

  • Процедурное и непроцедурное программирование
  • Десять самых популярных языков
  • С++ (Си-плюс-плюс)
  • Python (Пайтон или Питон)
  • Visual Basic (Вижуал Бейсик)
  • PHP (Пи-эйч-пи)
  • Delphi (Делфи)
  • Java (Джава)
  • JavaScript (Джава-скрипт)
  • Ruby (Руби)
  • ActionScript (Экшн-скрипт)
  • Nemerle (Немерле)
  • Советы для начинающих

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

Начало пути

История развития языков программирования началась в 40е годы прошлого века, когда был разработан и применён впервые машинный код. Концепция была сложна для применения: предполагая использование 0 и 1 для кодировки, запись происходила с трудом. Поэтому очень быстро программисты пришли к пониманию необходимости создания нового языка, коим стал ассемблер.

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

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

Язык программирования Паскаль в информатике

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

По стандартам ФГОС на предмет информатики отводиться 1 час в неделю и 7-9 класс весь кур информатики всего навсего 103 часа. Кроме программирования есть и другие темы. В курсе информатики уже присутствует и робототехника, а часы наоборот уменьшаются.

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

Pascal ABC net

PascalABC.NET – это язык программирования Паскаль нового поколения, сочетающий простоту классического языка Паскаль, ряд современных расширений и огромные возможности платформы Microsoft .NET. PascalABC.NET разрабатывается под свободной лицензией LGPLv3 в первую очередь как язык программирования для сферы образования и научных исследований. Он вбирает в себя лучшее, что предлагают другие современные языки, такие как C#, Kotlin, Python, Haskell и другие.

PascalABC.NET включает бесплатную, простую и мощную среду разработки с подсказками по коду, автоматическим форматированием и образцами кода для начинающих.

PascalABC.NET – мощный язык с простым и логичным синтаксисом, хорошо понятным начинающим программистам. Это позволяет писать компактные, эффективные и понятные программы и делает данный язык идеальным выбором для обучения современному программированию в широком смысле: от учеников начальной школы до студентов профильных ИТ-направлений. Кроме того, он превосходно подходит как для создания консольных приложений малого и среднего размера, так и в качестве средства программирования «на каждый день».

Какие бывают языки программирования

Уже в начале XIX века появились первые «программируемые» механизмы: ткацкие станки, музыкальные шкатулки и т.д. Каждый из них программировался своим собственным набором инструкций. Так появились предметно-ориентированные языки программирования, которые в огромном количестве создаются до сих пор по мере появления новых устройств и аппаратного обеспечения.

Кроме предметно-ориентированных, существуют учебные языки программирования, которые созданы специально для обучения начинающих программистов. Например, из одного такого учебного языка ABC вырос популярный сейчас язык программирования Python. Поэтому он такой простой и понятный.

Текст программы для отображения «Hello, world» на языке Python

Существуют эзотерические языки — своеобразные произведения искусства, которые невозможно применять на реальных задачах. Например, язык Malbolge специально создан для максимального затруднения написания программ.

Текст программы для отображения «Hello, world» на языке Malbolge

Кроме упомянутых учебных, эзотерических и предметно-ориентированных языков, есть еще визуальные языки, где программирование состоит в манипулировании графическими элементами. В основном такие языки используются для создания программ с графическим интерфейсом. Есть еще специализированные языки СУБД, языки для промышленной автоматизации и другие ЯП относительно узкого назначения.

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

Общепринятой классификации не существует, но исторически принято разделять ЯП на высокоуровневые и низкоуровневые языки.

Для чего нужны языки программирования

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

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

ЯП подчиняется той задаче, которая стоит перед компьютерной программой. Он зависит от оборудования, на котором выполняется алгоритм. Соответственно, практически для каждой задачи и каждого оборудования можно использовать наиболее подходящий ЯП. Вот почему языков программирования так много.


Фрагмент разностной машины Чарльза Бэббиджа, собранный его сыном из деталей, найденных в лаборатории отца. Металлические шестерни выполняют математические операции. Фото: Andrew Dunn, CC-BY-SA-2.0

С момента описания первого универсального программируемого устройства в 1835 году — им считается разностная машина Чарльза Бэббиджа — человечество создало более 8000 языков программирования. Конкретно для этой машины первую программу написала в 1842 году леди Ада Лавлейс, ее считают первым в мире программистом. К сожалению, саму машину не удалось полностью собрать при жизни создателя из-за несовершенства технологий и дотошности Бэббиджа. Машина считывает данные с перфокарт и использует паровой двигатель как источник энергии. Если бы механизм собрали по плану, то он стал бы первым в мире компьютером.


Английский математик Августа Ада Кинг (урожденная Байрон) считается первым в мире программистом. Рисунок1832 года, автор неизвестен.

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

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

С каждым новым языком процесс программирования становится более универсальным. Поэтому многообразие языков — это очень хорошо. Оно показывает прогресс и позволяет двигаться дальше.

2. Языки программирования

Большая часть работы программистов связана с написанием исходного кода, тестированием и отладкой программ на одном из языков программирования. Исходные тексты и исполняемые файлы программ являются объектами авторского права и являются интеллектуальной собственностью их авторов и правообладателей.

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

Единственный язык, напрямую выполняемый ЭВМ — это машинный язык (также называемый машинным кодом). Изначально все программы писались в машинном коде, но сейчас этого практически уже не делается. Вместо этого программисты пишут текст исходный код на том или ином языке программирования, затем (используя компилятор, интерпретатор или ассемблер) транслируют его, в один или несколько этапов в машинный код, готовый к исполнению на целевом процессоре, или в промежуточное представление, которое может быть исполнено специальной программой — виртуальной машиной, или интерпретатором. Если требуется полный низкоуровневый контроль над системой на уровне машинных команд и отдельных ячеек памяти, программы пишут на языке ассемблера, мнемонические инструкции которого преобразуются один к одному в соответствующие инструкции машинного языка целевого процессора ЭВМ.

В некоторых языках вместо машинного кода генерируется интерпретируемый двоичный код «виртуальной машины», также называемый байт-кодом (byte-code). Такой подход применяется в Forth, некоторых реализациях Lisp, Java, Perl, Python, .NET Framework.

Visual Basic (Вижуал Бейсик)

Вряд ли найдётся тот, кто не слышал об этом продукте от Microsoft, ведь многие программисты именно на нём познавали азы программирования. Visual Basic простой, многофункциональный и подходит для быстрого прототипирования.

VB даёт широкие возможности по созданию программного кода, а также позволяет разрабатывать UI (пользовательский интерфейс) программ. Именно его чаще всего используют специалисты Microsoft для создания таблиц с данными.

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

Развитие и забвение языков программирования: почему это происходит

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

Так, на основе JavaScript был разработан фактически отдельный язык TypeScript, обладающий особым синтаксисом, но при этом легко преобразуемый в тот же JS.

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

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

Но данный процесс «отмирания» происходит очень медленно. Полный отказ от использования языка подразумевает под собой перевод всего устаревшего кода на новый язык.

Развитие и забвение языков программирования

По этой причине многие существующие сегодня масштабные программные комплексы до сих пор работают на морально устаревших Ada, Fortran и т. д.

Советы для начинающих

Все языки программирования не перечислить, здесь были приведены только самые популярные из них. У каждого есть свои плюсы и минусы, потому что они ориентированы на разные сферы. Какой-то язык подходит для написания Flash-анимации, но не годится для работы с браузерами, какой-то — в точности до наоборот.

Так что нужно крепко подумать перед тем, как браться за изучение определённого языка.

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

Эксперты рекомендуют новичкам начинать обучение с Visual Basic, потом переходить на С++, а уже после этого выбирать язык, который покажется самым интересным, удобным и полезным.

  • Доклад о профессии депутат

      

  • Декларация прав человека и гражданина 1789 г доклад

      

  • Доклад о результатах мониторинга правоприменения в российской федерации

      

  • Утечка нефтепродуктов из танкера престиж доклад

      

  • Великие четьи минеи митрополит макарий доклад

Слайд 18PythonPython — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности

разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.Эталонной реализацией Python является интерпретатор CPython, поддерживающий большинство активно используемых платформ. Он распространяется под свободной лицензией Python Software Foundation License, позволяющей использовать его без ограничений в любых приложениях, включая коммерческие. Есть реализации множества интерпретаторов для JVM (с возможностью компиляции) и других. Python — активно развивающийся язык программирования, новые версии (с добавлением/изменением языковых свойств) выходят примерно раз в два с половиной года. Вследствие этого и некоторых других причин на Python отсутствуют стандарт ANSI, ISO или другие официальные стандарты.

Интересные ответы

  • Германия — сообщение доклад Германия одно из самых популярных и знаменитых государств мира. Она находится в Европе и занимает лишь 62 место в мире по количеству занимаемой территории. Численность населения страны составляет около 82 миллионов человек
  • Швейцария — сообщение доклад ( 3, 7 класс. Окружающий мир. География) Швейцария — удивительная страна, известная тем что изобилует бесконечными озерами, и деревушками. Также в стране есть высокогорные Альпы (простираются на 200 километров), в которых очень много горных дорог
  • Хронологическая таблица Ахматовой (жизнь и творчество) 1889 — Анна Ахматова родилась в г. Одесса. Ее отцом был инженер Андрей Горенко, дворянин по происхождению. В семье было шестеро детей
  • Морские обитатели — сообщение доклад В морях обитают более 29000 видов различных рыб, огромное количество различных ракообразных и моллюсков.
  • Окружающий мир

Список литературы

  1. Арнольд В.И. Что такое математика?; М .: Свет, 2004.  
  2. Вернер М. Основы кодирования; М.: Техносфера, 2006. 
  3. Глушаков, С. Программирование в 1С; Харьков: Фолио, 2006 
  4. Радченко Н.П., Козлов О.А. Школьная информатика. М.: «Финансы и статистика», 1997.  
  5. Фигурнов В.Е. «IBM PC для пользователя» Редакция 7-я — М.: ИНФРА-М, 1998. 

Посмотрите похожие темы рефератов возможно они вам могут быть полезны:

  • Реферат на тему: Физическое воспитание
  • Реферат на тему: Астрономия древнейшая из наук
  • Реферат на тему: Иудаизм
  • Реферат на тему: История баскетбола
  • Реферат на тему: Онкологические заболевания
  • Реферат на тему: Скелет человека
  • Реферат на тему: Киберпреступность
  • Реферат на тему: Загадки Джоконды
  • Реферат на тему: Тыква
  • Реферат на тему: Предки Пушкина и его семья

Второе поколение — ЭВМ на транзисторах.

Транзисторы пришли на смену электронным лампам в начале 60-х годов. Транзисторы (которые действуют как электрические переключатели), потребляя меньше электроэнергии и выделяя меньше тепла, занимают и меньше места. Объединение нескольких транзисторных схем на одной плате дает интегральную схему (chip — «щепка», «стружка» буквально, пластинка ). Транзисторы это счетчики двоичных чисел. Эти детали фиксируют два состояния — наличие тока и отсутствие тока, и тем самым обрабатывают информацию, представленную им именно в таком двоичном виде.

В 1953 г.. Уильям Шокли изобрел транзистор с p — n переходом ( junction transistor ). Транзистор заменяет электронную лампу и при этом работает с большей скоростью, выделяет очень мало тепла и почти не потребляет электроэнергию. Одновременно с процессом замены электронных ламп транзисторами совершенствовались методы хранения информации: как устройства памяти стали применяться магнитные сердечники и магнитные барабаны, а уже в 60-е годы получило распространение хранение информации на дисках.

Один из первых компьютеров на транзисторах — Atlas Guidance Computer — был запущен в 1957 г. и использовался при управлении запуском ракеты Atlas.

Созданный в 1957 г.. RAMAC был недорогим компьютером с модульной внешней памятью на дисках, комбинированным оперативным запоминающим устройством на магнитных сердечниках и барабанах. И хотя этот компьютер еще не был полностью транзисторным, он отличался высокой работоспособностью и простотой обслуживания и пользовался большим спросом на рынке средств автоматизации делопроизводства в офисах. Поэтому для корпоративных заказчиков срочно выпустили уже «большой» RAMAC (IBM-305), для размещения 5 Мбайт данных системе RAMAC нужно было 50 дисков диаметром 24 дюйма. Созданная на основе этой модели информационная система безотказно обрабатывала массивы запросов на 10 языках.

В 1959 году IBM создала свой первый полностью транзисторный большой универсальный компьютер модели 7090, способный выполнять 229 тыс. операций в секунду — настоящий транзисторный мэйнфрейм. В 1964 году на основе двух 7090-х мейнфреймов американская авиакомпания SABRE впервые применила автоматизированную систему продажи и бронирования авиабилетов в 65 городах мира.

В 1960 году DEC представила первый в мире миникомпьютер — модель PDP-1 (Programmed Data Processor, программируемый процессор данных), компьютер с монитором и клавиатурой, который стал одним из самых заметных явлений на рынке. Этот компьютер был способен выполнять 100 000 операций в секунду. Сама машина занимала на полу всего 1,5 м2. PDP-1 стал, по сути, первой в мире игровой платформой благодаря студенту MIT Стиву Расселу, который написал для него компьютерную игрушку Star War!

Представители II-го поколения ЭВМ: 1) RAMAC ; 2) PDP -1

В 1968 году Digital впервые наладила серийное производство мини-компьютеров — это был PDP-8: цена их была около $ 10000, а размером модель была холодильник. Именно эту модель PDP-8 смогли покупать лаборатории, университеты и небольшие предприятия.

Отечественные компьютеры того времени можно охарактеризовать так: по архитектурным, схемным и функциональных решений они соответствовали своему времени, но их возможности были ограничены из-за несовершенства производственной и элементной базы. Наибольшей популярностью пользовались машины серии БЭСМ. Серийное производство, достаточно незначительное, началось выпуском ЭВМ «Урал-2» (1958), БЭСМ-2, « Минск-1» и « Урал-3» (все — 1959 г.). В 1960 г. пошли в серию « М-20» и «Урал-4». Максимальной производительностью в конце 1960 располагал «М-20» (4500 ламп, 35 тыс. полупроводниковых диодов, память на 4096 ячеек) — 20 тыс. операций в секунду. Первые компьютеры на полупроводниковых элементах ( «Раздан-2», «Минск — 2», «М-220» и «Днепр» ) находились еще в стадии разработки.

ActionScript (Экшн-скрипт)

ActionScript — это мультимедийный скриптовый язык, который предназначен для написания объектно-ориентированных программ, а именно Flash-приложений.

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

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

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Росспектр
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: