Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 29.03.2019
Сообщений: 14

Почему у меня выдает "неправильный тип параметров подпрограммы",

03.02.2021, 16:31. Показов 858. Ответов 1

Студворк — интернет-сервис помощи студентам
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
97
98
99
100
101
102
type 
PNode = ^TNode;
TNode = record
data:string[20];
left,right:PNode;
end;
 
function Tree(s:string): PNode;
var k:integer;
begin
New(Tree);
k:=LastOp(s);
  if k =0 then begin
    Tree^.data:=s;
    Tree^.left:=nil;
    Tree^.right:=nil;
  end
  else
  begin
     Tree^.data:=s[k];
    Tree^.left:=Tree(Copy(s,1,k-1));
    Tree^.right:=Tree(Copy(s,k+1,Length(s)-k));
  end;
end; 
 
function Priority(op:char):integer;
begin
  case op of 
    '+','-':Priority:=1;
    '*','/':Priority:=2;
    else Priority:=100;
  end
end;
 
 
 
function LastOp(s:string):integer;
var i,minPrt:integer;
begin
  minPrt:=50;
  LastOp:=0;
  for i:=1 to length(s) do
  if Priority(s[i])<=minPrt then begin
    minPrt:=Priority(s[i]);
    LastOp:=i;
  end
   
end;
 
//
//function Tree(s:string): TNode;
//var k:integer;
//begin
//new(Tree);
//k:=LastOp(s);
//  if k =0 then begin
//    Tree^.data:=s;
//    Tree^.left:=nil;
//    Tree^.right:=nil;
//  end
//  else
//  begin
//     Tree^.data:=s[k];
//    Tree^.left:=Tree(Copy(s,1,k-1));
//    Tree^.right:=Tree(Copy(s,k+1,Length(s)-k));
//  end;
//end;
 
function Calc(Tree:PNode):integer;
var n1,n2,res:integer;
begin
  if Tree^.left=nil then
    Val(Tree^.data,Calc,res)
  else begin
    n1:=Calc(Tree^.left);
    n2:=Calc(Tree^.right);
    case Tree^.data[1] of 
      '+':Calc:=n1+n2;
      '-':Calc:=n1-n2;
      '*':Calc:=n1*n2;
      '/':Calc:=n1 div n2
      else
        Calc:=MaxInt
    end
  end
end;
 
 
 
 
 
var T:PNode;
begin
  new(p);
  disponse(p);
  readln(s);
  T:=Tree(s);
  writeln(Calc(T))
  
  
  
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.02.2021, 16:31
Ответы с готовыми решениями:

Неправильный тип параметров подпрограммы в процедуре
Выдаёт ошибку при компилировании: Неправильный тип параметров подпрограммы. Выдаёт в строчке, где происходит первая процедура. program...

Неправильный тип параметров подпрограммы
При компиляции выдает ошибку: &quot;Неправильный тип параметров подпрограммы&quot; Вот процедура: Procedure Part_2(n:integer; F:vector; var...

Неправильный тип параметров подпрограммы
Есть библиотека с этой процедурой procedure Input(var U: complex);//ввод компл. числа begin writeln('real= '); read(U.Re); ...

1
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,381
03.02.2021, 17:08
а если так:
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
type 
  PNode = ^TNode;
  TNode = record
    data:string[20];
    left,right:PNode;
end;
 
function Priority(op:char):integer;
begin
  case op of 
    '+','-':Priority:=1;
    '*','/':Priority:=2;
    else Priority:=100;
  end
end;
 
function LastOp(s:string):integer;
var i,minPrt:integer;
begin
  minPrt:=50;
  LastOp:=0;
  for i:=1 to length(s) do
    if Priority(s[i])<=minPrt then begin
      minPrt:=Priority(s[i]);
      LastOp:=i;
    end
end;
 
function Tree(s:string): PNode;
var k:integer;
begin
  New(Tree);
  k:=LastOp(s);
  if k=0 then begin
    Tree^.data:=s;
    Tree^.left:=nil;
    Tree^.right:=nil;
  end
  else begin
    Tree^.data:=s[k];
    Tree^.left:=Tree(Copy(s,1,k-1));
    Tree^.right:=Tree(Copy(s,k+1,Length(s)-k));
  end;
end; 
 
function Calc(Tree:PNode):integer;
var n1,n2,res:integer;
begin
  if Tree^.left=nil then
    Val(Tree^.data,Calc,res)
  else begin
    n1:=Calc(Tree^.left);
    n2:=Calc(Tree^.right);
    case Tree^.data[1] of 
      '+':Calc:=n1+n2;
      '-':Calc:=n1-n2;
      '*':Calc:=n1*n2;
      '/':Calc:=n1 div n2
      else
        Calc:=MaxInt
    end
  end
end;
 
 
var 
  T:PNode;
  s:string;
begin
  readln(s);
  T:=Tree(s);
  writeln(Calc(T))
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.02.2021, 17:08
Помогаю со студенческими работами здесь

Неправильный тип параметров подпрограммы
Ошибка выскакивает при попытке вызвать эту процедуру: poisk(f1,f2,f3,f4,itog); Сам модуль: unit MyModul; interface uses...

Неправильный тип параметров подпрограммы
При запуске выдает ошибку: &quot;Неправильный тип параметров подпрограммы&quot;. Можно ли как-то исправить? Код программы: program laba_7; ...

Неправильный тип параметров подпрограммы
unit unitt12; interface type matr = array of integer; procedure vvod(var nx: integer; var ax, bx: matr); procedure...

Неправильный тип параметров подпрограммы
Добрый день, есть код: program total_surface_area_of_the_parallelepiped; var a11, a12, a13, a21, a22, a23, b11, b12, b13, b21, b22,...

неправильный тип параметров подпрограммы
program lab11; const max = 1000; type mas = array of real; var a, b, c, a1, b1, c1: mas; f1,f2:TextFile; na, nb, nc, ka,...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru