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

Выбор масштабного коэффициента




Тип выражения

Тип выражения определяется типом операндов, входящих в выражение, и зависит от операций, выполняемых над ними

Таблица 1.5. Правила определения типа выражения

         
  Оператор Тип операндов Тип выражения  
  *, +, - Хотя бы один из операндов real real  
  *, +, - Оба операнда integer integer  
  / real или integer Всегда real  
  DIV, MOD Всегда integer Всегда integer  
         

Математические функции

Математические функции (табл. 1.6) позволяют выполнять различные вычисления.

Таблица 1.6. Математические функции

       
  Функция Значение  
  Аbs (n) Абсолютное значение n  
  Sqrt (n) Квадратный корень из n  
  Sqr (n) Квадрат n  
  Sin (n) Синус n  
  Cos (n) Косинус n  
  Arctan (n) Арктангенс n  
  Ехр(n) Экспонента n  
  Ln(n) Натуральный логарифм n  
  Rardom(n) Случайное целое число в диапазоне от 0 до n- 1    

 

2. Простые типы данных 1)Порядковый тип: Целый тип(7 типов)
         
  Тип Диапазон Формат  
  Shortint -128-127 8 битов  
  Smallint -32 768 - 32 767 16 битов  
  Longint -2 147 483 648 - 2 147 483 647 32 бита  
  Int64 -263- 263 - 1 64 бита  
  Byte 0-255 8 битов, беззнаковый  
  Word 0-65 535 16 битов, беззнаковый  
  Longword 0 - 4 294 967 295 32 бита, беззнаковый  
         

Object Pascal поддерживает и наиболее универсальный целый тип - Integer, который ЭквивалентенLongint.

Логический тип

Логическая величина может принимать одно из двух значений True (истина) или False (ложь). В языке Delphi логические величины относят к типу Boolean.

Символьный тип

Язык Delphi поддерживает два символьных типа:

тип Ansichar — это символы в кодировке ANSI, которым соответствуют числа в диапазоне от 0 до 255;

тип widechar — это символы в кодировке Unicode, им соответствуют числа от 0 до 65 535.

Object Pascal поддерживает и наиболее универсальный символьный тип - Char, который эквивалентен Ansichar.

Перечисляемые типы данных

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

TDirection = (North, South, East, West);

Вещественный тип

Язык Delphi поддерживает шесть вещественных типов: Типы различаются между собой диапазоном допустимых значений, количеством значащих цифр и количеством байтов, необходимых для хранения данных в памяти компьютера (табл. 1.2).

Таблица 1.2. Вещественные (дробные) типы

           
  Тип Диапазон Значащих цифр Байтов  
  Real48 2.9x 10-39-1.7x1038 11-12    
  Single 1.5 x 10-45-3.4х 1038 7-8    
  Double 5.0x10-324 -1.7x10308 15-16    
  Extended 3.6x10-4951 -1.1 х104932 19-20    
  Comp 263+1 - 263-1 19-20    
  Currency -922 337 203 685 477.5808 --922 337 203 685 477.5807 19-20    
           

Язык Delphi поддерживает и наиболее универсальный вещественный тип - Real, который э квивалентен Double.

Временной тип данных

Для представления значений даты и времени в среде Delphi существует тип TDateTime. Он объявлен тождественным типу Double. Целая часть элемента данных типа TDateTime соответствует количеству дней, прошедших с полночи 30 декабря 1899 года. Дробная часть элемента данных типа TDateTime соответствует времени дня.

 

 
  4. Логические операции и выражения Результатом логического выражения является логическое значение True или False. Логические выражения чаще всего используются в условной инструкции и в инструкциях цикла и состоят из: логических констант True и False; логических переменных типа boolean; операций сравнения (отношения); логических операций; круглых скобок. Для установления отношения между двумя значениями, заданными выражениями, переменными или константами, используются следующие операции сравнения:
           
  Оператор Описание Результат сравнения    
  > Больше True, если первый операнд больше второго, иначе False    
  < Меньше True, если первый операнд меньше второго, иначе False    
  = Равно True, если первый операнд равен второму, иначе False    
           
         
  Оператор Описание Результат сравнения  
  <> Не равно True, если первый операнд не равен второму, иначе False  
  >= Больше или равно True, если первый операнд больше или равен второму, иначе False  
  <= Меньше или равно True, если первый операнд меньше или равен второму, иначе False  
         
                 

