По первому тесту выполнил дважды задания. Результат получается правильный (проверял калькулятором). Пишет, что "Задание не проверено" и предлагает повторить. |
Общие сведения о языке программирования Free Pascal
2.3 Элементы языка
Программа на языке Free Pascal может содержать следующие символы:
- латинские буквы A, B, C,..., x, y, z;
- цифры 0, 1, 2,..., 9;
- специальные символы +, -, /, =, <, >, [, ],., (, ),;, :, {, }, $, #, _, @, ‘, ^.
Из символов алфавита формируют ключевые слова и идентификаторы. Ключевые слова — это служебные слова языка, которые имеют специальное значение для компилятора и используются только в том смысле, в котором они определены (операторы языка, типы данных и т. п.). Идентификатор — совокупность букв, цифр и символа подчёркивания. Идентификатор начинается с буквы или символа подчёркивания. Идентификаторы служат для именования различных объектов (констант, переменных, меток, типов данных, процедур, функций, модулей, классов) языка. Идентификатор не может содержать пробел. Прописные и строчные буквы в именах не различаются, например ABC, abc, Abc — одно и то же имя. Каждое имя (идентификатор) должно быть уникальным и не совпадать с ключевыми словами.
В тексте программы можно использовать комментарии. Если текст начинается с двух символов "косая черта" // и заканчивается символом перехода на новую строку, заключён в фигурные скобки {} или располагается между парами символов (* и *), то компилятор его игнорирует. Например:
{Комментарий может выглядеть так!} ( * Или так. * ) //А если вы используете такой способ, //то каждая строка должна начинаться //с двух символов "косая черта".
Комментарии удобно использовать как для пояснений к программе, так и для временного исключения фрагментов программы при отладке.
2.4 Данные в языке Free Pascal
Для решения задачи в любой программе выполняется обработка каких-либо данных. Данные хранятся в памяти компьютера и могут быть самых различных типов: целые и вещественные числа, символы, строки, массивы. Типы данных определяют способ хранения чисел или символов в памяти компьютера. Они задают размер ячейки, в которую будет записано то или иное значение, определяя тем самым его максимальную величину или точность задания. Участок памяти (ячейка), в котором хранится значение определённого типа, называется переменной. У переменной есть имя (идентификатор ), тип и значение. Имя служит для обращения к области памяти, в которой хранится значение. Во время выполнения программы значение переменной можно изменить. Перед использованием любая переменная должна быть описана. Описание переменной на языке Free Pascal осуществляется с помощью служебного слова var:
var имя_переменной : тип_переменной;
Если объявляется несколько переменных одного типа, то описание выглядит следующим образом:
var переменная_1, переменная_2,..., переменная_N: тип_переменных;
Например:
var ha : integer; //Объявлена целочисленная переменная. hb, c : real; //Объявлены две вещественные переменные.
Константа — это величина, которая не изменяет своего значения в процессе выполнения программы. Описание константы имеет вид:
const имя_константы = значение;
Например:
const h=3; //Целочисленная константа. bk= -7.521; //Вещественная константа. c= ’ abcde ’; //Символьная константа.
2.4.1 Символьный тип данных
Данные символьного типа в памяти компьютера всегда занимают один байт. Это связано с тем, что обычно под величину символьного типа отводят столько памяти, сколько необходимо для хранения любого из 256 символов клавиатуры.
Описывают символьный тип с помощью служебного слова char. Например:
var c : char;
В тексте программы значения переменных и константы символьного типа должны быть заключены в апострофы: ’а’, ’b’, ’+’.
2.4.2 Целочисленный тип данных
Целочисленные типы данных могут занимать в памяти компьютера один, два, четыре или восемь байтов. Диапазоны значений данных целочисленного типа представлены в табл. 2.1.
Тип | Диапазон | Размер, байт |
---|---|---|
Byte | 0... 255 | 1 |
Word | 0... 65535 | 2 |
LongWord | 0... 4294967295 | 4 |
ShortInt | -128... 127 | 1 |
integer | -2147483648... 2147483647 | 4 |
LongInt | -2147483648... 2147483647 | 4 |
Smallint | -32768... 32767 | 2 |
Int64 | -263... 263 | 8 |
Cardinal | 0... 4294967295 | 4 |
Описание целочисленных переменных в программе может быть таким:
var b : byte; i, j : integer; W: word; L_1, L_2 : longint;
2.4.3 Вещественный тип данных
Внутреннее представление вещественного числа в памяти компьютера отличается от представления целого числа. Оно представлено в экспоненциальной форме , где — мантисса (целое или дробное число с десятичной точкой), — порядок (целое число)2Действия над числами, представленными в экспоненциальной форме, называют арифметикой с плавающей точкой, так как положение десятичной точки меняется в зависимости от порядка числа.. Чтобы перейти от экспоненциальной формы к обычному представлению числа3Число в обычном его представлении называют числом с фиксированной точкой., необходимо мантиссу умножить на десять в степени порядок. Например:
Вещественное число в Pascal может занимать от четырёх до десяти байтов. Диапазоны значений вещественного типа представлены в табл. 2.2.
Тип | Диапазон | Кол-во знач-х цифр | Размер, байт |
---|---|---|---|
Single | 1.5E45... 3.4E + 38 | 7—8 | 4 |
Real | 2.9E - 39... 1.7E + 38 | 15—16 | 8 |
Double | 5.0E - 324... 1.7E + 308 | 15—16 | 8 |
Extended | 3.4E - 4932... 3.4E + 4932 | 19—20 | 10 |
Comp | -263... 263 | 19—20 | 8 |
Currency | -922337203685477.5808... 922337203685477.5807 | 19—20 | 8 |
Примеры описания вещественных переменных:
var r1, r2 : real; D: double;