14.01.2016, 09:47 | #11 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Procedure Blablabla(x:real; y:integer; var z:real; var t:boolean); Грубо говоря, те, что без "var" - это входные параметры, с "var" - выходные, т.е. те, значение которых вычисляются в процедуре (на самом деле там всё несколько сложнее). В то же время в функции (как я считал доселе) все параметры являются входными (выходной - это идентификатор самой функции), поэтому префиксу "var" в списке формальных параметров функции делать нечего. Однако, вот поди ж ты, существует такая гибридная конструкция - функция с возможностями процедуры. Не знал. |
|
14.01.2016, 09:47 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Предлагаю к вашему вниманию топики, которые по содержанию схожи с вашей темой Pascal. Помогите пожалуйста Помогите пожалуйста с Pascal Помогите пожалуйста. Pascal Помогите пожалуйста. Необходимо вычислить в Pascal Помогите, пожалуйста, подредактировать, Pascal |
14.01.2016, 10:38 | #12 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Const Ncar=17; Var Num_of_Plac,Occ_Plac,Occ_Prc:Array[1..Ncar] of Byte; Type_of_Car:Array[1..Ncar] of String; i,j,Imin_Abs,Imin_Rel:Byte; Begin Randomize; for i:=1 to Ncar do begin j:=Random(3); Case j of 0:begin Num_of_Plac[i]:=46; Type_of_Car[i]:=' Numbered'; end; 1:begin Num_of_Plac[i]:=36; Type_of_Car[i]:='Compartment'; end; 2:begin Num_of_Plac[i]:=36; Type_of_Car[i]:='Soft-seated'; end; end; {Case} end; for i:=1 to Ncar do Occ_Plac[i]:=Random(Num_of_Plac[i]+1); for i:=1 to Ncar do Occ_Prc[i]:=Round(Occ_Plac[i]/Num_of_Plac[i]*100); Writeln(' N Type of carriage Places Occupied %'); for i:=1 to Ncar do Writeln(i:2,' '+Type_of_Car[i]+' ',Num_of_Plac[i],' ', Occ_Plac[i]:2,' ',Occ_Prc[i]:3); Writeln; Imin_Abs:=1; Imin_Rel:=1; for i:=1 to Ncar do begin if Occ_Plac[i]<Occ_Plac[Imin_Abs] then Imin_Abs:=i; if Occ_Prc[i]<Occ_Prc[Imin_Rel] then Imin_Rel:=i; end; Writeln('Carriage with absolute minimal occupation is ',Imin_Abs, ' (',Occ_Plac[Imin_Abs],' passengers)'); Writeln('Carriage with relative minimal occupation is ',Imin_Rel, ' (',Occ_Prc[Imin_Rel],'%)'); End. |
|
15.01.2016, 22:25 | #13 (permalink) | |
Новичок
Регистрация: 12.01.2016
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Цитата:
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|