Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 27.05.2011, 19:25   #1 (permalink)
snakind
Новичок
 
Регистрация: 22.05.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Question Подскажите, чего не хватает в процедуре?

Последняя процедура должна выводить наименьшую зарплату. Что-то никак не пойму где в ней что прописать, подскажите пожалуйста. Остальное всё работает корректно. Выкладываю всё что бы проще разобраться было


program RAbota;
const
N=3;
type
worker=record;
Name: String [30];
Salary:Integer;
Podrazdel: String [50];
Number: String [2];
end;
var
Org : array [1..N] of worker;
i,Min:Integer;


procedure Vvod (var S:Worker);
begin
writeln ('Введите ФИО');
readln (S.Name);
writeln ('№ подразделения');
readln (S.Podrazdel);
writeln ('Введите личный №');
readln (S.Number);
writeln ('Введите размер оклада');
readln (S.Salary);
end;

Procedure Vivod (S:Worker);
begin
writeln (S.Name, ':', S.Podrazdel, ':', S. Number, ':', S.Salary);
end;

procedure Abc(Org:Worker);
begin

Min:=Org.
for i:=1 to N do
if S.Salary<Min
then Min:=S.Salary;
writeln ('Минимальная зарплата =', Min);
end;

begin
For i:=1 to N do
Vvod (Org[i]);
for i:=1 to N do
vivod (Org[i]);
Abc (Worker[i])
end.
snakind вне форума   Ответить с цитированием

Старый 27.05.2011, 19:25
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Посоветую уделить немного времени прочтению схожих постов

Подскажите, для чего нужен сетевой разветвитель?
Подскажите, для чего это?
Совместимо ли это железо и чего не хватает?
Подскажите, пожалуйста, с чего начать
Подскажите, для чего это схема?

Старый 27.05.2011, 21:17   #2 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,288
Сказал(а) спасибо: 287
Поблагодарили 505 раз(а) в 163 сообщениях
Репутация: 91625
По умолчанию

Ошибок - просто море.
1. Параметру процедуры Abc Вы зачем-то присваиваете имя глобальной переменной Org. Зачем?
2. В то же время внутри процедуры Вы пытаетесь манипулировать с переменной-записью S, для данной процедуры вовсе не определенной.
3. Изначальное значение переменной Min в виде Org. (и никакого поля!!!) - полнейшая нелепость.
4. В теле основной программы запись вида Abc (Worker[i]) - тоже нечто невразумительное. Если по замыслу обращение к процедуре Abc входит в цикл по i, то:
а) процедуры vivod и Abc, составляющие тело цикла, должны быть заключены в операторные скобки begin end. Но этого не сделано.
б) Применение того же глобального счетчика (i) без переопределения в теле процедуры абсолютно недопустимо.
Если же обращение Abc (Worker[i]) НЕ входит в глобальный цикл, то что тогда там такое i и зачем оно?
В общем так. Я бы это организовал как-нибудь в таком роде:
Код:
procedure Abc;
var j:Integer;
begin
 Min:=Org[1].Salary;
 for j:=2 to N do
  with Org[j] do
   if Salary<Min then Min:=Salary;
 writeln ('Минимальная зарплата = ', Min);
end;

begin
 For i:=1 to N do
  Vvod (Org[i]);
 for i:=1 to N do
  vivod (Org[i]);
 Abc;
 Readln
end.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Старый 27.05.2011, 21:48   #3 (permalink)
snakind
Новичок
 
Регистрация: 22.05.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо за помощь, но вы меня не совсем так поняли) в процедуре Abc имена параметру процедуры и прочил состовляющих я поставил от балды, тк отчался найти рабочую их комбинацию...

А за столь подробные обьяснения большое спасибо
snakind вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 10:16.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.