Стандартна бібліотека на С алгоритм

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

РЕСПУБЛІКА КАЗАХСТАН
УНІВЕРСИТЕТ "Туру"
Кафедра "Інформаційних технології"
Тема реферату:
"Стандартна бібліотека на С + +: Алгоритм"
Виконав: Айнакулов Д.А.
3-курс. "ІС" 9 гр.
Перевірила: Зіятбекова Г.З.
Алмати - 2008 р.

Зміст
Введення
Стандартна бібліотека
Структура бібліотеки
Алгоритми
Висновок
Список використаної літератури

Введення
Мови програмування С + + є універсальними мовами програмування високого рівня, що дозволяє створювати різного виду програми прикладного або системного характеру. C + + ще є одним з найбільш широко вживаних мов програмування, індустріальним стандартом для створення додатків всілякого роду. Крім того, це дуже раціональний мова, що дозволяє використовувати ресурси більш ефективно, ніж Pascal, Visual Basic або Delphi. Також його незаперечною перевагою є наявність швидкого компілятора (фірма Microsoft). Мова C + + є базовим для програмування на Visual C + +. Він використовується для програмування в операційних системах і 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 операція застосовується до змінної (зазвичай до індексу масиву або вказівником) значення змінної збільшується так, щоб вказувати на наступний елемент. Назва С + + було запропоновано Ріком Маскітті (Rici Mascitti). С + + в подальшому слід розглядати як уточнююче назва, вживається або за формальною приводу, або в уникненні двозначності. Серед присвячені С + + іменується С, а мова С, описаний в, "старим С". Більш короткий позначення С є синтаксичної помилкою. Воно також використовувалося як назва одного, що не відноситься до теми статті, мови. Цінителі семантики З знайдуть, що С + + менш виразному ніж + + С, однак останнє не є прийнятним назвою. Мова не названий D, так як є розширенням С, а не спробою вирішити якісь проблеми від початку притаманні базової структурі язикa С. Назва С + + відображає еволюційний характер змін щодо старого С. Ще одну інтерпретацію назви С + +.
Еволюціонізіруя з мови С, C + + пройшов через кілька проміжних етапів відомих під загальною назвою "С з класами". Основним наміром було створення можливостей абстракції при проектуванні великих систем і в той же час корисних в областях, де дуже важливі лаконічність С та його здатність висловлювати низькорівневі деталі. У зв'язку з цим було спеціально передбачено щоб використання класів С, надають загальний і гнучкий механізм структурування не приводило в порівнянні зі старим З до витрат ні за пам'яттю ні за часом виконання. Зa винятком таких деталей як введення нових ключових слів, С + + є надбезліччю мови С. "Реалізація та сумісність". Мова повністю реалізований і використовується.

Список використаної літератури
1. Страуструп Б. Мова програмування C + +, спец. вид. Пер. з англ. - М.: "Видавництво БИНОМ", СПб.: Невський Діалект, 2001.
2. Лішнер Р. С + +. Довідник. - СПб.: Питер, 2005.
3. Саттер Г. Нові складні завдання на С + +. : Пер. з англ. - М.: Видавничий дій "Вільямс", 2005
4. Коплі Дж. Програмування на С + +. Класика Computer Science. - СПб.: Питер, 2005.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
20.4кб. | скачати


Схожі роботи:
Блокнот стандартна програма Windows
Бібліотека і краєзнавство
Олександр і Бібліотека
Бібліотека Конгресу
Бібліотека та сім`я
Бібліотека коледжу
Бібліотека царя Ашшурбанапала
Графічна бібліотека OpenGl
Самарська публічна бібліотека
© Усі права захищені
написати до нас