Разработка и реализация на языке высокого уровня алгоритма выделения сильносвязных компонент ориентированного графа
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ (НИУ БелГУ)
ФАКУЛЬТЕТ КОМПЬЮТЕРНЫХ НАУК И ТЕЛЕКОММУНИКАЦИЙ
КАФЕДРА ПРИКЛАДНОЙ ИНФОРМАТИКИ
Курсовая работа
Разработать и реализовать на языке высокого уровня алгоритм выделения сильносвязных компонент ориентированного графа.
Студент дневного отделения
курса группы 141104
Чистякова Егора Евгеньевича
Научный руководитель:
Старший преподаватель
Гурьянова Ирина Владимировна
БЕЛГОРОД 2012
Постановка задачи
В данной курсовой работе требуется разработать и реализовать на языке высокого уровня алгоритм выделения сильносвязных компонент ориентированного графа.
Содержание
Введение
. Основные понятия и определения теории графов
.1 Теоремы
.2 Способы задания графа
.3 Сильная связность графов
. Последовательность выполнения работы
.1 Построение блок-схем алгоритма
. Тестирование разработанного программного обеспечения
.1 Подбор тестовых данных
.2 Анализ и исправление ошибок
Заключение
Список используемой литературы
Приложение
Введение
Язык С/C++
Си - стандартизированный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Деннисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX. С тех пор он был портирован на многие другие операционные системы и стал одним из самых используемых языков программирования. Си ценят за его эффективность. Он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ. Несмотря на то, что Си не разрабатывался для новичков, он активно используется для обучения программированию. В дальнейшем синтаксис языка Си стал основой для многих других языков.
Для языка Си характерны лаконичность, стандартный набор конструкций управления потоком выполнения, структур данных и обширный набор операций.
Язык программирования Си отличается минимализмом. Авторы языка хотели, чтобы программы на нём легко компилировались с помощью однопроходного компилятора, чтобы каждой элементарной составляющей программы после компиляции соответствовало весьма небольшое число машинных команд, а использование базовых элементов языка не задействовало библиотеку времени выполнения. Однопроходный компилятор компилирует программу, не возвращаясь назад, к уже обработанному тексту. Поэтому использованию функции и переменных должно предшествовать их объявление. Код на Си можно легко писать на низком уровне абстракции, почти как на ассемблере. Иногда Си называют универсальным ассемблером или ассемблером высокого уровня, что отражает различие языков ассемблера для разных платформ и единство стандарта Си, код которого может быть скомпилирован без изменений практически на любой модели компьютера. Си часто называют языком среднего уровня или даже низкого уровня, учитывая то, как близко он работает к реальным устройствам. Однако, в строгой классификации, он является языком высокого уровня.
Компиляторы Си разрабатываются сравнительно легко благодаря простоте языка и малому размеру стандартной библиотеки. Поэтому данный язык доступен на самых различных платформах (возможно, круг этих платформ шире, чем у любого другого существующего языка). К тому же, несмотря на свою низкоуровневую природу, язык позволяет создавать переносимые программы и поддерживает в этом программиста. Программы, соответствующие стандарту языка, могут компилироваться на самых различных компьютерах.
Си (как и ОС UNIX, с которой он долгое время был связан) создавался программистами и для программистов, круг которых был бы ненамного шире круга разработчиков языка. Несмотря на это, область использования языка значительно шире задач системного программирования.
Си создавался с одной важной целью: сделать более простым написание больших программ с минимумом ошибок по правилам процедурного программирования, не добавляя на итоговый код программ лишних накладных расходов для компилятора, как это всегда делают языки очень высокого уровня, такие как Бейсик. С этой стороны Си имеет следующие важные особенности:
простую языковую базу, из которой вынесены в библиотеки многие существенные возможности, вроде математических функций или функций управления файлами;
ориентацию на процедурное программирование, обеспечивающую удобство применения структурного стиля программирования;
систему типов, предохраняющую от бессмысленных операций;
использование препроцессора для, например, определения макросов и включения файлов с исходным кодом;
непосредственный доступ к памяти компьютера через использование указателей;
минимальное число ключевых слов;
,();">передачу параметров <http://ru.wikipedia.org/wik