Файл: Проектирование базы данных для учета реализации товаров магазина Айбек.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.06.2023

Просмотров: 105

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

2 Глава. Описание языка программирования

2.1 Типы данных

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

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

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

Типы данных можно разделить на следующие группы:

  • простые;
  • структурные;
  • указатели;
  • процедурные;
  • вариантные.

В свою очередь, простые и структурные типы включают и другие типы, например, целочисленные или массивы. Приводимое деление на типы в некоторой мере условно – иногда указатели причисляют к простым типам, а строки, которые относятся к структурным типам, выделяют в отдельный вид.

Целочисленные типы данных могут быть физическими и общими. Значениями литерного типа являются элементы из набора литер, то есть отдельные символы. Для символов также имеются физические и общие типы. Физические типы представлены типами AnsiChar и WideChar.

Символ типа AnsiChar занимает один байт, а для кодирования символов используется код Американского национального института стандартов ANSI. Символ типа WideChar занимает два байта, а для кодирования символов используется международный набор символов Unicode. Набор символов Unicode включает более 60 тысяч элементов и позволяет кодировать символы национальных алфавитов. Первые 256 символов Unicode совпадают с кодом ANSI. Кроме физических типов в Object Pascal определен один общий тип Char, который эквивалентен типу AnsiChar. К логическому типу данных в Object Pascal относятся следующие: Boolean, ByteBool, WordBool и LongBool. В программе рекомендуется использовать тип Boolean, остальные типы введены в целях совместимости с другими системами программирования. Логический тип представлен двумя возможными значениями: True и False. Для представления логического значения требуется один байт памяти.


2.2 Агрегаты данных

Данные структурного типа состоят из данных других типов, в том числе из структурного. К данным структурного типа относятся:

  • троки;
  • массивы;
  • множества;
  • записи;
  • файлы;
  • классы.

Строковые типы представлены тремя физическими (таблица1) и одними общими типами.

Таблица 1. Физические строковые типы данных

Обозначение

Максимальная длина символов

ShortString

255

AnsiString

2*1031

WideString

2*1030

Данные типа ShortString представляют собой строку, которая фактически является массивом из 256 элементов – array [0:255]. Нулевой байт этого массива (строки) указывает длину строки.

Данные типов AnsiString и WideString представляют собой динамические массивы, максимальная длина которых фактически ограничена размером основной памяти компьютера. Данные типа AnsiString кодируются в коде ANSI, а типа WideString – в коде Unicode.

Общим является тип String, который может соответствовать типу ShortString или AnsiString, что определяется директивой компилятора $H.

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

Формат описания типа статического массива:

Array [Тип индексов] of <Тип элементов>;

Динамический массив представляет собой массив, для которого при объявлении указывается только тип его элементов, а размер массиваArray of <Тип элементов>;

Множество представляет собой совокупность элементов, выбранных из предопределенного набора значений. Формат описания множественного типа:

Set of <Тип элементов>;

Записи объединяют фиксированное число элементов данных других типов. Отдельные элементы записи имеют имена и называются полями. Фиксированная запись состоит из конечного числа полей, ее объявление имеет следующий формат:

Record

<Имя поля>:<Тип поля>;

<Имя поля>:<Тип поля>;

end;

Вариантная запись, так же, как и фиксированная, имеет конечное число полей, однако предоставляет возможность по-разному интерпретировать области памяти, занимаемые полями. Формат объявления вариантной записи:


Record

Case<Признак>:<Тип признака> of

<Вариант1>:(<Описание варианта1>);

<ВариантN>:(<Описание вариантаN>);

end;

2.3 Программирование разветвляющихся и циклических процессов

Условный оператор обеспечивает выполнение или невыполнение некоторых операторов в зависимости от соблюдения определенных условий. Условный оператор в общем случае предназначен для организации разветвления программы. Формат условного оператора:

If <Условие> then <Оператор1> [else<Оператор2>];

Условие представляет собой выражение логического типа. Оператор работает следующим образом: если условие истинно (имеет значение True), то выполняется оператор1, в противном случае выполняется оператор2.

Условный оператор может быть записан в сокращенной форме, когда слово Else и оператор после него отсутствует.

Оператор выбора является обобщением условного оператора и позволяет сделать выбор из произвольного числа имеющихся вариантов, то есть организовать разветвление на произвольное число направлений. Этот оператор состоит из выражения, называемого селектором, списка вариантов и необязательной ветви else, имеющий тот же смысл, что и в условном операторе. Формат оператора выбора:

Case<Выражение -селектор> of

<Список1>:<Оператор1>);

<СписокN>:<ОператорN>);

else <Оператор>;

