Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.05.2017
Сообщений: 3

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

14.05.2017, 20:34. Показов 1103. Ответов 0

Студворк — интернет-сервис помощи студентам
Текст задачки:

Решение задачи должно содержать подпрограммы формирования исходного файла и вывода на экран содержимого файлов обоих типов. Формирование нового файла по заданию оформить в виде не менее одной подпрограммы. Обработку файлов оформить в виде модуля.

9. В соревнованиях по многоборью (из M<5 видов спорта) участвуют спортсмены. На вход программе подается файл типа А. В нем находится информация в следующем формате:
<Фамилия> <Имя> <Баллы>
где <Фамилия> – строка, состоящая не более, чем из 20 символов без пробелов, <Имя> – строка, состоящая не более, чем из 12 символов без пробелов, <Баллы> – M целых чисел, обозначающие количество баллов, набранных спортсменом в каждом из видов многоборья (остальные – нули). Пример входных строк:
Иванов Сергей 100 30 78 13
Петров Антон 90 16 98 14
Сидоров Юрий 100 70 30 21
Напишите программу, которая будет выводить в файл типа В фамилии и имена победителей - спортсменов, набравших максимальное количество баллов.
--------------------------------------------------
Мой код(с костылями, убейте его)

основа:
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
program p5final;
uses jest;
var i,j,k,M:integer;
q:string;
//##############################################################
procedure vyvod_tip(k:integer;var f:file of r);
var i:integer;
begin
seek(f,0);
for i:=1 to k do begin 
read(f,x);
writeln(x.name,' ',x.surename,' ',x.b1,' ',x.b2,' ',x.b3,' ',x.b4);
end;
end;
//###############################################################
procedure form(M,k:integer;var f:file of r);
var i:integer;
begin
for i:=1 to k do begin
write('enter name: ');readln(x.name);
 
write('enter surename: ');readln(x.surename);
 
if(M=1) then begin
write('vvedite ball 1: ');
readln(x.b1);
end;
 
if(M=2) then begin
write('vvedite ball 1: ');readln(x.b1);
write('vvedite ball 2: ');readln(x.b2);
end;
 
if(M=3) then begin
write('vvedite ball 1: ');readln(x.b1);
write('vvedite ball 2: ');readln(x.b2);
write('vvedite ball 3: ');readln(x.b3);
end;
 
if(M=4) then begin
write('vvedite ball 1: ');readln(x.b1);
write('vvedite ball 2: ');readln(x.b2);
write('vvedite ball 3: ');readln(x.b3);
write('vvedite ball 4: ');readln(x.b4);
end;
writeln;
write(f,x);
end;
end;
//########################################################################################################
//-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
begin
repeat
write('vvedite M(1-4): ');readln(M);
until m in [1..4];
 
repeat
write('vvedite kol-vo sportsmenov (1-20): ');readln(k);writeln;
until k in [1..20];
 
assign(f,'input.txt');
rewrite(f);
 
assign(ftext,'output.exe');
rewrite(ftext);
 
form(M,k,f);//<-----------формирование типизированного файла *-*
 
 
 
vyvod_tip(k,f);//<--------вывод типизированного файла *-*
 
obrabotka(f,ftext);
 
close(f);
close(ftext);
end.
модуль ..
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
unit jest;
 
interface
 
type
  R = record
    name, surename: string[255];
    b1, b2, b3, b4: integer;
  end;
 
var
  x: r;
  f: file of R;
  ftext: text;
  s: string;
 
procedure obrabotka(var f: file of r;ftext: text);
 
implementation
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
procedure obrabotka(var f: file of r;ftext: text);
var
  maxs1, maxs2, maxs3, maxs4: integer;
  flag: boolean;
begin
  maxs1 := 0;
  maxs2 := 0;
  maxs3 := 0;
  maxs4 := 0;
  seek(f, 0);
  while not eof(f) do 
  begin
    read(f, x);
    if x.b1 > maxs1 then maxs1 := x.b1;
    if x.b2 > maxs2 then maxs2 := x.b2;
    if x.b3 > maxs3 then maxs3 := x.b3;
    if x.b4 > maxs4 then maxs4 := x.b4;
  end;
  
  seek(f, 0);
  while not eof(f) do 
  begin
    read(f, x);
    flag := false;
    
    if (x.b1 = maxs1) and (flag = false) and (maxs1 <> 0) then begin
      flag := true;
      writeln(ftext, x.surename, ' ', x.name);
    end;
    
    if (x.b2 = maxs2) and (flag = false) and (maxs2 <> 0) then begin
      flag := true;
      writeln(ftext, x.surename, ' ', x.name);
    end;
    
    if (x.b3 = maxs3) and (flag = false) and (maxs3 <> 0) then begin
      flag := true;
      writeln(ftext, x.surename, ' ', x.name);
    end;
    
    if (x.b4 = maxs4) and (flag = false) and (maxs4 <> 0) then begin
      flag := true;
      writeln(ftext, x.surename, ' ', x.name);
    end;
  end;
  
end;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
end.
Объясните пожалуйста, почему он ругается, как исправить . .и ещё кое что - чем отличается
procedure(i:integer); от procedure(var i:integer);?
тем, что во втором случае глобальная переменная меняется, а в первом - нет?

Заранее большое спасибо, и вщ атдушЫ =)

Добавлено через 4 часа 12 минут
в итоге стоило просто копировать переменные с юнита в описание проги . . работает на ура.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.05.2017, 20:34
Ответы с готовыми решениями:

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

Ошибка "Неправильный тип параметров подпрограммы" в быстрой сортировке массива
Выдает &quot;Неправильный тип параметров подпрограммы&quot; здесь: QSort(A, 1, N); Как передать эти параметры? Сама программа: ...

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

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

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

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

неправильный тип параметров подпрограммы
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,...

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

Program1.pas(6) : Неправильный тип параметров подпрограммы
Вот мой модуль: unit Module123; interface type mas=array of real; procedure datchik (var z:mas;a1:integer); procedure vyvod...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru