Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Некорректные данные. ⇐ ПредыдущаяСтр 2 из 2
Тест1 Цель: Проверить программу при вводе отрицательной степени уравнения (рис. 1). рис. 1 Корректные данные. Тест2 Цель: Проверить программу при вводе положительной степени уравнения (рис. 2).
рис. 2 Заключение Данную программу выполнил студент 1 курса МАИ группы 03-113Б Оруджов Орудж Муслим оглы. Программа находит целочисленные корни алгебраических уравнений одного неизвестного. Были подготовлены тесты, программа “Gorner” их корректно обрабатывает. К минусам программы можно отнести невысокую размерность чисел, которые участвуют в вычислениях, некоторые алгоритмы можно сделать более оптимальными. К плюсам можно отнести простоту в пользовании программой, её малую требовательность к ресурсам компьютера. Программа может помочь в изучении данного раздела математики. Приложение. Листинг программы program Gorner; Uses Crt; type vector= array [1..11] of integer; rvector=array [1..100] of real; var sum, suma: real; i, k, j, b, c, a, n: integer; vec: vector; vecb: rvector; veca: rvector; ff: char; BEGIN Writeln(' Московский Авиационный Институт '); Writeln(' Национальный исследовательский университет '); Writeln(' Факультет №3 '); Writeln(' Системы управления, информатика и электроэнергетика'); Writeln; Writeln('Дискретная математика'); Writeln('Выполнил: Оруджов Орудж'); WRITELN('Принял: Доцент, к.т.н. Александр Николаевич Гридин'); writeln(' Описание: программа находит корни уравнения, '); writeln(' максимальная степень которого равна 10 '); writeln; writeln('Чтобы продолжить, Нажмите Enter'); readln; writeln; repeat Writeln ('Введите степень уравнения (max = 10) '); Readln (n); if n< =0 then writeln ('степень не может быть< =0') else begin Inc (n); writeln ('введите его коэффициенты: '); for i: = 1 to n do read (vec [i]); while vec [i] =0 do Begin i: =i-1; writeln ('ответ: 0'); End; k: =1; b: =vec [i]; for j: =1 to abs (b) do begin if (b mod j) =0 then begin vecb [k]: =j; k: =k+1; vecb [k]: =-j; k: =k+1; end; end; inc (j); vecb [k]: =-j; k: =k+1; end; a: =1; for j: =1 to abs (vec [1]) do begin if (vec [1] mod j) =0 then begin veca [a]: =j; a: =a+1; { veca [a]: =-j; a: =a+1; } End; end; b: =a; for j: =1 to k-1 do Begin for a: =1 to b-1 do Begin Begin c: =i; sum: =0; for i: =1 to c do Begin sum: =sum+vec [i]*power (vecb [j] /veca [a], c-i); if (sum< 0.00001) and (sum> -0.00001) then if vec [a] =1 then writeln ('ответ: ', round (vecb [j])) else writeln ('ответ: ', round (vecb [j]), '/', round (veca [a])); end; End; End; End; writeln; writeln('1) Заново - " z" '); writeln('2) Выход - " q" '); readln(ff); writeln; writeln('----------------------------------------------'); writeln; until ff='q'; writeln; end.
|