Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ оператор Case

Автор: -=АнЮтА=- 3.12.2006 15:32

Подскажите пожалуйста. В программе выполняется процедура . Выполняется четыре раза. Можно ли сделать так (я предполагаю через оператор case), чтобы в зависимости от шага цикла (1,2,3 или 4 ) входным параметрам присваивались различные значения. То есть можно для case при выборе параметра i производить несколько операций, а не одну. И как это можно оформить?
То есть примерно так

Начало цикла от 1 до 4
если i :
1: то-то и то-то
2: то-то и то-то
3: то-то и то-то
4: то-то и то-то;
а после этого выполнялась процедура, входящими параметрами которой являлись бы присвоенные значения переменным
конец цикла;
Такая вот мысль пришла...подскажите можно ли ее реализовать? Или это impossible....? unsure.gif
Заранее спасибо за любой ответ... cool.gif

Автор: volvo 3.12.2006 15:45

А скобки begin/end еще никто не отменял...

for i := 1 to 4 do begin
case i of
1: begin {...} end;
2: begin {...} end;
3: begin {...} end;
4: begin {...} end;
end;
{ И здесь вызывай свою процедуру }
end;

Автор: -=АнЮтА=- 3.12.2006 15:48

rolleyes.gif Как и оказалось, все гениальное просто, осталось применить в жизнь ...Спасибо, give_rose.gif буду действовать) good.gif

Автор: volvo 3.12.2006 15:54

Кстати, если можно, приведи список параметров процедуры, и то, что ты хочешь делать по каждому из Case-ов... То есть, как параметры изменяются в зависимости от I?

Очень часто можно обойтись без всякого Case...

Автор: -=АнЮтА=- 3.12.2006 16:29

Как бы объяснить получше ....в общем так...выбираются параметры n, m, k и допустим e
в первом случае они нулевые, затем во втором к присваивается значение
в третьем для n и k
в последнем для n,m и k
А еще параметры a,b,c,d разные в каждом случае, а от чего они зависят я еще не додумала, это в общем коэффициент масштаба... скорее всего от е и зависят...в общем я думаю, что case тут как раз - то что надо...потому что четыре раза выполнять процедуру неохота, охота ее в цикл....
Если что-то непонятно, могу попытаться изложить всю суть задачи...