![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
задание было такое:
![]() все считалось хорошо, когда u, r, z, k были числами проде 3, 1.5 и тп но задание требует R=55mod7+4 после ввода этих значений начались проблемы. точнее все сломалось по сути. пытался исправить с помощью констант - не помогло. помогите, пожалуйста. я сегодня первый раз вообще чем-то подобным занялся, просидел 6 часов за пк, все понял, практически, кроме того, что делать с числами mov и div вот мой код Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
lbl1: TLabel;
lbl2: TLabel;
edt1: TEdit;
edt2: TEdit;
btn1: TButton;
lbl3: TLabel;
btn2: TButton;
lbl4: TLabel;
procedure FormCreate(Sender: TObject);
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
x, y : Real;
a, b : string;
implementation
{$R *.dfm}
const
z = '0,512';
k = 3;
U = '43 - 13dir3';
R = '55mod7 + 4';
procedure TForm1.FormCreate(Sender: TObject);
begin
Edt1.Text:='0,512';
Edt2.Text:='3';
lbl1.Caption:='x=';
lbl2.Caption:='y=';
btn1.Caption:='Ïîñ÷èòàòü';
btn2.Caption:='Ïîñ÷èòàòü';
lbl3.Caption:='0';
lbl4.Caption:='0';
end;
procedure TForm1.btn1Click(Sender: TObject);
begin
x:= StrToFloat(edt1.text);
y:= StrToFloat(edt2.text);
a:= (u*x/(r+3)+5)/abs(R-y/k);
b:= (Sin(z+U))/(2,46+a*R) + power(r; 5)/(25*k);
lbl3.Caption:=FloatToStr(a);
lbl4.Caption:=FloatToStr(b);
end;
end. |
|
#2
|
||||
|
||||
|
Гхм. У тебя почти все переменные - строки. А теперь возьми листок, ручку, напиши слова "Привет" и "Мир" и попробуй поделить одно на другое. Или умножить, взять синус от какого-нибудь из них, возвести в степень. Получится? А компьютер пытаешься заставить это сделать.
Переменные должны быть числами для арифметических операций. В задании написаны арифметические выражения, которые надо посчитать. Для справки: div и mod - это целочисленное деление и остаток от деления, а не константы. Последний раз редактировалось Bargest, 08.09.2012 в 21:46. |
|
#3
|
|||
|
|||
|
я же пишу, что до этого переменные были числами. и были записаны не в виде констант.
тогда задам свой вопрос проще: как мне записать и где z, k, U и R??? |
|
#4
|
|||
|
|||
|
объявить, там же, где объявлены x,y
присвоить им значения, там же, где вычисляются x,y |
|
#5
|
|||
|
|||
|
R: = '55mod7 + 4';
так? но именно после этого, вроде как, у меня перестало все работать ![]() |
|
#6
|
||||
|
||||
|
Код:
R := 55 mod 7 + 4; |
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
sycva (09.09.2012)
| ||
|
#7
|
|||
|
|||
|
Цитата:
Так: Код:
var R : Integer; begin R := (55 mod 7) + 4; ЗЫ. Упс... уже опередили ![]() |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
sycva (09.09.2012)
| ||
|
#8
|
||||
|
||||
|
Во-первых: Вы не правильно объявили константы. Нужно так:
Код:
const z = 0.512; k = 3; U = 43 - 13 div 3; R = 55 mod 7 + 4; В третьих: в строке Код:
b:= (Sin(z+U))/(2,46+a*R) + power(r; 5)/(25*k); P.S.: как много народу стало :-) |
| Этот пользователь сказал Спасибо Kailon за это полезное сообщение: | ||
sycva (09.09.2012)
| ||