Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 18.09.2019
Сообщений: 5
1

Pascal N-IDE, оператор function, ошибка "слишком мало или слишком много аргументов передаются функции arccos"

18.09.2019, 11:19. Показов 4795. Ответов 1

Author24 — интернет-сервис помощи студентам
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
program gg;
uses crt;
var x1,x2,x3,x4,y1,y2,y3,y4: integer;
a,b,c,d,n,k,l,m:real;
L1,L2,L3,L4:real;
L1_x,L1_y,L2_x,L2_y,L3_x,L3_y,L4_x,L4_y:real;
function arccos(n,k,l,m:real):real;
begin
writeln('Координаты точек задаются последовательно, против часовой стрелки.');
writeln('Первая точка - левая вехрняя, вторая - левая нижняя, третья - правая нижняя,');
writeln('четвертая - правая верхняя'); 
write('x1 ='); 
readln(x1);
write('y1 ='); 
readln(y1);
write('x2 =');
readln(x2);
write('y2 ='); 
readln(y2);
write('x3 ='); 
readln(x3);
write('y3 ='); 
readln(y3);
write('x4 ='); 
readln(x4);
write('y4 ='); 
readln(y4);
 
L1_x:=x2-x1;
L1_y:=y2-y1;
L2_x:=x3-x2;
L2_y:=y3-y2;
L3_x:=x4-x3;
L3_y:=y4-y3;
L4_x:=x1-x4;
L4_y:=y1-y4;
 
L1:=sqrt(sqr(x2-x1)+sqr(y2-y1));
L2:=sqrt(sqr(x3-x2)+sqr(y3-y2));
L3:=sqrt(sqr(x4-x3)+sqr(y4-y3));
L4:=sqrt(sqr(x1-x4)+sqr(y1-y4));
n:=((abs(L1_x*L2_x+L1_y*L2_y))/L1*L2);
a:=arccos(n);
k:=((abs(L2_x*L2_x+L3_y*L3_y))/L2*L3);
b:=arccos(k);
m:=((abs(L3_x*L3_x+L4_y*L4_y))/L3*L4);
c:=arccos(m);
l:=((abs(L4_x*L1_x+L4_y*L1_y))/L4*L1);
d:=arccos(l);
end;
begin
if (a=pi/2) and (c=pi/2) and (L1=L2) 
then writeln('Это квадрат')
else 
 
  if (a=pi/2) and (c=pi/2) and (L1<>L2) 
  then writeln('Это прямоугольник')
  else
      
      if (a<>pi/2) and (c<>pi/2) and (a=c) and (b=d) and (L1=L3) and (L2=L4) and (L1<>L2) and (L3<>L4)
      then writeln('Это параллелограмм')
      else
       
          if (a<>pi/2) and (c<>pi/2) and (a=c) and (b=d) and (L1=L2) and (L2=L3) and (L3=L4) and (L4=L1)
          then writeln('Это ромб')
          else 
 
               if  ((a+d=pi) and (b+c=pi)) or ((a+b=pi) and (c+d=pi))
               then writeln('Это трапеция')
               else writeln('Это четырехугольник');
readln;
end.
Ошибка компиляции. Слишком мало/много аргументов передаются функции arccos. Как исправить?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2019, 11:19
Ответы с готовыми решениями:

Ошибка слишком мало аргументов в вызове функции
Здравствуйте помогите разобраться, компилятор выдает что в строке 140 407 и 418 слишком мало...

Ошибка. Слишком мало аргументов в вызове функции
Помогите, пожалуйста, найти ошибку в строке 20 слишком мало аргументов в вызове функции ...

слишком много аргументов в вызове функции или как создать много файлов на рабочем столе
Мне нужно создать на рабочем столе очень много файлов вот команда для создания 1 файла wchar_t...

Слишком мало аргументов в функции
Привет Не могу понять каких &quot;аргументов&quot; не хватает? Выдает ошибку что в 23 строке - too few...

Слишком мало аргументов в вызове функции
Всем привет, помогите найти ошибку в строке 66 #include &lt;iostream&gt; using namespace std; ...

1
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
18.09.2019, 12:01 2
Лучший ответ Сообщение было отмечено ShakalSTL как решение

Решение

