Составить программу, нахождение степени числа, используя подпрограмму (функцию нахождения...

0 голосов
51 просмотров

Составить программу, нахождение степени числа, используя подпрограмму (функцию нахождения степени).Программа должна облодать интерфейсом (На паскале с описаниями)


Информатика (153 баллов) | 51 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

//Pascal ABC.NET 3.1 сборка 1219

//Вариант с нормальным интерфейсом
uses
 system,system.Windows.Forms;

Var
 myForm:Form;
 myButton:Button;
 myTextBox1:TextBox;
 myTextBox2:TextBox;
 myTextBoxRez:TextBox;

procedure MyButtonClick(sender:Object;e:EventArgs);
Var  i,ar,a,b:integer;
begin
a:=strtoint(myTextBox1.text);
b:=strtoint(myTextBox2.text);
ar:=1;
 for i:=1 to b do
  ar:=ar*a;
 myTextBoxRez.Text:=ar.ToString;
end;
 begin
myForm:=new Form; //создание объекта - формы
   myform.Left:=500;
   myform.top:=500;
   myform.AutoSize:=true;
   myform.Width:=300;
   myform.Height:=100;
myTextBox1:=new TextBox; //создание объекта - текстового поля для числа
myTextBox1.Left:=80;
   myTextBox1.Top:=40;
   myTextBox1.Enabled:=true;
   myTextBox1.Width:=105;
   myTextBox1.Height:=100;
   myTextBox1.MaxLength:=16;
   myTextBox1.ReadOnly:=false;
   myTextBox1.Visible:=true;
myTextBox2:=new TextBox; //создание объекта - текстового поля для степени
myTextBox2.Left:=80;
   myTextBox2.Top:=80;
   myTextBox2.Enabled:=true;
   myTextBox2.Width:=105;
   myTextBox2.Height:=100;
   myTextBox2.MaxLength:=16;
   myTextBox2.ReadOnly:=false;
   myTextBox2.Visible:=true;
myTextBoxRez:=new TextBox; //создание объекта - текстового поля для результата
myTextBoxRez.Left:=80;
   myTextBoxRez.Top:=120;
   myTextBoxRez.Enabled:=true;
   myTextBoxRez.Width:=105;
   myTextBoxRez.Height:=100;
   myTextBoxRez.MaxLength:=16;
   myTextBoxRez.ReadOnly:=true;
   myTextBoxRez.Visible:=true;
myButton:=new Button; //создание объекта - кнопки
   myButton.Text:='^';
   myButton.Left:=80;
   myButton.top:=160;
   myButton.AutoSize:=true;
myForm.Controls.Add(myTextBox1);
myForm.Controls.Add(myTextBox2);
myForm.Controls.Add(myTextBoxRez);
myForm.Controls.Add(myButton);
myButton.click+=MyButtonClick;
Application.Run(myForm);
end.




//Вариант с CRT
Uses
 Crt;

Var
 a,b:integer;

 function fpow(a,b:integer):integer;
Var
 rez,i:integer;
begin
rez:=1; //чтобы не было 0
for i:=1 to b do //умножаем rez на a b раз чтобы получить нужную степень
rez:=rez*a;
fpow:=rez;
end;

begin
clrscr;
Write('Введите число:');
readln(a);
write('Введите требуемую степень числа:');
readln(b);
writeln('Результат:',fpow(a,b));
end.

Пример ввода:
2
10
Пример вывода:
1024

(38.6k баллов)
0

Можете нормально написать программу в паскале с функциями

0

Для меня это вполне "нормально". Покажите мне образец своего представления о нормальности.

0

Program ProcedureAndFunction;
Uses
Crt;
Var
a, b, SumNumbers : integer;
Procedure Summa1(Var Sum : integer; a, b : integer);
Begin
Sum:= a+b;
End;
Function Sum(a, b : integer) : integer;
Begin
Sum:= a+b;
End;
Begin
ClrScr;
a := 12;
b := 15;
Summa1(SumNumbers, a, b);
writeln ('С помощью процедуры сумма чисел равна ', SumNumbers);
writeln ('С помощью функции сумма чисел равна ', Sum(a, b));
End.

0

И это у Вас называется полноценным интерфейсом? Я катаюсь по полу от смеха.

0

Работаю.

0

Просто нужна программа с функцией рабочая с описанием в паскале

0

power() для чего, хех? Попытаюсь расписать как оно работает в комментариях к коду.

0

главное чтобы программа была рабочей

0

Описани можно и потом

0

Добавил.