Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Математические вычисления в языке программирования Object Pascal

Лабораторная работа №4.

Тема: Раздел описаний процедуры. Математические возможности языка программирования Delphi.

Раздел описаний процедуры.

В языке программирования Delphi методы и обработчики событий объектов оформляются в виде процедур и функций. Например, обработчик события onClick кнопки Button1 выглядит следующим образом:

procedure TForm1.Button1Click(Sender: TObject);

Begin

end;

Здесь мы видим заголовок процедуры и раздел операторов. В процедуре также могут использоваться переменные стандартных или описанных пользователем типов, константы, метки и т.д. В качестве имен переменных, процедур, типов (и вообще любых объектов Delphi) используются идентификаторы.

Определение: Идентификатором мы будем называть любую последовательность латинских букв, цифр и символа подчеркивания («_»). Идентификатор не может начинаться с цифры и не может содержать пробелов.

 

Сейчас рассмотрим структуру процедуры более подробно:

Procedure (Function) <Имя>(<список параметров>);-Заголовок процедуры

Label

Раздел описания меток

Const

Раздел описания констант

Type

Раздел описания типов

Var

Раздел описания переменных

Begin

Раздел операторов

End;

РАЗДЕЛ МЕТОК. Любой оператор программы может быть помечен. Для этого перед ним через двоеточие ставят метку. Оператор не может быть помечен более, чем одной меткой. Все метки операторов должны быть различны. На помеченные операторы можно сослаться с помощью оператора перехода. В качестве меток используются целые числа от 0 до 9999, например:

34:Label1.caption:=’Привет, мир’;

В Object Pascal меткой может быть любой идентификатор. Любая метка, используемая в программе, должна быть предварительно описана в разделе меток. Этот раздел открывается служебным словом LABEL, за которым через запятые перечислены метки. Завершается раздел меток точкой с запятой. Пример непустого раздела меток:

LABEL 25,34,9,3451;

LABEL A1,A2,345,B;

Более подробно использование меток рассмотрим на следующих занятиях.

 

РАЗДЕЛ КОНСТАНТ. Константой называется конкретное значение того или иного типа, которое зафиксировано в тексте программы и не может изменяться в процессе выполнения программы. Константе можно дать имя и использовать его в качестве синонима константы. При описании константы указывают ее имя знак равенства и саму константу, например:

E=2.7818281828,

Имя, использованное для определения константы, можно употреблять при определении последующих констант. Например: NE=-E; Все описания констант должны содержаться в разделе определения констант. Этот раздел начинается служебным словом CONST и заканчивается точкой с запятой. Если в разделе несколько констант, то они отделяются друг от друга точкой с запятой. Например:

CONST E=2.71828;

NE=-E;

Word='ФУНКЦИЯ';

Maximum=100;

 

РАЗДЕЛ ТИПОВ. В Паскале имеются стандартные типы значений, которые могут использоваться в программе без каких-либо дополнительных описаний. Наряду с этими типами можно вводить в употребление и другие типы значений. Однако, в отличие от стандартных, каждый такой тип должен быть явно определен в программе. Все описания типов должны быть даны в разделе типов. Этот раздел начинается служебным словом TYPE, за которым следуют описания типов, отделенные друг от друга точкой с запятой, например:

TYPE Index=1..20; //Переменная типа index принимает значение от 1 до 20

В разделе описания типов описываются и объекты Delphi. Например, описание объекта – формы может выглядеть следующим образом:

TForm1 = class (TForm)

Button1: TButton;

Private

{ Private declarations }

Public

{ Public declarations }

end;

 

РАЗДЕЛ ПЕРЕМЕННЫХ. Каждая переменная, встречающаяся в программе, должна быть описана в разделе описания переменных. Описание переменной предшествует использованию ее в программе. Для описания переменнй указывают ее имя и через двоеточие ее тип, например:

I:Integer;

X:Real;

В Паскале с помощью одного описания можно ввести в употребление сразу несколько переменных одного и того же типа, в этом случае имена переменных разделяются запятыми:

I,J,K,L:Integer;

X,Y:Real;

Все описания переменных должны содержаться в разделе переменных, который начинается служебным словом VAR. Описания отделяются друг от друга точкой с запятой. Каждая переменная, используемая в программе, должна быть описана не более одного раза.

Пример раздела переменных:

VAR I,J,K:Integer;

X,Y,Z:Real;

M,N:Integer;

D1,D2:Day;

Наиболее часто используются переменные следующих типов:

Integer - целочисленная переменная

Real - Действительные числа

Char - Символьная переменная

String - Строковая переменная

Boolean - логическая переменная

РАЗДЕЛ ОПЕРАТОРОВ. Это основной раздел процедуры. Здесь задаются те действия, которые должны быть выполнены при работе данной процедуры. Раздел операторов начинается служебным словом BEGIN, а заканчивается служебным словом END и точкой с запятой. Операторы отделяются друг от друга точками с запятыми, перед служебным словом END точка с запятой не обязательна.

Пример 1: Найти квадрат введенного пользователем числа.

Задачу решим следующим образом: Нахождение квадрата числа поручим обработчику события OnClick объекта Button1(кнопка) . Само число введем в поле ввода Edit1 . Вывод результата осуществим с помощью объекта Label1(Метка, надпись) .

При решении этой задачи будем использовать следующие функции:

IntToStr – преобразование целого числа в строку

StrToInt – преобразование строки в целое число

FloatToStr – преобразование действительного число в строку

StrToFloat – преобразование строки в действительное число

procedure TForm1.Button1Click(Sender: TObject);

Var

Y,X:Integer; - переменная Y целочисленная

Begin

X:=StrToInt(edit1.text); - переменной X присваиваем значение свойства text

