Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2011, 11:07   #1
ололошенько
Заблокирован
 
Регистрация: 10.08.2010
Сообщений: 566
По умолчанию 1 день на то чтоб разобраться в коде

народ,раньше учил чуть С++ а тут нада здать на завтра курсач по Числительным Методам(предмет такой),и проблема не только в том что я в этом предмете 0,а то что она проверяла,нечего не спрашивала,но задала вопросы по коду,а я делфи некогда и не видел,нечего немог сказать точно,где сама задача в коде и т.д... вот само задание
Постановка задачі.
Дана система лінійних алгебраїчних рівннянь.Необхідно дослідити її на стійкість. Знайти характеристичний многочлен методом Левур’є. Зробити відповідні висновки щодо її стійкості.
вобщем вот код гляньте плз

Код:
Текст програми.    

program leverie;
uses wincrt;
type matr=array[1..10,1..10] of real;
     mas=array[1..10] of real;
var n,i,j,k,l,g,v:integer;
    p,s:mas;
    a,b,c:matr;
    stiykist:real;
procedure mnogmatr(a,b:matr;n:integer; var c:matr);
begin
for i:=1 to n do
for j:=1 to n do
c[i,j]:=0;
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
begin
c[k,i]:= c[k,i]+a[j,i]*b[k,j];
end;
end;
begin
writeln('vvedit rozmirnict matrici n=');
readln(n);
writeln('vvedit koeficienti matrici');
for i:=1 to n do
for j:=1 to n do
begin
write('a[',i,',',j,']=');
readln(a[i,j]);
end;
for i:=1 to n do
for j:=1 to n do
 c[i,j]:=a[i,j];
for i:=1 to n do
 s[1]:=s[1]+a[i,i];
p[1]:=s[1];
for l:=2 to n do
begin
  for i:=1 to n do
  for j:=1 to n do
    b[i,j]:=c[i,j];
  mnogmatr(a,b,n,c);
  for j:=1 to n do
    s[l]:=s[l]+c[j,j];
  for k:=1 to l do
    p[l]:=p[l]-p[k]*s[l-k];
  p[l]:=(s[l]+p[l])/l;
end;
writeln('haracteristichniy mnogochlen');
g:=n; v:=0;
repeat
write(p[g]:2:3,'*l^',v,'+');
g:=g-1; v:=v+1;
until g=0;
writeln('-l^',v,'=0');
for i:=1 to n do
stiykist:=stiykist+abs(p[i]);
if stiykist>1 then writeln('sistema ne stiyka') else writeln('sistema stiyka');
end.
ололошенько вне форума Ответить с цитированием
Старый 22.06.2011, 11:57   #2
Symba
Пользователь
 
Регистрация: 02.03.2011
Сообщений: 31
По умолчанию

в чем заключается метод решения?
( я просто ни слышал о таком методе , извините)
по моему решение на этом участке, а где конкретно какие итерации происходят....вопрос
Код:
for i:=1 to n do
for j:=1 to n do
 c[i,j]:=a[i,j];
for i:=1 to n do
 s[1]:=s[1]+a[i,i];
p[1]:=s[1];
for l:=2 to n do
begin
  for i:=1 to n do
  for j:=1 to n do
    b[i,j]:=c[i,j];
  mnogmatr(a,b,n,c);
  for j:=1 to n do
    s[l]:=s[l]+c[j,j];
  for k:=1 to l do
    p[l]:=p[l]-p[k]*s[l-k];
  p[l]:=(s[l]+p[l])/l;
end;
writeln('haracteristichniy mnogochlen');
g:=n; v:=0;
repeat
write(p[g]:2:3,'*l^',v,'+');
g:=g-1; v:=v+1;
until g=0;
writeln('-l^',v,'=0');
for i:=1 to n do
stiykist:=stiykist+abs(p[i]);
if stiykist>1 then writeln('sistema ne stiyka') else writeln('sistema stiyka');
хотя вот, еще в самом начале происходят вычисления с элементами массивов,
Код:
begin
for i:=1 to n do
for j:=1 to n do
c[i,j]:=0;
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
begin
c[k,i]:= c[k,i]+a[j,i]*b[k,j];
end;
end;

Последний раз редактировалось Symba; 22.06.2011 в 12:02.
Symba вне форума Ответить с цитированием
Старый 22.06.2011, 12:22   #3
ололошенько
Заблокирован
 
Регистрация: 10.08.2010
Сообщений: 566
По умолчанию

метод решения...ну я чесно сказать сам хз,мб если скину теоритическу часть курсача,то более понятно будет,курсач зделан блин уже,но разобраться в нем немогу.Нада хотяб в коде разобр. и она поставит наверное...
Вложения
Тип файла: doc Стійкість СЛАР.DOC (156.0 Кб, 9 просмотров)

Последний раз редактировалось ололошенько; 22.06.2011 в 12:28. Причина: добавляю файл
ололошенько вне форума Ответить с цитированием
Старый 22.06.2011, 18:36   #4
ололошенько
Заблокирован
 
