Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Стандартная библиотека на С++: алгоритм

Тип Реферат
Предмет Информатика и программирование
Просмотров
1383
Размер файла
24 б
Поделиться

Ознакомительный фрагмент работы:

Стандартная библиотека на С++: алгоритм

РЕСПУБЛИКА КАЗАХСТАН

УНИВЕРСИТЕТ "ТУРАН"

Кафедра "Информационных технологии"

Тема реферата:

"Стандартная библиотека на С++: Алгоритм"

Выполнил: Айнакулов Д.А.

3-курс. "ИС"9 гр.

Проверила: Зиятбекова Г.З.

Алматы – 2008 г.


Содержание

Введение

Стандартная библиотека

Структура библиотеки

Алгоритмы

Заключение

Список использованной литературы


Введение

Языки программирования С++ является универсальными языками программирования высокого уровня, позволяющим создавать различного вида программы прикладного или системного характера. C++ еще является одним из наиболее широко применяемых языков программирования, индустриальным стандартом для создания приложений всевозможного рода. Кроме того, это очень рациональный язык, позволяющий использовать ресурсы более эффективно, чем Pascal , VisualBasic или Delphi . Также его неоспоримым достоинством является наличие быстрого компилятора (фирма Microsoft ). Язык C++ является базовым для программирования на VisualC++. Он используется для программирования в операционных системах и Unix/Linux, и Windows.

Основная задача курса С++ заключается в том, чтобы показать слушателям, что язык программирования С++ - это полноценный, продвинутый и комплексный язык, предназначенный для создания сложных программ, таких как "Бухгалтерия 1С:", "Windows 2000" и клиент - серверовских приложений.


Стандартная библиотека

Стандартная библиотека Си++ включает стандартную библиотеку Си с небольшими изменениями, которые делают её более подходящей для языка Си++. Другая большая часть библиотеки Си++ основана на Стандартной Библиотеке Шаблонов.Стандартная библиотека шаблонов STL. Она предоставляет такие важные инструменты, как контейнеры (например, векторы и списки) и итераторы (обобщённые указатели), предоставляющие доступ к этим контейнерам как к массивам. Кроме того, STL позволяет сходным образом работать и с другими типами контейнеров, например, ассоциативными списками, стеками, очередями. Используя шаблоны, можно писать обобщённые алгоритмы, способные работать с любыми контейнерами или последовательностями, определяемыми итераторами.

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

STL до включения в стандарт Си++ была сторонней разработкой, в начале — фирмы Hewlett-Packard HP, а затем SGI. Стандарт языка не называет её "STL", так как эта библиотека стала неотъемлемой частью языка, однако многие люди до сих пор используют это название, чтобы отличать её от остальной части стандартной библиотеки (потоки ввода/вывода Iostream, подраздел Си и др.). Проект под названием http://www.stlport.org/ STLport, основанный на SGI STL, осуществляет постоянное обновление STL, IОstream и строковых классов. Некоторые другие проекты также занимаются разработкой частных применений стандартной библиотеки для различных конструкторских задач. Каждый производитель компиляторов Си++ обязательно поставляет какую-либо реализацию этой библиотеки, так как она является очень важной частью стандарта и широко используется.

''Стандартная библиотека''языка программирования — набор функций и процедур, доступных для вызова из любой программы, написанной на этом языке и присутствующей во всех реализациях языка. В некоторых случаях стандартная библиотека описывается в стандарте языка Python,Perl, Java, в некоторых — отдельными стандартами Си или определяется исходя из практического наличия функций в реализациях языка Basic,Pascal.

В зависимости от возможностей языка, стандартная библиотека может содержать:

* процедура процедуры и функция (программирование) функции

макросы

* глобальная переменная глобальные переменные

* класс программирование классы

* Обобщённое программирование шаблоны

Обычно стандартная библиотека содержит основные алгоритмы и структуры данных, необходимые для:

* работы с динамически распределяемая память динамической памятью

* файловыми операциями ввода-вывода

* операциями ввода-вывода данных на терминал

* конвертацией данных между типами

* функции для работы со строками

* математические операции

* функции для работы с сетью

* функции для обеспечения обработки исключений и ошибок в программе

* функции для поддержки поток (информатика)многопоточности

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

''Первый'': стандартная библиотека должна содержать в себе только те процедуры и функции, которые используются практически всеми и обладают максимальной универсальностью. В частности, этой позиции придерживался Бьярне Строуструп (автор языка C++) <ref> Bjarne Stroustrup. The C++ Programming Language. 3rd Ed. Addison-Wesley, 1997</ref>

