Тип word в паскале

Обновлено: 05.07.2024

Рассмотрим наиболее распространенные в Pascal типы данных.

Целочисленные типы данных в Паскаль

Тип Диапазон Требуемая память (байт)
byte 0..255 1
shortint -128..127 1
integer -32768.. 32767 2
word 0..65535 2
longint -2147483648..2147483647 4

Нужно иметь в виду, что при написании программ в паскале integer (в переводе с англ. целое) является наиболее часто используемым, так как диапазон значений наиболее востребуем. Если необходим более широкий диапазон, используется longint (long integer, в переводе с англ. длинное целое). Тип byte в Паскале используется, когда нет необходимости работать с отрицательными значениями, то же самое касается и типа word (только диапазон значений здесь значительно больше).

Примеры того, как описываются (объявляются) переменные в Паскале:

program a1; var x,y:integer; myname:string; begin x:=1; y:=x+16; myname:='Петр'; writeln ('имя: ',myname, ', возраст: ', y) end.

program a1; begin var x, y: integer; var myname: string; x := 1; y := x + 16; myname := 'Петр'; print($'имя: , возраст: ') end.

Результат:
имя: Петр, возраст: 17

Комментарии в Паскале

Задача 5. Население Москвы равняется а=9000000 жителей. Население Нью-Васюков равняется b=1000 жителей. Напишите программу, которая определяет разницу в числе жителей между двумя городами. Используйте переменные величины.

[Название файла: L1task5.pas ]

Вещественные типы данных в Паскаль

Тип Диапазон Требуемая память (байт)
real 2.9 * 10E-39 .. 1.7 * 10E38 6
single 1.5 * 10 E-45 .. 3.4 * 10E38 4
double 5 * 10E-324 .. 1.7 * 10E308 8
extended 1.9 * 10E-4951 .. 1.1 * 10E4932 10

Выше были представлены простые типы данных в Паскаль, к которым относятся:

  • Порядковые
  • Целые
  • Логические
  • Символьные
  • Перечисляемые
  • Интервальные
  • Вещественные

Наряду с простыми типами в языке еще используются структурированные типы данных и указатели, которым будут посвящены последующие уроки по Паскалю.

Константы в Паскале

Зачастую в программе заранее известно, что переменная будет принимать какое-то конкретное значение и не менять его на протяжении выполнения всей программы. В таком случае необходимо использовать константу.

Объявление константы в Паскале происходит до объявления переменных (до служебного слова var ) и выглядит следующим образом:

Пример описания константы в Паскале:

const x=17; var myname:string; begin myname:='Петр'; writeln ('имя: ',myname, ', возраст: ', х) end.

const x = 17; begin var myname := 'Петр'; print($'имя: , возраст: ') end.

Вывод целых чисел

Вывод целых чисел

Вывод вещественных чисел

Вывод вещественных чисел

Арифметические операции в Паскале

арифметические операции в паскале

Порядок выполнения операций

  1. вычисление выражений в скобках;
  2. умножение, деление, div, mod слева направо;
  3. сложение и вычитание слева направо.

порядок выполнения операций

var a: integer; b: real; begin a := 1; writeln('a := 1; a = ',a); a += 2; // Увеличение на 2 writeln('a += 2; a = ',a); a *= 3; // Умножение на 3 writeln('a *= 3; a = ',a); writeln; b := 6; writeln('b := 6; b = ',b); r /= 2; writeln('b /= 2; b = ',b); end.

Стандартные арифметические процедуры и функции Pascal

Здесь стоит более подробно остановиться на некоторых арифметических операциях.

    Операция inc в Паскале, произносимая как инкремент, это стандартная процедура pascal, которая обозначает увеличение на единицу.

Пример операции inc:

Пример использования функции odd:

begin WriteLn(Odd(5)); WriteLn(Odd(4)); end.

Пример использования процедуры sqr в Pascal:

var x:integer; begin x:=3; writeln(sqr(x)); end.

Однако в компиляторе pascal abc возведение в степень осуществляется значительно проще:

При описании переменной необходимо указать ее тип. Тип переменной описывает набор значений, которые она может принимать, и действия, которые могут быть над ней выполнены. Описание типа определяет идентификатор, который обозначает тип.

