Переменная, имеющая логический тип данных может принимать всего два значения: true (истина) и false (ложь). Здесь истине соответствует значение 1, а ложь тождественная нулю. Объявить булеву переменную можно так:
Var A: Boolean;
Над данными этого типа могут выполняться операции сравнения и логические операции: not, and, or, xor.
Символьный тип
Символьный тип данных – это совокупность символов, используемых в том или ином компьютере. Переменная данного типа принимает значение одного из этих символов, занимает в памяти компьютера 1 байт. Слово Char определяет величину данного типа. Существует несколько способов записать символьную переменную (или константу):
1.как одиночный символ, заключенный в апострофы: ‘W’, ‘V’, ‘п’;
2.указав код символа, значение которого должно находиться в диапазоне от 0 до 255.
3.при помощи конструкции ^K, где K – код управляющего символа. Значение K должно быть на 64 больше кода соответствующего управляющего символа.
К величинам символьного типа данных применимы операции отношения и следующие функции:
Succ(x) — возвращает следующий символ;
Pred(x) — возвращает предыдущий символ;
Ord(x) — возвращает значение кода символа;
Chr(x) — возвращает значение символа по его коду;
UpCase(x) — переводит литеры из интервала ‘a’..’z’ в верхний регистр.
Для плодотворной работы с символьным типом рекомендую пользоватьсятаблицей ASCII.
Строковый тип
Строка в Паскале представляет собой последовательность символов заключенных в апострофы, и обозначается словом String. Число символов (длина строки) должно не превышать 255. Если длину строки не указывать, то она автоматически определиться в 255 символов. Общий вид объявления строковой переменной выглядит так:
Var <имя_переменной>: string[<длина строки>];
Каждый символ в строке имеет свой индекс (номер). Индекс первого байта – 0, но в нем храниться не первый символ, а длина всей строки, из чего следует, что переменная этого типа будет занимать на 1 байт больше числа переменных в ней. Номер первого символа – 1, например, если мы имеем строку S=‘stroka’, то S[1]=s;. В одном из следующих уроков строковый тип данных будет рассмотрен подробнее.
Перечисляемый тип данных
Перечисляемый тип данных представляет собой некоторое ограниченное количество идентификаторов. Эти идентификаторы заключаются в круглые скобки, и отделяются друг от друга запятыми.
Пример:
Type Day=(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
Var A: Day;
Переменная A может принимать лишь значения определенные в разделе Type. Также можно объявить переменную перечисляемого типа в разделе Var:
Var A: (Monday, Tuesday);
К данному типу применимы операции отношения, при этом заранее определенно, что Monday<Tuesday<Wednesday т. д. Также можно применять функции succ, pred, ord, процедуры inc и dec, и использовать операцию присваивания: A:=Tuesday;
Интервальный тип данных
Когда необходимо задать какой то диапазон значений, то в таких ситуациях применяется интервальный тип данных. Для объявления используется конструкция m..n, где m – минимальное (начальное) значение, а n – максимально (конечное); здесь m и n являются константами, которые могут быть целого, символьного, перечисляемого или логического типа. Описываться величины интервального типа могут как в разделе типов, так и в разделе описания переменных
Таблица. Операции над целыми типами, дающие в результате значение целого типа
Знак операции | Операция |
+ | Сложение |
- | Вычитание |
* | Умножение |
div | Целочисленное деление (остаток отбрасывается). Деление без округления (целая часть частного). |
mod | Деление по модулю (выделение остатка от деления). Остаток от деления: a mod b = a – ((a div b) * b). |
Таблица. Операции отношения
Знак операции | Операция |
= | Равно |
<> | Не равно |
>= | Больше или равно |
> | Больше |
<= | Меньше или равно |
< | Меньше |
Функция | Тип результата | Результат выполнения |
abs(x) | Целый | Модуль x (абсолютная величина x) |
sqr(x) | Целый | Квадрат x |
succ(x) | Целый | Следующее значение x (x+1) |
pred(x) | Целый | Предыдущее значение x (x-1) |
random(x) | Целый | Случайное целое число из интервала 0..x-1. |
sin(x) | Действительный | Синус x (угол в радианах) |
cos(x) | Действительный | Косинус x (угол в радианах) |
arctan(x) | Действительный | Арктангенс x (угол в радианах) |
ln(x) | Действительный | Натуральный логарифм x |
exp(x) | Действительный | Экспонента x |
sqrt(x) | Действительный | Квадратный корень из x |
odd(x) | Логический | Значение true, если x – нечетное число; false – если четное. |
.
№9 Ввод – вывод данных. Процедура чтения READ. Процедура записи WRITE. Форматы вывода данных.
Для обмена информацией между пользователем и ПК все данные организуются в файлы.
Файл - либо именованная область памяти на внешнем носителе информации (винчестер, дискета, CD-диск и т.д.), либо логическое устройство представляющее источник или приемник информации (клавиатура, дисплей, принтер, порты и т.д.).
Под файлом можно понимать любой набор данных.
Например: Программа - исходная, откомпилированная, и т.д. Данные – исходные, промежуточные, результирующие, рисунок, текст, график, аудио- видео и т.д.).
Связь программы с внешним окружением (устройствами) осуществляется с через имена файлов с использованием стандартных процедур ввода/вывода:
READ (читать)
WRITE (писать).
При вводе данных с клавиатуры и выводе на экран дисплея используются стандартные файлы с именами INPUT (ввод) и OUTPUT (вывод) их имена задаются по умолчанию. Рассмотрим стандартный ввод/вывод.
Вывод данных в Паскале
Для вывода данных используются процедуры:
WRITE (A1, A2,…, AN); - вывод значений переменных A1, A2,…, AN в строку экрана;
WRITELN (A1, A2,…, AN); - вывод значений переменных A1, A2,…, AN в строку экрана с переводом строки;
WRITELN; - перевод строки.
Выводимые переменные могут иметь следующие типы:
•целый;
•вещественный;
•логический;
•символьный;
•строковый.
При использовании форматов в процедурах вывода указывается длина поля отводимого для вывода переменных (К- знаки до запятой) и точность представления для вещественного числа (М-знаки после запятой).
Ввод данных в Паскале
Для ввода данных используются процедуры:
READ (A1, A2,…, AN); - ввод N значений и присваивание их переменным A1, A2,…, AN;
READLN (A1, A2,…, AN); - ввод N значений и присваивание их переменным A1, A2,…, AN с пропуском остальных данных до конца строки;
READLN; - пропуски строки.
Вводимые переменные могут иметь следующие типы:
•целый;
•вещественный;
•символьный;
•строковый.
№10 Структурированные операторы. Условный оператор IF. Оператор цикла REPEAT. Оператор цикла WHILE.
Структурированными являются такие операторы, которые состоят из других операторов. К ним относятся:
· составной оператор;
· условный оператор IF;
· условный оператор CASE;
· оператор цикла REPEAT;
· оператор цикла WHILE;
· оператор цикла FOR;
· оператор над записями WITH.
Составной оператор:
Составной оператор представляет собой совокупность последовательно выполняемых операторов, заключенных в операторные скобки begin и end:
begin
<оператор 1>;
<оператор 2>;
...
<оператор N>
end;
условный оператор IF:
Позволяет программе выполнять переходы на ту или иную ветвь по значению истинности или ложности.
Например
A:=2; b:=5;
If a<b then write(a) else write(b);