Операции сравнения производятся после вычисления соответствующих выражений. Результатом операции сравнения является значение False, если соответствующее отношение не выполняется, и значение True, если отношение выполняется.

Логические операции (с результатом типа boolean) при применении их к логическим выражениям (операндам логического типа) вырабатывают значения также логического типа. Логические операции And, Or и Xоr являются бинарными, операция Not — унарной. Напомним, что в языке Delphi есть одноименные побитовые (поразрядные) операции, выполняющие действия над битами (разрядами) целых чисел.

Not — Отрицание

And — Логические И

Or — Логическое ИЛИ

Xor — Исключающее ИЛИ

Результат выполнения логических операторов and, or и not представлен в табл.

Таблица 2.2. Выполнение логических операций

             
  Op1 Op2 Opt and Op2 Op1 or Op2 not Op1  
  False False False False True  
  False True False True True  
  True False False True False  
  True True True True False  
             

 

7Комбинированные и множественные типы данные

Комбинированные типы

Записи - это структура данных, каждый элемент которой имеет собственное имя и тип данных. Элемент записи иначе называют поле. Описание записи имеет вид:

type имя_типа_записи = record

название_поля: тип_поля;

...

название_поля: тип_поля;

end;

Названия полей, имеющих одинаковый тип, можно, как и в случае описания переменных, указывать в одну строку через запятую.

Множество - это группа элементов, объединённая под одним именем, и с которой можно сравнивать другие величины, чтобы определить, принадлежат ли они этому множеству. Количество элементов в одном множестве не может превышать 256. Множество описывается:

type имя_множества = set of диапазон_значений_множества;

Операции над множествами: 1)A*B(пересечение) – множество общ. А и B

2) A+B (объединение)- множество включ. А и B3)A-B (разность) – вкл. Значений одного мн. в другое4) A=B (проверка эквивалентности) 5) A<>B (проверка эквивалентности 6) <=вхождения; => выхождения

 

 

.---------------------------------------------------------------------------------------------

 

10. Подпрограммы функции (+ можно из 9 билета)

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

function Имя_Ф(Список формальных параметров: Тип): Тип;

const Список локальных констант, типов, переменных

Type

Var

begin {Исполняемый блок функции}

Операторы

Имя_Ф:=Выражение; {Присваивание значения функции}

end; {Конец описания функции}

 

Процедурные типы данных

Процедурный тип – это тип, с помощью которого обычные процедуры и функции можно интерпретировать как некоторую разновидность переменных. Определение процедурного типа состоит из зарезервированного слова procedure или function, за которым следует полное описание параметров. Для функции дополнительно указывается тип результата. Символические имена параметров никакой роли не играют, поскольку нигде не используются.

type

TProc = procedure (X, Y: Integer);

TFunc = function (X, Y: Integer): Boolean;

Определив процедурный тип, можно непосредственно перейти к так называемым процедурным переменным. Они объявляются точно так же, как и обычные переменные.

var

P: TProc;

F: TFunc;

При работе с процедурной переменной важно понимать, что она не дублирует код подпрограммы, а содержит лишь ее адрес. Если обратиться к такой переменной как к подпрограмме, произойдет выполнение подпрограммы, адрес которой записан в переменной.

program Console;

{$APPTYPE CONSOLE}

uses

SysUtils;

function Power(X, Y: Double): Double;

begin

Result:= Exp(Y * Ln(X));

end;

type

TFunc = function (X, Y: Double): Double;

var

F: TFunc;

begin

F:= Power; // В переменную F заносится адрес функции Power

Writeln('2 power 4 = ', F(2, 4)); // Вызов Power посредством F

Writeln('Press Enter to exit...');

Readln;

end.

 

 

0. Оператор With, do (Такого вопроса в списке нет)

Оператор присоединения имени ‑ With

Оператор используется для сокращения записи при обращении к полям записей, к свойствам и методам объектов и имеет вид:

