Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЗ-17 - ЗАПИСЬ ВЫРАЖЕНИЙ И ОПЕРАТОРОВ.doc
Скачиваний:
5
Добавлен:
01.05.2019
Размер:
256 Кб
Скачать

Задание № 2. Арифметические операции с целыми числами

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

  • Введите целочисленные переменные i, n и объявите их Integer.

  • Введите целочисленные переменные A, B и объявите их Byte.

  • Организуйте ввод с клавиатуры значений i, n, A, B.

  • Организуйте вывод на экран результатов целочисленного деления i div n и i mod n.

  • Организуйте вывод на экран результатов поразрядных булевских и сдвиговых операций с числами A и B.

Листинг программы должен иметь примерно следующий вид:

Program Operation_Integer;

{$APPTYPE CONSOLE}

uses

SysUtils;

Var

i,n: integer;

A,B: byte;

Begin

writeln('Vvedite znachenia i, n, A, B');

readln(i,n,A,B); // Введите произвольные целые числа

// из допустимого диапазона

writeln('Isxodni danny: i=',i:5,' n=',n:5,' A=',A:5,' B=',B:5);

writeln(i:5,' div',n:5,' = ',i div n:5);

writeln(i:5,' mod',n:5,' = ',i mod n:5);

writeln;

writeln('not ',A,' = ',not A);

writeln(A,' and ',B,' = ',A and B);

writeln(A,' or ',B,' = ',A or B);

writeln(A,' xor ',B,' = ',A xor B);

writeln(A,' shl ',B,' = ',A shl B);

writeln(A,' shr ',B,' = ',A shr B);

readln

End.

    1. Откомпилируйте и выполните программу. При наличии ошибок, исправьте их.

    2. П ри отсутствии ошибок вы должны получить результат, представленный на рис. 1.

    3. Сохраните проект программы в папке \Мои документы\ЛЗ-21\Задание-02 под именем Operation_Integer.

2. Использование функций и операторов

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

Операторы отделяются друг от друга символом точка с запятой (;).

Простые операторыэто такие операторы, которые не содержат в себе других операторов. К ним относятся операторы присваивания, вызова процедуры, безусловного перехода и пустой.

Оператор присваивания состоит из идентификатора переменной или пользовательской функции, символа присваивания «:=» и выражения:

Идентификатор := Выражение;

Допускается присваивание значений не только простых, но и структурированных типов, таких как массивы, записи и множества.

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

Имя_процедуры(Список_фактических_параметров);

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

Примерами стандартных процедур являются процедуры ввода-вывода: read, readln, write и writeln.

Процедура чтения read обеспечивает ввод числовых данных, символов, строк и т.д. для последующей их обработки программой:

read(X1, X2, ... , Xn);

где X1, X2, ... , Xn – переменные допустимых типов данных.

Процедура чтения readln аналогична процедуре read, единственное отличие заключается в том, что после считывания последнего в списке значения для одного оператора readln данные для следующего оператора readln будут считываться с начала новой строки.

Процедура записи write производит вывод числовых данных, символов, строк и булевских значений. Формат ее вызова следующий:

write(Y1, Y2, ..., Yn);

где Y1, Y2, ..., Yn - выражения типа integer, real, char, boolean и т.п.

После записи каждого выражения можно задать целочисленное выражение, определяющее ширину поля вывода: :p:q, где p – ширина поля вывода, а q – количество цифр в дробной части при представлении вещественного числа в формате с фиксированной точкой.

Процедура записи writeln аналогична процедуре write, но после вывода последнего в списке значения для текущей процедуры writeln происходит перевод курсора к началу следующей строки. Процедура writeln, записанная без параметров, вызывает перевод строки.

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

Goto Метка;

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

Структурные операторы включают в себя другие операторы и управляют последовательностью их выполнения. К ним относятся: составной оператор; условные операторы; операторы цикла; оператор присоединения.

Составной оператор объединяет группу операторов в единое целое, после чего они могут считаться одним оператором. Составной оператор состоит из последовательности объединяемых операторов, разделяемых точкой с запятой, которые располагаются между ключевыми словами begin и end:

Begin

Оператор_1;

Оператор_2;

...

Оператор_n

end;

Условные операторы обеспечивают выполнение или невыполнение некоторого оператора, группы операторов или блока в зависимости от заданных условий.

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

Полный формат: