|
#1
|
||||
|
||||
Процедуры
Помогите с задачей, очень нужно, пожалуйста.
Написать и протестировать процедуру, которая одной действительной переменной присваивает значение, равное сумме квадратов двух действительных значений, а другой переменной — значение, равное удвоенному произведению тех же двух действительных значений. |
#2
|
||||
|
||||
Код:
procedure TForm1.Button1Click(Sender: TObject); var a,b:real; procedure ab; begin a:=a*a+b*b; b:=2*b*sqrt(a-b*b); end; begin Memo1.Lines.Clear; a:=strtofloat(edit1.Text); b:=strtofloat(edit2.Text); ab; Memo1.Lines.Add('a = '+floattostr(a)); Memo1.Lines.Add('b = '+floattostr(b)); end; челювек, почему у тебя с репутацией так все плохо? Особо уже отличился на форуме? Или очередной восмиклассник захотел "пятерку" по информатике? Последний раз редактировалось Konrad, 13.05.2009 в 23:10. |
#3
|
||||
|
||||
Сам не знаю почему у меня -3 с репой, странно, спасибо за помощь с задачей, я замучался с ней
|
#4
|
||||
|
||||
спасибо еще раз за задачу и я пробовал искать в книге своей, Delphi6-7, но так ничего похожего хотя бы на немного на мою задачу не смог(
|
#5
|
||||
|
||||
тока мне в паскале надо было, но ладно, главное что примерно понятно как делать
|
#6
|
|||
|
|||
Лучше для этого использовать входные и выходные параметры:
Код:
program Test; procedure Calc(a, b : real; var c, d : real); begin c := a*a + b*b; d := 2*a*b; end; var a, b, c, d : real; begin Write('Введите значение a:'); ReadLn(a); Write('Введите значение b:'); ReadLn(b); Calc(a,b,c,d); WriteLn('Сума квадратов = ',c); WriteLn('Удвоенное произведение = ',d); ReadLn; end. |
#7
|
||||
|
||||
lmikle, я просто подумал что весь прикол задачи в том, чтобы использовать только две переменные.
Если написать так: ab(a, b : real); то машине понадобиться вызывать параметры, а это лишные операции, в большой проге согласен, та и в даном примере я так понял нужно было минимизировать затраты памяти. Последний раз редактировалось Konrad, 14.05.2009 в 15:21. |