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

Есть код, нужно переделать через Function

25.11.2014, 14:05. Показов 541. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание: Даны 4 числа - X, Y, Z, T - длины сторон четырёхугольника. Найти площадь данного четырёхугольника, если угол между X и Y - прямой.
Я написала код:
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
program ploshad;
 
{$APPTYPE CONSOLE}
 
uses
SysUtils;
var x,y,z,t:integer;
S1,S2,S,a,b:double;
 
begin
writeln ('vvod x ');
readln(x);
if x<=0 then write ('error');
writeln ('vvod y ');
readln(y);
if y<=0 then write ('error');
writeln ('vvod z ');
readln(z);
if z<=0 then write ('error');
writeln ('vvod t ');
readln(t);
if t<=0 then write ('error');
 
a:=(sqrt((x*x)+(y*y)));
b:=((a+t+z)/2);
S1:=(x*y)/2;
S2:=sqrt(b*(b-a)*(b-t)*(b-z)); \\через формулу Герона
S:=S1+S2;
writeln ('S=', S:2:2);
readln;
end.
оказалось, нужно оформить в виде подпрограммы, что есть через function.
помогите, пожалуйста, я не знаю, как это сделать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2014, 14:05
Ответы с готовыми решениями:

Есть такой код.Нужно переделать в код с функцией. Благодарю
program lab9(input,output); var s:string; len:integer; begin write('vvedit text:');...

Нужно переделать код через циклы while/do while
Господа, помогите допилить код, а то я не много не пойму как его нужно через while/do while...

Есть код программы с динамическими массивами, но нужно переделать его под локальные.
Добрый вечер, нужна помощь! Есть код программы с динамическими массивами, но нужно переделать его...

Как переделать код?. Нужно сделать через функции пользователя
#include &lt;string.h&gt; #include &lt;iostream&gt; #include &lt;algorithm&gt; using namespace std; int...

2
2509 / 1130 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
25.11.2014, 15:42 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
function SquareFour(x, y, z, t: integer): double;
var
  S1, S2, a, b: double;
begin
  a := (sqrt((x * x) + (y * y)));
  b := ((a + t + z) / 2);
  S1 := (x * y) / 2;
  S2 := sqrt(b * (b - a) * (b - t) * (b - z)); //через формулу Герона
  SquareFour := S1 + S2;
end;
 
var
  x, y, z, t: integer;
 
begin
  writeln('vvod x ');
  readln(x);
  if x <= 0 then write('error');
  writeln('vvod y ');
  readln(y);
  if y <= 0 then write('error');
  writeln('vvod z ');
  readln(z);
  if z <= 0 then write('error');
  writeln('vvod t ');
  readln(t);
  if t <= 0 then write('error');
 
  writeln('S=', SquareFour(x, y, x, t): 2: 2);
  readln;
end.
Добавлено через 1 минуту
я бы длины сторон тоже сделал вещественными числами, ведь нигде не сказано, что они целочисленные!
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32830 / 21168 / 8147
Регистрация: 22.10.2011
Сообщений: 36,429
Записей в блоге: 8
25.11.2014, 15:45 3
Sergio Leone, у тебя опечатка, x дважды передается в функцию. Но можно пойти еще дальше:
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
function get(s : string) : integer;
var value : integer;
begin
  writeln('vvod ', s);
  readln(value);
  if value <= 0 then write('error');
  get := value;
end;
 
function SquareFour(x, y, z, t: integer): double;
var
  S1, S2, a, b: double;
begin
  a := (sqrt((x * x) + (y * y)));
  b := ((a + t + z) / 2);
  S1 := (x * y) / 2;
  S2 := sqrt(b * (b - a) * (b - t) * (b - z));
  SquareFour := S1 + S2;
end;
 
begin
  writeln('S=', SquareFour(get('x'), get('y'), get('z'), get('t')): 2: 2);
  readln;
end.
2
25.11.2014, 15:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2014, 15:45
Помогаю со студенческими работами здесь

Есть код математической программы "Поиск корней биквадратного уравнения" ,нужно переделать на кубическое
Вот код в С#,переделайте плиз под кубическое уравнение. using System; using...

Как переделать код из Function () в Sub() с использованием Input и Msg Box?
Как перевести код из Function () в Sub() с использованием Input и Msg Box? Function...

Код написан в Dev C. Не работает в Visual. Как нужно переделать код?
Здравствуйте. Столкнулась с такой проблемой: код был написан в Dev C, но в Visual он выдаёт...

Переделать исходный код. Код в Паскале,а нужно сделать его в Фортране
{$S+,R+} program arab_to_roman; uses crt; var n : word; ch : char; procedure...


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

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

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