Компилирует без ошибок,но...

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Компилирует без ошибок,но...

Сообщение Лекс Айрин » 21.06.2016 09:52:52

pupsik писал(а):Кстати: а как вы бы написали?


тупо по формулам. С комментариями в местах их упрощения: почему,как и зачем. Только вначале я бы написал консольку для проверки. (ну или когда пошли бы глюки).

pupsik писал(а):т.е.... Вы считаете применение real - перебор?


Вообще-то, да. Сначала возводим в квадрат, а потом извлекаем корень... смысл? Плюс, переход на real это потеря точности. (пусть мнимая, но все же). И уж точно приводит к увеличению размера и времени выполнения программы.

pupsik писал(а):И если он "перепрыгнет" препода - огромный минус.


Преподу.За то, что не знает примитивную геометрию.

pupsik писал(а):Так что код должен делать то что надо, при этом должен быть корявым и с погрехами...


А зачем нужно такое обучение?

pupsik писал(а):а зачем тогда наследовать? Или я не верно понял?


Ну, вообще-то при наследовании используется код родителя полностью. Вычисление полной площади это дополнение, а не переписывание. Нужно будет добавить один метод.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Компилирует без ошибок,но...

Сообщение pupsik » 21.06.2016 10:52:23

тупо по формулам.
=
Сначала возводим в квадрат, а потом извлекаем корень...
плюс необходимо учесть - учится еще...
Преподу.За то, что не знает примитивную геометрию.
вы уверены что он по геометрии? :)
А зачем нужно такое обучение?
если студент, который не сильно, вдруг на отлично - это найс?
Ну, вообще-то при наследовании используется код родителя полностью...
и где он не полностью используется?
Вычисление полной площади это дополнение, а не переписывание.
название архива посмотрите внимательнее... там не в "переписывании" смысл.

п.с.
а код где???
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Компилирует без ошибок,но...

Сообщение AlphaBlend » 21.06.2016 11:00:22

Лекс Айрин писал(а):Ну, вообще-то при наследовании используется код родителя полностью. Вычисление полной площади это дополнение, а не переписывание. Нужно будет добавить один метод.
Если разобраться более подробно с точки зрения элементарной математики и логики , то тут наследование - вообще бред. Как можно наследовать геометрическое тело от фигуры ? Круг - это не шар . Квадрат ...О , сколько тут вариантов-то ? , куб , параллелепипед, ромбододэкаэдр, призма ( а призм еще черти сколько с квадратным основанием ) . Пирамиды - тоже черти сколько . Как наследовать ? Если к квардрату прибавить апофему - будет пирамида. А какая ? Усеченная , косая? Треугольник - он тоже может быть основанием пирамиды ... Получается , что геометрическая фигура - это отдельный класс , а геометрическое тело - отдельный . Девочки, как говорится , направо , мальчики - налево.
ТАким образом имеем два базовых класса:
Код: Выделить всё
TGeometricFigure = class
end;
TGeometricBody = class
end;

Если припомнить немного математики , то можно выделить основные свойства , которые есть у , допустим плоской фигуры. Что это ? Это , конечно же Площадь. Основа основ. Потому что у круга не бывает сторон , но он - тоже плоская фигура и площадь у него есть . Вообще , если посмотреть повнимательней - у плоских фигур ( У ВСЕХ ) есть два объединяющих свойства - площадь и условный центр тяжести ( центр ) . Понятно , что у базового класса должны быть основными центр и площадь. Запишем:

Код: Выделить всё

TCoordPlain  = packed record { двумерная система  координат "Евклидова" }
  X,Y:Real;
end;
TCoordStereo = packed record { несложно догадаться , что это трехмерная система  координат " Неевклидова "}
X,Y,Z:Real;
end;

TGeometricFigure = class
private
   FArea:Real;
   FCenterOfMass:TCoordPlain;
public
   property Area:Real read FArea;
   property CenterOfMAss:TCoordPlain;
end;