With <список имен записей или объектов через запятую> Do <оператор>;

Допускается вложенность операторов With.

В операторе после Do можно не уточнять ссылки для полей, свойств и методов записей и объектов, соответственно, указанных после With.

 

 

 

16. Оператор выбора и оператор if

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

Case Переменная of

значение 1: оператор 1;

значение 2: оператор 2;

----

значение N: оператор N;

Else оператор;

end;

 

Case, of, else, end - зарезервированные слова.

Работа оператора Case осуществляется следующим образом. Вначале если необходимо вычисляется значение переменной. Затем ищется соответствие переменной значению N. При равенстве происходит выполнение оператора N и оператор case завершает свою работу. Если совпадений не найдено то выполняется оператор расположенный после слова else. При отсутствии оператора else, когда нет соответствия оператор case завершит свою работу и будет выполнен следующий оператор.

Оператор If

Оператор ветвления if — одно из самых популярных средств, изменяющих естественный порядок выполнения операторов программы. Вот его общий вид:

if <условие> then

<оператор 1>

else

<оператор 2>;

Условие — это выражение булевского типа, оно может быть простым или сложным. Сложные условия образуются с помощью логических операций и операций отношения. перед словом else точка с запятой не ставится.

Логика работы оператора if: выполнить оператор 1, если условие истинно, и оператор 2, если условие ложно.

У оператора if существует и другая форма, в которой else отсутствует:

if <условие> then <оператор>;

Логика работы этого оператора if еще проще: выполнить оператор, если условие истинно, и пропустить оператор, если оно ложно

Один оператор if может входить в состав другого оператора if. В таком случае говорят о вложенности операторов. При вложенности операторов каждое else соответствует тому then, которое непосредственно ему предшествует.

 

22. Свойства в Делфи

Типы свойств

Свойство - это поле какой-либо структуры, содержащее определённое значение. Отталкиваясь от того, каким образом задаются эти значения и какую "природу", т.е. структуру имеет свойство, выделено несколько типов свойств.

1. Простые свойства. Простыми являются те свойства, значения которых являются числами, либо строками (текстом). Примерами таких свойств могут служить Left и Top формы. Эти свойства определяют положение формы на экране (в частности, её левого верхнего угла). Значения этих свойств - числа. Пример свойства со значением-строкой - Caption формы. Это свойство хранит заголовок формы и задаётся в виде обычного текста.

2. Перечислимые свойства. Такими являются свойства, задать значения которым в явном виде нельзя, а можно только выбрать из списка. Список возможных значений определяется заранее. Пример такого свойства - свойство AutoSize формы. Оно отвечает за то, будет ли форма автоматически изменять свой размер, чтобы отобразить все размещённые на ней компоненты. Значение - либо истина (True), либо ложь (False). Другой пример - свойство BorderStyle. Это свойство отвечает за внешний вид формы, а также за поведение её границ, т.е. можно ли изменять размеры формы во время работы программы. Это свойство принимает одно из 6 значений.

3. Вложенные свойства. Это те свойства, которые имеют внутри несколько других свойств. В Инспекторе объектов слева от названий таких свойств отображается маленькая кнопка со знаком "+", нажатие на которую раскрывает данное свойство (знак при этом меняется на "-"). Повторный щелчок "сворачивает" свойство обратно. Вложенные свойства бывают двух основных типов - это множества и комбинированные значения. Множества - это набор каких-либо значений, каждое из которых либо "включено", либо "выключено". Комбинированные значения - это набор из нескольких свойств, которые могут иметь разный тип данных. Примером множества является свойство BorderIcons у формы - оно отвечает за кнопки, которые будут показаны в строке заголовка окна. Понятно, что любая из кнопок может либо отображаться на экране, либо нет - такой набор очень удобно задавать с помощью множества. Примером комбинированного значения является свойство Font (оно есть у большинства визуальных компонентов) - задаёт шрифт для элемента. В его включено несколько других свойств - название шрифта, цвет, стиль, размер и т.п.

 

 

 

Данные типа массив

Данные типа массив (+5 вопрос)

Массив – это структура данных, имеющая общий индентификатор, и представляющая собой упорядоченную по номерам совокупность однотипных элементов. Массив – одномерный, многомерный. Каждый элемент массива однозначно определяется именем массива и индексом Для обращения к отдельному элементу массива указываются имя этого массива и индекс (индексы) элемента, заключенный в квадратные скобки.

Количество индексных позиций определяется размерностью массива (одномерный, двумерный и т. д.), при этом размерность не ограничивается. Индексы элементов массива должны принадлежать порядковому типу. Разные индексы одного и того же массива могут иметь различные типы. Чаще всего индекс имеет целочисленный тип.

Различают массивы статические и динамические.

Статический массив представляет собой массив, границы индексов и, соответственно, размеры которого задаются при объявлении, т. е. они известны еще до компиляции программы.

Динамический массив представляет собой массив, для которого при объявлении указывается только тип его элементов, а размер массива определяется при выполнении программы.

Так же могут быть массивы с открытыми параметрами

В заголовке процедуры открытые параметры-массивы описываются следующим образом:

procedure OpenVector (Vector: array of TypeVector);

Открытый параметр-массив может быть параметром-значением, параметром-константой или параметром-переменной.

выбор масштабного коэффициента

 

Выбрать масштаб увеличения можно следующим образом:

-определить горизонтальный и вертикальный размеры графика (для этого вводятся границы области значений и определяются максимальное и минимальное значение функции на заданной области определения, затем вычисляются разности максимального и минимального значений аргументов и функции, которые и являются горизонтальным и вертикальным размерами графика соответственно);

-определить масштаб (сначала определяются масштабы изображения по горизонтали и вертикали с учетом размеров выбранного экрана

.

 

 

 
 

 

 
5. Структурированные типы данных 1) Массивы2)Записи 3)Множества 4)Файлы Массив – это структура данных, имеющая общий индентификатор, и представляющая собой упорядоченную по номерам совокупность однотипных элементов. Массив – одномерный, многомерный. type имя_типа_массива = array [диапазон] of <тип>_; Для того, чтобы узнать верхнюю или нижнюю границу массива служат встроенные функции: High(m) - вернёт число, являющееся верхней границей массива;Low(m) - вернёт число, являющееся нижней границей массива. C элементами массива можно производить какие угодно операции Многомерный, например, двумерный массив можно описать как массив массивов: type TMyArray = array [1.. 4] of array [1.. 3] of Integer; кроме статических массивов, у которых количество элементов неизменно, в Delphi можно использовать динамические массивы, количество элементов в которых допускается изменять в зависимости от требований программы. Описываются: type TDinArray = array of Integer; var A: TDinArray; После создания в динамическом массиве нет ни одного элемента. Необходимый размер задаётся в программе специальной процедурой SetLength. Записи- это структура данных, каждый элемент которой имеет собственное имя и тип данных. Элемент записи иначе называют поле. Описание записи имеет вид: type имя_типа_записи = record название_поля: тип_поля; ... название_поля: тип_поля; end; Названия полей, имеющих одинаковый тип, можно, как и в случае описания переменных, указывать в одну строку через запятую. Множество- это группа элементов, объединённая под одним именем, и с которой можно сравнивать другие величины, чтобы определить, принадлежат ли они этому множеству. Количество элементов в одном множестве не может превышать 256. Множество описывается: type имя_множества = set of диапазон_значений_множества; Операции над множествами: 1)A*B(пересечение) – множество общ. А и B 2) A+B (объединение)- множество включ. А и B3)A-B (разность) – вкл. Значений одного мн. в другое4) A=B (проверка эквивалентности) 5) A<>B (проверка эквивалентности 6) <=вхождения; => выхождения   Файл — это именованная структура данных, представляющая собой последовательность элементов данных одного типа, причем количество элементов последовательности практически не ограничено. Логические файлы классифицируют как типизованные, текстовые и нетипизованные. В описании файловых переменных указывают тип файла: Var <Ф_имя>: File of <тип>; {Типизованный файл} <Ф_имя>: TextFile; {Текстовый файл} <Ф_имя>: File;{Нетипизованный файл} <Ф_имя> - имя файловой переменной (правильный идентификатор); File, of- зарезервированные слова (файл, из); Text - имя стандартного типа текстовых файлов; <тип> - любой тип, кроме файлов.   8. Принципы объектно ориентированного программирования ООП держится на трех принципах: инкапсуляции, наследовании и полиморфизме. Наблюдаемое в объектах объединение данных и операций в одно целое было обозначено термином инкапсуляция (первый принцип ООП). Применение инкапсуляции сделало объекты похожими на маленькие программные модули и обеспечило сокрытие их внутреннего устройства. Для объектов появилось понятие интерфейса. Второй принцип ООП — наследование. Этот простой принцип означает, что если вы хотите создать новый класс, лишь немногим отличающийся от того, что уже существует, то нет необходимости в переписывании заново всех полей, методов и свойств. Вы объявляете, что новый класс является потомком (или дочерним классом) имеющегося класса, называемого предком (или родительским классом), и добавляете к нему новые поля, методы и свойства. Процесс порождения новых классов на основе других классов называется наследованием. Новые классы имеют как унаследованные признаки, так и, возможно, новые. Третий принцип — это полиморфизм. Он означает, что в производных классах вы можете изменять работу уже существующих в базовом классе методов. При этом весь программный код, управляющий объектами родительского класса, пригоден для управления объектами дочернего класса без всякой модификации.     ------------------------------------------------------------------------------------------------------------------- 11. Подпрограммы процедуры(+ можно из 9 билета) Процедура не имеет значения procedure Имя_Прц (Список формальных параметров: Тип); const Список локальных констант, типов, переменных type var begin {Исполняемый блок процедуры} Операторы end; {Конец описания процедуры} ----------------------------------------------------- 14. Структура модуля Структура модуля Логически обособленные группы процедур и функций удобно объединять в специализированные библиотеки — модули. общая структура программного модуля:
Заголовок модуля unit <имя модуля>; Директивы компилятора {$<директивы>}   Интерфейсная часть interface Подключение модулей uses <имя>,..., <имя>; Константы const...; Типы данных type...; Переменные var...; Заголовки процедур procedure <имя> (<параметры>); Заголовки функций function <имя> (<параметры>): <тип>;   Часть реализации implementation Подключение модулей uses <имя>,..., <имя>; Константы const...; Типы данных type...; Переменные var...; Реализация процедур procedure <имя>; begin... end; Реализация функций function <имя>; begin... end;   Код инициализации initialization <операторы> Код завершения finalization <операторы> end.

 

 

 

