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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение оригинальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение оригинальности любого файла в формате MS Word. После такого повышения оригинальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, РУКОНТЕКСТ, etxt.ru. Программа «StudentHelp» работает по уникальной технологии так, что на внешний вид, файл с повышенной оригинальностью не отличается от исходного.

Результат поиска


Наименование:


курсовая работа Создание интерактивной презентации на основе комплексного текстового документа с применением OLE-технологий на тему: «Эволюция и классифи

Информация:

Тип работы: курсовая работа. Добавлен: 17.05.13. Год: 2012. Страниц: 16. Уникальность по antiplagiat.ru: < 30%

Описание (план):




ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

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

Южно-Российский государственный  университет экономики и сервиса

(ЮРГУЭС)

Кафедра Информатика

Работа допущена к  защите

_______________________

(подпись, дата)

КУРСОВАЯ РАБОТА

 

Тема: Создание интерактивной презентации на основе комплексного текстового документа с применением OLE-технологий на тему: «Эволюция и классификация языков программирования. Основные понятия языков программирования».

по дисциплине Информатика

Разработал _______________Сидорова А.Ю.

(подпись) Группа КШИ-Т21

Руководитель_______________Диброва Галина Дмитриевна, доц.

(подпись)

Шахты 2008

 



 

ФЕДЕРАЛЬНОЕ АГЕНТСТВО  ПО ОБРАЗОВАНИЮ

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

Южно-Российский государственный  университет экономики и сервиса

(ЮРГУЭС)

Факультет - ТФ  Кафедра: Информатика

ЗАДАНИЕ

 

на курсовую работу по дисциплине Информатика

для студента 2-го курса группы КШИ-Т21

Сидорова А.Ю.

(фамилия,  имя, отчество)

Тема работы: Создание интерактивной презентации на основе комплексного текстового документа с применением OLE-технологий на тему: «Эволюция и классификация языков программирования. Основные понятия языков программирования».

Срок проектирования: 10 декабря 2008 год

Исходные данные и основные эксплуатационные требования:

Операционная система: Windows 98?XP

Приложение: Word, Excel и Power Point

Язык программирования: VisualBasic for Applications

Ввод исходных данных: С клавиатуры

Вывод результата: На экран дисплея

Литература: Симонович С.В. Информатика: Базовый курс: Учеб. пособие для вузов / под общ. ред. С.В. Симоновича. - СПб.: Питер, 2005.   

Объем работы: пояснительная записка - _______________

графическая часть  - _______________

Руководитель Диброва Галина Дмитриевна, доц._________________

фамилия, инициалы, ученая степень, звание)  (подпись)   

Задание к выполнению принял студент ________________________________

(подпись)     

Дата выдачи задания _________________________


 

 

Продолжение задания ко 2-му, 3-ему и 4-му разделам курсовой работы

Задание к разделу 2.

Нарисовать и выполнить в  цвете с помощью графического редактора Paint рисунок на тему:

«Романтика».

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

Задание к разделу 3

Подготовить и отформатировать  с помощью табличного процессора Microsoft EXCEL прайс-лист на покупку:

ЖК-мониторов.

Заданий к разделу 4

Ввести  формулу с помощью редактора  формул.

 

 

 

 

ОГЛАВЛЕНИЕ

 

 

 ВВЕДЕНИЕ

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

Языки программирования – искусственные  языки. От естественных они отличаются ограниченным числом «слов», значение которых понятно транслятору, и очень строгими правилами записи команд (операторов).

  1. ЯЗЫКИ ПРОГРАММИРОВАНИЯ

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

Алфавит – фиксированный для данного языка набор основных символов, допускаемый для составления текста программы на этом языке.

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

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

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

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

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

Языки программирования высокого уровня имеют следующие достоинства:

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

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

1.1.Компиляторы и интерпретаторы

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

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

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

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

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

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

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

1.2.Классификация языков программирования

Язык программирования – формализованный язык для описания алгоритма решения задачи на компьютере.

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

  • машинные языки (computer language) - языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);
  • машинно-ориентированные языки (computer-oriented language) - языки программирования, которые отображают структуру конкретного типа компьютера (ассемблеры);
  • алгоритмические языки (algoritmic language) - не зависящие от архитектуры компьютера языки программирования для отображения структуры алгоритма (Паскаль, Фортран, Бейсик и др.);
  • процедурно-ориентированные языки (procedurno-oriented language) - языки программирования, где имеется возможность описания программы как совокупность процедур (подпрограмм);
  • проблемно-ориентированные языки (universal programming language) - языки программирования, предназначенные для решения задач определенного класса (Липс, РПГ, Симула и др.);
  • интегрированные системы программирования.

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

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

1.3.Поколения языков программирования.

Языки программирования принято делить на пять поколений. В первое поколение входят языки, созданные в начале 50-х годов, когда первые компьютеры только появились на свет. Это был первый язык ассемблера, созданный по принципу «одна инструкция – одна строка».

Расцвет второго поколения языков программирования пришелся в конец 50-х - начало 60-х годов. Тогда разработан символический ассемблер, в котором появилось понятие переменной. Он стал первым полноценным языком программирования. Благодаря его возникновению заметно возросли скорость разработки и надежность программ.

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

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

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

1.4.Основные понятия языков программирования

      1. 1.4.1.Языки программирования высокого уровня.

Fortran (Фортран). Это первый компилирующий язык, созданный Джимом Бэкусом в 50-е годы. Программисты, разрабатывающие программы исключительно на ассемблере, выражали серьезное сомнение в возможности появления высокопроизводительного языка высокого уровня, поэтому основным критерием при разработке компиляторов Фортрана являлась эффективность исполняемого кода. Хотя в Фортране впервые был реализован ряд важнейших понятий программирования, удобство создания программ было принесено в жертву возможности получения эффективного машинного кода. Однако для этого языка было создано огромное количество библиотек, начиная от статистических комплексов и кончая пакетами управления спутниками, поэтому Фортран продолжает, активно использоваться во многих организациях, а сейчас ведутся работы над очередным стандартом Фортрана F2k, который появился в 2000 году. Имеется стандартная версия Фортрана HPF (High Performance Fortran) для параллельных суперкомпьютеров с множеством процессоров.

Cobol (Кобол). Это компилирующий язык для применения в экономической области и решения бизнес задач, разработанный в начале 60-х годов. Он отличается большой «многословностью» - его операторы иногда выглядят как обычные английские фразы. В Коболе были реализованы очень мощные средства работы с большими объемами данных, хранящимися на различных внешних носителях. На этом языке создано много приложений, которые активно эксплуатируются и сегодня. Достаточно сказать, что наибольшую зарплату в США получают программисты на Коболе.

Algol (Алгол). Компилируемый язык, созданный в 1960 году. Он был призван заменить Фортран, но из-за более сложной структуры не получил широкого распространения. В 1968 году была создана версия Алгол 68, по своим возможностям и сегодня опережающая многие языки программирования, однако из-за отступления достаточно эффективных компьютеров для нее не удалось своевременно создать хорошие компиляторы.

Pascal (Паскаль). Язык Паскаль, созданный в конце 70-х годов основоположником множества идей современного программирования Николаусом Виртом, во многом напоминает Алгол, но в нем ужесточен ряд требований к структуре программы и имеются возможности, позволяющие успешно применять его при создании крупных проектов.

Basic (Бейсик). Для этого языка имеются и компиляторы, и интерпретаторы, а по популярности он занимает первое место в мире. Он создавался в 60-х годах в качестве учебного языка и очень прост в изучении.

С (Си). Данный язык был создан в лаборатории Bell и первоначально не рассматривался как массовый. Он планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора.

Язык Си во многом похож на Паскаль  и имеет дополнительные средства для прямой работы с памятью (указатели). На этом языке в 70-е годы написано множество прикладных и системных  программ и ряд известных операционных систем (Unix).

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

Java (Ява). Этот язык был создан компанией Sun в начале 90-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Но главная особенность этого языка – компиляция не в машинный код, а в платформно-независимый байт-код (каждая команда занимает один байт). Этот байт-код может выполниться с помощью интерпретатора – виртуальной Java – машины JVM(Java Virtual Machine), версии которой созданы сегодня для любых платформ. Благодаря наличию множества Java-машин программы на Java можно переносить не только на уровне исходных текстов, но и на уровне двоичного байт – кода, поэтому по популярности язык Ява, сегодня занимает второе место в мире после Бейсика.

Особое внимание в развитии этого  языка уделяется двум направлениям: поддержке всевозможных мобильных  устройств и микрокомпьютеров, встраиваемых в бытовую технику (технология Jini) и созданию платформо-независимых программных модулей, способных работать на серверах в глобальных и локальных сетях с различными операционными системами (технология Java Beans). Пока основной недостаток этого языка – невысокое быстродействие, так как язык Ява интерпретируемый.

 

 

1.4.2.Языки программирования баз данных

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

  • Создание/модификация свойств/ удаление таблиц в базе данных;
  • Поиск, отбор, сортировка информации по запросам пользователей;
  • Добавление новых записей;
  • Модификация существующих записей;
  • Удаление существующих записей.

