помощь новечку

Форум для изучающих FPC и их учителей.

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

помощь новечку

Сообщение stasyn1985 » 19.08.2012 06:52:12

привет всем помогите разьяснить как будет выглядить программа какие кнопки нужны?
Код: Выделить всё
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs;

type
  TForm1 = class(TForm)
  private
    { private declarations }
  public
    { public declarations }
  end;

  { Tline }
  {$M+}
  Tline=class
  private
    Fa: integer;
    Fb: integer;
    procedure Seta(const AValue: integer);
    procedure Setb(const AValue: integer);
  published
             property a:integer read Fa write Seta;
             property b:integer read Fb write Setb;
             function uravnenie():string;
             function peresechYin():real;
             function peresechXin():real;
             function perpendicular(L1:TLine):boolean;
             function ugol(L1:TLine):real;
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ Tline }

procedure Tline.Seta(const AValue: integer);
begin
  if Fa=AValue then exit;
  Fa:=AValue;
end;

procedure Tline.Setb(const AValue: integer);
begin
  if Fb=AValue then exit;
  Fb:=AValue;
end;

function Tline.uravnenie(): string;
begin
  result:='y=x'+IntToStr(a)+'+'+IntToStr(b);
end;

function Tline.peresechYin():real;
begin
  result:=b/-a;
end;

function Tline.peresechXin(): real;
begin
  result:=b;
end;

function Tline.perpendicular(L1: TLine): boolean;
begin
  result:=false;
  if a*L1.a=-1 then result:=true;
end;

function Tline.ugol(L1: TLine): real;
begin
  result:=arctan((L1.a-a)/1+(L1.a*a));
end;

end.
stasyn1985
незнакомец
 
Сообщения: 3
Зарегистрирован: 19.08.2012 06:44:44

Re: помощь новечку

Сообщение vada » 20.08.2012 10:23:30

Программа будет выглядеть офигенно! Ни каких кнопок не нужно.

ЗЫ. Попробуйте как-то по другому сформулировать вопрос.
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: помощь новечку

Сообщение stasyn1985 » 20.08.2012 15:59:35

vada спасибо что ответил!!!код готовой программы есть!что делать с этим кодом ума не приложу!нужно дописать прогу на лазаре!!!

Добавлено спустя 3 минуты 29 секунд:
вот задача!!! Создать класс прямая, поля класса — коэффициенты уравнения y=ax + b. Методы класса: вывод уравнения прямой, определение точек пересечения с осями. В классе предусмотреть методы перегрузки операций: проверка перпендикулярности двух прямых, определение угла между двумя прямыми.Как написать эту прогу :oops:
stasyn1985
незнакомец
 
Сообщения: 3
Зарегистрирован: 19.08.2012 06:44:44

Re: помощь новечку

Сообщение vada » 21.08.2012 10:18:49

Для начала, зачем A и B объявлены как Integer? В уравнении прямой всяк должно быть действительное число. Ну да ладно. Это не ошибка. Так даже проще.
В целом в программе все более менее правильно. Надо еще форму нарисовать и обработать всяческие события формы.
Что нужно!
1) На форме нужны два поля ввода для A и B вашей базовой прямой (TEdit).
2) На форме нужны два поля ввода для A и B прямой которую вы сравниваете с базовой
3) Должна быть, например, кнопка "Сравнить"
4) Должны быть два, например, TLabel для отображения результатов сравнения прямых. В одной результат проверки на перпендикулярность, во второй угол между прямыми.
5) Вид уравнения прямой тоже надо отобразить на форме.
При нажатии на кнопку у вас должен отработать обработчик события OnClick.... который считает значения A и B для обоих прямых и выполонит проверки на перпендикулярность и вычислит угол между прямыми.
Формочка в лазарусе собирается мышкой :)
И еще. У вас там есть несколько операций деления... Проверяйте на ноль делитель.
PS Не совсем уверен в правильности ваших формул, но проверять охоты нет.
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: помощь новечку

Сообщение stasyn1985 » 21.08.2012 17:05:25

привет!!!Я в ОТЧАЯНИЕ нечего не получается!!! :cry: кстате TLabel для отображения результатов сравнения прямых график что ли???
stasyn1985
незнакомец
 
Сообщения: 3
Зарегистрирован: 19.08.2012 06:44:44

Re: помощь новечку

Сообщение vada » 21.08.2012 18:50:05

Код: Выделить всё
кстате TLabel для отображения результатов сравнения прямых график что ли???

Нет. Для отображения текста. Где-то так
Код: Выделить всё
Label1.Caption := 'Пересечение с осями: с осью X=' + FloatToStr(peresechXin()) + ', с осью Y=' + FloatToStr(peresechYin());
Label2.Caption := perpendicular(Line2) ;
Label2.Caption := uravnenie();
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: помощь новечку

Сообщение Little_Roo » 21.08.2012 22:11:52

Я, видимо, наступлю на горло велим гуру... :shock:
Может отстреливать СРАЗУ безграмотные (с точки зрения великого русского языка)????
Чтоб такие НОВЕЧКИ шли на пункт проверки ЕГЭ по родному языку и не причитали после, что я в ОТЧАЯНИЕ нечего не получается!!! и ... коту ректально... ну достали уже эти псевдообученные в монгольских юртах или кавказловских аулах... :( :( :(
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 639
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: помощь новечку

Сообщение Максим » 22.08.2012 01:28:45

Little_Roo
От данного топика вытекают глаза, это да. :mrgreen:
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: помощь новечку

Сообщение Vadim » 22.08.2012 04:10:37

Little_Roo
Мужайтесь, дружище! Теперь такой тип "образованности" узаконен государством и почти вся молодёжь, выходящая из подросткового возраста, будет изъясняться только так.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: помощь новечку

Сообщение vada » 22.08.2012 10:30:32

Да уж :( А что делать!
Я так очень терпимо отношусь к орфографическим ошибкам. У самого твердая двойка в школе по русскому была. Если бы математикой или физикой занимался столько сколько русским (каждый год репетитор, летняя школа и задание на лето), был бы сейчас академиком. :wink:
К сожалению, писать грамотно кому-то дано, а кому-то нет. :( От количества прочитанных книг не зависит.
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: помощь новечку

Сообщение Vadim » 22.08.2012 13:36:07

vada
Проблема не в орфографических ошибках, проблема в невозможности подобрать слова, чтобы объяснить свою ситуацию. А вот это то, как раз, зависит от количества прочитанных, а главное, обспоренных, книг. ;)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: помощь новечку

Сообщение vada » 22.08.2012 13:57:47

проблема в невозможности подобрать слова, чтобы объяснить свою ситуацию

С этим полностью согласен. Есть правда одно НО. "Чтобы правильно задать вопрос, нужно знать, как минимум, половину ответа". Знакома такая цитата?
Судя по всему, у человека знания по программированию близки к нулю. От сюда и невозможность описать проблему.
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: помощь новечку

Сообщение kosteek » 22.08.2012 14:26:35

Тему нужно перенести в ветку "Помощь за вознаграждение", если только бедный студент сможет оплатить ;)
kosteek
постоялец
 
Сообщения: 203
Зарегистрирован: 24.07.2008 14:57:09
Откуда: Украина, г.Славянск


Вернуться в Обучение Free Pascal

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

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

Рейтинг@Mail.ru