17. While, Repeat

Оператор повтора while имеет следующий формат:while <условие> do

<оператор>;

перед каждым выполнением тела цикла происходит проверка условия. Если оно истинно, цикл выполняется и условие вычисляется заново; если оно ложно, происходит выход из цикла, т.е. переход к следующему за циклом оператору. Если первоначально условие ложно, то тело цикла не выполняется ни разу.

Repeat

Оператор повтора repeat используют в тех случаях, когда тело цикла должно быть выполнено перед тем, как произойдет проверка условия завершения цикла. Он имеет следующий формат

repeat

<оператор 1>;

...

<оператор N>;

until <условие завершения цикла>;

Тело цикла выполняется до тех пор, пока условие завершения цикла не станет истинным. Оператор repeat имеет две характерные особенности, о которых нужно всегда помнить:

между словами repeat и until может находиться произвольное число операторов без операторных скобок begin и end;

так как условие завершения цикла проверяется после выполнения операторов, цикл выполняется, по крайней мере, один раз.

Часто бывает, что условие выполнения цикла нужно проверять перед каждым повторением тела цикла. В этом случае применяется оператор while, который, в отличие от оператора repeat, содержит условие выполнения цикла, а не условие завершения.

 

19. Указатели динамических элементов

Динамической переменной называется переменная, память для которой выделяется во время работы программы.

Выделение памяти для динамической переменной осуществляется вызовом процедуры new. У процедуры new один параметр — указатель на переменную того типа, память для которой надо выделить. Например, если р является указателем на тип real, то в результате выполнения процедуры new(p); будет выделена память для переменной типа real (создана переменная типа real), и переменная-указатель р будет содержать адрес памяти, выделенной для этой переменной.

