
- •Предисловие
- •Основные навыки и умения
- •Логическая культура: знание логики, логическая интуиция.
- •Языковые знания и умения.
- •Поисковые знания и умения.
- •Алгоритмические навыки и умения.
- •Общие подходы к построению алгоритмов
- •Тестирование и сопровождение программ
- •Обязательный минимум содержания среднего (полного) общего образования
- •Технология обработки текстовой информации
- •Введение в информатику
- •Системы счисления
- •Перевод из десятичной системы счисления
- •Перевод в десятичную систему счисления
- •Перевод чисел из двоичной системы счисления в восьмеричную, шестнадцатеричную системы и обратно
- •Выполнение арифметических операций в позиционных системах счисления
- •Элементы математической логики
- •Логические законы
- •Алгоритм и его свойства
- •Исполнители. Компьютер - универсальный исполнитель
- •Работа компьютера
- •Turbo pascal - исполнитель паскаль-программ
- •Конструкции Паскаля
- •Типы данных
- •Целый тип данных
- •Вещественный тип данных
- •Символьный тип данных
- •Логический тип данных
- •Выражения
- •Операторы ввода-вывода
- •Оператор присваивания
- •Общий вид программы на Паскале
- •Условный оператор
- •If логическое_выражение then оператор1 else оператор2;
- •If логическое_выражение then оператор1;
- •Операторы цикла
- •Построение линейных алгоритмов
- •Построение ветвящихся алгоритмов
- •Построенние циклических алгоритмов
- •Нахождение суммы
- •Вложенные циклы
- •Переборный метод решения задач
- •Численные методы
- •Метод итераций
- •Метод половинного деления
- •Вычисление определенного интеграла методом трапеций
- •Случайные числа
- •Метод Монте-Карло (метод статистических испытаний)
- •Массивы Одномерные массивы
- •Перебор элементов массива
- •Перебор подмассивов
- •Классы задач по обработке массивов
- •Задачи первого класса
- •Задачи второго класса
- •Задачи третьего класса
- •Задачи четвертого класса
- •Сортировка массивов
- •Сортировка вставками
- •Сортировка пузырьком (обменом)
- •Сортировка выбором
- •Сортировка фон Неймана (слиянием)
- •Двумерные массивы
- •Обработка строк
- •Процедуры и функции
- •Рекурсия
- •Работа с графикой
- •Классы программного обеспечения
- •Компиляция и интерпретация
- •Текстовый редактор
- •Электронные таблицы
- •Системы управления базами данных (субд)
- •Пример решения экзаменационного билета
- •Контрольные работы
- •Контрольная работа №1
- •Контрольная работа № 2
- •Контрольная работа № 3
- •Контрольная работа № 4
- •Контрольная работа № 5
- •Библиографический список
Символьный тип данных
Один байт изображает 1 символ в виде последовательности нулей и единиц, что позволяет закодировать 28 = 256 различных символов. Каждому символу ставится в соответствие натуральное число, которое называется его кодом, коды тоже упорядочены. Их знать необязательно, достаточно знать, что они упорядочены следующим образом: ‘0’, ‘1’, ... , ‘9’; ‘A’, ‘B’, ... , ‘Z’.
Кодировка символов задается в кодовой таблице. Наиболее распространена кодовая таблица ASCII.
Таким образом, значениями символьного типа являются символы из кодовой таблицы. Тип порядковый, порядок совпадает с порядком следования символов в кодовой таблице: чем раньше символ встречается в таблице, тем он меньше.
Символьная константа (литера) представляет собой символ, заключенный в апостроф, которому может быть присвоено имя в разделе описания констант.
Пример.
Const
ch = ‘A’;
letter = ‘x’;
ch1 = ‘’’’; {символу апостроф присвоено имя ch1}
Переменные описываются в разделе описания переменных с описателем char.
Пример.
Var
ch1, ch2: char;
Для данных символьного типа разрешены операции сравнения: <, >, <=, >=, =, <>. Сравниваются символы лексикографически по коду, т.е. чем символ раньше встречается в кодовой таблице, тем он меньше.
В Паскале разрешены следующие функции для данных символьного типа:
Функция |
Тип |
||
обозначение |
назначение |
аргумента |
результата |
ord (ch) |
порядковый номер символа в кодовой таблице |
char |
integer |
chr (i) |
символ из кодовой таблицы с порядковым номером (кодом) i |
integer |
char |
pred (ch) |
предыдущий символ |
char |
char |
succ (ch) |
последующий символ |
char |
char |
Функции ord (ch) и chr (i) являются обратными, т.е. ord (chr (i)) = i, chr (ord (ch)) = ch.
Пример. Число = ord (‘цифра’) - ord (‘0’).
2 = ord (‘2’) - ord (‘0’).
Упражнения.
1. Значениями символьных переменных сh0, сh1, сh2 являются цифры. Присвойте целой переменной k число, полученное из этих цифр.
2. Присвойте символьным переменным сh2, сh1 и сh0 соответственно левую, среднюю и правую цифры трехзначного целого числа k.
3. Всегда ли справедливо утверждение:
-
если ch - символ и ‘0’ ch ‘9’, то ch - цифра;
-
‘0’ = 0;
-
ord (‘5’) = 5;
-
‘x’ = ‘X’;
-
если a и b - символы, то a < b, тогда и только тогда, когда ord (a) < ord (b);
-
ord (chr (k)) = k для любого целого k;
-
chr (ord (ch)) = ch для любого символа ch.
-
Вычислите значения выражений:
-
pred (‘2’) = ‘1’;
-
succ (‘2’) = ‘4’;
-
ord (‘9’) - ord (‘1’) = ‘9’;
-
ord (‘u’) < ord (‘q’);
-
succ (‘5’) = pred (‘7’);
-
ord (pred (chr (20))) = 21;
-
chr (ord (‘A’) + 1) = ‘B’
-
succ (chr (256)) =257;
-
chr(110) <= chr(120).
Логический тип данных
Логические данные широко используются при сравнении величин. Результат сравнения может быть истинным или ложным. В Паскале имеются две логические константы true (истина) и false (ложь). Их можно использовать в явном виде или обозначать именем в разделе описания констант.
Пример.
сonst
OK = true;
f = false;
f1 = OK;
Логические переменные описываются в разделе описания переменных с описателем boolean.
Пример.
var f1, f2, t: boolean;
Логический (или булевский) тип данных является порядковым. Порядок расположения двух его значений следующий: false, true. Причем у константы false порядковый номер 0, а у константы true - 1.
Для логических данных разрешены логические операции not (отрицание), and (конъюнкция), or (дизъюнкция). Правила их выполнения были подробно рассмотрены в разделе “Элементы математической логики”, а также сведены в следующую таблицу
-
A
B
not A
A and B
A or B
true
true
false
true
true
true
false
false
false
true
false
true
true
false
true
false
false
true
false
false
Логические данные можно сравнивать: false < true. Кроме того, результат сравнения арифметических и символьных данных является логическим.
Для логических данных разрешены следующие функции:
Функция |
Тип |
||
обозначение |
назначение |
аргумента |
результата |
ord (f) |
порядковый номер ord(false) = 0, ord(true) = 1 |
boolean |
integer |
pred(f) |
предыдущее значение, определено только для true, т.е. pred(true) = false |
boolean |
boolean |
succ(f) |
последующее значение, определено только для false, т.е. succ(false) = true |
boolean |
boolean |
odd(x) |
принимает значение true, если x – нечетное и false, если x - четное |
integer |
boolean |
Упражнения.
1. Вычислите значения выражений
а). false > true; б). succ(true); в). ord(succ(false)) = 0;
г). not (pred(odd(5)) or (ord(false) = 1)); д). ord(false) + ord(true).
2. Объясните ошибки в следующих записях:
а). 1 and 0; б). ord(false) or ord(true); в). true + false; г). false > 0;
д). not 10 = 5; е). succ(true); ж). not (1/0 > 0); з). odd(1) - odd(true).