Общая характеристика основ дисциплины "Теория чисел". Интерфейс, листинг и оценка положительных и отрицательных качеств программы-калькулятора CalcKurs, а также описание ее основных процедур – DelOstatok, Factor, NodNok, SuperGorner, Express и AntiExp.
При низкой оригинальности работы "Проект разработки программы-калькулятора CalcKurs на языке программирования Pascal", Вы можете повысить уникальность этой работы до 80-100%
Данная наука изучает натуральные числа и некоторые сходные с ними объекты, рассматривает различные свойства (делимость, разложимость, взаимосвязи и так далее), алгоритмы поиска чисел, а также определяет ряд достаточно интересных наборов натуральных чисел. Так, к примеру, в рамках теории чисел рассматриваются вопросы делимости целых чисел друг на друга, алгоритм Евклида для поиска наибольшего общего делителя, поиск наименьшего общего кратного, малая и большая теоремы Ферма. В качестве самых известных рядов натуральных чисел можно привести ряд Фибоначчи , простые числа, совершенные и дружественные числа, степени и суперстепени натуральных чисел.[1] Тем не менее теория чисел оказала большое влияние на математическую науку, поскольку некоторые разделы математики (в том числе и такие, которые впоследствии нашли применение в физике) были первоначально созданы для решения особенно сложных проблем теории чисел.[2]Ищется общий делитель совокупности делителей (общий делитель ищется с помощью нахождения наименьшего общего кратного делителей). На заданном множестве (колво цифр в числах) ищем первый элемент, который будет удовлетворять заданному условию (делится на НОК с остатком), запоминаем элемент и прерываем цикл. Формируем подмножество с помощью прибавления к первому элементу делителя, суммируем количество элементов, пока элементы не станут больше заданной размерности.Данная процедура выполняет факторизацию (разложение на простые множители) числа с опциями. Ищем для данного числа простой множитель с помощью решета Эратосфена[3] (Для нахождения всех простых чисел не больше заданного числа n, следуя методу Эратосфена, нужно выполнить следующие шаги: Выписать подряд все целые числа от двух до n (2, 3, 4, …, n). Вычеркнуть из списка все числа от 2p до n, делящиеся на p (то есть, числа 2p, 3p, 4p, …) Все не вычеркнутые числа в списке - простые числа.) и делим заданное число на данный множитель, потом ищем следующий простой множитель(если он повторяется, то возводим его в степень), и так до тех пор, пока число не станет равным единице. Для нахождения НОК первых двух чисел используем следующий алгоритм: разлагаем данные числа на простые множители и к одному из таких разложений приписываем множители недостающие у него против разложений остальных данных чисел[5], и аналогично нахождению НОД «цепляем» следующее число.Разработана программа CALCKURS, выполняющая следующие функции: 1.формирование заданного подмножества натурального ряда с помощью общего делителя; 3.нахождение НОД и НОК для заданной совокупности натурального ряда; К плюсам можно отнести простоту в пользовании программой, ее малую требовательность к ресурсам компьютера, программа исполняет основополагающие алгоритмы теории чисел.Листинг программы program kurs; uses crt; function pow(a,x:longint):longint; var t,i:longint; begin t:=a; for i:=1 to x-1 do t:=t*a; pow:=t; end; {pow} {----------------------------------------} procedure DELOSTATOK; var dd:array [1..200] of integer; R:integer; {размерность чисел} i:longint; {делитель} k:longint; {остаток} D,a,b:longint; {элементы заданного множества} SUM:longint; {колво эл-ов, удовл условию} S,T:byte; q:char; e,j,l,n:integer; maxa,minj,maxj:longint; begin repeat begin writeln("введите ко-во чисел для нахождения НОК делителей"); readln(n); writeln("введите ",n," чисел: "); readln(dd[1]); maxa:=dd[1]; for i:=2 to n do begin readln(dd[i]); if dd[i]>maxa then maxa:=dd[i]; end; i:=1;while (dd[i]0) and (in 1 then writeln("НОК не сущ-ет") else begin e:=1; for i:=2 to maxa do begin maxj:=0; for l:=1 to n do begin j:=0; while (dd[l] mod i=0) do begin dd[l]:=dd[l] div i; inc(j); end; if (j>maxj) then maxj:=j; end; if (maxj0) then for l:=1 to maxj do e:=e*i; end; writeln("НОК делителей=",e); end; end; i:=e; write ("введите остаток="); readln(k); if ((i0"); readln; exit; end else {вывод мн-ва делителей} begin write("мн-во делителей: D(num)="); for H:= 1 to c do if c mod H=0 then write(H," "); end; {конец вывода делителей} n:= 1; n1:= 0; while c 1 do begin i:= 2; while c mod i 0 do {проверка на делимостьс/без остатка} Inc(i); Inc(n1); if n1 = 1 then begin numb[n]:= i; powers[n]:= 1; end else if numb[n] = i then Inc(powers[n]) else begin Inc(n); {увеличение колва простых множителей} numb[n]:= i; powers[n]:= 1; end; {while} c:= c div i; {деление числа на простой множитель} end; {while} {\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\} writeln; writeln("колво простых множителей: ",n); write("num = "); k:=1; t:=1; writeln("НОД=",k); if k=1 then writeln("числа взаимно простые"); end; begin i:=1;while (b[i]0) and (in 1 then writeln("НОК не сущ-ет") else begin d:=1; for i:=2 to maxa do begin maxj:=0; for l:=1 to n do begin j:=0; while (b[l] mod i=0) do begin b[l]:=b[l] div i; inc(j); end; if (j>maxj) then maxj:=j; end; if (maxj0) then for l:=1 to maxj do d:=d*i; end; writeln("НОК=",d); end; end; end;
План
Оглавление
Задание
Оглавление
Введение
1. Интерфейс программы
2. Описание процедур
2.1 DELOSTATOK
2.2 Factor
2.3 NODNOK
2.4 SUPERGORNER
2.5 Express
2.6 ANTIEXP
Заключение
Список использованных источников
Приложение
Введение
Теория чисел - это одно из направлений математики, которое иногда называют «высшей арифметикой». Данная наука изучает натуральные числа и некоторые сходные с ними объекты, рассматривает различные свойства (делимость, разложимость, взаимосвязи и так далее), алгоритмы поиска чисел, а также определяет ряд достаточно интересных наборов натуральных чисел.
Так, к примеру, в рамках теории чисел рассматриваются вопросы делимости целых чисел друг на друга, алгоритм Евклида для поиска наибольшего общего делителя, поиск наименьшего общего кратного, малая и большая теоремы Ферма. В качестве самых известных рядов натуральных чисел можно привести ряд Фибоначчи , простые числа, совершенные и дружественные числа, степени и суперстепени натуральных чисел.[1]
Вне самой математики теория чисел имеет довольно мало приложений, и развивалась она не ради решения прикладных задач, а как искусство ради искусства, обладающее своей внутренней красотой, тонкостью и трудностью. Тем не менее теория чисел оказала большое влияние на математическую науку, поскольку некоторые разделы математики (в том числе и такие, которые впоследствии нашли применение в физике) были первоначально созданы для решения особенно сложных проблем теории чисел.[2]
Разработанная программа включает в себя набор из нескольких основных операций, которые могут понадобиться при решении более сложных задач.
Назначение программы CALCKURS.
Программа CALCKURS выполняет следующие функции: 1.формирование заданного подмножества натурального ряда с помощью общего делителя;
2.факторизация числа с опциями;
3.нахождение НОД и НОК для заданной совокупности натурального ряда;
4.нахождение рациональных решений уравнения с целочисленными коэффициентами;
5.представление рациональной дроби в виде цепной;
6.представление цепной дроби в виде рациональной.
Вывод
Разработана программа CALCKURS, выполняющая следующие функции: 1.формирование заданного подмножества натурального ряда с помощью общего делителя;
2.факторизация числа с опциями;
3.нахождение НОД и НОК для заданной совокупности натурального ряда;
4.нахождение рациональных решений уравнения с целочисленными коэффициентами;
5.представление рациональной дроби в виде цепной;
6.представление цепной дроби в виде рациональной.
К минусам программы можно отнести невысокую размерность чисел, которые участвуют в вычислениях (-2147483648..2147483647), некоторые алгоритмы можно сделать более оптимальными.
К плюсам можно отнести простоту в пользовании программой, ее малую требовательность к ресурсам компьютера, программа исполняет основополагающие алгоритмы теории чисел. Она может помочь в изучении данного раздела математики.