У динамической переменной нет имени, поэтому обратиться к ней можно только при помощи указателя.

Процедура, использующая динамические переменные, перед завершением своей работы должна освободить занимаемую этими переменными. Для освобождения памяти, занимаемой динамической переменной, используется процедура Dispose, которая имеет один параметр — указатель на динамическую переменную.

Например, если р — указатель на динамическую переменную, память для которой выделена инструкцией new(p), то инструкция dispose (р) освобождает занимаемую динамической переменной память.

 

 

20. Структура класса Делфи

Класс – это особая структура (или тип записи), которая имеет в своем составе поля, методы и свойства. Класс выступает в качестве объектного типа данных, а объект – это конкретный существующий в памяти компьютера экземпляр класса.

Класс имеет следующую структуру:

Type <имя класса> = class (<имя класса-родителя>)

Private

<частные описания>;

Protected

<защищенные описания>;

Public

<общедоступные описания>;

Published

<опубликованные описания>;

End;

Описания – это объявление свойств, методов и событий.

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

Разделы Private и Protected содержат защищенные описания, которые доступны внутри модуля, в котором они находятся. Описания из раздела Protected, кроме того, доступны для порожденных классов за пределами названного модуля.

Раздел Public содержит общедоступные описания, которые видимы в любом месте программы, где доступен сам класс.

Раздел Published содержит опубликованные описания, которые в дополнении к общедоступным описаниям порождают динамическую (т.е. во время выполнения программы) информацию о типе.

Классы бывают объектного типа и визуальные программы

 

23. Общие свойства компонентов

Прежде чем рассматривать основные компоненты Delphi, необходимо познакомиться с базовой иерархией классов этой системы.

Класс TObject – лежит в основе всей иерархии классов Delphi. Он обладает самыми общими методами, присущими любому объекту, описывает основные принципы поведения объектов во время работы программы (создание, уничтожение, обработка событий и др.).

Класс TPersistent – наследник класса TObject, реализует основные методы копирования содержимого объектов.

Класс TComponent – наследник класса TPersistent, основной родительский класс для всех классов, описывающих компоненты Delphi. В этот класс входит набор самых общих свойств, имеющихся у каждого компонента, и некоторые полезные методы.

Класс TControl – наследник класса TComponent, служит основным классом для всех визуальных элементов управления. Если элемент управления является стандартным элементом Windows, то он базируется еще на одном промежуточном классе TWinControl (наследнике класса TControl).

Компоненты ввода и отображения текстовой информации. Кнопки, индикаторы, управляющие элементы.

Для отображения текстовой информации в библиотеке визуальных компонентов Delphi существует множество компонентов.

Их общие свойства

Свойства компонента так же, как и свойства формы, можно изменить при помощи Object Inspector. Для того чтобы свойства требуемого компонента были выведены в окне Object Inspector, нужно выделить этот компонент (щелкнуть мышью на его изображении).

1. Enabled – определяет, активен ли компонент.

2. Height – высота.

3. Hint – всплывающая подсказка.

4. Left – положение компонента относительно левого края формы.

5. Name – имя компонента.

6. Top – отступ от верха формы.

7. Visible – определяет видимость компонента.

8. Width – ширина.

9. Caption – Отображаемый текст

alNone - выравнивание отсутствует;

alTop - компонент размещается в верхней части формы и его ширина становится равной ширине формы;

alBottom - компонент размещается в нижней части формы и его ширина становится равной ширине формы;

alLeft - компонент размещается в левой части формы и его высота становится равной высоте формы;

alRight - компонент размещается в правой части формы и его высота становится равной высоте формы;

alClient - компонент занимает всю рабочую область формы.

property Color: TColor; Задает цвет фона формы или цвет компонента.

property Font: TFont; Определяет шрифт и его характеристики.

property ParentColor: Boolean; Задает цвет отображения компонента на экране.

property ParentCtl3D: Boolean; Позволяет указать, будет ли компонент трехмерным, или нет. Если оно имеет значение True, то вид компонента задается свойством Ctl3D его

 

Поделиться:





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



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