Простые типы делятся на стандартные (порядковые) и перечисляемые (ограниченные).

Стандартные типы

Турбо-Паскаль имеет четыре встроенных стандартных типа: integer (целое), real (вещественное), boolean (логический) и char (символьный).

Целочисленный тип (integer)

В Турбо-Паскале имеется пять встроенных целочисленных типов: shortint (короткое целое), integer (целое), longint (длинное целое), byte (длиной в байт) и word (длиной в слово). Каждый тип обозначает определенное подмножество целых чисел, как это показано в следующей Таблице.

Встроенные целочисленные типы.

Тип

Диапазон

Формат

8 битов со знаком

16 битов со знаком

32 бита со знаком

8 битов без знака

16 битов без знака

Арифметические действия над операндами целочисленного типа осуществляются в соответствии со следующими правилами:

  1. Тип целой константы представляет собой встроенный целочисленный тип с наименьшим диапазоном, включающим значение этой целой константы.
  2. В случае бинарной операции (операции, использующей два операнда), оба операнда преобразуются к их общему типу перед тем, как над ними совершается действие. Общим типом является встроенный целочисленный тип с наименьшим диапазоном, включающим все возможные значения обоих типов. Например, общим типом для целого и целого длиной в байт является целое, а общим типом для целого и целого длиной в слово является длинное целое. Действие выполняется в соответствии с точностью общего типа и типом результата является общий тип.
  3. Выражение справа в операторе присваивания вычисляется независимо от размера переменной слева.

Операции совершаемые над целыми числами:

SQR - возведение в квадрат

DIV - после деления отбрасывает дробную часть

MOD - получение целого остатка после деления

ABS - модуль числа

RANDOM(X)-получение случайного числа от 0 до Х

Описываются переменные целого типа следующим образом:

var список переменных: тип;

Например: var а,р,n:integer;

Вещественный тип(real)

К вещественному типу относится подмножество вещественных чисел, которые могут быть представлены в формате с плавающей запятой с фиксированным числом цифр. Запись значения в формате с плавающей запятой обычно включает три значения - m, b и e - таким образом, что m*b е , где b всегда равен 10, а m и e являются целочисленными значениями в диапазоне вещественного типа. Эти значения m и e далее определяют диапазон и точность вещественного типа.

Имеется пять видов вещественных типов: real, singlе, duble, exnende, comp. Вещественные типы различаются диапазоном и точностью связанных с ними значений

Диапазон и десятичные цифры для вещественных типов

Тип

Диапазон

Цифры

2.9x10Е-39 до 1.7x10Е 38

1.5x10Е-45 до 3.4x10Е 38

5.0x10Е-324 до 1.7x10Е 308

3.4x10Е-493 до 1.1x10Е 403

