
- •Целый тип данных
- •Вещественный тип данных
- •Структура программы. Операторы языка
- •Ввод-вывод данных
- •Условный оператор и оператор выбора
- •Перечисляемый тип. Ограниченный тип. Множества
- •Иерархические записи
- •Операторы цикла Оператор цикла с параметром. Операторы цикла итерационного типа
- •Основные принципы ооп
- •Класс, объект
- •Конструкторы и деструкторы
- •Наследование
- •Полиморфизм
- •Визуальное программирование. Среда Делфи
- •Структура проекта. Модули
- •Компоненты. Его свойства и методы
- •Компиляция и сообщение компилятору
- •Линейный алгоритм в среде Делфи
- •20Иерархия классов в Делфи
- •Массивы
- •Создание и работа со списками
- •Управляющие компоненты
- •Переключатели зависимые и независимые
- •Контейнеры
- •Контейнеры. Формы модальные. Диалоговые окна
- •Классы exception
- •Создание главного меню
- •Типизированные файлы
- •Инструменты TabControl PageControl ToolBar CoolBar StatusBar
- •Динамическая структура
- •Форматы графических файлов
- •Основные типы бд. Создание бд
- •Компоненты для создания приложений бд
- •Создание вычисляемых полей и полей выбора
- •Навигационный способ доступа к данным
- •Способы фильтрации
- •Создание и обработка набора данных нескольких таблиц
- •Конструктор отчетов
Концепция данных. Перечисляемый тип
Основная цель любой программы состоит в обработке данных. Данные различного типа хранятся и обрабатываются по-разному. В любом алгоритмическом языке каждая константа, переменная, результат вычисления выражения или функции должны иметь определенный тип.
Тип данных определяет:
внутреннее представление данных в памяти компьютера;
множество значений, которые могут принимать величины этого типа;
операции и функции, которые можно применять к величинам этого типа.
Исходя из этих характеристик, программист выбирает тип каждой величины, используемой в программе для представления реальных объектов. Обязательное описание типа позволяет компилятору производить проверку допустимости различных конструкций программы. От выбора типа величины зависит последовательность машинных команд, построенная компилятором.
Все типы языка С++ можно разделить на простые (скалярные), составные (агрегатные) и функциональные. Простые типы могут быть стандартными и определенными программистом.
В программу можно ввести и переменные какого-либо типа, не совпадающие ни с одним из стандартных типов. Такой тип задается перечислением значений при объявлении типа; любое из этих значений может принимать переменная данного типа, объявленная далее в программе. Общий вид описания перечисляемого типа:
type
nm = (word1, word2, …, wordN);
var
w: nm;
здесь nm – идентификатор типа (произвольный), word1, word2… - конкретные значения, которые может принимать переменная w, принадлежащая типу nm. Значения данного типа считаются упорядоченными, т.е. описание типа одновременно вводит упорядочение word1 < word2 < wordN. Порядковые значения отсчитываются с 0.
К переменным типа перечисления можно применять функции ord, pred, succ и процедуры inc и dec.
Целый тип данных
Целое, целочисленный тип данных (англ. Integer), в информатике — один из простейших и самых распространённых типов данных в языках программирования. Служит для представления целых чисел.
Множество чисел этого типа представляет собой конечное подмножество бесконечного множества целых чисел, ограниченное максимальным и минимальным значениями.
В программировании различают беззнаковые целые числа и целые числа со знаком. Знак числа обычно кодируется старшим битом машинного слова. Традиционно, если старший бит равен 1, то число считается отрицательным, только, если оно не определено как без знаковое.
Тип |
Диапазон допустимых значений |
Отводимая память, в байтах |
shotint |
-128…127 |
1 |
integer |
-32 768…32 767 |
2 |
longint |
-2 147 483 648…2 147 483 647 |
4 |
byte |
0…255 |
1 |
word |
0…65 535 |
2 |
Переменные целого типа могут принимать только целые значения. Такие переменные в программе описываются следующим образом: a, b, c: integer;
Здесь a, b, c… - имена переменных, integer – тип переменных. Транслятор, встретив такое описание переменных a, b, c, запоминает, что эти переменные могут принимать только целые значения и формирует соответственно этому команды программы.
Вещественный тип данных
В языке Паскаль существует несколько типов для представления действительный чисел. Однако чаще всего для их представления используется тип Real.
Тип |
Диапазон |
Число цифр |
Память, байт |
Real |
2.9e-39 … 1.7e38 |
11-12 |
6 |
Single |
1.5e-45 … 3.4e38 |
7-8 |
4 |
Double |
5.0e-324 ...1.7e308 |
15-16 |
8 |
Extended |
3.4e-4932 … 1.1e493 |
19-20 |
10 |
Comp |
-9.2e63 … (9.2e63)-1 |
19-20 |
8 |
Число цифр определяет точность, с которой будет храниться вещественное число. Например, для Real разрядность мантиссы может составлять не более восьми десятичных знаков. Тип Comp содержит только целые значения, которые представляются в вычислениях как вещественные.
Над действительными числами выполнимы операции сложения (+), вычитания (-), умножения (*) и деления (/). Результатом этих операций является также действительное число. Даже если хотя бы один из операндов вещественный, то результат этих операций также будет вещественным.
Операция деления (/) дает вещественный результат и в случае двух целых операндов. Например, 6 / 2 = 3.0.
Структура программы. Операторы языка
Правило. В любом месте программы можно использовать лишь те элементы, которые были объявлены ранее по тексту программы.
Основной блок – это собственно программа, использующая всё, что было объявлено. Он начинается словом begin и заканчивается словом end с точкой. После завершающей точки любой текст игнорируется.
Основной блок состоит из операторов (предложений языка программирования), записанных в соответствии с алгоритмом. Операторы отделяются друг от друга символом “ ; ”.
program |
имя_программы; |
Заголовок |
uses |
|
Раздел объяв- лений |
|
список используемых библиотек (модулей); |
|
label |
|
|
|
список меток в основном блоке программы; |
|
const |
|
|
|
определение констант программы; |
|
type |
|
|
|
описание типов; |
|
var |
|
|
|
определение глобальных переменных программы; |
|
procedure |
|
|
|
определение процедур; |
|
function |
|
|
|
определение функций; |
|
begin |
|
Основной блок программы |
|
операторы; |
|
end. |
|
ператоры подразделяются на простые и структурные. К простым операторам относятся операторы присваивания, перехода, процедуры. К структурным – операторы условия, выбора, цикла, составные. Составной оператор представляет собой последовательность операторов, заключенных в слова begin и end.
Программист, набирая текст программы, имеет право произвольно располагать строки на экране. Однако программа легче читается, если в строке записывается только один оператор, а логически подчиненные структуры записаны на одну строку ниже и на одну–две позиции правее по отношению к более старшим.
Пример.
program primer; { Программа сложения двух чисел }
var
x, y, summa: real; { Описание переменных }
begin
readln (x,y); { Ввод исходных чисел }
summa:= x+y; { Расчет суммы }
writeln (‘Сумма x и y равна’, summa); { Вывод результата }
end.
Знание синтаксиса языка лишь теоретически позволяет приступить к созданию программ. Дело в том, что важнейшей частью любого языка программирования, во многом определяющими удобство составления алгоритмов, являются его управляющие структуры - операторы, или инструкции.
Об управляющих структурах
В реальных программах выполнение операций не бывает строго последовательным: постоянно требуются различные переходы, ветвления, повторения и т.д. Так, если мы обратимся к блок-схеме даже такого простого алгоритма, который требуется для игры "угадай число" (см. рис. 1.1), то увидим там целых два ветвления, причем оба с переходом.
Собственно за переход, в классическом варианте, отвечает небезызвестная инструкция безусловного перехода goto, которая в Pascal используется совместно с метками, декларируемыми в заголовочной части программы при помощи ключевого слова label. Использование инструкции безусловного перехода восходит корнями к тем временам, когда создавались первые высокоуровневые языки программирования, в том числе и Pascal. Она досталась им в наследство от низкоуровневых языков типа Assembler, в которых описание программы создавалось в виде, удобным для машины. Но на сегодня такой подход уже не востребован и вышел из употребления, вместе с безусловным переходом и инструкцией goto.