Рефераты. Основы программирования на языке Паскаль

"Хорошее" расположение строк "Плохое" расположение строк

рис. 2.2

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

2.4. Простейший ввод-вывод

В программе Prim1 мы задавали исходные данные с помощью оператора присваивания, что не всегда удобно, если одну и ту же программу нужно просчитывать с различными исходными данными. Для присвоения начальных значений можно использовать оператор readln (идентификатор, идентификатор,...,идентификатор); например, readln (c,b). встретив такой оператор, машина остановится и будет ждать, пока пользователь не наберет на клавиатуре значение с, нажмет клавишу "пробел”, наберет значение b и нажмет клавишу ENTER (ввод).значения величин c и b отобразятся на экране и после нажатия клавиши ENTER занесутся в ячейки памяти машины с именами с и b соответственно. тогда программа Prim1 примет вид:

Program Prim1a;

Var a, b, c : integer;

BEGIN readln (c,b);

a : = c+b;

writeln (a);

readln ;

END.

Замечание 1. Напомним, что машине безразлично, строчные или прописные буквы одинаковых слов end, end и end (но не для вас).

Замечание 2. Удобно ставить Readln перед END, так как после выполнения программы машина выдаёт на экран окно текста программы, а результат "прячется" за этим окном и, чтобы его посмотреть, необходимо убрать окно с программой с помощью нажатия клавиш. Если перед END имеется Readln, то программа не завершит работу, пока вы не нажмете клавишу ENTER, т.е. в данном случае на экран будет выведено значение а. Вы посмотрите результат и нажмете ENTER для входа в редактор языка Паскаль.

2.5. Арифметические выражения

Арифметическое выражение строится из объектов: арифметических (числовых) констант; идентификаторов переменных, описанных как числовые; функций, которые возвращают в результате их вычисления; арифметических значений этих объектов, соединённых между собой знаками арифметических операций и круглыми скобками. В качестве констант могут применяться арифметические константы, заданные в явном виде: 5; 5.35, -7.374 Е + 01 и т.п., а также имена констант, определённые в разделе const.

В качестве переменных используются переменные, определённые в разделе Var как byte, integer, real, и их разновидности, например, longinteger, и т.д., если им уже присвоены начальные значения.

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

Основные стандартные функции Паскаля:

Обозначения: I - целочисленный тип; B - байтовый тип; R - вещественный тип; IBR - целочисленный, или байтовый, или вещественный типы.

ABS (IBR) - определение абсолютной величины аргумента типа i,b,r.

ARCTAN (IBR) - вычисление угла (в радианах), тангенс которого равен IBR.

Cos (IBR) , Sin (IBR).

Exp (IBR) - вычисление значения eIBR.

Ln (IBR) - натуральный логарифм IBR.Sgr (IBR) - возведение в квадрат IBR.

Sgrt (IBR) - вычисление корня квадратного из IBR.

Возведение в степень выполняется по формуле ar= exp (r *ln(a)) для положительных a либо организуется последовательное умножение на а r раз.Для отрицательных а возможен только второй способ.

Арифметические операции: +, -, - умножить; / - разделить; mod - нахождение остатка от деления: 11 mod 5, результат1; div - целочисленное деление (дробная часть отбрасывается) 11 div 5, результат 2. Арифметические "и" - аnd и "или" - or производят поразрядное булевское умножение или сложение целых значений операндов согласно таблицам:

A аnd B A or B

0 аnd 0 = 0 0 or 0 = 0

1 аnd 0 = 0 1 or 0 = 1

0 аnd 1 = 0 0 or 1 = 1

1 аnd 1 = 1 1 or 1 = 1

Пример: a: = 12 ; b: = 27.

Во внутреннем коде машины, в двоично-десятичной системе, цифры представляются в десятичной системе:

0000 = ноль

0001 = один

0010 = два

0011 = три

0100 = четыре

0101 = пять

0110 = шесть

0111 = семь

1000 = восемь

1001 = девять

Тогда 12 в десятичной системе эквивалентно 0001 0010 двоично-десятичной системы. напомним, что в двоично-десятичной системе каждая десятичная цифра представлена 4-значным двоичным кодом этой цифры. В этом случае 27 - 0010 0111.

А аnd B А or B

0001 0010 0001 0010

0010 0111 0010 0111

результат: 0000 0010 результат: 0011 0111

Результат преобразуется в десятичную форму 2 и 37 соответственно.

ХOR, исключающее "или", производит операцию согласно таблице

A xor B

1 xor 1 = 0

1 xor 0 = 0

0 xor 1 = 1

0 xor 0 = 0

Результат преобразуется в десятичную форму.

Циклический сдвиг: k shl N - сдвиг числа к влево на N позиций,

k shr N - сдвиг числа к вправо на N позиций,

k и N - целые.

Пример: 2 shl 7 = 256

0000 0000 0000 0010

0000 0001 0000 0000

0 единиц

0 двоек

0 четверок

0 восьмерок

0 шестнадцать

0 тридцать два

0 шестьдесят четыре

0 сто двадцать восемь

1 двести пятьдесят шесть

Пояснение: в любой позиционной системе счисления на первом месте справа в числе стоит количество оснований системы счисения в степени 0, на втором месте справа - количество оснований в степени 1, на третьем месте справа - количество оснований в степени 2 и т.д. так, для десятичной системы имеем:

3 2 4

количество единиц 100 * 4 = 4

количество десятков 101 * 2 = 20

количество сотен 102 * 3 = 300

сложим = 324

Для двоичной системы:

1 0 1 1 0 0 1

количество единиц 20 * 1 = 1

количество двоек 21 * 0 = 0

количество четверок 22 * 0 = 0

количество восьмерок 23 * 1 = 8

количество шестнадцаток 24 * 1 = 16

количество тридцать вторых 25 * 1 = 0

количество шестьдесят четверок 26 * 1 = 64

сложим = 89

т.е. десятичное 89 имеет изображение 1011001 в двоичной системе.

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

1. Запрещено последовательное появление знаков двух операций, т.е.

A + - B - неверно, A + (-B) - верно.

2. Порядок выполнения операций: /,,div, mod, and, or, shl, shr, -, +. Порядок может быть нарушен круглыми скобками, так как часть выражения, заключённая в круглые скобки, выполняется в первую очередь.

3. Если операции имеют одинаковый приоритет, то они выполняются последовательно.

4. Унарная операция имеет самый низкий приоритет, поэтому -A b интерпретируется как -(A b).

5. Не следует записывать выражения, не имеющие арифметического смысла, например, деление на выражение, равное 0.

6. Следует помнить, что операции / и имеют одинаковый приоритет, например, 18/23=27, а не 3. чтобы было 3, необходимо записать 18/(23).

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.