Первые базы данных появились давно, как только появилось потребность  в обработке больших массивов информации и выборки групп записей  по определенным признакам. Для этого  был создан структурированный язык запросов SQL (Structured Query Language). Он основан на мощной математической теории и позволяет выполнять эффективную обработку баз данных, манипулируя не отдельными записями, а группами записей. Для управления большими базами данных и их эффективной обработки разработаны СУБД (Системы Управления Базами Данных). Практически в каждой СУБД помимо поддержки языка SQL имеется также свой уникальный язык, ориентированный на особенности этой СУДБ и не переносимый на другие системы. Сегодня в мире насчитывается пять ведущих производителей СУБД: Microsoft (SQL Server),IBM(DB2), Oracle,Software AG (Adabas), Informix и Sybase. Их продукты нацелены на поддержку одновременной работы тысяч пользователей в сети, а базы данных могут храниться в распределенном виде на нескольких серверах. В Oracle имеется встроенный язык PL/SQL, в Informix – INFORMIX 4 GL, в Adabas- Natural и т.д.

С появлением персональных компьютеров  были созданы так называемые настольные СУБД. Родоначальником современных  языков программирования баз данных для ПК принято считать СУБД dBase II, язык который интерпретируемым. Затем для него были созданы компиляторы, появились СУБД ForPro и Clipper, поддерживающие диалекты этого языка. Сегодня похожие, но несовместимые версии языков семейства dBase реализованы в продуктах Visual ForPro фирмы Microsoft и Visual dBase фирмы Inprise.

      1. 1.4.3.Языки программирования для Интернета

С активным развитием глобальной сети было создано немало реализаций популярных языков программирования, адаптированных для Интернета. Все они отличаются характерными особенностями: языки являются интерпретируемыми, интерпретаторы для них распространяются бесплатно, а сами программы – в исходных текстах. Такие языки называют скрипт-языками.

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

Perl. В 80-х годах Лари Уолл разработал язык Perl. Он задумывался как средство эффективной обработки больших текстовых файлов, генерации текстовых отчетов и управления задачами. По мощности Perl значительно превосходит языки типа Си. В него введено много часто используемых функций работы со строками, массивами, всевозможные средства преобразования данных, управления процессами, работы с системной информацией и др.

Tcl/Tk. В конце 80-х годов Джон Аустираут разработал язык Tcl, а также библиотека Tk. В этом языке он попытался воплотить видение идеального скрипт-языка. Язык Tcl ориентирован на автоматизацию рутинных процессов и состоит из мощных команд, предназначенных для работы с абстрактными нетипизированными объектами. Он независим от типа системы и при этом позволяет создавать программы с графическим интерфейсом.

VRML. В 1994 году был создан язык VRML для организации виртуальных трехмерных интерфейсов в Интернете. Он позволяет описывать в текстовом виде различные трехмерные сцены, освещение и тени, текстуры (понятия объектов), создавать свои миры, путешествовать по ним, «облетать» со всех сторон, вращать в любых направлениях, масштабировать, регулировать освещенность и т.д.

      1. 1.4.4.Прочие языки программирования

PL/I (Пл/1). В середине 60-х годов компания IBM решила взять все лучшее из языков Фортран, Кобол и Алгол. В результате в 1964 году на свет появился новый компилируемый язык программирования, который получил название  Programming  Language One. В этом языке было реализовано множество уникальных решений, полезность которых удается оценить только спустя 33 года, в эпоху крупных программных систем. По своим возможностям Пл/1 значительно мощнее многих других языков (Си, Паскаля). Например, в Пл/1 присутствует уникальная возможность указания точности вычислений – ее нет даже у Си++ и Явы. Этот язык и сегодня продолжает поддерживаться компанией IMB.

Smalltalk (Смолток). Работа над этим языком началась в 1970 году в исследовательской лаборатории корпорации XEROX, а закончились спустя 10 лет, воплотившись в окончательном варианте иптерпритатора SMALLTALK-80. Данный язык оригинален тем, что его синтаксис очень компактен и базируется исключительно на понятии объекта. В этом языке отсутствуют операторы или данные. Все, что входит в Смолток, является объектами, а сами объекты общаются друг с другом исключительно с помощью сообщений (например, появление выражения I+1 вызывает посылку объекту I сообщения «+», то есть «прибавить», с параметром 1, который считается не числом-константой, а тоже объектом). Больше никаких управляющих структур, за исключением «оператора» ветвления (на самом деле функции, принадлежащей стандартному объекту), в языке нет, хотя их можно очень просто смоделировать. Сегодня версия VisualAge for Smalltalk активно развивается компанией IBM.

LISP (Лисп). Интерпретируемый язык программирования, созданный в 1960 году Джоном Маккарти. Язык ориентирован на структуру данных в форме списка и позволяет организовывать эффективную обработку больших объектов текстовой информации.

Prolog (Пролог). Этот язык создан в начале 70-х годов Аланом Колмероэ. Программа на этом языке, в основу которого положена математическая модель теории исчисления предикатов, строится из последовательности фактов и правил, а затем формулируется утверждение, которое Пролог будет пытаться доказать с помощью введенных правил. Человек только описывает структуру задачи, а внутренний «мотор» Пролога сам ищет решение с помощью методов поиска и сопоставления.


и т.д.................


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


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