
- •Цикл с параметром
- •Операторы ограничения и прерывания цикла
- •Cледование и ветление
- •Команды повторения Цикл со счётчиком
- •Цикл с условием
- •Цикл типа пока
- •Вложенные циклы
- •Интегрированная среда программирования Turbo Pascal 7.0
- •17.1. Вход в интегрированную среду
- •Структура программы
- •Комментарии
- •Оператор присваивания
- •Процедура ввода информации
- •Процедура вывода информации на печать
- •Операции над строками
- •Логический тип данных. Логические операции not, and, or. Нахождение значений логических выражений
- •Стиль программирования, облегчающий отладку
- •Основные виды ошибок программирования
- •Средства, которыми располагает отладчик Турбо-Паскаля
- •Оператор присваивания
- •Составной оператор
- •Основные математические функции
- •Операции над множествами
Оператор присваивания
Основное преобразование данных, выполняемое компьютером, - присвоение переменной нового значения.
Общий вид оператора присваивания:
Имя_переменной:=арифметическое выражение;
При выполнении оператора присваивания рассматривается арифметические выражения, из ячеек оперативной памяти, соответствующих стоящим там именам, вносятся в процессор значения и выполняется указанные действия над данными. Полученный результат записывается в ячейку памяти, имя которой указано слева от знака присваивания.
Например:
x:=3.14 |
Переменной х присвоить значение 3.14 |
a:=b+c |
Из ячеек b и c считываются заранее помещенные туда данные, вычисляется сумма, результат записывается в ячейку а |
i:=i+1 |
Значение переменной увеличивается на единицу |
Для типов переменной слева и арифметического выражения справа от знака присваивания существуют ограничения:
1) если переменная вещественного типа, то арифметическое выражение может быть как целого, так и вещественного типа, т. е. содержать либо целые переменные и допустимые для них операции, либо вещественные, либо и те, и другие (тогда выражение преобразуется к вещественному типу);
2) если переменная слева целого типа, то арифметическое выражение только целочисленное.
Это означает, что можно, например, вещественной переменной присвоить целое значение.
Составной оператор
Этот оператор, строго говоря, оператором не является. Дело в том, что также как арифметические действия иногда бывает необходимо заключать в скобки, последовательности команд (операторов) тоже иногда требуют объединения. Это позволяют сделать так называемые операторные скобки. Формат (общий вид) составного оператора таков:
Begin <Оператор 1>; <Оператор 2>; ...... <Оператор N> End;
Возможно, такая структура напоминает вам основную структуру программы. Действительно, отличие только в том, что после End в конце составного оператора ставится точка с запятой, а в конце программы - точка. По своей сути вся программа представляет собой большой составной оператор.
Обратите внимание на то, что точка с запятой перед End может не ставиться.
Составной оператор предоставляет возможность выполнить произвольное количество команд там, где подразумевается использование только одного оператора. Как вы узнаете потом, такая необходимость встречается довольно часто
Алгоритм выполнения программы «Инженерный калькулятор».
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Edit1: TEdit;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
Button17: TButton;
Button18: TButton;
Button19: TButton;
Button20: TButton;
Button21: TButton;
Button22: TButton;
Button23: TButton;
Button24: TButton;
Button25: TButton;
Button26: TButton;
Button27: TButton;
Button28: TButton;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
procedure Button19Click(Sender: TObject);
procedure Button20Click(Sender: TObject);
procedure Button21Click(Sender: TObject);
procedure Button22Click(Sender: TObject);
procedure Button23Click(Sender: TObject);
procedure Button24Click(Sender: TObject);
procedure Button25Click(Sender: TObject);
procedure Button26Click(Sender: TObject);
procedure Button27Click(Sender: TObject);
procedure Button28Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
oper:byte;
a, b:real;
implementation
procedure TForm1.Button1Click(Sender: TObject);
begin
a:=strtofloat(edit1.Text);
edit1.Text:='';
oper:=1;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
a:=strtofloat(edit1.Text);
Edit1.Text:='';
oper:=2;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
a:=strtofloat(edit1.Text);
edit1.Text:='';
oper:=3;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
a:=strtofloat(edit1.Text);
edit1.Text:='';
oper:=4;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(1);
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(2);
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(3);
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(4);
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(5);
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(6);
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(7);
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(8);
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(9);
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+inttostr(0);
end;
procedure TForm1.Button14Click(Sender: TObject);
var r:real;
begin
b:=strtofloat(edit1.Text);
if oper=1 then
begin
r:=a*b;
Edit1.Text:=floattostr(r);
end;
if oper=2 then
begin
if (b<>0) then
begin r:=a/b; Edit1.Text:=floattostr(r); end else
ShowMessage('На 0 делить нельзя');
end;
if oper=3 then
begin
r:=a+b;
Edit1.Text:=floattostr(r);
end;
if oper=4 then
begin
r:=a-b;
Edit1.Text:=floattostr(r);
end;
if oper=5 then
begin
r:=exp(b*ln(a));
Edit1.Text:=floattostr(r);
end;
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
edit1.Text:='';
end;
procedure TForm1.Button17Click(Sender: TObject);
var r:real; f:real;
begin
a:=strtofloat(edit1.Text);
f:=a*3.14159265359/180 ;
r:=sin(f);
Edit1.Text:=floattostr(r);
end;
procedure TForm1.Button18Click(Sender: TObject);
var r:real; f:real;
begin
a:=strtofloat(edit1.Text);
f:=a*3.14159265359/180 ;
r:=cos(f);
Edit1.Text:=floattostr(r);
end;
procedure TForm1.Button19Click(Sender: TObject);
var r:real; f:real; n:longint;
begin
a:=strtofloat(edit1.Text);
f:=a*3.14159265359/180 ;
if (f<>180/2+180*n) then
begin r:=sin(f)/cos(f); Edit1.Text:=floattostr(r); end else
ShowMessage('Невозможно определить');
end;
procedure TForm1.Button20Click(Sender: TObject);
var r:real; f:real; n:longint;
begin
a:=strtofloat(edit1.Text);
f:=a*3.14159265359/180 ;
if (f<>180*n) then
begin r:=cos(f)/sin(f); Edit1.Text:=floattostr(r); end else
ShowMessage('Невозможно определить');
end;
procedure TForm1.Button21Click(Sender: TObject);
Var i:integer; factorial:longint; n:byte;
begin
n:=strToInt (edit1.Text);
factorial:=1;
For i:=1 to n do
Factorial:=factorial*i;
edit1.Text:=floattostr(factorial);
end;
procedure TForm1.Button22Click(Sender: TObject);
var r:real;
begin
a:=strtofloat(edit1.Text);
r:=a*a;
edit1.Text:=floattostr(r);
end;
procedure TForm1.Button23Click(Sender: TObject);
begin
b:=3.14159265359;
edit1.Text:=floattostr(b);
end;
procedure TForm1.Button24Click(Sender: TObject);
var r:real;
begin
a:=strtofloat(edit1.Text);
r:=a*a*a;
edit1.Text:=floattostr(r);
end;
procedure TForm1.Button25Click(Sender: TObject);
begin
a:=strtofloat(edit1.Text);
edit1.Text:='';
oper:=5;
end;
procedure TForm1.Button26Click(Sender: TObject);
var r:real;
begin
a:=strtofloat(edit1.Text);
if a>=0 then begin
r:=sqrt(a);
edit1.Text:=floattostr(r);
end else begin
ShowMessage('Корень из отрицательного числа извлечь нельзя');
end;
end;
procedure TForm1.Button27Click(Sender: TObject);
var r:real;
begin
a:=strtofloat(edit1.Text);
if a>0 then begin
r:=ln(a); edit1.Text:=floattostr(r)end else
ShowMessage('ln при x<=0 неопределён');
end;
procedure TForm1.Button28Click(Sender: TObject);
var r:real;
begin
a:=strtofloat(edit1.Text);
if (a<>0) then begin
r:=1/a; Edit1.Text:=floattostr(r); end else
ShowMessage('На 0 делить нельзя');
end; end.
Основные математические функции Турбо-Паскаля. Примеры их использования.