Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2012, 00:01   #1
Лариск
Пользователь
 
Регистрация: 23.09.2012
Сообщений: 13
По умолчанию Pascal. обращение к процедуре

Код:
program pro231;
uses crt;
type
  zapis=record
    data:string[4];
    kod_cex:string[6];
    kod_mat:string[20];
    potreb:real;
  end;
  base=array[1..1000] of zapis;
  cc=string[6];

procedure form_source(var n:integer;var mass:base);  
var
  i:integer;
begin
  write('Введите количество записей:');
readln(n);
  for i:=1 to n do
  begin
    writeln;
    writeln('Ввод ',i,' записи');
    write('Введитедату:');
    readln(mass[i].data);
write('Введите код цеха:');
readln(mass[i].kod_cex);
write('Введите код материала:');
readln(mass[i].kod_mat);
write('Введите потребность(пример-123456.23):');
readln(mass[i].potreb);
  end;
end;

procedure form_final(var mass:base;n:integer;var code:cc;var 
outmass:base;var nk:integer); 
var
  i:integer;
begin
  nk:=0;
writeln;
  writeln('Введите код необходимого цеха:');
readln(code);
  for i:=1 to n do
begin
    if mass[i].kod_cex=code then           
    begin
      outmass[i]:=mass[i];     
      inc(nk);                 
end;
  end;
end;

procedure outrec(var outmass:base;nk:integer;code:cc);        
var
  i:integer;
begin
  clrscr;
writeln('Записи по цеху №',code);
for i:=1 to nk do
  begin
    writeln(i,')Дата: ',outmass[i].data,';');
    writeln('  Кодцеха: ',outmass[i].kod_cex,';');
    writeln('  Кодматериала: ',outmass[i].kod_mat,';');
    writeln('  Потребность:',outmass[i].potreb:2:2,'.');
    writeln;
  end;
end;

var
  mass,outmass:base;
  n,nk:integer;
  code:cc;
begin
clrscr;
form_source(n,mass);
form_final(mass,n,code,outmass,nk);
outrec(outmass,nk,code);
writeln('Нажмителюбуюклавишу');
readkey;
end.
Подскажите, где обращение к процедуре, выделенной коричневым цветом! Очень срочно!

Последний раз редактировалось Stilet; 10.11.2012 в 00:07.
Лариск вне форума Ответить с цитированием
Старый 10.11.2012, 00:07   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
begin
clrscr;
form_source(n,mass);
form_final(mass,n,code,outmass,nk);
Увидела где?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.11.2012, 00:12   #3
Лариск
Пользователь
 
Регистрация: 23.09.2012
Сообщений: 13
По умолчанию

В каком смысле где увидела?
Вы уверены, учитель когда спрашивал, держал лист, на котором этого не было))
Лариск вне форума Ответить с цитированием
Старый 10.11.2012, 00:26   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

я не знаю, что там держал в руке ваш учитель и о чём он Вас спрашивал, НО

Цитата:
где обращение к процедуре, выделенной коричневым цветом!
Обращение к выделенной процедуре именно там, где Вам показывают!
повторю:
Код:
begin
  clrscr;
  form_source(n,mass);
  form_final(mass,n,code,outmass,nk);
  outrec(outmass,nk,code);
  writeln('Нажмителюбуюклавишу');
  readkey;
end.

и, кстати, если я правильно понял, для чего нужна процедура form_final,
то она написана с ошибкой!

я бы предложил такой вариант:
Код:
procedure form_final(mass:base;n:integer;var code:cc;var  outmass:base;var nk:integer); 
var
  i:integer;
begin
  nk:=0;
  writeln;
  writeln('Введите код необходимого цеха:');
  readln(code);
  for i:=1 to n do
  begin
    if mass[i].kod_cex=code then           
    begin
       inc(nk);
       outmass[nk]:=mass[i];     
    end;
  end;
end;

Последний раз редактировалось Serge_Bliznykov; 10.11.2012 в 00:41.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.11.2012, 00:29   #5
Лариск
Пользователь
 
Регистрация: 23.09.2012
Сообщений: 13
По умолчанию

Спасибо большое!!!!!!!
Лариск вне форума Ответить с цитированием
Старый 10.11.2012, 00:44   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
учитель когда спрашивал, держал лист, на котором этого не было))
Круто. Радуйся - теперь это есть
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обращение к процедуре каждые n минут iamaxl Microsoft Office Excel 1 04.07.2009 07:31
Обращение к объектам в процедуре. Maxs Помощь студентам 5 02.05.2009 12:54
Pascal нужны комментарии к процедуре. RrR5 Помощь студентам 16 28.01.2009 15:26
Вопрос по процедуре VenMaster Общие вопросы Delphi 5 13.06.2008 17:37
Ошибка в процедуре GAGARIN-NEW Помощь студентам 2 21.12.2007 09:23