Воскресенье, 19.05.2024, 16:06
Главная Регистрация RSS
Приветствую Вас, Заглянувший
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Независимый IT Форум » Программирование » Помощь в решении задач (Pascal/С/С++) » Нужно немного изменить программу(Паскаль)
Нужно немного изменить программу(Паскаль)
gunjubasДата: Воскресенье, 11.12.2011, 14:37 | Сообщение # 1
Сообщений: 5
Репутация: 0
Статус: Offline
Условие: Заданы 2 вектора x = {x1; x2; x3}; y = {y1; y2; y3; y4; y5}; Логической переменной а присвоить значение TRUE, длина вектора х больше длины вектора у, и значение FALSE в противном случае. Вычисление длины вектора оформить в виде процедуры. Исходные данные: x = (-1. 2; 3; 5); y = (1; 2. 1; 6;-2; 3).

Вот программа:

program vektor;

type
mas = array[1..10] of real;

var
x, y: mas;
c, b: real;
a: boolean;

procedure dl(n: integer; z: mas; var d: real);
var
i: integer;
s: real;
begin
s := 0;
for i := 1 to n do s := s + sqr(z);
d := s;
end;

begin
x[1] := -1.2; x[2] := 3; x[3] := 5;
y[1] := 1; y[2] := 2.1; y[3] := 6; y[4] := -2; y[5] := 3;
dl(3, x, c);{c-длина вектора x}
dl(5, y, b);{b-длина вектора y}
a := c > b;
writeln('длина вектора x=',c, ' ','длина вектора y=', b);
write('Результат - ', a);
readln;
end.

нужно сделать чтобы данные брались из файла, а не через оператор присваивания

"данные берутся — из файла, чье имя должно быть
в числе фактических параметров процедуры ввода".
Страна: Российская Федерация Российская Федерация
FreemanДата: Вторник, 13.12.2011, 20:42 | Сообщение # 2
Сообщений: 43
Репутация: 104
Статус: Offline
Попробуй вот так:
Quote (gunjubas)
Вычисление длины вектора оформить в виде процедуры.

Code
procedure Dlina(x1, x2, x3: real): real;
begin
Dlina:= sqrt(sqr(x1) + sqr(x2) + sqr(x3));
end;


Тело программы:
Code
var
a: boolean; // логическая переменная.
x1, x2, x3, y1, y2, y3, // координаты векторов.
s1, s2: real; // длины векторов.
   
begin
readln(x1, x2, x3); // ввели координаты первого вектора.
readln(y1, y2, y3); // ввели координаты второго вектора.
s1:= Dlina(x1, x2, x3);
s2:= Dlina(y1, y2, y3); // посчитали координаты векторов.
if s1 > s2 then
a:= True
else
a:= False;
readln;


Страна: Беларусь Беларусь
Независимый IT Форум » Программирование » Помощь в решении задач (Pascal/С/С++) » Нужно немного изменить программу(Паскаль)
  • Страница 1 из 1
  • 1
Поиск: