0 / 0 / 0
Регистрация: 09.03.2016
Сообщений: 6
1

Переписать текст программы, что бы решалось через процедуры

04.05.2016, 14:04. Показов 630. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
var 
 dlins: array [1..6] of real;//массив для поиска максимального значения длины 
 x1,x2,y1,y2,z1,z2,p1,p2: real;//координаты точек 
 max_vrem: real;//временная вещественная 
 i,j:integer;//временные целые 
 
 
function dlina_func(d1,d2,d3,d4: real): real;//функция для расчета расстояний между точками 
begin 
 dlina_func := sqrt(sqr(d1-d3)+sqr(d2-d4)); 
end; 
 
begin 
 write('Введите через пробел координаты первой точки x1 и x2: ');readln(x1,x2);//ввод координат точки X 
 write('Введите через пробел координаты второй точки y1 и y2: ');readln(y1,y2);//ввод координат точки Y 
 write('Введите через пробел координаты третьей точки z1 и z2: ');readln(z1,z2);//ввод координат точки Z 
 write('Введите через пробел координаты четвертой точки p1 и p2: ');readln(p1,p2);//ввод координат точки P 
 
 dlins[1]:= dlina_func(x1,x2,y1,y2);//определить расстояние между точками X и Y (с записью в массив) 
 dlins[2]:= dlina_func(x1,x2,z1,z2);//определить расстояние между точками X и Z ... 
 dlins[3]:= dlina_func(x1,x2,p1,p2);//определить расстояние между точками X и P ... 
 dlins[4]:= dlina_func(y1,y2,z1,z2);//определить расстояние между точками Y и Z ... 
 dlins[5]:= dlina_func(y1,y2,p1,p2);//определить расстояние между точками Y и P ... 
 dlins[6]:= dlina_func(z1,z2,p1,p2);//определить расстояние между точками Z и P ... 
 
 max_vrem := dlins[1]; j := 1;//для номера максимального и его значения 
 
 for i := 2 to 6 do//поиск максимального элемента и его номера в массиве 
 if (max_vrem < dlins[i]) then 
 begin 
 max_vrem := dlins[i]; 
 j := i; 
 end;//если максимальных несколько (совпадают) выводим первое 
 
case j of//в зависимости от номера максимального в массиве выводим различное содержимое 
 1: writeln('На максимальном расстоянии друг от друга находятся точки X и Y. Это расстояние равно: ',dlins[1]); 
 2: writeln('На максимальном расстоянии друг от друга находятся точки X и Z. Это расстояние равно: ',dlins[2]); 
 3: writeln('На максимальном расстоянии друг от друга находятся точки X и P. Это расстояние равно: ',dlins[3]); 
 4: writeln('На максимальном расстоянии друг от друга находятся точки Y и Z. Это расстояние равно: ',dlins[4]); 
 5: writeln('На максимальном расстоянии друг от друга находятся точки Y и P. Это расстояние равно: ',dlins[5]); 
 6: writeln('На максимальном расстоянии друг от друга находятся точки Z и P. Это расстояние равно: ',dlins[6]); 
end; 
 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2016, 14:04
Ответы с готовыми решениями:

Переписать программу через процедуры
program pr2; var d1,d2,m1,m2:integer; T:boolean; begin writeln('Vvedite daty 1'); read(d1,m1)...

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

Работа с процедурами. Переписать программу, чтобы она работала через процедуры
Всем привет. Передо мной стоит задача написать программу используя процедуры и нет. Без процедур:...

Нужно переписать программу по разложению в ряд Фурье через процедуры , т.е. заменить все функции процедурами
module CVal real,parameter::T=1.,pi=3.1415926 integer,parameter::m=1 real,dimension(m)::a,b...

2
Хитрая блондиночка $)
1471 / 986 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
04.05.2016, 14:07 2
С коленки
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
...
Procedure dlina(d1,d2,d3,d4: real;var result);//функция для расчета расстояний между точками 
begin 
result := sqrt(sqr(d1-d3)+sqr(d2-d4)); 
end; 
 
begin 
write('Введите через пробел координаты первой точки x1 и x2: ');readln(x1,x2);//ввод координат точки X 
write('Введите через пробел координаты второй точки y1 и y2: ');readln(y1,y2);//ввод координат точки Y 
write('Введите через пробел координаты третьей точки z1 и z2: ');readln(z1,z2);//ввод координат точки Z 
write('Введите через пробел координаты четвертой точки p1 и p2: ');readln(p1,p2);//ввод координат точки P 
 
dlina(x1,x2,y1,y2,dlins[1]);//определить расстояние между точками X и Y (с записью в массив) 
dlina(x1,x2,z1,z2,dlins[2]);//определить расстояние между точками X и Z ... 
dlina(x1,x2,p1,p2,dlins[3]);//определить расстояние между точками X и P ... 
dlina(y1,y2,z1,z2,dlins[4]);//определить расстояние между точками Y и Z ... 
dlina(y1,y2,p1,p2,dlins[5]);//определить расстояние между точками Y и P ... 
dlina(z1,z2,p1,p2,dlins[6]);//определить расстояние между точками Z и P ...
...
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7648 / 4488 / 2809
Регистрация: 22.11.2013
Сообщений: 12,827
Записей в блоге: 1
04.05.2016, 15:49 3
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
function dlina(x1,y1,x2,y2: Real): Real;
begin 
  dlina:=SqRt(Sqr(x1-x2)+Sqr(y1-y2)); 
end;
const
  n=4; Pnt: String[n] = 'XYZP'; eps=1e-5;
var
  x, y: array [1..n] of Real;
  d: array [1..n*(n-1) div 2] of Real;
  m: Real;
  i, j, k: Integer;
begin
  for i:=1 to n do begin
    Write('Координаты точки ',Pnt[i],': '); ReadLn(x[i],y[i]);
  end;
  k:=0;
  for i:=1 to n do for j:=i+1 to n do begin
    Inc(k); d[k]:=dlina(x[i],y[i],x[j],y[j]);
  end;
  m:=d[1]; for i:=2 to k do if m<d[i] then m:=d[i];
  WriteLn('Максимальное расстояние между точками: ');
  k:=0;
  for i:=1 to n do for j:=i+1 to n do begin
    Inc(k); if Abs(m-d[k])<eps then WriteLn(Pnt[i],' и ',Pnt[j],' = ',d[k]);
  end;
end.
Добавлено через 44 минуты
Для FPC имеет смысл при сравнении на равенство использовать:
Pascal
1
2
3
uses Math;
...
  if SameValue(m,d[k]) then ...
0
04.05.2016, 15:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2016, 15:49
Помогаю со студенческими работами здесь

Переписать текст программы в новый файл с минимальным количеством пробелов
Задача: Текст программы на Паскале хранится в файле на диске. Составить программу обработки текста...

Написание программы через процедуры и функции
Написал такие программы, но требуют, что бы они были прописаны через процедуры и функции с...

Нужно изменить написание программы через процедуры и функции
uses crt; const n=5;m=6; var a:array of integer; b:array of integer; var...

Текст программы через асю
Друг попросил помочь с задачей, текст кинул через Аську... Она его скомпилировала по своему...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru