Вопрос задан 20.11.2023 в 23:18. Предмет Информатика. Спрашивает Ялеев Салават.

9 Завдання. Створіть проект для розв'язування задачi: Перед початком повені рiвень води у річці

становив н м. Під час повенi кожну годину рiвень води зростав на Р % від рівня попередньоï години. Яким буде рiвень води через N годин пiсля початку повені? (Програма повинна перевіряти правильність заповнення полів) лазарус
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Бойко Анастасия.

unit Main;

{$mode objfpc}{$H+}

interface

uses

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

type

 { TForm1 }

 TForm1 = class(TForm)

   Button1: TButton;

   Edit1: TEdit;

   Edit2: TEdit;

   Edit3: TEdit;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Memo1: TMemo;

   procedure Button1Click(Sender: TObject);

 private

   function CalculateWaterLevel(startLevel: Double; growthRate: Double; hours: Integer): Double;

   function ValidateInput(): Boolean;

 public

   { public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

function TForm1.ValidateInput(): Boolean;

var

 startLevel, growthRate: Double;

 hours: Integer;

begin

 Result := True;

 if not TryStrToFloat(Edit1.Text, startLevel) or (startLevel < 0) then

 begin

   ShowMessage('Please enter a valid starting water level (a non-negative number)');

   Result := False;

   Exit;

 end;

 if not TryStrToFloat(Edit2.Text, growthRate) or (growthRate < 0) then

 begin

   ShowMessage('Please enter a valid growth rate (a non-negative number)');

   Result := False;

   Exit;

 end;

 if not TryStrToInt(Edit3.Text, hours) or (hours < 0) then

 begin

   ShowMessage('Please enter a valid number of hours (a non-negative integer)');

   Result := False;

   Exit;

 end;

end;

function TForm1.CalculateWaterLevel(startLevel: Double; growthRate: Double; hours: Integer): Double;

begin

 Result := startLevel * Power((1 + growthRate / 100), hours);

end;

procedure TForm1.Button1Click(Sender: TObject);

var

 startLevel, growthRate: Double;

 hours: Integer;

 waterLevel: Double;

begin

 if ValidateInput() then

 begin

   startLevel := StrToFloat(Edit1.Text);

   growthRate := StrToFloat(Edit2.Text);

   hours := StrToInt(Edit3.Text);

   waterLevel := CalculateWaterLevel(startLevel, growthRate, hours);

   Memo1.Lines.Add(Format('After %d hours, the water level will be %.2f meters', [hours, waterLevel]));

 end;

end;

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

To solve the given problem, we need to create a program that calculates the water level in a river after a certain number of hours during a flood. The initial water level in the river is "n" meters, and the water level increases by "R%" every hour.

Here's an example of how you can implement this program in Lazarus:

```pascal program WaterLevelCalculator;

uses SysUtils;

var initialLevel, rate, hours: Integer; finalLevel: Double;

begin // Read the initial water level, rate of increase, and number of hours from the user Write('Enter the initial water level (n): '); Readln(initialLevel);

Write('Enter the rate of increase (R%): '); Readln(rate);

Write('Enter the number of hours (N): '); Readln(hours);

// Calculate the final water level finalLevel := initialLevel * Power(1 + rate / 100, hours);

// Display the final water level Writeln(Format('The water level after %d hours will be %.2f meters.', [hours, finalLevel]));

// Wait for user input before closing the program Readln; end. ```

In this program, we use the `Power` function from the `SysUtils` unit to calculate the exponential growth of the water level. The formula used is `finalLevel = initialLevel * (1 + rate / 100) ^ hours`.

Please note that this is just one possible implementation of the program. You can modify it according to your specific requirements or programming style.

I hope this helps! Let me know if you have any further questions.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос