Помощь - Поиск - Пользователи - Календарь
Полная версия: Использование процедур/функций
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
Анжелика
Ребятки, помогите ответить на два вопроса - вы мне очень поможите!!
1)Какие функции можно вызывать как процедуры? Можно ли процедуры вызывать как функции?
2)Приведите фрагмент программы, в котором ищется минимум среди нечётных элементов массива. Какие у него достоинства и недостатки?
Спасибочки. Жду.
volvo
Цитата
Какие функции можно вызывать как процедуры?
Любые (кроме встроенных в модуль System), если программа компилировалась с ключом {$X+}, который позволяет Extended Syntax (Расширенный Синтаксис)
Цитата
Можно ли процедуры вызывать как функции?
Нет, процедура не рассчитана на использование в выражениях.

А на второй вопрос можно ответить по-разному... Можно написать программу так, что будут недостатки одного рода, можно - так, что будут совсем другие... То же и с достоинствами...
Анжелика
Цитата(volvo @ 14.12.2005 21:40) *

А на второй вопрос можно ответить по-разному... Можно написать программу так, что будут недостатки одного рода, можно - так, что будут совсем другие... То же и с достоинствами...

А можете привести и тот и тот вариант, ну или хотя бы один. Ну плз. Я Вас прошу!
Altair

var
a:array[1..10] of integer;
i,min:integer;
begin
randomize;
for i:=1 to 10 do begin a[i]:=random(10); write(a[i], ' '); end ; writeln;
min:=a[1];
for i:=2 to 10 do if (odd(i)) and (a[i]<min) then min:=a[i];
writeln(min);
readln;
end.

вот еще вариант

var
a:array[1..10] of integer;
i,min:integer;
begin
randomize;
for i:=1 to 10 do begin a[i]:=random(10); write(a[i], ' '); end ; writeln;
min:=a[1];i:=1;
while i<=10 do begin if a[i]<min then min:=a[i]; inc(i,2); end;
writeln(min);
readln;
end.

Анжелика
Спасибо большое. Ток я немножко не поняля, где во второй задаче проверяется то, что элементы нечетные. Но все равно спасибо!!!
volvo
Анжелика, вот так лучше будет:
min:=maxint;
for i := 1 to 10 do
if (odd(a[i])) and (a[i]<min) then min:=a[i];

if min = maxint then write('в массиве нет нечетных чисел')
else writeln('минимум среди нечетных чисел = ', min);

У Олега просто искался минимум среди элементов с нечетными индексами
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.