русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Оператор присваивания


Дата добавления: 2015-06-12; просмотров: 727; Нарушение авторских прав


В Delphi оператор присваивания состоит из двух символов: двоеточия и знака равенства. Эти символы всегда пишут слитно. Пробелы допускаются перед символом двоеточия и после символа равенства.

В общем случае оператор присваивания имеет вид:

имя_переменной := значение;

где значение это выражение, переменная, константа или функция.

 

Выполняется оператор так. Сначала вычисляется значение выражения указанного в правой части оператора, а затем его результат записывается в область памяти, имя которой указано слева.

Например, запись a:=b означает, что переменной а присваивается значение b.

Типы переменных a и b должны совпадать или быть совместимыми для присваивания, то есть тип, к которому принадлежит переменная b, должен находиться в границах типа переменной а.

Оператор присваивания, как и любой другой оператор Delphi заканчивается точкой с запятой.

Например,

b:=3;

a:=b;

c:=a+2*b;

c:=c+1;

a:=a*3;

ЗАДАЧА. Пусть в переменной а хранится значение равное 3, а в переменную b записали число 5. Поменять местами значения переменных а и b.

Для решения задачи понадобится дополнительная переменная c. В ней временно сохраняется значение переменной а. Затем, значение переменной b записывается в переменную a, а значение переменной c в переменную b.

с:=a; // Шаг 1. с=3

a:=b; // Шаг 2. a=5

b:=c; // Шаг 3. b=3

 

ЗАДАЧА. Заданы длины двух катетов прямоугольного треугольника a, b. Вычислить длину гипотенузы c и величины двух его углов α и β.

Математические формулы, необходимые для решения задачи:

, , β=π/2-α.

 

Этапы решение задачи:

1. Определение значений a, b (ввод величин a и b в память компьютера).

2. Расчет значений c, α и β по приведенным выше формулам.

3. Вывод значений c, α и β.



 

Блок-схема алгоритма

Вид формы:

Заголовки компонентов формы.

Компонент Свойство Caption
Form1 Параметры треугольника
Label1 Катеты треугольника
Label2 a=
Label3 b=
Label4 Гипотенуза с=
Label5 Угол alfa=
Label5 Угол betta=
Button1 ВЫЧИСЛИТЬ

 

 

Двойной щелчок по кнопке «ВЫЧИСЛИТЬ» приведет к созданию процедуры:

procedure TForm1.Button1Click(Sender: TObject);

begin

 

end;

и ее описанию в разделе interface.

 

Созданная процедура не содержит ни одной команды. Задача программиста заполнить шаблон описаниями и операторами. В нашем случае процедура будет иметь вид:

procedure TForm1.Button1Click(Sender: TObject);

var a,b,c,alfa,betta: real;

begin

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

c:=sqrt(sqr(a)+sqr(b));

alfa:=arctan(a/b);

betta:=pi/2-alfa;

alfa:=alfa*180/pi;

betta:=betta*180/pi;

Label4.Caption:='Гипотенуза с='+FloatToStr(c);

Label5.Caption:='Угол alfa='+FloatToStr(alfa);

Label6.Caption:='Угол betta='+FloatToStr(betta);

end;

В результате весь программный код имеет вид:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var a,b,c,alfa,betta:real;

begin

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

c:=sqrt(sqr(a)+sqr(b));

alfa:=arctan(a/b);

betta:=pi/2-alfa;

alfa:=alfa*180/pi;

betta:=betta*180/pi;

Label4.Caption:='Гипотенуза с='+FloatToStr(c);

Label5.Caption:='Угол alfa='+FloatToStr(alfa);

Label6.Caption:='Угол betta='+FloatToStr(betta);

end;

end.

Результат работы программы

 

ЗАДАЧА. Зная a, b, c – длины сторон треугольника, вычислить площадь S и периметр P этого треугольника.

Входные данные: a, b, c.

Выходные данные: S, P.

Для вычисления площади применим формулу Герона:

,

где r – полупериметр.

Компонентам типа надпись Label5 и Label6, предназначенным для вывода результатов, определим свойство

Visible=false.

Компонентам, предназначенным для ввода данных Edit1, Edit2, Edit3,

определим свойство Text - пусто, чтобы пользователю было удобнее вводить исходные данные

По умолчанию свойство Text совпадает с именем компонента, и пользователю пришлось бы их удалять перед вводом исходных данных.

 

 

Разместим на форме две кнопки. Будет обрабатываться два события:

· щелчок по кнопке Button1 запускает расчет по формулам;

· щелчок по кнопке Button2 закрывает форму.

Программа:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Button1: TButton;

Button2: TButton;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

//кнопка ВЫЧИСЛИТЬ.

procedure TForm1.Button1Click(Sender: TObject);

var

a,b,c,S,r:real;

begin

//Ввод исходных данных.

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

c:=StrToFloat(Edit3.Text);

//Вычисление полупериметра.

r:=(a+b+c)/2;

//Вычисление площади.

S:=sqrt(r*(r-a)*(r-b)*(r-c));

//Визуализация компонента.

Label5.Visible:=true;

//Форматированный вывод.

Label5.Caption:= 'Периметр треугольника'+chr(13)

+FloatToStrF(2*r,ffFixed,5,2)+chr(13)+'Площадь треугольника'+chr(13)

+FloatToStrF(S,ffFixed,5,2);

end;

//Кнопка ЗАВЕРШЕНИЕ РАБОТЫ.

procedure TForm1.Button2Click(Sender: TObject);

begin

Close;

end;

end.




<== предыдущая лекция | следующая лекция ==>
Изображение алгоритма в виде блок-схемы | Условные операторы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.48 сек.