Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 02.03.2014, 23:19   #1 (permalink)
Раджаб bro
Member
 
Регистрация: 26.02.2014
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Smile Задачка по Паскалю

Короче дали мне задачку написать bandicam-2014-03-02-22-17-08-895.jpg
Она выдает ошибку думаю детскую но не могу исправить(((



Program A1;
Type Mas=array[1..3] of real;
Const x: Mas=(-2.2,5,1);
y: Mas=(-1,0,2);
a:array[1..9] of real=(1.3,5,1,2,3.2,1,6,7,8);
Var c,d,sum1:real;


Procedure B(x,y,a:Mas);
begin
c:=x[1]*a[1];
d:=y[1]*a[1];
end;
Begin

sum1:=c+d;
Writeln('Сумма',sum1);
end.
Раджаб bro вне форума   Ответить с цитированием

Старый 02.03.2014, 23:19
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Если поискать по схожим темам, то можно найти это

Задача по Паскалю
Блок-схема к Паскалю
Задача по Паскалю на множества
Прошу помощи по Паскалю
Вопрос по Паскалю
Помогите с задачей по Паскалю

Старый 02.03.2014, 23:20   #2 (permalink)
Раджаб bro
Member
 
Регистрация: 26.02.2014
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

c:=x[1]*a[1];
d:=y[1]*a[1];

Думаю что основная моя тупость заключается здесь.
Раджаб bro вне форума   Ответить с цитированием
Старый 03.03.2014, 08:43   #3 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,863
Сказал(а) спасибо: 317
Поблагодарили 542 раз(а) в 183 сообщениях
Репутация: 101510
По умолчанию

Цитата:
Сообщение от Раджаб bro Посмотреть сообщение
Думаю что основная моя тупость заключается здесь.
Не тупость. Просто лень и полное нежелание учиться.
Прежде, чем браться за написание программы, соблаговолите постичь азы матричной алгебры, в частности, разобраться, что такое произведение матриц, как умножать вектор на матрицу и т.д. Вот, для начала ознакомьтесь.
А программа может выглядеть, например, так:
Код:
Type
 Vect=array[1..3] of real;
 Matr=Array[1..3,1..3] of real;

Const
 x:Vect=(-2.2,5,1);
 y:Vect=(-1,0,2);
 a:Matr=((1.3,5,1),(2,3.2,1),(6,7,8));

Function Prod(PV:Vect;PM:Matr):Vect;
var
 j,k:Byte;
 M:Vect;
begin
 for j:=1 to 3 do M[j]:=0;
 for j:=1 to 3 do
  for k:=1 to 3 do
   M[j]:=M[j]+PV[k]*PM[k,j];
 Prod:=M;
end;

Function Sums(V1,V2:Vect):Vect;
var
 i:Byte;
begin
 for i:=1 to 3 do Sums[i]:=V1[i]+V2[i];
end;

Var
 q:Byte;
 R:Vect;

Begin
 R:=Sums(Prod(x,a),Prod(y,a));
 for q:=1 to 3 do write(R[q]:0:3,'    ');
 Readln
End.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 17:29.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.