end;

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

  • вычисляется значение селектора;
  • производится последовательный просмотр вариантов на предмет совпадения значений селектора с константами и значениями из диапазонов соответствующего списка.
  • если для очередного варианта этот поиск успешный, то выполняется оператор этого варианта. После этого выполнения оператор выбора заканчивается.
  • если все проверки оказались безуспешными, то выполняется оператор, стоящий после слова else (при его наличии).

Группу повторяемых операторов называют телом цикла. Для построения циклов используются три вида операторов цикла:

  • с параметром;
  • с предусловием;
  • с постусловием.

Оператор цикла с параметрами имеет два формата:

For <Параметр>:=<Выражение1> to <Выражение2> do <Оператор>;

For <Параметр>:=<Выражение1> downto <Выражение2> do <Оператор>;

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


Repeat

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

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

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

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

until <Условие>;

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

While <Условие> do <Оператор>;

2.4 Ввод и вывод информации

Наиболее простой и часто используемый компонент для вывода информации это Label, называемый также меткой. Он представляет собой простой текст, который не может быть отредактирован пользователем при выполнении программ. Также имеется компонент Edit, используемый для ввода пользователем однострочных текстов. Может использоваться для отображения текста.

Компонент DBEdit представляет собой ориентированный на данный вариант окна редактирования Edit.

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

Компонент DateTimePicker используется для ввода дат и времени с выпадающим календарем.

Более сложным компонентом для ввода и вывода информации являются таблицы. Таблицы представляют собой элементы, позволяющие отображать данные в виде строк и столбцов. Для работы с таблицами система Delphi предоставляет компоненты DrawGrid и StringGrid. Они во многом похожи друг на друга.

Таблица DrawGrid отображать в ячейках текстовую и графическую информацию. Автоматически вводится только сетка, а прорисовка содержимого ячеек – это обязанность программиста. Компонента DrawGrid только отображает информацию, но не хранит ее. Размещение и последующее извлечение данных вне компонента Draw Grid также является обязанностью программиста.

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

Размеры таблицы определяют свойства ColCount и RowCount типа Longint, задающие, соответственно, число строк и столбцов. Значения этими свойствами можно присваивать динамически, т.е. в процессе выполнения программы, что приводит к немедленному изменению размеров таблицы.

Число фиксированных столбцов и строк таблицы определяют свойства FixedCols и FixedRows типа Integer, соответственно.

Объекты, используемые в моей программе приведены в таблице 2


Таблица 2. Список основных компонентов delphi

Идентификатор объекта

Тип объекта

Общее назначение объекта

Используемые свойства и методы объекта

Описание свойств

1

2

3

4

5

Button

Tbutton

Кнопка обыкновенная

Caption

Надпись кнопки

OnClick

Щелчок «мышью» на компоненте

DataSource

TData Source

Источник данных

DataSet

Имя набора данных

DateTimePicker

TDateTimePicker

Дата документа

Date

Установка даты документа

DBComboBox

TDBCombobox

Редактируемый список поля

Text

Выбор текста

ItemIndex

Индекс элемента списка

DBEdit

TDBEdit

Поле ввода записи

Text

Ввод текста

DBText

TDBText

Содержимое поля записи

Color

Цвет надписи

Text

Текст надписи

Edit

TEdit

Поле ввода

Text

Ввод текста

Image

TImage

Изображение

Picture

Изображение

Label

TLabel

Надпись

Color

Цвет надписи

Text

Текст надписи

MainMenu

T Main menu

Главное меню

Caption

Надпись меню

Items

Проектировщик меню

Panel

TPanel

Панель

Color

Цвет надписи на панели

DBComboBox

TDBCombobox

Редактируемый список поля

Text

Выбор текста

ItemIndex

Индекс элемента списка

DataSource

TDataSource

Источник данных

DataSet

Имя набора данных

Image

TImage

Изображение

Picture

Изображение

DateTimePicker

TDateTimePicker

Дата документа

Date

Установка даты документа

DBComboBox

TDBCombobox

Редактируемый список поля

Text

Выбор текста

ItemIndex

Индекс элемента списка

DBEdit

TDBEdit

Поле ввода записи

Text

Ввод текста

Продолжение таблицы 2. Список основных компонентов delphi

DBGrid

TDBGrid

Отображение состава базы данных

DataSource

Имя источника данных

DBNavigator

TDBNavigator

Перемещение редактирование базы данных

DataSource

Имя источника данных

VisibleButtons

Отображаемые

Hints

Подсказки

Panel

TPanel

Панель

Color

Цвет надписи на панели

Font

Шрифт надписи на панели

Caption

Надпись панели

Visible

Видимость панели

DBComboBox

TDBCombobox

Редактируемый список поля

Text

Выбор текста

ItemIndex

Индекс элемента списка