Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Некорректные данные.






Тест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.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.