объекта edit1, преобразованное в целое число.

Y:=X*X; - Переменной Y присваиваем значение X*X

Label1.caption:=IntToStr(Y); - свойству Caption присваиваем

преобразованное к строке значение Y

end;

Замечание 1: Рассмотрим строку Label1.caption:=IntToStr(Y). Здесь левая часть равенства имеет значение типа String. И поэтому если бы мы записали Label1.caption:=Y, то возникла ошибка несоответствия типов, т.к. Y:Real.

Замечание 2: Для ввода данных в наших программах мы будем использовать поле ввода edit1. Поле ввода содержит свойство Text – введенный текст. Для вывода данных – объекты Label.

 

Рассмотрим пример программы, когда необходимо включить константы:

Пример 2: вычислить значение выражения c = a + b, при а=10, b=3. Результат вывести на экран.

procedure TForm1.Button1Click(Sender: TObject);

Const

a=10;

b=3;

Var

с:Real;

Begin

с:=а+b;

label1.caption:=FloatToStr(с);

end;

 

Контрольные вопросы.

1. Дайте определение идентификатора.

2. Для чего служит раздел описания меток?

3. Для чего служит раздел описания констант?

4. Для чего служит раздел описания типов?

5. Для чего служит раздел описания переменных?

6. Каким образом можно осуществить вывод данных на экран?

Тема: Математические возможности языка программирования Delphi.

Цель: Познакомиться с математическими возможностями языка программирования Delphi. С помощью арифметических и математических операций и функций научиться находить значения математических выражений.

Для начала познакомимся с типами данных. Любые данные, т.е. константы, переменные, свойства, значения функций или выражения, в Object Pascal характеризуются своими типами. Тип определяет множество допустимых значений, которые может иметь тот или иной объект, а также множество допустимых операций, применимых к нему. Существует несколько типов данных. Рассмотрим некоторые из них, которые часто будем встречать в работах.

1. Порядковые типы отличаются тем, что каждый из них имеет конкретное число возможных значений. Эти значения можно определенным образом упорядочить и, следовательно, с каждым из них можно сопоставить целое число — порядковый номер значения.

К любому из порядковых типов применимы функции:

Ord(x) — возвращает порядковый номер значения выражения х

Pred(x) — возвращает предыдущее значение порядкового типа

Succ(x) — возвращает следующее значение порядкового типа

Например,

Succ(10)=11

Ord(‘A’)=65 (код буквы А)

2. Целые типы. Диапазон возможных значений целых типов зависит от их внутреннего представления.

Название Длина, байт Диапазон значений
Byte   0...255
ShortInt   -128...127
SmallInt   -32768...32767
Word   0...65535
Integer   -2147483648...2147483647
LongInt   -2147483648...2147483647
LongWord   0...4294967295
Int64   -9*1018...9*1018
Cardinal   0...2147483647

3. Логические типы. К логическим относятся типы Boolean, ByteBool, Bool, WordBool, LongBool. В стандартном паскале определен только тип Boolean, остальные типы введены в Object Pascal для совместимости с Windows. Значениями логического типа может быть одна из предварительно объявленных констант False (ложь) или True (истина).

Например:

procedure TForm1.Button1Click(Sender: TObject);

Var

c:Boolean;

Begin

c:=True;

end;

4. Символьный тип. К символьному типу относится тип Char. Значениями символьного типа является множество всех символов кодовой таблицы.

Например:

procedure TForm1.Button1Click(Sender: TObject);

Var c:Char;

Begin

c:=’A’;

end;

 

5. Перечисляемый тип задается перечислением тех значений, которые он может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками.

Например,

colors=(red,white, blue).

6. Тип-диапазон есть подмножество своего базового типа, в качестве которого может выступать любой порядковый тип, кроме типа-диапазона.

Тип-диапазон задается границами своих значений внутри базового типа:

<минимальное значение>..<максимальное значение>.

Например:

Type

dig=0..9

lchr=‘A’..’Z’

7. Вещественные типы. Вещественным типом могут быть действительные числа, комплексные числа и др. (см. таблицу ниже).

 

Длина, байт Название Количество значащих цифр Диапазон значений
8[1] Real 15...16 5,0*10-324...1,7*10308
  Single 7...8 1,5*10-45...3,4*1038
  Double 15...16 5,0*10-324...1,7*10308
  Extended 19...20 3,4*10-4951...1,1*104932
  Comp 19...20 -263... -263+1
  Currency 19...20 ±922337203685477,5807

С остальными типами мы познакомимся на следующих занятиях.

 

Математические вычисления в языке программирования Object Pascal

Для записи математических формул в Object Pascal используются выражения. Выражение состоит из операций и операндов.

Например, Y:=X*20.

X*20 - это выражение, * - операция, X и 20 – операнды.

 

Для вычислений используются следующие арифметические операции:

Обозначение Операция Типы операндов Тип результата Пример
+ Сложение Integer, Real Integer, Real X+Y
- Вычитание Integer, Real Integer, Real X-Y
* Умножение Integer, Real Integer, Real X*Y
/ Деление Integer, Real Real X/Y
Div Целочисленное деление Integer Integer X div Y
Mod Остаток целочисленного деления Integer Integer X mod Y

 

В первых четырех операциях операнды могут быть как целого, так и вещественного типов. Для операций div и mod операндами могут служить только целые числа.

Результат операций +, *, - зависит от типа операндов: если хотя бы один из операндов – действительное число, то и результат – действительное число. Если оба операнда целочисленные, то и результат – целое число. Результат деления всегда является дробным (например, 10/5 – дробное число). Результатом операций div и mod может быть только целое число.

Для вычислений также используются и математические функции.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...