''Второй'': стандартная библиотека должна содержать в себе максимально-возможное количество типичных алгоритмов, обеспечивать простую работу с большинством (в идеале, со всеми) объектами, с которыми может взаимодействовать программа. Одним из примеров реализации этого принципа является язык Python, девиз которого "Batteries included" (батарейки в комплекте) <ref>Guido van Rossum. http://docs.python.org/tut/ Python Tutorial</ref>.

Структура библиотеки

В библиотеке выделяют пять основных компонентов:

* 1. Контейнер (container) - хранение набора объектов в памяти.

* 2. Итератор (iterator) - обеспечение средств доступа к содержимому контейнера.

* 3. Алгоритм (algorithm) - определение вычислительной процедуры.

* 4. Адаптер (adaptor) - адаптация компонентов для обеспечения различного интерфейса.

* 5. Функциональный объект (functor) - сокрытие функции в объекте для использования другими компонентами.

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

Алгоритмы

В библиотеке STL существует группа функций, выполняющих некоторые стандартные действия, например поиск, преобразование, сортировку, копирование и т. д. Они называются алгоритмами. Параметрами для алгоритмов, как правило, служат итераторы. Алгоритму нет никакого дела до типа переданного ему итератора. Главное, чтобы последний подпадал под определенную категорию. К примеру, если параметром алгоритма должен быть однонаправленный итератор, то подставляемый итератор должен быть либо однонаправленным, либо двунаправленным, или же итератором произвольного доступа.Примером алгоритма может служить equal. Он сравнивает две цепочки данных, адресуемых входными итераторами, и описан следующим образом:

template <class InputIterator1, class InputIterator2>bool equal(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2);

Первый параметр - входной итератор, указывающий на первую цепочку сравниваемых данных. Второй адресует индикатор конца диапазона данных. Третий параметр - вторая цепочка сравниваемых данных. А вот фрагмент сравнения двух векторов (массивов) v1 и v2:

bool isEqual = equal(v1.begin(), v1.end(), v2.begin());

Здесь использованы стандартные методы векторов: begin() возвращает итератор, настроенный на начало цепочки данных, а end() возвращает индикатор выхода за диапазон. Если все элементы векторов попарно равны друг другу, то equal вернет значение "истина" (true).Отметим, что все алгоритмы можно разделить на две основных категории: те, которые изменяют данные, и те, которые их не изменяют.


Заключение

Замечание по названию С++ : ++ - знак операции инкремента в С, если этa операция применяется к переменной (обычно к индексу массива или указателю) значение переменной увеличивается так, чтобы указывать на следующий элемент. Название С++ было предложен Риком Маскитти (RiciMascitti). С++ в дальнейшем следует рассматривать как уточняющее название, употребляемое либо по формальному поводу, либо во избежании двусмысленности. Среди посвященных С++ именуется С, а язык С, описанный в, "старым С". Более короткое обозначение С является синтаксической ошибкой. Оно также использовалось как название одного, не относящегося к теме статьи, языка. Ценители семантики С найдут, что С++ менее выразительном чем ++С, однако последнее не является приемлемым названием. Язык не назван D, так как является расширением С, а не попыткой решить некие проблемы изначально присущие базовой структуре языкa С. Название С++ отражает эволюционный характер изменений относительно старого С. Еще одну интерпретацию названия С++.

Эволюционизируя из языка С, C++ прошел через несколько промежуточных этапов известных под общим названием "С с классами". Основным намерением являлось создание возможностей абстракции при проектировании больших систем и в то же время полезных в областях, где очень важны лаконичность С и его способность выражать низкоуровневые детали. В связи с этим было специально предусмотрено чтобы использование классов С, предоставляющих общий и гибкий механизм структурирования не приводило в сравнении со старым С к издержкам ни по памяти ни по времени исполнения. Зa исключением таких деталей как введение новых ключевых слов, С++ является надмножеством языка С. "Реализация и совместимость". Язык полностью реализован и используется.


Список использованной литературы

1. Страуструп Б. Язык программирования C++, спец. изд. Пер. с англ. — М.: "Издательство БИНОМ"; СПб.: Невский Диалект, 2001.

2. Лишнер Р. С++. Справочник. — СПб.: Питер, 2005.

3. Саттер Г. Новые сложные задачи на С++. : Пер. с англ. – М.: Издательский дои "Вильямс", 2005

4. Коплиен Дж. Программирование на С++. Классика Computer Science. — СПб.: Питер, 2005.


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

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

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

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

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

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

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Филиал государственного бюджетного образовательного учреждения высшего образования Московской област
Спасибо Елизавете за оперативность. Так как это было важно для нас! Замечаний особых не бы...
star star star star star
РУТ
Огромное спасибо за уважительное отношение к заказчикам, быстроту и качество работы
star star star star star
ТГПУ
спасибо за помощь, работа сделана в срок и без замечаний, в полном объеме!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

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

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно