Разработать и отладить программу на языке Pascal (Delphi), в операционной системе Windows 7 Ultimate, выполняющую следующие функции: 1. Формирование подмножества натуральных чисел с заданными параметрами. 2. Факторизация числа с опциями. 3. Нахождение наименьшего общего кратного (НОК) и наибольшего общего делителя (НОД) заданной совокупности чисел. 4. Нахождение рациональных решений алгебраического уравнения с целочисленными коэффицентами. 5. Представление рациональной дроби в виде цепной 6. Представление цепной дроби в виде рациональной. Содержание 1. Задание .................................................................................................................................................2 2. Содержание ..........................................................................................................................................3 3. Введение .............................................................................................................................................4 4. Математическая основа, алгоритмы .................................................................................................6 6. Интерфейс программы .......................................................................................................................7 5. Тесты ....................................................................................................................................................8 6. Заключение ........................................................................................................................................11 7. Приложения .......................................................................................................................................12 Листинг .............................................................................................................................................12 Введение Дуальность природы (единство и борьба противоположностей, положительное и отрицательное, притяжение и отталкивание, аморфное и структурированное и т.п.) отражается и в математике, где выделяются непрерывные образования (например, множество точек на отрезке линии, на плоскости, в объеме, множество действительных чисел и т.п.) и отдельные (конечные) объекты (множество натуральных чисел, особые точки функций, логические переменные, операторы и операнды и т.п.). Область математики, которая занимается изучением структур финитного (конечного) характера, в настоящее время обычно называют дискретной математикой в отличие от классической математики, которая в основном занимается изучением свойств объектов непрерывного характера. В общем случае дискретная математика охватывает все произвольные дискретные структуры: алгебраические системы, графы (включая и бесконечные графы), конечные группы, вычислительные среды и проч.. Свойства изучаемого дискретной математикой объекта приводят к ряду особенностей, отличающих дискретную математику от классической. Прежде всего, это отказ от таких понятий классической математики, как предел и непрерывность, а отсюда и малопригодность многих ее мощных средств анализа. Другими особенностями являются: •проблемы алгоритмической разрешимости и построение конкретных решающих алгоритмов; •исследование дискретных многоэкстремальных задач, где методы существенно использующие гладкость функции, мало эффективны (типичные примеры: построение нормальных минимальных дизъюнктивных форм; определение условий, ограничивающих полный перебор и т.п.) Еще одна особенность дискретной математики связана с методами ее изучения. В настоящее время при изучении классической математики в высшей школе (исключая, естественно, подготовку математиков-профессионалов) имеет место склонность к «рецептурному»методу (решение задач по существующим алгоритмам или, в других случаях, по более или менее сложным моделям). Изучение же дискретной математики, связанной, и весьма тесно, с проблемами управления и развития информационных технологий, часто направлено на создание моделей и эффективных алгоритмов. В такой ситуации математика нужна, прежде всего, как метод мышления, как язык, как средство формулирования и организации понятий. Такое владение математикой требует большей культуры: понимания важности точных формулировок и умения обходиться без них там, где это целесообразно; умения понять, что просто, что сложно, а что невозможно, ощущения связи между может быть далекими идеями и понятиями. Таким образом, цель изучения дискретной математики состоит не только в освоении определенного набора понятий и приемов решения задач, а и в существенном повышении культуры пользования математическим аппаратом в вышеприведенном смысле. Теория чисел — это одно из направлений математики, которое иногда называют «высшей арифметикой». Данная наука изучает натуральные числа и некоторые сходные с ними объекты, рассматривает различные свойства (делимость, разложимость, взаимосвязи и так далее), алгоритмы поиска чисел, а также определяет ряд достаточно интересных наборов натуральных чисел. Теория чисел среди математических дисциплин выделяется скорее психологической установкой, чем предметом «целые числа». Более сильное утверждение было бы неверным: в теоретико-числовых работах исследуются и алгебраические, и трансцендентные числа; или, вообще, не числа, а скажем, аналитические функции очень специального вида {ряды Дирихле, модулярные формы); или геометрические объекты {решетки, схемы над Z). Прежде всего, целые числа образуют первичную материю математики вообще (точнее, одну из двух первичных материй; Вторая — это «фигуры», геометрия). История элементарной теории чисел поэтому столь длинна, как история всей математики, а историю современной математики можно было бы условно начинать с того времени, когда «числа» и «фигуры» прочно объединились в идее координатизации, которая по замечанию И. Р. Шафаревича лежит в основе алгебры. Далее, целые числа как универсум идеи дискретного являются также универсумом
любых логических конструкций, в том числе любых математических рассуждений, оформленных зкак таковые. Мы подчеркиваем, что математика как акт индивидуального творчества, конечно, к логике не сводится, но в коллективном сознании нашей эпохи существует в виде потенциально завершимой огромной и точной логической конструкции. Если этот образ постоянно размывается его, так сказать, нежизненностью, то и восстанавливающие его тенденции сильны; сейчас к ним добавилась компьютерная реальность с ее чрезвычайно жесткими требованиями к логической структуре математической продукции в виде программного обеспечения. Пониманием того, что свойства целых чисел суть свойства дискретного вообще и, стало быть, свойства мира математических рассуждений, в частности, мы обязаны математике двадцатого века, в первую очередь Гёделю. При желании, это донимание может быть оформлено внутри математики в виде теоремы о том, что задача доказуемости внутри любой формальной системы равносильна задаче о разрешимости в целых числах подходящего диофантова уравнения. Этот парадоксальный факт — свидетельство того, что теория чисел, будучи малой частью математического знания, в потенции все это знание содержит. Недаром Карл Фридрих Гаусс любил говорить, что математика — царица наук, а теория чисел — царица математики. Сама же написанная программа включает в себя набор из нескольких основных операций, которые могут понадобиться при решении более сложных задач, как из теории чисел, так и из других разделов математики. 1.2.Описание программы DMC.exe 1. Назначение Выполняет следующие функции: 1. Формирование подмножества натуральных чисел, объединенных общими делителями и остатком среди чисел данной размерности. 2. Факторизация числа и формирование множества его делителей и их суммы. 3. Нахождение наименьшего общего кратного (НОК) и наибольшего общего делителя (НОД) заданной совокупности чисел. 4. Нахождение рациональных решений алгебраического уравнения с целочисленными коэффицентами с использованием схемы Горнера. 5. Представление рациональной дроби в виде цепной. 6. Представление цепной дроби в виде рациональной. 1.2.Оборудование и ПО ОС Microsoft Windows 7 Ultimate, среда программирования Borland Delphi 7. Аппаратная часть: Процессор: Intel Core i7-920, Видеокарта: GeForce GTX 275 Оперативная память: Kingston 3x2Gb RAM. Математическая основа решения, алгоритмы. 1. Numerator Эта программа выполняет формирование подмножества натуральных чисел, объединённых общими делителями и остатком среди чисел данной размерности. Для этого сначала ищется наименьщее общее кратное (НОК) делителей, далее, находится 1-е число среди необходимой размерности, которое делит-5 ся на НОК с заданным остатком. Затем, к этому числу мы прибавляем НОК и получаем 2-е число и так далее, пока не дойдем до границ размерности. 2.Factorizator Эта программа выполняет факторизацию числа, то есть разложение его на простые сомножители, а также формирует множество этих сомножителей и считает их сумму. Для начала ищем простые числа, на которые делится заданное число, проверяем кол-во повторений ( то есть степень этого простого числа). Далее находим все делители числа и составляем из них множество. Вычисляем сумму делителей. 3.NOD_NOK Эта программа находит наименьшее общее кратное (НОК) и наибольший общий делитель (НОД) заданной совокупности чисел, используя алгоритм Евклида. Для этого сначала мы считаем по этому алгоритму НОД 2х чисел - находим максимальное из двух, делим на 2-е с остатком, затем делим второе на полившийся остаток и так далее, пока не остаток не станет равным 0. Остаток, предшествующий остатку, равному 0 и будет НОДом. НОК находится перемножением двух исходных чисел и деление их на НОД. Далее, мы находим НОД и НОК следующего числа с НОД и НОК предыдущей двойки. Продолжаем да тех пор, пока не найдем НОД и НОК всей совокупности. 4.Superhorner Эта программа находит рациональные решения алгебраического уравнения с целочисленными коэффицентами с использованием схемы Горнера. Для этого нужно ввести старшую степень неизвестного , коэффиценты при них и свободный член. Далее, свободный член раскладывается на рациональные сомножители, которые в свою очередь подставляются в исходное уравнение. Для упрощения этой проверки используется схема Горнера. Заключается она в том, что к коэф. при старшей степени прибавляем коэффицент старшей степени,умноженный на выбранный сомножитель, + коэффицент n-1 степени + коэффицент n-1 степени, умноженный на выбранный сомножитель и т.д. Если выполняется равенство, следовательно, этот сомножитель и является одним из корней исходного уравнения. 5.Expressor Эта программа представляет рациональную дробь в виде цепной. Для этого сначала выделяется целая часть из исходной дроби, затем остаток представляем в виде «обратной» дроби(например, было 3/5, стало 1/ (5/3)), выделяем целую часть из получившегося знаменателя и т.д., пока не останется дробь, «переворот» которой ничего не даст. Целые части и знаменатели записываются через запятую в квадратных скобках, это есть цепная дробь. 6. Antiexpressor Эта программа представляет цепную дробь в виде рациональной. Она выполняет операцию, обратную той которая используется в программе Expressor, тем самым, «собирая» рациональную дробь. 6 Интерфейс программы. 1. Основная программа 2. Numerator 3. Factorizator 4. NOD_NOK 5. Superhorner 6. Expressor 7. Antiexpressor
Тесты 1.Numerator а) Корректные 1)Разрядность: 2 Делители: 12,10 Остаток: 1 Результат: Чисел 1. 61 2) Разрядность: 3 Делители: 11, 13 Остаток: 7 Результат: Чисел 6. 150, 293, 436, 579, 722, 865 б) Некорректные 1) Разрядность: 2 Делители: 10 Остаток: 12 Сообщение об ошибке: «Остаток должен быть меньше делителя» 2)Разрядность 2 Делители: -2 Сообщение об ошибке: «Делитель должен быть больше 0» 2. Factorizator а) Корректные 1)Число 123 Результат: 123 = 3^1 * 41^1 Кол-во делителей T(123)= 4 Множество делителейD(123)= { 1, 3, 41, 123 } Сумма делителей S(123)= 168 2) Число 123 Результат: 4781 = 7^1 * 683^1 Кол-во делителей T(123)= 4 Множество делителей D(123)= { 1, 7, 683, 4781 } Сумма делителей S(123)= 5472 б) Некорректные 1) Число 0 Сообщение об ошибке: «Число должно быть больше 0» 2) Число 2000000000 Сообщение об ошибке: «Число должно быть меньше 1000000000» 3.NOD_NOK а) Корректные 1)Числа 11, 12 Результат: НОД= 1 НОК= 132 2) Числа 3, 7, 5 Результат: НОД= 1 НОК= 105 б) Некорректные 1) Числа 0, 10 Сообщение об ошибке: «Число должно быть не меньше 1» 2) Число 1, 2, 4, 6, 5, 9, 12, 13 Сообщение об ошибке: «Количество чисел должно быть меньше 6» 4.Superhorner а) Корректные 1)Степень: 4 Коэффиценты: 1, 2, -11, 4, 4 Результат: 1, 2 2) Степень: 3 Коэффиценты: 1, 17, 58, -24 Результат: -12 б) Некорректные 1) Степень: 11 Сообщение об ошибке: «Максимальная степень неизвестного не больше 10» 2) Степень: 3 Коэффиценты: 1, 17 Сообщение об ошибке: «Введите еще 2 коэффицента уравнения» 5. Expressor а) Корректные 1)Числитель: 123 Знаменатель: 456 Результат: [0, 3, 1, 2, 2, 2, 2] 2) Числитель: 17 Знаменатель: 49 Результат: [0, 2, 1, 7, 2] б) Некорректные 1) Числитель: 17 Знаменатель: 0 Сообщение об ошибке: «Знаменатель должен быть больше 0» 6. Antiexpressor а) Корректные 1)Кол-во звеньев: 7 Звенья [0, 3, 1, 2, 2, 2, 2] Результат 41/152 2) Кол-во звеньев:4 Звенья [4, 2, 1, 7] Результат 100/23 б) Некорректные 1) Кол-во звеньев:4 Звенья [4, 0, 2, 1, ] Сообщение об ошибке: «Элементы цепи должны быть больше 0»
Курсовые работы по информатикеРазработать и отладить программу на языке Pascal (Delphi), в операционной системе Windows 7 Ultimate, выполняющую следующие функции: 1. Формирование
Оценок: 397 (Средняя 5 из 5)
Одними из наиболее популярных услуг на рынке IT-технологий являются создание и продвижение лендингов. Они способны положительно влиять на деятельность любого бизнес-проекта в интернете. Судя по многочисленным отзывам, заказавшие создание лендингов люди ни разу не пожалели о потраченных деньгах. Они вложили в будущее, которое неразрывно связано с интернетом. Всё больше и больше предпринимателей обращаются к услугам разных агентств, веб-студий, чтобы заказать создание лендинга у профессионалов.