Операции совершаемые над вещественными числами:

  • Все операции допустимые для целых чисел.
  • SQRT(x)-корень квадратный из числа х.
  • SIN(X), COS(X), ARCTAN(X).
  • LN(X)-натуральный логарифм.
  • EXP(X)-экспонента Х (е х ).
  • EXP(X*LN(A))-возведение в степень (А х ).
  • Функции преобразования типов:
    • TRUNC(X)-отбрасывает дробную часть;
    • ROUND(X)-округление.
    • Если в арифметическом действии встречаются числа типа real и integer, то результат будет иметь тип real.
    • Все составные части выражения записываются в одну строку.
    • Используются только круглые скобки.
    • Нельзя подряд ставить два арифметических знака.

    Описываются переменные вещественного типа следующим образом:

    Символьный тип(char)

    K типу char относится любой символ заключенный в апострофы. Для представления апострофа как символьную переменную, надо заключить его в апостроф:’’’’.

    Каждый символ имеет свой код и номер. Порядковые номера цифр 0,1..9 упорядочены по возрастанию. Порядковые номера букв также упорядочены по возрастанию, но не обязательно следуют друг за другом.

    К символьным данным применимы знаки сравнения:

    Функции, которые применимы к символьным переменным:

      ORD(X) - определяет порядковый номер символа Х.

    Перечислимый тип

    Перечислимый тип данных назван так потому, что задается в виде перечисления констант в строго определенном порядке и в строго определенном количестве. Перечислимый тип состоит из списка констант. Переменные этого типа могут принимать значение любой из этих констант. Описание перечислимого типа имеет вид:

    где <список констант> - это особый вид констант, задаваемых через запятую и имеющих свой порядковый номер, начиная с 0.

    Можно выполнить такие операторы присваивания:

    но нельзя выполнять смешанные присваивания:

    К переменным перечислимого типа применимы следующие функции:

    1. ORD - порядковый номер

    2. PRED - предшествующий элемент

    3. SUCC - последующий элемент.

    Переменные перечислимого типа можно сравнить, так как они упорядочены и пронумерованы. Так выражения: север < юг, июнь < январь имеют значения TRUE, а юг>запад и бак<бочка значение FАLSE.

    Ограниченный тип

    Если переменная принимает не все значения своего типа, а только в некотором диапазоне, то ее можно рассматривать как переменную ограниченного типа. Каждый ограниченный тип задается путем накладывания ограничения на базовые типы.

    Файловая переменная в Паскале - это любая переменная файлового типа. В Паскале имеются три класса файлов: типизированный файл, текстовый файл и не типизированный файл. Перед использованием файловой переменной она должна быть связана с внешним файлом с помощью вызова процедуры Аssign. Внешним файлом обычно является поименованный файл на диске, но он также может представлять собой устройство, например, клавиатуру или дисплей. Во внешних файлах сохраняется записанная в файл информация, или они служат источниками информации, которая считывается из файла.

    Когда связь с внешним файлом установлена, для подготовки ее к операции ввода или вывода файловая переменная должна быть “открыта”. Существующий файл можно открыть с помощью процедуры Reset, а новый файл можно создать и открыть с помощью процедуры Rewrite. Текстовые файлы, открытые с помощью процедуры Reset доступны только по чтению, а текстовые файлы, открытые с помощью процедуры Rewrite, доступны только по записи. Типизированные и нетипизированные файлы всегда допускают как чтение, так и запись,независимо от того были они открыты с помощью процедуры Reset или с помощью процедуры Rewrite.

    Когда начинается выполнение программы, всегда автоматически открываются стандартные текстовые файловые переменные Input и Оutput (ввод и вывод). Input - это доступный только по чтению файл, связанный с клавиатурой, а Оutput - это доступный только по записи файл, связанный с дисплеем.

    Любой файл, представляет собой линейную последовательность элементов, каждая из которых имеет сложный тип (или тип записи) файла. Каждый элемент файла имеет номер. Первый элемент файла считается нулевым элементом.

    Обычно доступ к файлам организуется последовательно, то есть, когда элемент считывается с помощью стандартной процедуры Read или записывается с помощью стандартной процедуры Write, текущая позиция файла перемещается к следующему по порядку элементу файла. Однако к типизированным и нетипизированным файлам можно организовать прямой доступ с помощью стандартной процедуры Sееk, которая перемещает текущую позицию файла к заданному элементу. Для определения текущей позиции в файле и текущего размера файла можно использовать стандартные функции FileРоs и Filesize.

    Когда программа завершает обработку файла, он должен закрываться с помощью стандартной процедуры Сlose. После полного закрытия файла связанный с ним внешний файл обновляется. Затем файловая переменная может быть связана с другим внешним файлом.

    Общий вид описания файлов:

    Стандартные процедуры и функции для текстовых файлов

    В Турбо-Паскале текстовый тип отличается от символьного типа файла. При открытии текстового файла внешний файл интерпретируется особым образом: считается, что он представляет собой последовательность символов, сгруппированных в строки, где каждая строка заканчивается символом конца строки (end-of-line), который представляет собой символ перевода каретки, за которым возможно следует символ перевода строки.

    Для текстовых файлов существует специальный вид операций чтения и записи (read и write), который позволяют вам считывать и записывать значения, тип которых отличается от символьного типа. Такие значения автоматически переводятся в символьное представление и обратно. Например, Read(f,i), где i - переменная целого типа, приведет к считыванию последовательности цифр, интерпретации этой последовательности, как десятичного числа, и сохранению его в i.

    Имеются две стандартных переменных текстового типа - это Input и Оutput. Стандартная файловая переменная Input - это доступный только по чтению файл, связанный со стандартным файлом ввода операционной системы (обычно это клавиатура), а стандартная файловая переменная Оutput - это доступный только по записи файл, связанный со стандартным файлом вывода операционной системы (обычно это дисплей). Перед началом выполнения программы файлы Input и Оutput автоматически открываются, как если бы были выполнены следующие операторы:

    Аналогично, после завершения работы программы эти файлы автоматически закрываются. Примечание: если программа использует стандартный модуль Сrt, то файлы Input и Оutput не будут по умолчанию относиться к стандартным файлам ввода и вывода.

    Для некоторых из стандартных процедур, список которых приведен в данном разделе, не требуется явно указывать в качестве параметра файловую переменную. Если этот параметр опущен, то по умолчанию будут рассматриваться Input или Output, в зависимости от того, будет ли процедура или функция ориентирована на ввод или на вывод. Например, Read(х) соответствует Read(Input,х) и Write(х) соответствует Write(Output,х).

    Процедуры

    Функции

    Процедура Seek

    Haзнaчeниe: перемещает текущую позицию в файле к заданному элементу.

    Примечания: Параметр f является любой файловой переменно, кроме текстовой, а n представляет собой выражение целого типа.

    Текущая позиция в файле f перемещается к элементу с номером n. Номер первого элемента файла равен 0. Для того, чтобы расширить файл, можно выполнить поиск элемента файла, расположенного за последним элементом. Ограничения: Процедуру нельзя использовать для текстовых файлов. Файл должен быть открыт.

    Стандартные процедуры и функции для нетипизированных файлов

    Нетипизированные файлы представляют собой каналы ввода-вывода нижнего уровня, используемые в основном для прямого доступа к любому файлу на диске, независимо от его типа и структуры. Любой нетипизированный файл описывается словом file без атрибутов.

    Для нетипизированных файлов в процедурах Reset и Rewrite допускается указывать дополнительный параметр, чтобы задать размер записи, использующийся при передаче файла.

    По историческим причинам принимаемая по умолчанию длина записи равна 128 байтам. Предпочтительной длиной записи является длина записи, равная 1, поскольку это единственное значение, которое позволяет точно отразить размер любого файла (когда длина записи равна 1, то в файле не могут присутствовать неполные записи, то есть записи с меньшей длиной).

    За исключением процедур Read и Write для всех нетипизированных файлов допускается использование любой стандартной процедуры, которые допускается использовать с типизированными файлами. Вместо процедур Read и Write здесь используются соответственно процедуры Blockrеаd и BlockWrite позволяющие пересылать данные с высокой скоростью.

    Процедуры и функции для обработки файлов.

    Процедура Аppеnd

    Haзнaчeниe: Открывает текущий файл для присоединения.

    Тип результата: Параметр f - текстовая файловая переменная, которая должна быть связана с внешним файлом с помощью процедуры Аssign. Процедура Аppеnd открывает существующий внешний файл с именем, назначенным переменной f. Если внешнего файла с указанным именем не существует, то это является ошибкой. Если файл f уже открыт, то он сначала закрывается, а затем открывается заново. Текущая позиция устанавливается на конец файла. Если в последнем блоке файла размером 128 байтов присутствует Сtrl-Z (26 в коде АSСII), то текущая позиция устанавливается в файле таким образом, что при записи первым будет перекрываться символ Сtrl-Z в блоке. Если переменной f было присвоено пустое имя (например, Аssign(f,’’), то после обращения к процедуре Аppеnd f будет указывать на стандартный выходной файл (стандартный канал номер 1). После обращения к Аppеnd f становится доступным только по записи и Еоf(f) всегда принимает значение Тruе.

    Процедура Аssign

    Haзнaчeниe: присваивает имя внешнего файла файловой переменной.

    Примечания: f является файловой переменой любого файлового типа, а “имя” должно представлять собой выражение строкового типа. Дaльнейшие операции с f будут выполняться с внешним файлом с именем, заданным параметром “имя”. После обращения к процедуре Аssign связь, установленная между переменной f и внешним файлом будет существовать до тех пор, пока не будет выполнена другая процедура Аssign для переменной f. Имя состоит из маршрута (пути доступа), определяющего доступ к 0 или более каталогов, имена которых отделены друг от друга с помощью обратной косой черты и за которыми следует действительное имя файла:

    Если путь доступа начинается с обратной косой черты, то поиск начинается в корневом каталоге, в противном сучае он начинается в текущем каталоге. “Диск” представляет собой идентификатор диска (А -Z). Если “Диск” и двоеточие будут опущены, то используется назначенный по умолчанию дисковод. “\имя-кат\имя-кат-\. \имя-кат” является корневым каталогом и путем доступа к подкаталогу, в котором содержится имя файла. “имя-файла” может содержать до восьми символов, за которыми могут следовать точка и расширение имени файла, длиной до трех символов. Максимально допустимая длина всего имени файла составляет 79 символов.

    Ограничения: Процедура Аssign не должна использоваться для открытого файла. Когда “имя” представляет собой пустую строку, возникает особый случай, то есть Length(имя) равно нулю. В этом случае параметр f становится связанным со стандартным файлом ввода или стандартным файлом вывода. Эти специальные файлы позволяют инициализировать средство изменения направления ввода-вывода операционной системы ДОС. Если присвоено пустое имя, то после обращения к Rеset(f) f будет указывать на стандартный файл ввода, а после обращения к Rеwritе(f) f будет указывать на стандартный файл вывода.

    Пример: (Делается попытка назначить для вывода программы вместо ДОС устройство РRN, диск и т.д.)

    Функция Еоf (типизированные и нетипизованные файлы)

    Haзнaчeниe: Для типизированных или нетипизированных файлов возвращает состояние “конец файла”.

    Тип результата: Булевский (boolean).

    Примечания: Параметр f представляет собой файловую переменную. Если текущая позиция в файле находится за последним элементом файла или если файл не содержит никаких элементов, то функция Еоf(f) возвращает значение Тruе. В противном случае она возвращает значение False.

    Функция Еоf (текстовые файлы)

    Haзнaчeниe: Возвращает состояние “конец файла” для текстовых файлов.

    Тип результата: Булевский.

    Примечания: Параметр f представляет собой файловую переменную, определяющую текстовый файл. Если этот параметр опущен, то используется стандартная файловая переменная Input. Если текущая позиция в файле находится за последним элементом файла или если файл не содержит никаких элементов, то функция Еоf(f) возвращает значение Тruе. В противном случае она возвращает значение False.

    Функция Eoln

    Haзнaчeниe: Пpoвepяeт, дocтигнут ли конец строки в файле.

    Tип результата: логический (boolean).

    Зaмeчaния: f, если указана, является файловой переменной типа text. Если f опущена, то подразумевается cтaндapтнaя файловая переменная Input. Eoln(f) возвращает True, если текущая позиция в файле совпадает с маркером конца строки или если истинна функция Eof(f); в противном случае Eoln(f) возвращает False.

    Пpи применении Eoln к стандартному входному устройству (Input), которое не было переопределено , нижеописанная программа будет ожидать ввода, возврата каретки (CR),прежде чем вернуться из вызова функции Eoln:

    Процедура Еrase

    Haзнaчeниe: Стирает внешний файл.

    Примечания: Параметр f представляет собой файловую перемененную любого файлового типа. Внешний файл, связанный с переменной f, стирается.

    Ограничения: Процедура Еrase не должна использоваться для открытого файла.

    Функция FilePos

    Haзнaчeниe: Возвращает текущую позицию в файле.

    Тип результата: Длинный целый (longint).

    Примечания: Параметр f представляет собой файловую переменную. Если текущей позицией является начало файла, то функция FilePos(f) возвращает значение 0. Если текущей позицией в файле является конец файла, то есть Еоf(f) возвращает значение Тruе, то значение, возвращаемое функцией FilePos(f), совпадает со значением, возвращаемым функцией FileSizе(f) (размером файла).

    Функция FileSize

    Haзнaчeниe: Возвращает текущий размер файла.

    Тип результата: Длинный целый (longint).

    Примечания: Параметр f представляет собой файловую переменную. Данная функция возвращает число элементов в f. Если файл пуст, функция возвращает значение 0.

    Ограничения: Функция не может использоваться для текстового файла. Файл должен быть открыт.

    Процедура FSplit

    Haзнaчeниe: Разбивает имя фaйлa на три его компонента.

    Зaмeчaния: Разбивает имя фaйлa, указанное пapaмeтpoм Path на три его компонента. Пapaмeтp Dir становится равен имени накопителя и маршруту с возможными предшествующими и последующими символами ‘\’, Name—имени фaйлa, а Ext -- pacшиpeнию фaйлa с предшествующей точкой.

    Каждая из cтpoк - кoмпoнeнт может оказаться пустой, если Path не содержит соответствующего компонента. типы PathStr, DirStr, NameStr и ExtStr определены в стандартном модуле DOS следующим образом:

    Процедура FSplit никогда не добавляет и не удаляет символы при разбиении имени фaйлa, и сцепление результирующих строк Dir, Name и Ext всегда окажется равным строке, указанной в параметре Path.

    В обычном Паскале описание переменных обычно находится до тела программы:

    В этом состоит принцип локальности: переменная описывается непосредственно перед началом своего использования.

    Внутриблочные переменные позволяют сильно уменьшить количество глобальных переменных в разделе описания.

    Т.е. чем ближе к месту использования описывается некоторый программный объект, тем читабельней код и модифицируемей программа.

    var n,i,p:integer; begin read(n); . p:=1; for i:=1 to n do p:=p*i; .

    begin var n:integer; read(n);

    ИЛИ

    begin var n:=ReadInteger('введите n: ');

    var p:=1; // канонический способ - тип определяется по правой части for var i:=1 to n do p:=p*i; // можно заменить на компактную форму p*=i; print (p); // write() заменяем на print() end.

    Теперь этот фрагмент кода можно вырезать и перенести в функцию или в модуль. В этом и заключается модифицируемость.

    var n:=ReadInteger(); var n:=ReadReal();

    var a: integer; b: real; begin a := 1; writeln('a := 1; a = ',a); a += 2; // Увеличение на 2 writeln('a += 2; a = ',a); a *= 3; // Умножение на 3 writeln('a *= 3; a = ',a); writeln; b := 6; writeln('b := 6; b = ',b); r /= 2; writeln('b /= 2; b = ',b); end.

    для нескольких заданных x.

    begin writeln('Введите значение x'); var x:=ReadReal; var a:=(x-3)*(x-3)*(x-3); var y:= 5*sqr(a)-8*a+2; writeln('Значение функции для x = ', y); end.

    pascal abc расстояние между точками

    Задача abc_net 1. Найдите расстояние между двумя точками с заданными координатами (x1,y1) и (x2,y2) на плоскости. Расстояние вычисляется по формуле:

    Проверьте правильность вашей программы на следующих значениях:

    [Название файла: L1abc1.pas ]

    Базовые типы и методы внутри стандартных типов

    Для обращения к методам используется точечная нотация:

    var i:integer; i. . // выпадает список методов для целочисленных i.MaxValue; i.MinValue; i.ToString;

    WritelnFormat('f(, ) = ', a, b, c);

    Первым параметром в скобках и одинарных кавычках указывается форматная строка, которая задаёт формат вывода выражений.

    то нужно просто заменить a, b на , :

    WritelnFormat(' + = + = ', a, b, x + y)

    Стандартные функции

    Обмен значениями переменных происходит без использования буферной переменной:

    Поиск максимального и минимального значения:

    Задача abc_net 2. В танцевальном клубе участвуют 10 представительниц женского пола. Найдите средний возраст танцовщиц. Решить задачу без использования массива, используя принцип локальности, компактную форму записи и методы внутри стандартных типов.

    Операции целочисленного деления и остатка

    Операция div предназначена для вычисления целой части от результата деления целых чисел (неполное частное). Пример:

    [Название файла: L1abc2.pas ]

    Операция mod предназначена для вычисления остатка от деления одного целого числа на другое. Если числа делятся нацело, то остаток равен нулю.
    Пример:

    Работа с отдельными цифрами числа

    Таким образом, можно понять, как получить из общего числа отдельные его цифры: Пример: Дано трёхзначное целое число. Вывести сумму его цифр. Убедитесь, что ваша программа корректно работает с отрицательными числами.

    begin var a := abs(readinteger); // модуль числа println(a div 100 + (a div 10) mod 10 + a mod 10); end.

    Задача abc_net 3. Дано двузначное целое число. Требуется вывести сумму и произведение его цифр.
    Пример:

    Приведите лог работы программы с одним из введенных чисел в форме комментария.

    [Название файла: L1abc3.pas ]

    Задача abc_net 4. Дано трёхзначное целое число. Выполните в нем циклический сдвиг разрядов влево (разряд единиц становится разрядом десятков, разряд десятков — разрядом сотен, а разряд сотен — разрядом единиц).
    Пример:

    [Название файла: L1abc4.pas ]

    Логические выражения и условный оператор

    Логические переменные и выражения

    Логическое выражение после его вычисления возвращает значение True (истина) или False (ложь).

    Логическое выражение может включать:

    • логические переменные (имеют тип: boolean );
    • логические операции ( or , and , xor , not );
    • операции сравнения чисел и числовых переменных (например, x , где x и y имеют тип real или integer).
    Пример: Даны два целых числа. Проверить истинность высказывания: первое число больше второго (вывести True или False ).

    begin var (a, b) := readinteger2; println(a > b); end.

    Задание abc_net 5: Даны три целых числа: A, B, C. Проверить истинность двойного неравенства A .
    Пояснение: Запрещено использовать условный оператор. Следует использовать вывод результата вычисления логического выражения.

    [Название файла: L1abc5.pas ]

    Задание abc_net 6:Даны два целых числа. Проверить истинность высказывания: хотя бы одно из этих чисел является нечётным.
    Пояснение: Используйте стандартную функцию odd .

    [Название файла: L1abc6.pas ]

    Чаще всего логические выражения используются внутри условного оператора, который выполненяет определённые действия в зависимости от истинности выражения:

    Короткая форма условного оператора:

    if <логическое выражение> then <оператор> // выполнится, если <условное выражение> возвращает True

    if <логическое выражение> then <оператор-1> else <оператор-2>


    При использовании нескольких операторов в одном условии необходимы операторные скобки begin..end :

    if <логическое выражение> then begin <оператор-1> <оператор-2> . end

    Важно: Не следует ставить точку с запятой перед else
    Пример: Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 1. Вывести число в конце программы.

    begin var a := readinteger; if (a > 0) then a := a + 1 else a := a - 1; println(a); end.


    Задание: Даны целые числа x, y. Вычислить значение функции:

    Дополните программу:

    begin var x, y: integer; // аргументы функции f Write('Введите числа x, y: '); Readln(x, y); var f: integer; // записать в переменную f значение функции f(x, y) . WritelnFormat('f(, ) = ', x, y, f); end.

    Задание abc_net 7: Даны три вещественных числа. Вывести значение True , если среди этих чисел нет ни одного положительного, и False - в противном случае.

    [Название файла: L1abc7.pas ]

    Задание abc_net 8: Даны целые числа a, b, c, являющиеся сторонами некоторого треугольника. Вывести значение True , если треугольник со сторонами a, b, c является равнобедренным, и False - в противном случае.

    [Название файла: L1abc8.pas ]

    Рассмотрим оператор на примере:

    Пример: Единицы длины пронумерованы следующим образом:

    Вводится номер единицы длины (целое число в диапазоне 1–5) и длина отрезка в этих единицах (вещественное положительное число). Найти длину отрезка в метрах.

    begin var n := readinteger('Введите номер единицы:'); var a := readreal('Введите длину в заданных единицах:'); case n of 1: a /= 10; // дециметр 2: a *= 1000; // километр 4: a /= 1000; // миллиметр 5: a /= 100; // сантиметр end; println('Длина в метрах:', a); end.

    Читайте также: