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

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

Форум «Всё о Паскале» _ Задачи _ Записи с вариантной частью..

Автор: Гелла 9.01.2006 14:54

Подскажите пожалста как найти площадь прямоугольника трапеции и параллелограмма пр помощи записей с вариантной частью( как я понимаю case of)
Буду очень благодарна вам....

Автор: volvo 9.01.2006 15:30

Именно найти площадь при помощи записей ты не сможешь, записи с вариантной частью тебе здесь нужны только для того, чтобы задать необходимую фигуру... Просто определи данные, которые необходимы для описания каждой из этих фигур, и опиши нужные поля:

Type
TFigure = (fPr, fTrap, fPara);
Rec = Record
Case TFigure of
fPr: (); { <- Здесь... }
fTrap: (); { <- ... здесь ... }
fPara: (); { <- и здесь }
End;

И потом работай с этой записью...

Автор: lapp 9.01.2006 15:44

Ты правильно понимаешь, запись с вариантами - это "case ... of". Сначала создаешь запись для хранения данных о фигуре, а потом эту запись можно использовать для вычисления хоть площади, хоть периметра, хоть центра тяжести, хоть еще Бог знает чего. Сама по себе запись конструируется примерно так..


type
tWhat = (Triangle, Trapeze, Parallelogram);
tFigure = record case of What of
Triangle: (a,b,c:real);
Trapeze: (a,b,c,d:real);
Parallelogram: (a,b,c,d,Alpha:real);
end;

var
Figure: tFigure;

procedure Square(Fig:tFigure);
begin
with Fig do begin
case What of
Triangle: Square:= {тут вставляешь формулу Герона};
Trapeze: Square:= {выичсляешь площадь трапеции};
Parallelogram: Square:= {вычисляешь площадь парадллелограмма};
end
end
end

begin
...
S:=Square(Figure);
...
end.


Автор: volvo 9.01.2006 15:46

Ну, спасибо, lapp... То есть, человеку, задающему вопрос ДУМАТЬ - просто незачем, правда? dry.gif

Автор: lapp 9.01.2006 15:57

Если хочет думать - задумается.
Ну, может, я перебрал, но совсем немного. Программирование на конкретном языке - это не совсем наука. Точная запись конструкции экономит много времени, а логически все равно ни до чего не додумаешься. Заметь, ей все рано придется поработать - вставить формулы, а также вставить этот кусок во всю программу. Она умница, она запомнит smile.gif.
Может, в идеале надо было бы просто отослать к учебнику.. У каждого свой уровень разжеванности объяснений. Видимо, наши с тобой не совпадают smile.gif.

PS
а твоего ответа я не видел, когда отвечал, извини уж smile.gif

Автор: Гелла 9.01.2006 16:40

Цитата
Она умница, она запомнит .
Может, в идеале надо было бы просто отослать к учебнику.. У каждого свой уровень разжеванности объяснений. .


rolleyes.gif спасибо большое...что не отослал к учебнику..

{тут вставляешь формулу Герона};

Это для треугольника по моему..а для прямоугольника просто произведение смежных сторон...

Автор: Altair 9.01.2006 16:48

lapp, Гелла, обсуждение умниц и отсыланий к учебнику оставьте для свободного и лички.
все необходимое было сказанно.
закрыто.