Так же у плоской фигуры есть вершины , а вершина - это какая-то координата ( точка) на плоскости Декарта . Ой , да ? Окружность , как исключение , имеет множество точек ,равноудаленное от центра ( И то не всегда! Есть еще эллипс . ай-яй-яй ... ( вспомним-ка аналитическую геометрию ) ... Если пойти дальше , то можно прийти к выводу , что координатная система плоских фигур не подойдет для сечений , хотя сечения образуют собой плоские фигуры. Такая вот загогулинка :roll: Изначально эту задачу можно считать ООПсурдной. Ну нельзя наследовать помидор от галоши. Ну никак не получится :mrgreen:
Последний раз редактировалось AlphaBlend 21.06.2016 11:14:08, всего редактировалось 1 раз.
Аватара пользователя
AlphaBlend
постоялец
 
Сообщения: 207
Зарегистрирован: 22.05.2016 10:13:10

Re: Компилирует без ошибок,но...

Сообщение pupsik » 21.06.2016 11:08:30

Если разобраться более подробно с точки зрения элементарной математики и логики , то тут наследование - вообще бред.
узнайте где учится вопрошающий. И расскажите преподу. Он будет рад вашему мнению. :mrgreen:
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Компилирует без ошибок,но...

Сообщение AlphaBlend » 21.06.2016 11:11:57

pupsik но согласитесь же - бред ... :(
Аватара пользователя
AlphaBlend
постоялец
 
Сообщения: 207
Зарегистрирован: 22.05.2016 10:13:10

Re: Компилирует без ошибок,но...

Сообщение pupsik » 21.06.2016 11:20:32

и че..е?
студент дело вольное: хош учись, хош служи.
Главное -выбор есть :mrgreen:
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Компилирует без ошибок,но...

Сообщение AlphaBlend » 21.06.2016 11:22:04

" препод пообещал автомат на экзамене . Действительно - выдали и автомат и сапоги" :mrgreen: :mrgreen:
Аватара пользователя
AlphaBlend
постоялец
 
Сообщения: 207
Зарегистрирован: 22.05.2016 10:13:10

Re: Компилирует без ошибок,но...

Сообщение SSerge » 21.06.2016 12:42:45

AlphaBlend писал(а):Ну нельзя наследовать помидор от галоши. Ну никак не получится


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

Чтите старые учебники по С++ ( да и новые тож).
Если их начитаться, так вообще невозможно создать класс, не используя множественное наследование. Про то, что класс может содержать в виде поля экземпляр другого класса - там стараются не упоминать. Разница в концепции подхода к ООП, кстати.

Добавлено спустя 2 минуты 58 секунд:
зы: Знаете, есть такая научная дисциплина, называется физика.
Она в целом посвящена тому как преобразовывать между собой величины, именованные в честь неких выдающихся личностей, друг в друга.
Площадь поверхности можно измерять в Вебер*Тесла. Будет технически правильно.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Компилирует без ошибок,но...

Сообщение AlphaBlend » 21.06.2016 12:52:35

SSerge множественное наследование не использует такой порядок . Я нигде не видела в нижках по программированию , да и в жизни не встречала , чтобы класс "творог" был наследован от класса "троллейбус" . Хотя смотрите - оба они - неодушевленные предметы , имеющие массу и объем . Есть некоторое определение для всего - один единственный , так сказать "базовый" класс . Где будет понятно , что это вообще такое. Если это объект - то он иметь должен все , что полагается "объекту" - объем , массу , цену в конце-концов. А дальше уже идут подклассы - дом , яблоко , самолет ( все имеют объем , массу , цену ) . Если взять класс "самолет" и от него начать городить класс "яблоко" , то , может и получится что-то летающе-сладкое , но такого в жизни не встречается . Как и в этом примере . Не бывает сходства плоских фигур с телами . Плоские фигура - частные случаи для тел . Какое-то сечение может образовать плоскую фигуру , но плоская фигура не может образовать объект. Сама по себе она даже к другой плоскости относится ( что видно и моего примера выше ) . :mrgreen: :mrgreen:

Добавлено спустя 3 минуты 58 секунд:
*не плоскости , а системе координат :roll:

Добавлено спустя 3 минуты 27 секунд:
с физикой я прекрасно знакома . :mrgreen: :mrgreen: Свой рост я измеряю пряниками а вес - децибелами ( чем больше отклонение стрелки весов - тем больше выдается децибел от увиденного ) . Все логично :P
Аватара пользователя
AlphaBlend
постоялец
 
Сообщения: 207
Зарегистрирован: 22.05.2016 10:13:10

Re: Компилирует без ошибок,но...

Сообщение SSerge » 21.06.2016 13:05:54

AlphaBlend, множественное наследование, это когда наследуют от нескольких классов одновременно, а не по цепочке. В объект паскале этой мерзости нет, кстати. Вполне осознанно нет - потому что она порождает проблемы и неоднозначности.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Компилирует без ошибок,но...

Сообщение AlphaBlend » 21.06.2016 13:10:24

извините , перепуталась с терминологией :oops:
Аватара пользователя
AlphaBlend
постоялец
 
Сообщения: 207
Зарегистрирован: 22.05.2016 10:13:10

Re: Компилирует без ошибок,но...

Сообщение resident » 21.06.2016 13:53:16

AlphaBlend писал(а):Ну нельзя наследовать помидор от галоши.

Скрестить нельзя наследовать. :mrgreen:
Запятую поставить самим.

AlphaBlend писал(а):Как можно наследовать геометрическое тело от фигуры ?

ИМХО только так и нужно наследовать.
Точка - отрезок - замкнутый путь (фигура 2D) - тело из замкнутых путей (3Д)

Добавлено спустя 1 минуту 4 секунды:
SSerge писал(а):множественное наследование, это когда наследуют от нескольких классов одновременно, а не по цепочке. В объект паскале этой мерзости нет, кстати.

А интерфейсы?

Добавлено спустя 1 минуту 16 секунд:
AlphaBlend писал(а):с физикой я прекрасно знакома

С какой скоростью движутся электроны в проводке квартиры?
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Re: Компилирует без ошибок,но...

Сообщение Лекс Айрин » 21.06.2016 14:01:09

pupsik писал(а):плюс необходимо учесть - учится еще...


И что? Школу не заканчивал?

pupsik писал(а):=...


Четко по формуле еще не означает, что ее нельзя упрощать.

AlphaBlend писал(а): Как можно наследовать геометрическое тело от фигуры ?


легко! И непринужденно. Гораздо легче, чем представлять, что буква это число.

AlphaBlend писал(а): Если к квардрату прибавить апофему - будет пирамида. А какая ? Усеченная , косая? Треугольник - он тоже может быть основанием пирамиды ...


Речь конкретно об правильной пирамиде с основанием являющимся квадратом.

AlphaBlend писал(а):Получается , что геометрическая фигура - это отдельный класс , а геометрическое тело - отдельный . Девочки, как говорится , направо , мальчики - налево.


И что? Мы же не прописываем картину Мира... мы лишь описываем пирамиду с основанием квадратом. Нам все равно придется высчитывать площадь основания... так что код может быть свободно заимствован (наследован). К тому же квадрат можно представить как пирамиду с нулевой высотой.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Компилирует без ошибок,но...

Сообщение AlphaBlend » 21.06.2016 16:22:22

resident писал(а):С какой скоростью движутся электроны в проводке квартиры?
от 200 до 300 рублей в месяц :roll:

Добавлено спустя 4 минуты 5 секунд:
Лекс Айрин писал(а): К тому же квадрат можно представить как пирамиду с нулевой высотой.

а ларек мороженого можно представить как торговый центр. Такой , где лифты , парковка и несколько этажей приравнены к нулю :) :)

Добавлено спустя 7 минут 13 секунд:
они в ларьке есть , только равны нулю ) А так-то они у него есть :mrgreen:
Аватара пользователя
AlphaBlend
постоялец
 
Сообщения: 207
Зарегистрирован: 22.05.2016 10:13:10

Re: Компилирует без ошибок,но...

Сообщение resident » 21.06.2016 16:33:51

AlphaBlend писал(а):от 200 до 300 рублей в месяц

Ну это в Сколково. Ок.
А куда они движутся?
resident
энтузиаст
 
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 260

Рейтинг@Mail.ru