Які значення середньої температури повітря за кожний день тижня знаходяться в багаторядковому текстовому полі?

  • 48
Які значення середньої температури повітря за кожний день тижня знаходяться в багаторядковому текстовому полі? Яке є значення середньої температури повітря за весь тиждень? Скільки разів середня денна температура була вище нуля протягом тижня? Будь ласка, допоможіть мені виконати завдання у Lazarus.
Rys
8
Щоб вирішити цю задачу у Lazarus, нам потрібно зчитати значення середньої температури за кожний день тижня з багаторядкового текстового поля і обчислити середнє значення та кількість разів, коли середня денна температура була вище нуля протягом тижня. Використовуйте наступний код:

1. Спочатку, додайте на форму TEdit компонент з ім"ям "txtTemperature", щоб користувач міг ввести значення середньої температури за кожний день, і TButton компонент з ім"ям "btnCalculate", щоб обчислити результат.
2. У коді програми, напишіть наступний код, щоб обробити натискання кнопки "btnCalculate":

pascal
procedure TForm1.btnCalculateClick(Sender: TObject);
var
Temperature: array of Integer; // масив для збереження значень температури
Total: Integer; // змінна для підрахунку суми температур
Count: Integer; // змінна для підрахунку кількості температур вище нуля
i: Integer; // змінна для ітерації по елементам масиву
AverageTemperature: real; // змінна для обчислення середньої температури

begin
// Читання значень температури з текстового поля і збереження їх у масиві
Temperature := txtTemperature.Lines.Text.Split([#13,#10]).Select(
function(const Value: string): Integer
begin
Result := StrToIntDef(Value, 0);
end
).ToArray;

// Обчислення середньої температури
Total := 0;
for i := 0 to Length(Temperature) - 1 do
Total := Total + Temperature[i];

if Length(Temperature) > 0 then
AverageTemperature := Total / Length(Temperature)
else
AverageTemperature := 0;

// Обчислення кількості температур вище нуля
Count := 0;
for i := 0 to Length(Temperature) - 1 do
begin
if Temperature[i] > 0 then
Count := Count + 1;
end;

// Виведення результатів
ShowMessageFmt("Cередня температура за тиждень: %0.2f", [AverageTemperature]);
ShowMessageFmt("Кількість днів з температурою вище нуля: %d", [Count]);
end;


Цей код спочатку зчитує значення середньої температури, введені користувачем у текстовому полі "txtTemperature". Потім він обчислює середнє значення, обчислює кількість температур, що перевищують нуль, і виводить результати за допомогою діалогових вікон "ShowMessageFmt".

Якщо ви бажаєте використати код у Lazarus, вставте його у метод "OnClick" кнопки "btnCalculate" та попередньо імпортуйте необхідні модулі. Після запуску програми користувач зможе ввести значення середньої температури за кожний день тижня, і програма обчислить середнє значення і кількість температур вище нуля.