Генератор простых чисел

Страуструп начал работать над «Си с классами» в 1979 году. Идея создания нового языка берёт начало от опыта программирования Страуструпа

Генератор простых чисел

Курсовой проект

Компьютеры, программирование

Другие курсовые по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией

Міністерство освіти і науки України

Східноукраїнський національний університет

 

Завдання

на курсову роботу

 

студентові Ломакіній Діані Володимирівні - група КТ - 102

 

1.Тема роботи: Розробка програми для створення генератора випадкових чисел.

2. Термін здачі курсової роботи - 14.06.2011

3. Вхідні дані до роботи: Написати програму яка генерує випадкові числа.

4. Зміст пояснювальної записки (перелік розділів, питань, які належить розробити):

Введення;

Основна частина;

Технічне завдання;

Алгоритм рішення;

Ескіз проекту;

Практична реалізація;

Інтерфейс програми;

Висновок;

Список використаної літератури;

Додаток

 

Студент Ломакіна Д.В.

Керівник Пугачова О.А.

Реферат

программа генерация случайное число

Курсовая работа содержит 20 страниц формата А4, 4 рисунка, одно приложение.

Цель работы рассмотреть методы и способы реализации программы для генерации случайных чисел. Курсовая работа служит для изучения принципов написания программ, используя различные подходы, а также изучения языка программирования С/С++.

 

Ключевые слова:

Методы; Алгоритм; Сложность алгоритма; Переменная; Функция;

Содержание

 

Введение

Основная часть

Техническое задание

Алгоритм решения задачи

Практическая реализация

Интерфейс программы

Выводы

Список использованной литературы

Приложение

ВВЕДЕНИЕ

 

Целью данной курсовой работы было написание программы для генерации случайных чисел, в которой должны быть реализованы возможности генерации абсолютно случайных чисел. Приложение должно быть разработано на языке С/С++.

Генератор случайных чисел (ГСЧ, англ. Pseudorandom number generator, PRNG) - алгоритм, генерирующий последовательность чисел, элементы которой почти независимы друг от друга и подчиняются заданному распределению (обычно равномерному).

Современная информатика широко использует случайные числа в самых разных приложениях - от метода Монте-Карло и имитационного моделирования до криптографии. При этом от качества используемых ГСЧ напрямую зависит качество получаемых результатов.

Основная часть

 

Техническое задание

 

Данная курсовая работа посвящена созданию программы «Генератор случайных чисел»

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

Прежде всего, задача разбивается на следующие подзадачи:

  1. Описать узел, который содержит все необходимые данные
  2. Описать функции и методы для работы с конкретными данными.
  3. Описать функции чтения данных из памяти и вывод на экран.

Задачи, которые решает программа курсовой работы, заключаются в следующем:

  1. Ввод выражения
  2. Обработка выражения
  3. Выдать правильный результат на экран

Обоснование выбранного программного обеспечения и языка программирования

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

На каждом этапе создавался новый подход, который помогал программистам справляться с растущим усложнением программ. Первые программы создавались посредством ключевых переключателей на передней панели компьютера. Очевидно, что такой способ подходит только для очень небольших программ. Затем был изобретён язык ассемблера, который позволял писать более длинные программы. Следующий шаг был сделан в 1950 году, когда был создан первый язык высокого уровня Фортран. Используя такой язык, программисты могли писать программы до нескольких тысяч строк длиной. Для того времени указанный подход к программированию был наиболее перспективным. Однако язык программирования, легко понимаемый в коротких программах, когда дело касалось больших программ, становился нечитабельным (и не управляемым).

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

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

Данная программа полностью построена на языке программирования С++. В процессе разработки использовался пакет Microsoft Visual Studio.

Язык возник в начале 1980-х годов, когда сотрудник фирмы Bell Laboratories Бьёрн Страуструп придумал ряд усовершенствований к языку Си под собственные нужды. До начала официальной стандартизации язык развивался в основном силами Страуструпа в ответ на запросы программистского сообщества. В 1998 году был ратифицирован международный стандарт языка Си++: ISO/IEC 14882:1998 «Standard for the C++ Programming Language»; после принятия технических исправлений к стандарту в 2003 году - нынешняя версия этого стандарта - ISO/IEC 14882:2003.

Страуструп начал работать над «Си с классами» в 1979 году. Идея создания нового языка берёт начало от опыта программирования Страуструпа для диссертации. Он обнаружил, что язык моделирования Симула (Simula) имеет такие возможности, которые были бы очень полезны для разработки большого программного обеспечения, но работает слишком медленно. В то же время язык BCPL достаточно быстр, но слишком близок к языкам низкого уровня и не подходит для разработки большого программного обеспечения. Страуструп начал работать в Bell Labs над задачами теории очередей (в приложении к моделированию телефонных вызовов). Попытки применения существующих в то время языков моделирования оказались неэффективными. Вспоминая опыт своей диссертации, Страуструп решил дополнить язык Си (преемник BCPL) возможностями, имеющимися в языке Симула. Язык Си, будучи базовым языком системы UNIX, на которой работали компьютеры Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами. В результате, практические задачи моделирования оказались доступными для решения как с точки зрения времени разработки (благодаря использованию Симула-подобных классов) так и с точки зрения времени вычислений (благодаря быстродействию Си). В начале в Си были добавлены классы (с инкапсуляцией), производные классы, строгая проверка типов, inline-функции и аргументы по умолчанию.

Разрабатывая Си с классами (позднее Си++), Страуструп также написал программу cfront - транслятор, перерабатывающий исходный код Си с классами в исходный код простого Си. Новый язык, неожиданно для автора, приобрёл большую популярность среди коллег и вскоре Страуструп уже не мог лично поддерживать его, отвечая на тысячи вопросов.

В 1983 году произошло переименование языка из Си с классами в Си++. Кроме того, в него были добавлены новые возможности, такие как виртуальные функции, перегрузка функций и операторов, ссылки, константы, пользовательский контроль над управлением свободной памятью, улучшенная проверка типов и новый стиль комментариев (//). Его первый коммерческий выпуск состоялся в октябре 1985 года. В 1985 году вышло также первое издание «Языка программирования Си++», обеспечивающее первое описание этого языка, что было чрезвычайно важно из-за отсутствия официального стандарта. В 1989 году состоялся выход Си++ версии 2.0. Его новые возможности включали множественное наследование, абстрактные классы, статические функции-члены, функции-константы и защищённые члены.

В 1990 году вышло «Комментированное справочное руководство по C++», положенное впоследствии в основу стандарта. Последние обновления включали шаблоны, исключения, пространства имён, новые способы приведения типов и булевский тип.

Стандартная библиотека Си++ также развивалась вместе с ним. Первым добавлением к стандартной библиотеке Си++ стали потоки ввода/вывода, обеспечивающие средства для замены традиционных функций Си printf и scanf. Позднее самым значительным развитием стандартной библиотеки стало включение в неё Стандартной библиотеки шаблонов.

После многих лет работы совместный комитет ANSI-ISO стандартизировал Си++ в 1998 году. В течение нескольких лет после официального выхода стандарта комитет обрабатывал сообщения об ошибках и в итоге выпустил исправленную версию стандарта Си++ в 2003 году. В настоящее время рабочая группа МОС (ISO) работает над новой версией стандарта под кодовым

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

1 2 3 > >>