Стандартная библиотека на С++: алгоритм. Реферат. Информационное обеспечение, программирование.

Стандартная библиотека на С++: алгоритм. Реферат. Информационное обеспечение, программирование.




⚡ 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻


























































Информационное обеспечение, программирование

Вы можете узнать стоимость помощи в написании студенческой работы.


Помощь в написании работы, которую точно примут!

Похожие работы на - Стандартная библиотека на С++: алгоритм

Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе

Нужна качественная работа без плагиата?

Не нашел материал для своей работы?


Поможем написать качественную работу Без плагиата!

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








Основная задача
курса С++ заключается в том, чтобы показать слушателям, что язык
программирования С++ - это полноценный, продвинутый и комплексный язык,
предназначенный для создания сложных программ, таких как "Бухгалтерия 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++) Bjarne Stroustrup. The C++ Programming Language.
3rd Ed. Addison-Wesley, 1997


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




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


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


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


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


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


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


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




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


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




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


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




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


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







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


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


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


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






Алгоритмы Реферат. Информационное обеспечение, программирование.
Горит Лампочка Курсовой Устойчивости
Мини Сочинение На Тему Мой Выбор
Анализ понятий «профессия», «специальность
Эссе Нет Человека Вне Культуры
Доклад по теме Юрий Владимирович Давыдов
Эссе На Тему Будущее Образование
Техника Бега 60 Метров Реферат
Методы Ценообразования В Маркетинге Реферат
Реферат: Polymers Essay Research Paper Polymers are large
Реферат по теме Правовое положение участников рынка ценных бумаг
Дидактический 6 Класс Мерзляк Контрольные Работы
Реферат: Gore Vs Bush Essay Research Paper Term
Курсовая работа по теме Государственный контроль над местным самоуправлением
Сочинение По Произведению Шукшина Чудик
Сочинение Про Саратов
Курсовая работа: Организация франчайзинговой системы в бизнесе. Скачать бесплатно и без регистрации
Реферат: Україно-польська війна - характер і особливості
Курсовая работа по теме Политические институты майя
Реферат На Тему Острая Сосудистая Недостаточность
Контрольная Работа 1 10 Класс Алгебра Алимов
Реферат: Биосфера
Похожие работы на - Влаштування перегородки за системою W111
Курсовая работа: Контактная сварка деталей и материалов

Report Page