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

Ошибка "не правильный тип параметров подпрограммы"

13.05.2014, 14:16. Показов 702. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
выдает ошибку, не правильный тип параметров подпрограммы, не могу найти где ошибка. буду рад помощи
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
+ h *0.5, y + h * k1*0.5);
         k3 := F(x + h *0.5, y + h * k2*0.5);
         k4 := F(x + h, y + h * k3);
         y := y + h * (k1 + 2 * k2 + 2 * k3 + k4)/6;
         inc(i);
         y1[i] := y;
         x := x +h;
      end;
end;
function Lin_interpol(x1, y1, x2, y2, x: real): real;
begin
     Lin_interpol := y1+ (x - x1) * (y2 - y1) / (x2 - x1);
end;
function Simpson(var y: array of real; n: Integer; h: real): real;
var
   p: real;
   i: Integer;
 
begin
   inc(i);
   p := y[0] + y[n];
   for i := 1 to n div 2 do
    p := p + 4 * y[i*2 -1];
   for i := 1 to n div 2 - 1 do
    p := p + 2 * y[i * 2];
   Simpson := p* h / 3;    
end;
var
   h, d, maxD,n: real;
   y: array[0..1, 0..1000] of real;
   y2: array[0..10] of real;
   i,j,k:integer;
begin
   h := 1;
   n := 1;                                                   //здесь выдает ошибку
   RungeKutta(0, 0.3, h, n, y[0]);
   i := 0;
   repeat
      h := h / 2;
      RungeKutta(0, 0.3, h, n * 2, y[1 - i]);
      maxD := 0;
      for j := 0 to n do
         begin
            d := abs(y[i, j] - y[1 - i, j * 2]);
            if d > maxD then
            maxD := d;
         end;
   i := 1 - i;
   n := n * 2;
   until (maxD <= 15 * 1e-4) or (n * 2 > 1000);
   writeln;
   writeln(' решение диференциального уравнения методом Рунга-Кутта:');
   writeln;
   for j := 0 to n do
   WriteLn(' y(', j * h:5:5, ') = ', y[i, j]:5:5);
   WriteLn;
   y2[0] := 0.09;
   y2[10] := sqr(y[i, n]);
   writeln(' результат интерполяции:');
   writeln;
   for j :=0 to 10 do
       begin
          k := trunc(j * 0.1 / h);
      y2[j] := Lin_interpol(h * k, y[i, k], h * (k + 1), y[i, k + 1], j * 0.1);
      WriteLn(' y(', j * 0.1:5:5, ') = ', y2[j]:5:5);
            y2[j] := sqr(y2[j]);
       end;
   writeln;
   write('кол-во теплоты выделяющейся на единичном участке сопротивления ');
   write('за единицу времени:');
   Writeln('Q =  ', Simpson(y2, 10, 0.1):5:5);
   readln;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.05.2014, 14:16
Ответы с готовыми решениями:

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

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

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

5
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 74
14.05.2014, 18:57  [ТС]
upp
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
14.05.2014, 19:01
Так начала кода нет, как проверять?

Добавлено через 2 минуты
Нет начала описания процедуры RungeKutta
0
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 74
15.05.2014, 05:11  [ТС]
чето не бросилось в глаза...
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
function F(x, y: real): real;
 
begin
   F := (6-y*y)*cos(x)+2*y;
end;
 
procedure RungeKutta(x0, y0, h: real; n: Integer; var y1: array of real);
 
var
   x, y, k1, k2, k3, k4: real;
   i: Integer;
 
begin
   x := x0;
   y := y0;
   y1[0] := y0;
   i := 0;
   while i < n do
      begin
     k1 := F(x, y);
         k2 := F(x + h *0.5, y + h * k1*0.5);
         k3 := F(x + h *0.5, y + h * k2*0.5);
         k4 := F(x + h, y + h * k3);
         y := y + h * (k1 + 2 * k2 + 2 * k3 + k4)/6;
         inc(i);
         y1[i] := y;
         x := x +h;
      end;
end;
 
function Lin_interpol(x1, y1, x2, y2, x: real): real;
 
begin
     Lin_interpol := y1+ (x - x1) * (y2 - y1) / (x2 - x1);
end;
 
function Simpson(var y: array of real; n: Integer; h: real): real;
 
var
   p: real;
   i: Integer;
 
begin
   inc(i);
   p := y[0] + y[n];
   for i := 1 to n div 2 do
    p := p + 4 * y[i*2 -1];
   for i := 1 to n div 2 - 1 do
    p := p + 2 * y[i * 2];
   Simpson := p* h / 3;    
end;
 
var
   h, d, maxD: real;
   y: array[0..1, 0..1000] of real;
   y2: array[0..10] of real;
   i,j,n,k:integer;
 
begin
   h := 1;
   n := 1;
   RungeKutta(0, 0.3, h, n, y[0]);
   i := 0;
   repeat
      h := h / 2;
      RungeKutta(0, 0.3, h, n * 2, y[1 - i]);
      maxD := 0;
      for j := 0 to n do
         begin
            d := abs(y[i, j] - y[1 - i, j * 2]);
            if d > maxD then
            maxD := d;
         end;
   i := 1 - i;
   n := n * 2;
   until (maxD <= 15 * 1e-4) or (n * 2 > 1000);
   writeln;
   writeln(' Reshenie differencialnogo yravneniya metodom Rynge-Kytta:');
   writeln;
   for j := 0 to n do
   WriteLn(' y(', j * h:5:5, ') = ', y[i, j]:5:5);
   WriteLn;
 
   y2[0] := 0.09;
   y2[10] := sqr(y[i, n]);
   writeln(' Rezultati interpolyacii:');
   writeln;
   for j :=0 to 10 do
       begin
          k := trunc(j * 0.1 / h);
      y2[j] := Lin_interpol(h * k, y[i, k], h * (k + 1), y[i, k + 1], j * 0.1);
      WriteLn(' y(', j * 0.1:5:5, ') = ', y2[j]:5:5);
            y2[j] := sqr(y2[j]);
       end;
   writeln;
   write(' Kol-vo teploti,videlaushegocia na edinichnom soprotivlenii ');
   write('za edinicy vremeni:');
   writeln;
   Writeln('Q =  ', Simpson(y2, 10, 0.1):5:5);
   readln;
end.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
15.05.2014, 06:55
Вы с типами массивов разберитесь, где линейный массив, где матрица, а то какой-то бардак.
0
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 74
17.05.2014, 19:55  [ТС]
если убрать ограничения в 55 и 56 строках с
y: array[0..1, 0..1000] of real;
y2: array[0..10] of real;
на
y: array of real;
y2: array of real;
и также в 62 и 66 строках убрать содержимое квадратных скобок вместе с ними то начинает компилится.. но результат уже не верный.. пока не могу до большего додуматься. подскажите в правильном направлении хоть иду?

на счет вашего замечания с матрицей либо линейным массивом, понял что вы именли ввиду, но поправки результата не дали
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.05.2014, 19:55
Помогаю со студенческими работами здесь

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

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

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

Ошибка неправильный тип параметров подпрограммы
Добрый день! Помогите пожалуйста. На 65 строке выскакивает ошибка: Неправильный тип параметров подпрограммы, в чем может быть проблема? ...

Ошибка "Неправильный тип параметров подпрограммы" Паскаль
Задание: В текстовом файле поменять местами слова &quot;in&quot; и &quot;on&quot;. Выдает ошибку &quot;Неправильный тип параметров подпрограммы&quot; Вот моя...


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

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