221 Востаннє редагувалося topprogrammer (11.09.2019 20:16:41)

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Кількість знаків, скоріш за все, від компілятора залежить, на ideone і 22 знаки до коми виводить(https://ideone.com/gfE4kp).
Однак на Вашому місці я б зменшив к-ть знаків принаймні в остаточній відповіді, щоб користувачу не доводилося рахувати цифри. Тут я бачу 2 варіанти: формат 2.2*10³ м, або 2.2 км.

Подякували: ReAl1

222

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Саме так я колись і робив для друку часу (меншого за десятки секнуд) — нормалізація «інженерним» кроком і кількість кроків була індексом до таблиці з префіксами мілі/мікро.

223

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Доброго вечора панове! Підкажіть будь-ласка як можна звільнити пам'ять для змінної PV1? Типу extended.

224

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

ProgramBandera написав:

Доброго вечора панове! Підкажіть будь-ласка як можна звільнити пам'ять для змінної PV1? Типу extended.

Звільнити пам'ять для змінної неможливо. Її можна виділити під змінну чи звільнити від змінної; але, швидше за все, вам потрібно щось інше.

Подякували: ProgramBandera1

225

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

koala написав:
ProgramBandera написав:

Доброго вечора панове! Підкажіть будь-ласка як можна звільнити пам'ять для змінної PV1? Типу extended.

Звільнити пам'ять для змінної неможливо. Її можна виділити під змінну чи звільнити від змінної; але, швидше за все, вам потрібно щось інше.

А за допомогою процедур

new (PV1)

та процедури

dispose (PV1)

це можливо зробити?

226

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Звільняти пам'ять можна лише для вказівників, а в тебе інший тип

Подякували: ProgramBandera1

227

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Ви знову хочете в партизана погратися? Гаразд, можна. Вам від цього стало легше?

Подякували: wander, Torbins, ProgramBandera3

228

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Якщо змінна одна єдина, то немає сенсу динамічно виділяти під неї пам'ять.

Подякували: ProgramBandera1

229 Востаннє редагувалося ProgramBandera (30.12.2019 02:54:25)

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Добрий вечір! Підкажіть будь даска.
Чому процедура не виводить в RichEdit1 v=s/t, коли в полі Memo1 прописую слово швидкістю?
Потрібно щоб коли прописую якесь ключове слово в полі Memo1 виводився текст формули в полі RichEdit1, та коли цього слова не має чи його видалити то і в RichEdit1 нічого не будо.
Що в коді не так, чи це не в властивості Change треба прописувати?

procedure TForm1.Memo1Change(Sender: TObject);
begin
 if Memo1.Text = 'швидкістю'then
 begin
   RichEdit1.Lines.Add ('v=s/t');
 end;
end;

230

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Бачу, ви так і не називаєте змінні по-людськи.
Спробуйте вивести те, що знаходиться в Memo1 і подивитися. Я, звісно, не телепат, але підозрюю, що там зайвий кінець рядка, і треба зробити Trim.

Подякували: ProgramBandera1

231

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

koala написав:

Бачу, ви так і не називаєте змінні по-людськи.
Спробуйте вивести те, що знаходиться в Memo1 і подивитися. Я, звісно, не телепат, але підозрюю, що там зайвий кінець рядка, і треба зробити Trim.

Тут не має змінних.

procedure TForm1.Memo1Change(Sender: TObject);
begin
 if Memo1.Text = 'швидкістю'then
 begin
   RichEdit1.Lines.Add ('v=s/t');
 end;
end;

І що таке Trim?

232 Востаннє редагувалося koala (30.12.2019 14:49:40)

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

TForm1, Memo1 та RichEdit1 - змінні.

Подякували: ProgramBandera, leofun01, Torbins3

233

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

TForm1

  *JOKINGLY*

234

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

TForm1, Memo1 та RichEdit1 - стандартні назви компонентів. Чим вони погані???  *OK*

235

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

ProgramBandera написав:

TForm1, Memo1 та RichEdit1 - стандартні назви компонентів. Чим вони погані???  *OK*

Не компонентів. Компоненти - це типи, а тут мова про змінні.
Якщо навіть вказувати в назві тип, то fmMain, meAnswer та reFormula значно краще читатимуться.

236

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

ProgramBandera написав:

TForm1, Memo1 та RichEdit1 - стандартні назви компонентів. Чим вони погані???  *OK*

Не зрозуміло для чого призначений Memo1, та чим він відрізняється від Memo2.

Подякували: koala, ProgramBandera, leofun013

237 Востаннє редагувалося ProgramBandera (18.01.2020 19:47:06)

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Добрий день панове! Допоможіть оптимізувати код.
Є ось такий уривок коду, який дуже багато раз в коді повторюється (ЗА ВИНЯТКОМ НАЗВИ ФОРМУЛИ) 'Густина речовини ρmV5.jpg'

Pict := TPicture.Create;
   try
    Pict.LoadFromFile('Формули\Густина речовини ρmV5.jpg');
    Clipboard.Assign(Pict);
    RichEdit1.PasteFromClipboard;
   finally
    Pict.Free;
   end;

Підкажіть як зробити це функцією чи процедурою щоб я зміг в коді викликати це назвою процедури чи функції з параметром назви формули.
Спробував написати процедуру, але при виклику її видає помилку

Procedure Formula(var a:string);
 var
  Pict: TPicture;
 begin
  Pict := TPicture.Create;
   try
    Pict.LoadFromFile('Формули\' +a);
    Clipboard.Assign(Pict);
    RichEdit1.PasteFromClipboard;
   finally
    Pict.Free;
   end;
 end;

виклик дає помилку: Постійний об'єкт не може бути переданий як параметр var

Formula('Об’єм трикутної призми.jpg'); 

238

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Слово var зайве, воно означає, що процедура може змінювати переданий параметр.
І ця процедура має бути елементом форми, на якій знаходиться RichEdit1.

Подякували: ProgramBandera, NaharD2

239 Востаннє редагувалося ProgramBandera (18.01.2020 17:28:24)

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

koala написав:

Слово var зайве, воно означає, що процедура може змінювати переданий параметр.
І ця процедура має бути елементом форми, на якій знаходиться RichEdit1.

Дякую пане koala. Поки вечеряв придумав. Тут два вирішення, як ви і сказали прибрати var, або ввести змінну типу string NameFormula.

NameFormula := ('Густина речовини ρmV5.jpg');
Formula(NameFormula);

На рахунок ця процедура має бути елементом форми, на якій знаходиться RichEdit1 нічого не зрозумів.

240

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

ProgramBandera написав:

На рахунок ця процедура має бути елементом форми, на якій знаходиться RichEdit1 нічого не зрозумів.

Бо швидше за все це і так виконується.

Подякували: ProgramBandera1