Генератор простых чисел
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
днако его выразительные возможности не исчерпываются множеством содержательных алгоритмов и связанных с ними структур данных. Даже самые абсурдные с точки зрения программиста, реализующего сколько-нибудь значимый алгоритм, предложения языка остаются абсолютно правильными и корректными для транслятора. Примеры, основанные на содержательных алгоритмах, неизбежно оставляют за рамками изложения множества предложений, на которых, порой, и выявляются характерные черты языка.
Язык "C", родитель языка "C++", первоначально предназначавшийся для написания операционной системы "UNIX", был разработан и реализован на этой системе Деннисом Ричи. Операционная система, компилятор с языка "C" и по существу все прикладные программы системы "UNIX". "C" показал себя приятным, выразительным и разносторонним языком на широком множестве разнообразных программ. Его легко выучить, и он не теряет своих качеств с ростом опыта программиста.
Именно поэтому этот язык и был выбран для написания программы.
Алгоритм решения задачи
Так как программа написана как консольное приложение, то данные должны вводится до тех пор, пока пользователь сам не остановит процесс работы с программой. Поэтому, в главной функции приложения используется циклический алгоритм работы.
Рис. 1 - Основной алгоритм работы приложения
Эскизный проект
Программа рассчитана на обычного пользователя, т.е. пользователя с начальным уровнем подготовки работы за компьютером, поэтому она должна быть проста в использовании. И в связи с этим для написания проекта используется консольное приложение, а сам проект относится к Windows Console Application.
Для решения задачи поставленной в курсовой работе используется структурное программирование.
Основные понятия
Алгоритм - это конечная последовательность действий, преобразующая исходные данные в результат.
Алгоритмы составляют основу компьютерных наук, они являются основными объектами изучения во многих, если не в большинстве ее областей. Одну и ту же задачу можно решить разными методами, используя различные алгоритмы. Предпочтение отдается тем из них, которые обеспечивают наименьшее время исполнения компьютерной программы. Существует наука, изучающая алгоритмы. Она называется Теория алгоритмов и является частью математики. Достижения этой науки используются для разработки эффективных алгоритмов. Созданием и развитием теории алгоритмов занимались европейские ученые: голландец Лейтзен Эгберт Ян Брауэр (1881-1966), немец Герман Вейль (1885-1955), англичанин Алан Матисон Тьюринг (1912-1954) американские - Алонзо Черч (родился в 1903), Эмиль Леон Пост (1897-1954) и Стивен Коул Клини (р. 1909), русские ученые Андрей Андреевич Марков (р. 1903) и Андрей Николаевич Колмогоров (р. 1903).
Переменная - это место в оперативной памяти компьютера, где можно размещать хранимое значение, а затем извлекать его.
Функция - это блок кода программы, который выполняет одно или несколько действий. Обычно функцию вызывает другая функция или оператор
Структурное программирование - методология разработки программного обеспечения, предложенная в 70-х года XX века Дейкстрой и разработанная и дополненная Виртом.
Основная цель структурного программирования - создать программу с минимальными взаимосвязями между ее модулями. В идеале каждый модуль должен иметь один вход и один выход.
Опыт использования методов структурного программирования позволяет сделать следующие выводы:
) структурное программирование упрощает процесс создания сложных программ и способствует значительному уменьшению количества ошибок в них;
) использование модулей небольших размеров позволяет упростить и ускорить процессы их отладки;
) при использовании структурного программирования значительно сокращается трудоемкость разработки технической документации, т.е. в качестве документации на каждый модуль используется только описание его функций;
) структурное программирование является хорошей базой автоматизации разработки модульных программ.
Основная идея структурного программирования заключается в следующем. Компьютерную программу можно представить в виде набора задач. Любая задача, которая слишком сложна для простого описания, должна быть разделена на несколько более мелких составных задач, и это деление необходимо продолжать до тех пор, пока задачи не станут достаточно простыми для понимания.
Следование принципам структурного программирования сделало тексты программ, даже довольно крупных, нормально читаемыми. Серьёзно облегчилось понимание программ, появилась возможность разработки программ в нормальном промышленном режиме, когда программу может без особых затруднений понять не только её автор, но и другие программисты. Это позволило разрабатывать достаточно крупные для того времени программные комплексы силами коллективов разработчиков, и сопровождать эти комплексы в течение многих лет, даже в условиях неизбежных изменений в составе персонала.
Методология структурной разработки программного обеспечения была признана самой сильной формализацией 70-х годов. После этого слово структурный стало модным в отрасли, и его начали использовать везде, где надо и где не надо. Появились работы по структурному проектированию, структурному тестированию, структурному дизайну и так далее. В общем, произошло примерно то же самое, что происходило в 90-х годах и проис