Регистрация: 10.08.2010
Сообщений: 566
По умолчанию

блин ну хелп плс ктото...кто в делфи шарит роскажите про каждую строку что она делает,а то я за пол суток не успею выучить делфи,а потом ещё и разобраться в етом коде...(
ололошенько вне форума Ответить с цитированием
Старый 22.06.2011, 18:40   #5
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
Сообщение от ололошенько Посмотреть сообщение
блин ну хелп плс ктото...кто в делфи шарит роскажите про каждую строку что она делает,а то я за пол суток не успею выучить делфи,а потом ещё и разобраться в етом коде...(
Какие строчки имено? Тут только кучка стандартных циклов с элементарщиной в теле.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 22.06.2011, 18:40   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Дык а что учить? Вроде ничего сложного не применяется, если С++ знаете, то легко разберетесь в синтаксисе. И это скорее Паскаль, чем Дельфи.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 22.06.2011, 19:23   #7
Symba
Пользователь
 
Регистрация: 02.03.2011
Сообщений: 31
По умолчанию

Цитата:
Сообщение от ололошенько Посмотреть сообщение
метод решения...ну я чесно сказать сам хз,мб если скину теоритическу часть курсача,то более понятно будет,курсач зделан блин уже,но разобраться в нем немогу.Нада хотяб в коде разобр. и она поставит наверное...
если я правильно перевел на русский текст, то по моему
Код:
program leverie;
uses wincrt;
type matr=array[1..10,1..10] of real;
     mas=array[1..10] of real;
var n,i,j,k,l,g,v:integer;
    p,s:mas;
    a,b,c:matr;
    stiykist:real;
procedure mnogmatr(a,b:matr;n:integer; var c:matr);
begin
for i:=1 to n do
for j:=1 to n do
c[i,j]:=0;
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
begin
c[k,i]:= c[k,i]+a[j,i]*b[k,j];
end;
end;
begin
writeln('vvedit rozmirnict matrici n=');
readln(n);
writeln('vvedit koeficienti matrici');
for i:=1 to n do
for j:=1 to n do
begin
write('a[',i,',',j,']=');
readln(a[i,j]); // задается матрица А (5)
end;
for i:=1 to n do
for j:=1 to n do
 c[i,j]:=a[i,j];
for i:=1 to n do
 s[1]:=s[1]+a[i,i]; // это формула (7) из работы
p[1]:=s[1]; // по формуле (8)
for l:=2 to n do
begin
  for i:=1 to n do
  for j:=1 to n do
    b[i,j]:=c[i,j];
  mnogmatr(a,b,n,c);
  for j:=1 to n do
    s[l]:=s[l]+c[j,j];
  for k:=1 to l do
    p[l]:=p[l]-p[k]*s[l-k];                       // вычисляется коэффициент p с индексом k
  p[l]:=(s[l]+p[l])/l;                             //
end;
writeln('haracteristichniy mnogochlen');           //
g:=n; v:=0;                                       //
repeat                                              // выводиться характеристический многочлен
write(p[g]:2:3,'*l^',v,'+');                     //
g:=g-1; v:=v+1;
until g=0;
writeln('-l^',v,'=0');                            // 
for i:=1 to n do
stiykist:=stiykist+abs(p[i]);
if stiykist>1 then writeln('sistema ne stiyka') else writeln('sistema stiyka');
end.

это все что я смог разобрать =(
Symba вне форума Ответить с цитированием
Старый 22.06.2011, 20:51   #8
ололошенько
Заблокирован
 
Регистрация: 10.08.2010
Сообщений: 566
По умолчанию

да,нерассмотрел както,на паскаль чуть похоже вроде,сказали одногрупники что делфи это...вот немогу щас понять что делает строка

Код:
for j:=1 to n do
вот эта например
ололошенько вне форума Ответить с цитированием
Старый 22.06.2011, 20:56   #9
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
Сообщение от ололошенько Посмотреть сообщение
да,нерассмотрел както,на паскаль чуть похоже вроде,сказали одногрупники что делфи это...вот немогу щас понять что делает строка

Код:
for j:=1 to n do
вот эта например
Вообще странно учитывая что:
- Регистрация: 10.08.2010
- Сообщений: 142
- Репутация: 20
- раньше учил чуть С++

На форуме пол года сидишь и не знаешь про цикл for?
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 22.06.2011, 21:02   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
for j:=1 to n do
Код:
for(j=1;j<=n;j++)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разобраться в коде(Java) artem611 Помощь студентам 0 23.05.2011 11:04
Напишите коменты чтоб разобраться genya-yatsun Общие вопросы C/C++ 1 28.12.2010 03:17
как указать в коде пути к файлу1 и файлу2, чтоб не вводить их при запуске из консоли? bloood Общие вопросы C/C++ 4 23.10.2007 20:02