Слайд 2Порядковые (ordinal) типы
Таким типам соответствуют данные, которые поддерживают понятия «предшествующее» и «последующее»
![Порядковые (ordinal) типы Таким типам соответствуют данные, которые поддерживают понятия «предшествующее» и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-1.jpg)
значения
Например:
Для целого числа 5 можно определенно сказать, что ему предшествует число 4, а следующее за ним - число 6.
С другой стороны невозможно сказать, какое число непосредственно предшествует вещественному числу 5.0.
Слайд 3Порядковые типы в Pascal
целые типы;
символьные типы;
булевы типы;
ограниченные типы.
![Порядковые типы в Pascal целые типы; символьные типы; булевы типы; ограниченные типы.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-2.jpg)
Слайд 4Функции для порядковых типов
Succ(<значение >)
Возвращает следующее значение.
Например:
Succ(123) = 124
Succ(false) = true
Succ(‘a’)
![Функции для порядковых типов Succ( ) Возвращает следующее значение. Например: Succ(123) =](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-3.jpg)
= ‘b’
Succ(‘я’) = #0
Слайд 5Функции для порядковых типов
Pred(<значение >)
Возвращает предыдущее значение.
Например:
Pred(123) = 122
Pred(false) = true
Pred(‘я’)
![Функции для порядковых типов Pred( ) Возвращает предыдущее значение. Например: Pred(123) =](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-4.jpg)
= ‘ю‘
Pred(#0) = ‘я’
Слайд 6Функции для порядковых типов
Ord(<значение >)
Возвращает целое число, соответствующее номеру <значения> во
![Функции для порядковых типов Ord( ) Возвращает целое число, соответствующее номеру во](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-5.jpg)
множестве возможных значений типа.
Например:
Ord(123) = 123
Ord(-123) = -123
Ord(‘я’) = 255
Ord(#0) = 0
Слайд 7Функции для порядковых типов
High(<имя переменной>)
High(<значение>)
High(<тип>)
Возвращает максимальное значение.
Например:
High(‘x’)= ‘я’
High(char)= ‘я’
High(10) = 2147483647
High(integer)
![Функции для порядковых типов High( ) High( ) High( ) Возвращает максимальное](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-6.jpg)
= 2147483647
Слайд 8Функции для порядковых типов
Low(<имя переменной>)
Low(<значение>)
Low(<тип>)
Возвращает минимальное значение.
Например:
Low(‘а’)= #0
Low(integer) = -2147483648
![Функции для порядковых типов Low( ) Low( ) Low( ) Возвращает минимальное](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-7.jpg)
Слайд 9Функции для порядковых типов
Inc(var x [ ; n: integer]);
Dec(var x [ ;
![Функции для порядковых типов Inc(var x [ ; n: integer]); Dec(var x](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-8.jpg)
n: integer]);
Увеличивает(уменьшает) значение х на величину n.
Например:
a:=5; inc(a); –> a станет равно 5
b:=5; dec(b,2); -> b станет равно 3
Слайд 10Целые типы данных
Integer от -2147483648 до 2147483647
Cardinal от 0 до 4294967295
Оба
![Целые типы данных Integer от -2147483648 до 2147483647 Cardinal от 0 до](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-9.jpg)
типа занимают в памяти 4 байта
Int64
Byte от 0 до 255
Слайд 11Операции над целыми числами
Арифметические + - * div mod
Логические побитовые and or
![Операции над целыми числами Арифметические + - * div mod Логические побитовые](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-10.jpg)
xor
10 and 5 1010
0101
0000
Операции сдвигов shr shl
11 shr 2 1011 -> 10 (2)
5 shl 2 101 -> 10100 (20)
Слайд 12Чему равно $125?
$125 = 1*16^2 +2*16^1+5*16^0=
256 + 32 + 5 = 293
![Чему равно $125? $125 = 1*16^2 +2*16^1+5*16^0= 256 + 32 + 5](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-11.jpg)
=
(0001 0010 0101 в двоичном коде)
$FF = 15*16^1 + 15*16^0=
240 + 15 = 255
(1111 1111 в двоичном коде)
Слайд 13Символьные типы данных
Тип Char - множество из 256 символов. Каждый символ этого
![Символьные типы данных Тип Char - множество из 256 символов. Каждый символ](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-12.jpg)
типа занимает 1 байт. Символы упорядочены в соответствии с таблицей кодировки ANSI (American National Standard Code for Information Interchange).
Тип WideChar - множество из 65536 символов Unicode. Каждый символ Unicode занимает 2 байта. Первые 256 символов Unicode соответствуют символам ANSI
Слайд 15Запись символьных констант
‘1’ ‘z’ ‘я’ ‘-’
#8 #13 #49 #255
chr(65) chr(255)
![Запись символьных констант ‘1’ ‘z’ ‘я’ ‘-’ #8 #13 #49 #255 chr(65) chr(255)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-14.jpg)
Слайд 16Функции и операции
Chr(код символа)
Возвращает символ по заданному коду
Ord(символ)
Возвращает код символа
Операции < = <> >
(Сравниваются
![Функции и операции Chr(код символа) Возвращает символ по заданному коду Ord(символ) Возвращает](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-15.jpg)
коды символов)
Операция +
допустима при сложении со строкой
Слайд 17Полезные особенности таблицы кодировки
Разница в кодировке больших и маленьких букв и латинского
![Полезные особенности таблицы кодировки Разница в кодировке больших и маленьких букв и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-16.jpg)
и русского алфавита равна $20 или 32.
Следовательно, чтобы превратить строчную букву в прописную, достаточно из ее кода вычесть 32.
Число 32 можно и не помнить, так как его можно получить так:
ord(‘z’) – ord(‘Z’), или оrd(‘я’) – ord(‘Я’).
Слайд 18Полезные особенности таблицы кодировки
У символов цифр младший полубайт соответствует ее числовому значению,
![Полезные особенности таблицы кодировки У символов цифр младший полубайт соответствует ее числовому](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-17.jpg)
а старшему полубайту соответствует десятичное число 48.
Чтобы преобразовать символ цифры в число, достаточно из кода символа цифры вычесть 48.
…
var c : char; n : integer;
…
n := ord(c) – 48; // равносильно ord(c) – ord(‘0’);
Слайд 19 Ограниченный тип данных
Это разновидность порядкового типа, когда диапазон возможных значений искусственно
![Ограниченный тип данных Это разновидность порядкового типа, когда диапазон возможных значений искусственно](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-18.jpg)
сужен.
Например:
type Caps = ‘A’..‘Z’;
var bigLetter : Сaps;
month : 1..12;
Слайд 20Множество и операция in
Интервальный тип можно использовать для задания множества данных порядкового
![Множество и операция in Интервальный тип можно использовать для задания множества данных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-19.jpg)
типа, например ['а'..‘z'] задает множество строчных латинских букв.
Для проверки принадлежности некоторого значения множеству можно использовать операцию in, например:
5 in [0..9] вернет true
‘я’ in ['а'..‘z'] вернет false
Слайд 22Порядок выполнения инструкции for…to..do
Вычисляются <начальное значение> и <конечное значение >.
Переменной <
![Порядок выполнения инструкции for…to..do Вычисляются и . Переменной присваивается . Если значение](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-21.jpg)
параметр цикла > присваивается <начальное значение>.
Если значение <параметра цикла> превышает <конечное значение>, то цикл заканчивается.
Выполняется тело цикла.
Переменной < параметр цикла > присваивается следующее значение.
Выполнение продолжается с пункта 3.
Слайд 24Пример использования цикла for
function factorial(n:integer):int64;
var i:integer;
begin
result:=1;
for i:=1 to n
![Пример использования цикла for function factorial(n:integer):int64; var i:integer; begin result:=1; for i:=1](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-23.jpg)
do
result:=result*i
end;
Слайд 25Пример использования цикла for
function power(x:real; n:integer):real;
var i:integer;
begin
result:=1;
for i:=1 to
![Пример использования цикла for function power(x:real; n:integer):real; var i:integer; begin result:=1; for](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-24.jpg)
n do
result:=result*x;
end;
Слайд 26Среднее арифметическое
(Цикл с while)
function average( n : integer ) : real;
var sum:real;
![Среднее арифметическое (Цикл с while) function average( n : integer ) :](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-25.jpg)
count: integer;
begin
count := n; sum := 0;
while count > 0 do
begin
sum := sum + random();
count := count -1;
end;
result := sum / n;
end;
Слайд 27Среднее арифметическое
(Цикл с for)
function average( n : integer ) : real;
var sum:real;
![Среднее арифметическое (Цикл с for) function average( n : integer ) :](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373462/slide-26.jpg)
count: integer;
begin
sum := 0;
for count :=n downTo 1 do
begin
sum := sum + random();
end;
result := sum / n;
end;