Если у Вас простой АВС где нет функции arccos, то ее нужно написать так

Pascal
1
2
3
4
5
6
function acos(x:real):real;
begin
if x=0 then acos:=pi/2
else if (x>0)and(x<=1) then acos:=arctan(sqrt(1-x*x)/x)
else if(x>=-1)and(x<0) then acos:=pi+arctan(sqrt(1-x*x)/x);
end;
Добавлено через 18 минут
Напишите так.

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
program gg;
uses crt;
function acos(x:real):real;
begin
if x=0 then acos:=pi/2
else if (x>0)and(x<=1) then acos:=arctan(sqrt(1-x*x)/x)
else if(x>=-1)and(x<0) then acos:=pi+arctan(sqrt(1-x*x)/x);
end;
var x1,x2,x3,x4,y1,y2,y3,y4: integer;
a,b,c,d,n,k,l,m:real;
L1,L2,L3,L4:real;
L1_x,L1_y,L2_x,L2_y,L3_x,L3_y,L4_x,L4_y:real;
begin
writeln('Координаты точек задаются последовательно, против часовой стрелки.');
writeln('Первая точка - левая вехрняя, вторая - левая нижняя, третья - правая нижняя,');
writeln('четвертая - правая верхняя');
write('x1 =');
readln(x1);
write('y1 =');
readln(y1);
write('x2 =');
readln(x2);
write('y2 =');
readln(y2);
write('x3 =');
readln(x3);
write('y3 =');
readln(y3);
write('x4 =');
readln(x4);
write('y4 =');
readln(y4);
L1_x:=x2-x1;
L1_y:=y2-y1;
L2_x:=x3-x2;
L2_y:=y3-y2;
L3_x:=x4-x3;
L3_y:=y4-y3;
L4_x:=x1-x4;
L4_y:=y1-y4;
 
L1:=sqrt(sqr(x2-x1)+sqr(y2-y1));
L2:=sqrt(sqr(x3-x2)+sqr(y3-y2));
L3:=sqrt(sqr(x4-x3)+sqr(y4-y3));
L4:=sqrt(sqr(x1-x4)+sqr(y1-y4));
n:=((abs(L1_x*L2_x+L1_y*L2_y))/L1*L2);
a:=acos(n);
k:=((abs(L2_x*L2_x+L3_y*L3_y))/L2*L3);
b:=acos(k);
m:=((abs(L3_x*L3_x+L4_y*L4_y))/L3*L4);
c:=acos(m);
l:=((abs(L4_x*L1_x+L4_y*L1_y))/L4*L1);
d:=acos(l);
 
if (a=pi/2) and (c=pi/2) and (L1=L2)
then writeln('Это квадрат')
else
 
  if (a=pi/2) and (c=pi/2) and (L1<>L2)
  then writeln('Это прямоугольник')
  else
 
      if (a<>pi/2) and (c<>pi/2) and (a=c) and (b=d) and (L1=L3) and (L2=L4) and (L1<>L2) and (L3<>L4)
      then writeln('Это параллелограмм')
      else
 
          if (a<>pi/2) and (c<>pi/2) and (a=c) and (b=d) and (L1=L2) and (L2=L3) and (L3=L4) and (L4=L1)
          then writeln('Это ромб')
          else
 
               if  ((a+d=pi) and (b+c=pi)) or ((a+b=pi) and (c+d=pi))
               then writeln('Это трапеция')
               else writeln('Это четырехугольник');
readln;
end.
1
18.09.2019, 12:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.09.2019, 12:01
Помогаю со студенческими работами здесь

Слишком мало аргументов в вызове функции
#include &quot;stdafx.h&quot; #include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; int u, a, b, c,...

Слишком мало аргументов в вызове функции
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;vector&gt; #include &lt;algorithm&gt;...

Слишком мало аргументов в вызове функции
Привет всем. Помогите чайнику найти ошибку в строке 19 указанную в заголовке #include &lt;iostream&gt; ...

Слишком мало аргументов вызываемой функции
привет)) такой вот вопросик) делаю структуру (это фрагмент кода) про помощи перечисляемого типа...

Слишком мало аргументов в вызове функции
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;math.h&gt; #include &quot;Source.h&quot; #define N 3 ...


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

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