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

Неправильный тип параметров подпрограммы

07.12.2012, 18:00. Показов 12908. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При компиляции выдает ошибку:
"Неправильный тип параметров подпрограммы"

Вот процедура:
Pascal
1
2
3
4
5
6
7
8
9
10
Procedure Part_2(n:integer; F:vector; var Qa :real);
  var i:integer;
        sum:real;
Begin
sum:=0;
for i:=3 to (n div 3) do
   if (i mod 3)=0 then sum:=sum+sqr(f[i]);
Qa:=sqrt(sum/n);
writeln('среднеквадратичное значение = ',Qa:5:2);
end;

А вот часть программы:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Write('Введите n,a,b => '); readln(n,a,b);
        Part_1(Vr,n,a,b,f);
        end;
  writeln(dev,'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
  writeln(dev,'Исходный массив:');
  For i:=1 to n do
    begin
    write(dev,F[i]:3);
    if i = n div 2 then writeln(dev);
    end;
  writeln(dev);
  writeln(dev,'++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
  Part_2(n,f,Qa); // (вот здесь выдает ошибку)
  writeln(dev,'среднеквадратичное Qa=',Qa:7:4);
  writeln(dev,'++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.12.2012, 18:00
Ответы с готовыми решениями:

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

Неправильный тип параметров подпрограммы
RAZpr.pas(17) : Неправильный тип параметров подпрограммы Program RAZpr; uses raz; var f1,f2: text; a,b,x: real; ...

Неправильный тип параметров подпрограммы
В 224 строке вылазит ошибка, что не так? Program Genealogic; Uses CRT; Const MAX_ITEMS = 32; SAVE_FILE = 'tree.txt'; ...

6
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
07.12.2012, 18:21
А где раздел объявления переменных?
0
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 4
07.12.2012, 19:05  [ТС]
вот вся программа
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
103
104
105
106
107
108
109
110
111
Program Work_4;
  Type vector=array[1..100] of integer;
  var Vr, n, i, a, b,bliz,nomer,Qa: integer;
                   F: vector;
                Dev : text;
                name: string;                
 
Procedure Part_1(Vr,n,a,b:integer; var F:vector);
  var i:integer;
Begin
  If Vr<>1 then randomize;
  for i:=1 to n do f[i]:=a+Round((b-a)*Random(100)/100);
end;
 
Procedure Part_2(n:integer; F:vector; var Qa :real);
  var i:integer;
        sum:real;
Begin
sum:=0;
for i:=3 to (n div 3) do
   if (i mod 3)=0 then sum:=sum+sqr(f[i]);
Qa:=sqrt(sum/n);
writeln('среднеквадратичное значение = ',Qa:5:2);
end;
 
Procedure Part_3(n,a,b,g:integer; F:vector);
  var i,k,M, chislo:integer;
Begin
g:=1000;
for i:=round(3/4*n) to n do
begin
if f[i] mod 2 =0 then
   if abs(f[i]-chislo)<g then
    begin
     bliz:=f[i];
     nomer:=i;
     g:=abs(f[i]-chislo);
    end;
end;
writeln('F[',nomer,'] = ',bliz:2, '   Delta = ', g);
end;
 
Procedure Part_4(n:integer; var F:vector);
  var i,j,k,buf,c:integer;
Begin
for i:=1 to (n div 2)-1 do
  if (F[i] mod 2)=0 then
    begin
      k:=i;
      for j:=i+1 to n div 2 do
      if (F[j] mod 2) =0 then
        if abs(F[j])<abs(F[k]) then k:=j;
 
c:=F[i]; F[i]:=F[k]; F[k]:=c;
end;
for i:=1 to n do
  begin
   write(F[i]:5);
   if i mod 10 =0 then writeln;
  end;
 
readln;
end;
 
Begin
  writeln('для вывода на экран введите con');
  writeln('для вывода на принтер введите prn');
  write('для вывода в файл введите его адрес: ');
  readln(name);
  Assign(Dev,name);
  Rewrite(Dev);
  write('введите вариант расчета Vr => ');
  readln(Vr);
  if Vr=0 then
    begin
    n:=17; a:=-6; b:=9;
    f[1] := 1; f[2] := 0; f[3] :=-3; f[4] := 2; f[5] := 0;
    f[6] :=-3; f[7] := 4; f[8] := 3; f[9] := 2; f[10]:= 0;
    f[11]:= 0; f[12]:= 4; f[13]:= 0; f[14]:=-2; f[15]:=-1;
    f[16]:=-1; f[17]:= 1;
    end
      else
        begin
        Write('Введите n,a,b => '); readln(n,a,b);
        Part_1(Vr,n,a,b,f);
        end;
  writeln(dev,'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
  writeln(dev,'Исходный массив:');
  For i:=1 to n do
    begin
    write(dev,F[i]:3);
    if i = n div 2 then writeln(dev);
    end;
  writeln(dev);
  writeln(dev,'++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
  Part_2(n,f,Qa);
  writeln(dev,'среднеквадратичное Qa=',Qa:7:4);
  writeln(dev,'++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
  part_3(n,a,b,f);
  writeln(dev,'++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
  part_4(n,F);
  writeln(dev,'Упорядоченный массив:');
  for i:=1 to n do
    begin
    write(dev,F[i]:3);
    if i = n div 2 then writeln(dev);
    end;
  writeln(dev);
  writeln(dev,'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
  close(dev);
end.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
07.12.2012, 19:16
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
103
104
105
106
107
108
109
110
111
Program Work_4;
  Type vector=array[1..100] of integer;
  var Vr, n, i, a, b,bliz,nomer: integer;
                   F: vector;
                Dev : text;
                name: string;
                 Qa:real; //перенести
Procedure Part_1(Vr,n,a,b:integer; var F:vector);
  var i:integer;
Begin
  If Vr<>1 then randomize;
  for i:=1 to n do f[i]:=a+Round((b-a)*Random(100)/100);
end;
 
Procedure Part_2(n:integer; F:vector; var Qa :real);
  var i:integer;
        sum:real;
Begin
sum:=0;
for i:=3 to (n div 3) do
   if (i mod 3)=0 then sum:=sum+sqr(f[i]);
Qa:=sqrt(sum/n);
writeln('среднеквадратичное значение = ',Qa:5:2);
end;
 
Procedure Part_3(n,a,b:integer; F:vector);
  var i,k,M, chislo,g:integer; //g-не нужно в парметры
Begin
g:=1000;
for i:=round(3/4*n) to n do
begin
if f[i] mod 2 =0 then
   if abs(f[i]-chislo)<g then
    begin
     bliz:=f[i];
     nomer:=i;
     g:=abs(f[i]-chislo);
    end;
end;
writeln('F[',nomer,'] = ',bliz:2, '   Delta = ', g);
end;
 
Procedure Part_4(n:integer; var F:vector);
  var i,j,k,buf,c:integer;
Begin
for i:=1 to (n div 2)-1 do
  if (F[i] mod 2)=0 then
    begin
      k:=i;
      for j:=i+1 to n div 2 do
      if (F[j] mod 2) =0 then
        if abs(F[j])<abs(F[k]) then k:=j;
 
c:=F[i]; F[i]:=F[k]; F[k]:=c;
end;
for i:=1 to n do
  begin
   write(F[i]:5);
   if i mod 10 =0 then writeln;
  end;
 
readln;
end;
 
Begin
  writeln('для вывода на экран введите con');
  writeln('для вывода на принтер введите prn');
  write('для вывода в файл введите его адрес: ');
  readln(name);
  Assign(Dev,name);
  Rewrite(Dev);
  write('введите вариант расчета Vr => ');
  readln(Vr);
  if Vr=0 then
    begin
    n:=17; a:=-6; b:=9;
    f[1] := 1; f[2] := 0; f[3] :=-3; f[4] := 2; f[5] := 0;
    f[6] :=-3; f[7] := 4; f[8] := 3; f[9] := 2; f[10]:= 0;
    f[11]:= 0; f[12]:= 4; f[13]:= 0; f[14]:=-2; f[15]:=-1;
    f[16]:=-1; f[17]:= 1;
    end
      else
        begin
        Write('Введите n,a,b => '); readln(n,a,b);
        Part_1(Vr,n,a,b,f);
        end;
  writeln(dev,'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
  writeln(dev,'Исходный массив:');
  For i:=1 to n do
    begin
    write(dev,F[i]:3);
    if i = n div 2 then writeln(dev);
    end;
  writeln(dev);
  writeln(dev,'++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
  Part_2(n,f,Qa);
  writeln(dev,'среднеквадратичное Qa=',Qa:7:4);
  writeln(dev,'++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
  part_3(n,a,b,f);
  writeln(dev,'++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
  part_4(n,F);
  writeln(dev,'Упорядоченный массив:');
  for i:=1 to n do
    begin
    write(dev,F[i]:3);
    if i = n div 2 then writeln(dev);
    end;
  writeln(dev);
  writeln(dev,'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
  close(dev);
end.
0
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 4
07.12.2012, 19:21  [ТС]
Спасибо

Добавлено через 2 минуты
Не могли бы вы еще записать алгоритм для третий части задачи ?(4 Алгоритм определения самого близкого элемента к заданному числу C, нечетных по номеру элементов второй трети массива)
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
07.12.2012, 19:22
Нет, я пас.
0
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 4
07.12.2012, 19:46  [ТС]
Ладно все равно спасибо!

Добавлено через 21 минуту
Удачи вам!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.12.2012, 19:46
Помогаю со студенческими работами здесь

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

Неправильный тип параметров подпрограммы - Pascal ABC
При компиляции выдает ошибку: &quot;Неправильный тип параметров подпрограммы&quot; Вот программа: var mas:array of char; i,j:integer; ...

Исправить ошибку "Неправильный тип параметров подпрограммы"
Добрый вечер! Помогите с заданием: Оформить процедуры ввода массива из N элементов и определения минимального числа из N введенных...

Ошибка "не правильный тип параметров подпрограммы"
выдает ошибку, не правильный тип параметров подпрограммы, не могу найти где ошибка. буду рад помощи + h *0.5, y + h * k1*0.5); ...

Нет перегруженной подпрограммы с такими типами параметров
Program KP2; VAR x,q,a,b,y,r:real; begin writeln('Введите значение q,a,b,y,r'); readln (q,a,b,y,r); ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера 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, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru