Логические операции And, Or, Not, Xor в Pascal.

Над переменными логического типа можно производить логические операции. В языке программирования Pascal существуют следующие логические операции : Andлогическое умножение, Orлогическое сложение, Notлогическое отрицание, Xor ...

Функции Pred, Succ в Pascal.

В данном уроке мы рассмотрим функции, применяемые к типу CHAR. Функция Pred возвращает в качестве значения предшествующий символ, а функция Succ возвращает последующий символ.

Перевод числа из десятичной системы счисления в шестнадцатеричную.

Напишем программу, которая вводит с клавиатуры целое число в диапазоне от 0 до 15 и преобразует его к шестнадцатеричной системе счисления. Напомню, что в шестнадцатеричной системе счисления числа в диапазоне от 0 до 9 соответствуют таким же числам в ...

Циклы и массивы

Сортировка простым включением и простым выбором.

Сортировка простым включением.
Пример 33. Методом простого включения упорядочить (отсортировать) в порядке возрастания массив из 8 целых чисел (44, 55,12,42, 94, 18, 06, 67).

Программирование вычислительных процессов.

Решение задачи на ЭВМ — это сложный процесс, в ходе которого пользователю приходится выполнять целый ряд действий, прежде чем он получит интересующий его результат.

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

Операторы ввода (чтения).
Ввод числовых данных, символов, строк и т.д. с клавиатуры обеспечивается операторами вызова стандартных процедур: READ(X1, Х2, ХЗ, ...), или READLN(X1, Х2, ХЗ, ...), где X1, Х2, ХЗ,... — идентификаторы скалярных переменных. Данные, соответствующие переменным X1, Х2, ХЗ, вводятся с клавиатуры и разделяются либо пробелом, либо Enter. После ввода последнего данного всегда нажимается клавиша Enter.
Отличие оператора READLN от READ заключается в том, что после считывания последнего в списке X1 Х2, ХЗ,... значения данные для следующего оператора READLN будут считываться с начала новой строки. То есть, если список ввода X1, Х2, ХЗ,... оператора READLN меньше чем число набранных в одну строку через пробел чисел, то оставшиеся в строке числа будут проигнорированы. Оператор READ сохранит оставшиеся числа для дальнейшего ввода. Вводимые данные должны строго соответствовать типам переменных, описанных в разделе VAR, в противном случае будут возникать сообщения об ошибках ввода. Оператор READLN без параметров вызывает приостановление программы до момента нажатия клавиши Enter.

Операторы вывода (записи).
Вывод числовых данных, символов, строк и булевских значений на экран дисплея осуществляется с помощью операторов вызова стандартных процедур: WRITE(X1, Х2, ХЗ, ...), или WRITELN(X1, Х2, ХЗ, ...).
Отличие этих операторов состоит в том, что WRITELN после распечатки списка выражений XI, Х2, ХЗ,... автоматически переводит курсор в начало следующей строки, а после выполнения оператора WRITE курсор остается за последним символом, выведенным на экран.
Оператор WRITELN с пустым списком выводимых данных выводит строку пробелов. Управление форматом выводимых данных осуществляется непосредственно в операторе вывода. Для этого используется запись элемента из списка {Xi} в виде — X [: В [: С ]], где X — выражение, идентификатор переменной или константа, В – ширина поля для вывода данного X, С – точность (только для типа REAL). Точность представления определяет количество цифр после точки (дробная часть числа). Если указанная ширина поля оказывается 'слишком большой', то значение данного выводится со стоящими впереди пробелами. Если указанная ширина поля 'мала', то в строке вывода для значения этого данного добавляются (автоматически) необходимые позиции. Параметры формата (ширина поля B и точность С) могут быть константой, переменной или выражением целого типа.
Пример 2.  Описать формат вывода арифметического выражения X, численное значение которого |X|< 1000, с точностью до пяти знаков после десятичной точки.
Решением этой задачи является оператор: WRITELN( X : 10 : 5 ). На рисунке 1 показана схема формата Х:10:5.

lineyjnihe processih vihchisleniyj

Цифра 10 определяет ширину поля, то есть общее количество литер, отведенное для отображения вещественного числа вместе со знаком и десятичной точкой. Цифра 5 – точность - указывает количество цифр мантиссы. В этом примере результат вычисления X выводится на экран дисплея в форме вещественного числа с фиксированной точкой.
Если задать формат в виде Х:8, то вещественное число будет представлено в формате с плавающей точкой и будет включать для своего представления восемь литер. Ограничение ширины поля скажется на разрядности мантиссы. Для вывода целой части X можно форматировать — Х:5:0. В этом случае 'точность' равна 0 и десятичная точка не отображается на экране. Дробная часть вещественного числа округляется с указанной точностью, а не отбрасывается.

lineyjnihe processih vihchisleniyj.

Оператор присваивания.
Вычисления в большинстве случаев реализуются с помощью оператора присваивания, который имеет формат: <Идентификатор> := <Выражение>;
Оператор присваивания заменяет значение переменной, идентификатор которой стоит в левой части, на значение, задаваемое выражением в правой части. Выражение строится из операндов (переменных и констант), функций, операций и круглых скобок.
Арифметические выражения используют арифметические операции: *,  /, DIV, MOD, AND, OR, +, - . Операнды имеют тип REAL или INTEGER. Для удобной работы Вы можете купить DELL workstations Vostro по доступной цене.
Пример арифметического выражения: X := (1 - В)*ЕХР(-0.5*А)/(1 - А).
Список встроенных арифметических функций, наиболее часто используемых в программах на Паскале, приведен в таблице 8. Последовательность выполнения операции в выражении определяется их приоритетом. В первую очередь делаются операции умножения и деления (*, /), а в последнюю — сложения и вычитания (+, -) слева направо.

Приоритетность арифметических операций:

1. Вычисления в круглых скобках;

2. Вычисления значений функции;

3. Унарные операции (NOT, унарный +, унарный -);

4. Арифметические операции 1 уровня (*, /, div, mod, and, shl, shr);

5. Арифметические операции 2 уровня (+, -, or, xor);

6. Операции отношения (=, <, >, <>, >=, <=, in);

В языке существуют ограничения на преобразование типов данных путем присваивания. Переменной А типа REAL можно присвоить значение переменной В типа INTEGER ==> А := В. Однако обратное присвоение В := А вызовет прерывание по причине несоответствия типов.
Для этого случая предусмотрены функции преобразования типов TRUNC(A) или ROUND(A), то есть используется присвоение вида В := TRUNC(A) или В := ROUND(A).


Предыдущая статья: Программирование вычислительных процессов.
Оглавление: Лекции по Pascal.
Следующая статья: Примеры линейных программ.


   ГлавнаяПаскальЛекции по ПаскальСортировка двумерного массива.