Технологии Программирования Курсовая с практикой Информатика

Курсовая с практикой на тему Регулярные выражения в C++

  • Оформление работы
  • Список литературы по ГОСТу
  • Соответствие методическим рекомендациям
  • И еще 16 требований ГОСТа,
    которые мы проверили
Нажимая на кнопку, я даю согласие
на обработку персональных данных
Фрагмент работы для ознакомления
 

Содержание:

 

ВВЕДЕНИЕ.. 3

Глава I Теоретическая часть. 4

1.1 Объектно-ориентированное программирование. 4

1.2 Особенности языка С++. 8

Глава 2 Разработка программ.. 15

2.1 Условные операторы. Циклы. 15

2.2 Массивы. Строки. 17

2.3 Функции. 19

ЗАКЛЮЧЕНИЕ.. 22

СПИСОК
ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ   23

  

Введение:

 

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

Будучи одним из самых популярных языков
программирования, C ++ широко используется для разработки программного
обеспечения. В ее сферу входит создание операционных систем, различных
прикладных программ, драйверов устройств, приложений для встраиваемых систем,
высокопроизводительных серверов, а также развлекательных приложений (игр).
Существует множество реализаций C++, как бесплатных, так и коммерческих, и для
разных платформ. Например, на
платформе
x86 это
GCC, Visual C++, Intel C ++ compiler, Embarcadero (Borland) C ++ Builder и
другие.
C ++ оказывает огромное
влияние на другие языки программирования, особенно на Java и C#.

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

Не хочешь рисковать и сдавать то, что уже сдавалось?!
Закажи оригинальную работу - это недорого!

Заключение:

 

Как было обещано в
первом издании книги «Бьерн Страуструп. Язык программирования С++»,
запросы пользователей определили развитие С++. Его направлял опыт широкого
круга пользователей, работающих в разных областях программирования. За шесть
лет, отделяющих нас от первого издания описания С++, число пользователей
возросло в сотни раз. За эти годы были усвоены многие уроки, были предложены и
подтвердили практикой свое право на существование различные приемы
программирования.
Язык C++ явился мощным и стремительным рывком в развитии программирования. C++
и по сей день занимает господствующее положение среди языков программирования
в мире. Огромное множество профессиональных программистов использует
именно его при разработке разного рода проектов. Очевидно, этот язык будет
сохранять свое солидное положение ещё не один год, при этом по-прежнему
развиваясь и совершенствуясь.

 

Фрагмент текста работы:

 

Глава I Теоретическая часть

1.1 Объектно-ориентированное
программирование

Объектно-ориентированный
подход появился в первую очередь в ответ на растущую сложность программного
обеспечения. В начале компьютерной эры возможности компьютеров были ограничены,
и было очень трудно написать большую программу. 60. и 70.с годами эффективность
использования компьютеров резко возросла, и создавалось все больше и больше
приложений повышенной сложности. Наиболее распространенным в это время было
строительное проектирование с использованием метода "сверху вниз".
Однако через некоторое время стало ясно, что структурный подход не работает,
если размер программы превышает около 100 тысяч строк. В результате проекты
выходят за рамки установленных сроков и бюджетов и, более того, не
соответствуют первоначальным требованиям. Для решения этих задач они стали
использовать объектно-ориентированный подход.

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

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


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


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


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

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

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

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


сложность реального мира;


сложность управления процессом разработки –


гибкость программного обеспечения;


сложность описания поведения систем.

Сложность
в реальном мире

Проблемы,
которые мы пытаемся решить с помощью программного обеспечения, которое мы
разрабатываем, часто неизбежно содержат сложные элементы, которые подчиняются
многим различным и часто противоположным требованиям [1].

Но
даже при простых задачах сложность может возникнуть из-за лингвистических и концептуальных
"нестыковок" между заказчиком системы и ее разработчиком:
пользователям обычно трудно четко объяснить разработчикам, что на самом деле
нужно сделать. Часто пользователь имеет лишь смутное представление о том, что
ему нужно от будущей программной системы. С другой стороны, разработчик,
который является экспертом только в своей области знаний, недостаточно
квалифицирован в предметной области.

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

Сложность
управления процессом разработки

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

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

Гибкость
программного обеспечения

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

Сложность
описания поведения системы

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

Любая
сложная система, в том числе и комплексная программная система, имеет следующие
общие характеристики:

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

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

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

Продолжая,
мы можем разложить процессор на его компоненты. Он состоит из регистров и цепей
управления, которые сами состоят из еще более простых частей: диодов,
транзисторов и т. д. Возникает вопрос, что считать простейшим элементом
системы? Ответ дает второй атрибут [2].

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

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

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

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

4.
Иерархические системы обычно состоят из нескольких типов подсистем, по —
разному объединенных и организованных.

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

5.
Любая работающая сложная система является результатом развития работающей более
простой системы.

В
качестве примера назовем теорию развития живой природы.

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

В
процессе развития системы объекты, которые первоначально считались сложными,
становятся элементарными, и из них строятся более сложные системы.

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

Похожие работы