Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Турбо Паскаль. Программирование на Pascal
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ]
Модераторы: paradise, KMA
  

KMA



Долгожитель

Kotenok 17, давай по порядку. Я тебе буду помогать постепенно, поэтому, буду предельно внимателен.

Давай объявим тип:
Type matrix= array [1..3, 1..3] of integer;

Теперь объявлю пока три переменные (массивы)
Var a, b, c: matrix;

Пока хватит. Поиск минимального элемента осуществим в виде функции.

function foundMinInMatrix (x: matrix;
                                          n: byte; {количество элементов}
                                           ): integer;
Var i, j: byte; {счетчики}
     buf: integer;
Begin
       buf:=x[1, 1];
       for i:=1 to n do
        for j:=1 to n do
          if x[i, j]< buf
             then buf:=x[i,j];
       foundMinInMatrix:=buf;
End;

Все, функция готова.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 18 дек. 2006 23:54 | IP
KMA



Долгожитель

Kotenok 17, я все понимаю, но ты по моему слишком много флудишь =)

в самой программе, определяешь свои элементы.

px:=sqrt (foundMinInMatrix (a, 2));
dx:=foundMinInMatrix (b, 2);
cl:=foundMinInMatrix (c, 3)

Вот теперь у тебя есть все что надо для решения этого уравнения.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 18 дек. 2006 23:57 | IP
amigo


Начинающий

вот решение твоей  задачи:
Program  work;
Uses crt;
Type matr1=array[1..2,1..2] of real;
       matr2=array[1..3,1..3] of real;
VAR

A,B:matr1;
C:matr2;
p,d,c1,diskr,x1,x2:real;
n:integer;
function min( A:matr1; B:matr2;q:integer):real;
Var
i,j:byte;
m:real;
Begin
if q=2 then begin
m:=A[1,1];
for i:=1 to 2 do begin
for j:=1 to 2 do begin

if A[i,j]<m then m:=A[i,j];
end;
end;
end;

if q=3 then begin
m:=B[1,1];
for i:=1 to 3 do begin
for j:=1 to 3 do begin
if B[i,j]<m then m:=B[i,j];


end;
end;
end;



min:=m;
end;

BEGIN
clrscr;
p:=min(A,C,2);
d:=min(B,C,2);
c1:=min(A,C,3);

diskr:=d*d-4*p*c1;
if d<0 then begin writeln('Решений нет');goto 1;end;


x1:=(-d+sqrt(diskr))/(2*p);
x2:=(-d-sqrt(diskr))/(2*p);
writeln('X1=',x1);
writeln('X2=',x2);
1:
readln;
END.


P.s.
Ещё не проверял, но вроде должна запуститься.


Всего сообщений: 54 | Присоединился: март 2006 | Отправлено: 18 дек. 2006 23:58 | IP
amigo


Начинающий

кое что нужно исправить конечно.
Метки завести и d в одном месте на diskr заменить.


Всего сообщений: 54 | Присоединился: март 2006 | Отправлено: 19 дек. 2006 0:03 | IP
KMA



Долгожитель

amigo, у тебя функция поиска минимального элемента далеко не идеальна. Сам смотри, дав массива заводишь, плюс эти значения. Не знаю, вроде моя как-то компактнее получилась =)

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 19 дек. 2006 0:07 | IP
Kotenok 17


Удален

ребята дело еще в том что мы совсем не проходили оператор buf - что он означает и что дает?

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 19 дек. 2006 0:15 | IP
KMA



Долгожитель

buf это типа моя фишка, переменная обменник =) Это никакой не оператор, просто сокращенно от слова буфер, что значит, временная... Это простая переменная, хочешь, замени ее на m. А вообще можно было бы догадаться, поскольку она объявлена в переменных. =)

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 19 дек. 2006 0:17 | IP
amigo


Начинающий


Цитата: KMA написал 19 дек. 2006 0:07
amigo, у тебя функция поиска минимального элемента далеко не идеальна. Сам смотри, дав массива заводишь, плюс эти значения. Не знаю, вроде моя как-то компактнее получилась =)


Разумеется. Но я и не думал не об какой оптимизации.
И пока набирал своё решение, не заметил как ты уже дал ответ.  Хотел помочь просто девушки, раз уж она старается что то понять...


(Сообщение отредактировал amigo 19 дек. 2006 0:24)

Всего сообщений: 54 | Присоединился: март 2006 | Отправлено: 19 дек. 2006 0:23 | IP
Kotenok 17


Удален


Цитата: amigo написал 18 дек. 2006 23:58
вот
if d<0 then begin writeln('Решений нет');goto 1;end;

что означает goto 1 и почему мы рассматриваем только случай когда решений нет?

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 19 дек. 2006 0:23 | IP
Kotenok 17


Удален

спасибо вам огромное за понятные пояснения и помощь...не представляю что бы я без вас делала!!!вы просто умнички!

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 19 дек. 2006 0:29 | IP

Эта тема закрыта, новые ответы не принимаются

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ]

Форум работает на скрипте © Ikonboard.com