Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Машинно – ориентированные языки



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

  • высокое качество создаваемых программ (компактность и скорость выполнения);
  • возможность использования конкретных аппаратных ресурсов;
  • предсказуемость объектного кода и заказов памяти;
  • для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;
  • трудоемкость процесса составления программ ( особенно на машинных языках и ЯСК), плохо защищенного от появления ошибок;
  • низкая скорость программирования;
  • невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.

Машинно-ориентированные языки по степени автоматического программирования подразделяются на классы.

Машинный язык

Как я уже упоминал, в введении, отдельный компьютер имеет свой определенный Машинный язык (далее МЯ), ему предписывают выполнение указываемых операций над определяемыми ими операндами, поэтому МЯ является командным. Однако, некоторые семейства ЭВМ (например, ЕС ЭВМ, IBM/370/ и др.) имеют единый МЯ для ЭВМ разной мощности. В команде любого из них сообщается информация о местонахождении операндов и типе выполняемой операции.

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

Языки Символического Кодирования

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

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

Автокоды

Есть также языки, включающие в себя все возможности ЯСК, посредством расширенного введения макрокоманд - они называются Автокоды.

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

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

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

Развитые автокоды получили название Ассемблеры. Сервисные программы и пр., как правило, составлены на языках типа Ассемблер. Более полная информация об языке Ассемблера см. ниже.

Макрос

Язык, являющийся средством для замены последовательности символов описывающих выполнение требуемых действий ЭВМ на более сжатую форму - называется Макрос (средство замены).

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

Макрос одинаково может работать, как с программами, так и с данными.

Машинно – независимые языки

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

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

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

Проблемно – ориентированные языки

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

Проблемных языков очень много, например:

Фортран, Алгол – языки, созданные для решения математических задач;

Simula, Слэнг - для моделирования;

Лисп, Снобол – для работы со списочными структурами.

Об этих языках я расскажу дальше.

Универсальные языки

Универсальные языки были созданы для широкого круга задач: коммерческих, научных, моделирования и т.д. Первый универсальный язык был разработан фирмой IBM, ставший в последовательности языков Пл/1. Второй по мощности универсальный язык называется Алгол-68. Он позволяет работать с символами, разрядами, числами с фиксированной и плавающей запятой. Пл/1 имеет развитую систему операторов для управления форматами, для работы с полями переменной длины, с данными организованными в сложные структуры, и для эффективного использования каналов связи. Язык учитывает включенные во многие машины возможности прерывания и имеет соответствующие операторы. Предусмотрена возможность параллельного выполнение участков программ.

Программы в Пл/1 компилируются с помощью автоматических процедур. Язык использует многие свойства Фортрана, Алгола, Кобола. Однако он допускает не только динамическое, но и управляемое и статистическое распределения памяти.

Диалоговые языки

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

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

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

Одним из примеров диалоговых языков является Бэйсик.

Бэйсик использует обозначения подобные обычным математическим выражениям. Многие операторы являются упрощенными вариантами операторов языка Фортран. Поэтому этот язык позволяет решать достаточно широкий круг задач.

Непроцедурные языки

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

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

Табличные методы легко осваиваются специалистами любых профессий.

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

13) Все, что компьютер делает, он делает в соответствии с инструкциями, составленными человеком - программами. Без программ любая аппаратура просто груда железа.

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

Программы для ЭВМ делятся на два больших класса:

· системное программное обеспечение,

· прикладное программное обеспечение.

Системные программы управляют работой аппаратных средств и обеспечивают услугами нас и наши прикладные комплексы. В первую очередь это операционные системы и дополняющие их программные модули (системные программы " утилиты", драйверы периферийных устройств и т. п.). Например, вводя с клавиатуры символ, мы пользуемся услугами системной программы - драйвера клавиатуры; для форматирования дискеты мы вызываем системную утилиту - format и т. д.

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

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

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

Инструментальное программное обеспечение состоит из:

· систем программирования,

· средств разработки и отладки программ.

Системы программирования - это комплекс программ, который облегчает работу программиста.

Системы программирования включают:

· входной язык программирования (Си, Паскаль, Бейсик, Пролог, Ассемблер, Фортран и т. д.);

· транслятор (программа перевода входного языка в машинные коды);

· интерпретатор (программа, которая реализует покомандное выполнение программы);

· библиотеку стандартных программ (готовые программы решения распространенных задач);

· компоновщик программ (программа, позволяющая объединять готовые программы или отдельные части программ в одну).

Средства разработки и отладки программ включают:

· редакторы программ, позволяющие исправлять синтаксические ошибки в программе;

· отладчики программ, позволяющие выявить логические ошибки в программе при ее выполнении;

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

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

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

По используемым технологиям антивирусной защиты:

· Классические антивирусные продукты (продукты, применяющие только сигнатурный метод детектирования)

· Продукты проактивной антивирусной защиты (продукты, применяющие только проактивные технологии антивирусной защиты);

· Комбинированные продукты (продукты, применяющие как классические, сигнатурные методы защиты, так и проактивные)

По функционалу продуктов:

· Антивирусные продукты (продукты, обеспечивающие только антивирусную защиту)

· Комбинированные продукты (продукты, обеспечивающие не только защиту от вредоносных программ, но и фильтрацию спама, шифрование и резервное копирование данных и другие функции)

По целевым платформам:

· Антивирусные продукты для ОС семейства Windows

· Антивирусные продукты для ОС семейства *NIX (к данному семейству относятся ОС BSD, Linux, Mac OS X и др.)

· Антивирусные продукты для мобильных платформ (Windows Mobile, Symbian, iOS, BlackBerry, Android, Windows Phone 7 и др.)

Антивирусные продукты для корпоративных пользователей можно также классифицировать по объектам защиты:

· Антивирусные продукты для защиты рабочих станций

· Антивирусные продукты для защиты файловых и терминальных серверов

· Антивирусные продукты для защиты почтовых и Интернет-шлюзов

· Антивирусные продукты для защиты серверов виртуализации

16) 1.1Алгоритмические конструкции
Внутри алгоритмов можно выделить группы шагов, отличающиеся внутренней структурой – алгоритмические конструкции.
Основными алгоритмическими конструкциями являются линейная последовательность шагов, ветвление и цикл.Линейная последовательность шагов
Группа шагов алгоритма, всегда выполняемых последовательно друг за другом без каких-либо условий, называется линейной последовательностью. Если весь алгоритм представляет собой линейную последовательность шагов, то его называют линейным.

 

18) Аналогично накоплению суммы можно в отдельной переменной накапливать произведение. Переменной, в которой производится накопление, присваивается начальное значение

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

Очень важная, фундаментальная идея, использованная в данном приеме, состоит в том, что результат выполнения каждого шага цикла, зависит от значения переменной, вычисленной на предыдущем шаге. Таким образом, вместо тривиального повторения одного и того же, мы на каждом шаге получаем новый результат. Так в приведенном примере очередное число добавляется к значению переменной s, полученному на предыдущем шаге.А к чему добавляется очередное число на самом первом шаге? Чтобы было к чему добавлять, перед циклом обязательно должна присутствовать инициализация (присваивание начального значения) переменной, в которой накапливается сумма. Чаще всего требуется присвоить ей начальное значение 0.

19) Алгоритм - точное предписание исполнителю совеpшить определенную последовательность действий для достижения поставленной цели за конечное число шагов

Линейный алгоритм – набор команд (указаний), выполняемых последовательно во времени друг за другом.

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

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

Цикл программы – последовательность команд (серия, тело цикла), которая может выполняться многократно (для новых исходных данных) до удовлетворения некоторого условия.

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

На всех этапах подготовки к алгоритмизации задачи широко используется структурное представление алгоритма.

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

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

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

 

Алгоритм обладает следующими свойствами:

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

2. Определенность. Каждое правило алгоритма должно быть четким, однозначным.

3. Результативность. Алгоритм должен приводить к решению за конечное число шагов.

4. Массовость. Алгоритм решения задачи разрабатывается в общем виде, т.е. он должен быть применим для некоторого класса задач, различающихся лишь исходными данными.

5. Правильность. Алгоритм правильный, если его выполнение дает правильные результаты решения поставленной задачи.

 

21) Основой любого языка программирования является АЛФАВИТ – набор символов, допустимых для записи программ.
Алфавит языка QBASIC включает:
1) прописные и строчные буквы латинского и русского алфавитов; буквы русского алфавита разрешается использовать только в комментариях и текстовых константах; все команды и операторы языка QBASIC записываются только латинскими буквами;
2) арабские цифры от 0 до 9;
3) знаки арифметических операций:
+ сложение / деление
- вычитание \ целочисленное деление
* умножение ^ возведение в степень;
4) знаки операций отношения:
= равно > = больше / равно
> больше < = меньше / равно
< меньше < > неравно;
5) разделители:
. точка
, запятая
; точка с запятой
: двоеточие
“ кавычки
‘ апостроф
( ) круглые скобки (левая и правая)
[ ] квадратные скобки (левая и правая)
6) специальные знаки:
# номер
% процент
! восклицательный занк
? вопросительный знак
_ подчеркивание
$ знак денежной единицы
& амперсанд
@ коммерческое ЭТ
Из основных символов строятся элементы языка:
величины
выражения
операторы, команды.
Правила построения величин, команд, операторов, выражений определяются синтаксисом языка.

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

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

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

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

Работа по решению прикладной задачи на компьютере проходит через следующие этапы:

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

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

24) Системы компьютерной математики: Mathcad - интегрированный пакет, включающий связанные компоненты (текстовый редактор, вычислительный процессор, символьный процессор). MatLab – система, построенная на представлении и применении матричных операций.

25) Чтобы загрузить систему MathCAD, в строке ввода введите одну из следующих команд:

MCAD

MCAD имя_MathCAD-документа

MCAD ключи

26) Интерфе́ йс по́ льзователя, он же по́ льзовательский интерфейс (UI — англ. user interface) — разновидность интерфейсов, в котором одна сторона представлена человеком (пользователем), другая — машиной/устройством. Представляет собой совокупность средств и методов, при помощи которых пользователь взаимодействует с различными, чаще всего сложными, машинами, устройствами и аппаратурой.

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

Несколько широко распространённых примеров:

· меню на экране телевизора + пульт дистанционного управления;

· дисплей электронного аппарата (автомагнитолы, часов) + набор кнопок и переключателей для настройки;

· приборная панель (автомобиля, самолёта) + рычаги управления

Общий обзор деталей интерфейса

В рабочем окне системы MathCAD видны семь характерных

элементов интерфейса:

¾ строка заголовка – строка с именем системы и текущего документа, а

также с кнопками управления окном системы; 5

¾ строка меню – строка открывающая доступ к пунктам меню с

различными командами;

¾ панель инструментов – панель с кнопками, обеспечивающими быстрое

исполнение наиболее важных команд при работе с системой;

¾ панель форматирования - панель с кнопками, обеспечивающими быстрое

форматирование текстовых и формульных блоков в документах;

¾ панель вывода палитр математических знаков - панель с кнопками,

выводящими палитры специальных математических знаков и греческих

букв;

¾ координатная линейка – линейка с делениями, позволяющая точно

располагать блоки по горизонтали;

¾ строка состояния – строка, где приводится информация о текущих

режимах.

Для удобства работы с большими листами имеются линейки

вертикальной и горизонтальной прокрутки.

Строка меню

Строка меню системы MathCAD представлены следующие позиции:

¾ File – работа с файлами, сетью Интернет и электронной почтой;

¾ Edit- редактирование документов;

¾ View – изменение способов представления документа и скрытие /

отображение элементов интерфейса;

¾ Insert – вставка объектов и их шаблонов (включая графику);

¾ Format – изменение формата объектов;

¾ Math – управление процессом вычислений;

¾ Graphics – работа с графическим редактором;

¾ Symbolic – выбор операции символьного процессора;

¾ Window – управление окнами системы;

¾ Help – работа со справочной базой данных о системе, центром ресурсов и

электронными книгами.

Меню MathCAD – контекстные. Это значит, что число позиций в них

и их назначение зависят от состояния системы

Элементы окон27)Несмотря на многообразие окон, используемых в Windows, управление окнами осуществляется по единым правилам. Практически все окна (кроме некоторых окон запросов) содержат обязательные элементы, предназначенные для управления окнами. На рис. 6 показаны элементы окна Мой компьютер.

Строка меню

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

Панель инструментов

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

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

 

Операции с файлами

Создание папок

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

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

1. Открыть окно папки, в которой будет создаваться новая папка.

2. В пустом месте окна щелкнуть правой кнопкой мыши и выполнить команду Создать - Папку.

3. С использованием клавиатуры ввести имя создаваемой папки.

4. Дважды щелкнуть левой кнопкой мыши в пустом месте окна.

Создание файлов

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

Файл создается в окне папки, в которой он будет находиться. Для создания файла следует выполнить следующие действия.

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

2. В пустом месте окна щелкнуть правой кнопкой мыши и выполнить команду Создать и в появившемся подчиненном меню выбрать желаемый тип файла.

3. С использованием клавиатуры ввести имя создаваемого файла.

4. Дважды щелкнуть левой кнопкой мыши в пустом месте окна.


Поделиться:



Последнее изменение этой страницы: 2017-03-14; Просмотров: 2216; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.099 с.)
Главная | Случайная страница | Обратная связь