Арифметические операции
Операции определяют действия, которые надо выполнить над операндами. В отличие от традиционной математической записи обязательно указывать все знаки операций. Например, в выражении (х+у)*5-10 операндами являются переменные х и у, а также константы 5 и 10; а +, * — знаки арифметических операций сложения и умножения соответственно.
Таблица. Порядок выполнения основных операций.
Операция | Приоритет | Вид операции |
not, @ | Первый (высший) | Унарная операция |
*, /, div, mod, and, shl, shr | Второй | Операции типа умножения |
+, —, or, xor | Третий | Операции типа сложения |
=, < >, <, >,<=, >=, in | Четвертый | Операции отношения |
Таблица 12.6. Приоритет операций. | |
Операции | Приоритет |
Арифметические операции и операция конкатенации | |
Возведение в степень (^) | |
Отрицание () | |
Умножение (*) и деление (/) | |
Деление нацело (\) | |
Остаток (Mod) | |
Сложение (+) и вычитание () | |
Конкатенация строк (&) |
3) Характеристика целочисленных и вещественных типов данных.
Целочисленные типы.Переменные целого типа могут принимать только целые
значения. Использование десятичной точки в изображении целого числа недопустимо
(например: 35.0 — неправильно, 35 — правильно). Если используются операнды целого
типа, то операции сложение «+», вычитание «-», умножение «*», Mod и Div (см. прил. 3)
дают результат целого типа. Операция mod означает взятие остатка от целочисленного
деления (например: 13 Mod 5 = 3; — 5 Mod 2 = — 1). Операция div является операцией
целочисленного деления с отбрасыванием остатка (например: 13 Div 5 = 2; — 5 Div 2 = —
2).
Чаще всего для обозначения переменных целого типа пользователи выбирают тип
Integer, который может вмещать целые числа, лежащие в диапазоне от — 32768 до 32767.
Вещественные типы.Вещественный тип формируется из элементов
подмножества вещественных чисел, представленных в форматах с фиксированной или
плавающей точкой (например: 3.14, 2.5Е+01).
Чаще всего для обозначения переменных вещественного типа пользователи
выбирают тип Real. Все операции над данными вещественного типа приближенные.
Операции, дающие вещественные результаты: Арифметические (+-*/,Div, Mod), Сравнения(=,<>,<,>,<=,>=,In), Логические(Not,Or,And,Xor), С множествами.
Билет №15
1) Алгоритм и его свойства.
Алгоритм – это процедура, которая позволяет путем выполнения последовательности элементарных шагов получить однозначный результат или за конечное число шагов прийти к выводу о том, что решения не существует.
Свойства алгоритма:
1. Универсальность (массовость) - применимость алгоритма к различным наборам исходных данных.
2. Дискретность - процесс решения задачи по алгоритму разбит на отдельные действия.
3. Однозначность - правила и порядок выполнения действий алгоритма имеют единственное толкование.
4. Корректность - решение должно быть правильным для любых допустимых исходных данных.
5. Результативность - по завершении выполнения алгоритма обязательно получается конечный результат.
6. Определенность - каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвольного толкования.
7. Понятность – каждая команда алгоритма должна быть понятна тому, кто исполняет алгоритм;
2) Выражения: операнды, операции, типы выражений.
Операнды представляют собой данные, над которыми выполняются действия. В качестве операндов могут использоваться константы, переменные, элементы массивов и функции.
Операции – это действия, которые выполняются над операндами.
В зависимости от типов операций и операндов выражения могут быть:
· арифметическими(арифметическое выражение порождает целое или действительное значение)
· логическими(логические выражения строятся из логических констант и переменных, логических операций и операций отношения)
· выражения отношения(выражения отношения определяют истинность или ложность результата).
3) Компоненты программы на языке Object Pascal: процедуры и функции.
Процедура — это именованный программный блок, который не возвращает никакого значения. В отличие от нее, функция— это именованный программный блок, возвращающий некоторое значение в точку вызова. Обычно в виде функций или процедур выделяют часто используемые фрагменты программного кода.
Билет №16
1) Способы представления алгоритмов.
1. Формульно-словесный способ.
Основан на задании инструкций о выполнении конкретных действий в четкой последовательности в сочетании со словесными пояснениями.
Пример.
Вычислить: С =
Этап 1. Ввести А, В;
Этап 2. Если А В, то переходим к этапу 3; иначе переходим к этапу 4.
Этап 3. С=А-В, и переходим к этапу 5;
Этап 4. С=А+В;
Этап 5. Вывод С.
2. На алгоритмическом языке.
Алгоритмический язык – совокупность правил и обозначений, использующиеся для записи алгоритма.
Он включает:
а) математические выражения;
б) текст;
в) служебные слова (полные или сокращенные слова русского текста, стоящие в определенном месте алгоритма, которые обязательно подчеркиваются)
Пример.
Вычислить значение А+
алг Проскурнин (нат А, вещ В, У, цел Х)
арг А, В, Х
рез У
нач
У:=А+
кон
3. Графический способ (метод блок-схемы).
При таком представлении алгоритма, каждый этап отображается в виде геометрических фигур-блоков, форма которых зависит от выполняемой операции.
Линия соединения блоков, показывает направление процесса обработки данных. Каждое направление называется ветвью.
Название блока | Графическое представление блока | Описание |
Линейный процесс | Выполнение операции или группы операций, в результате которых изменяются значение, фомы представления или расположение данных. | |
Проверка условия, Логическое решение | Выбор направления выполнения алгоритма в зависимости от некоторых переменных условий. | |
Ввод-вывод | Преобразование данных в форму пригодную для обработки (ввод) или отображения результатов обработки (вывод). | |
Начало-конец алгоритма | Начало, конец процесса обработки данных | |
Предопределеный процесс модуль | Использование ранее созданных или отдельно описанных алгоритмов (модулей). | |
Соединитель | Указание связи между линиями потока обработки данных. |
Пример.
Вычислить: С =
4. Табличный способ.
«Типы алгоритмов».
1) Линейный алгоритм:
2) Разветвляющийся алгоритм:
3) Циклический алгоритм:
2) Строковые типы. Процедуры и функции работы со строками. Строка как массив символов.
Строковый тип — тип данных, значениями которого является произвольная последовательность (строка) символов алфавита. Каждая переменная такого типа (строковая переменная) может быть представлена фиксированным количеством байтов либо иметь произвольную длину.
Количество символов последовательности называется длиной строки. Синтаксис:
var s: string[n];
var s: string;
n - максимально возможная длина строки - целое число в диапазоне 1..255. Если этот параметр опущен, то по умолчанию он принимается равным 255.
Строковые константы записываются как последовательности символов, ограниченные апострофами. Допускается формирование строк с использованием записи символов по десятичному коду (в виде комбинации # и кода символа) и управляющих символов (комбинации ^ и некоторых заглавных латинских букв).
Пример:
'Текстовая строка'
#54#32#61
'abcde'^A^M
Пустой символ обозначается двумя подряд стоящими апострофами. Если апостроф входит в строку как литера, то при записи он удваивается.
Переменные, описанные как строковые с разными максимальными длинами, можно присваивать друг другу, хотя при попытке присвоить короткой переменной длинную лишние символы будут отброшены.
Процедуры и функции для переменных строкового типа:
1. FunctionCopy(S: String; Index, Count: Integer): String;
Возвращает подстроку строки. S – выражение типа String. Index и Count – выражения целого типа. Функция возвращает строку, содержащую Count символов, начинающихся с позиции Index. Если Index больше, чем длина S, функция возвращает пустую строку.
2. ProcedureDelete(var S: String; Index, Count: Integer);
Удаляет подстроку символов длиной Count из строки S, начиная с позиции Index. S – переменная типа String. Index и Count – выражения целого типа. Если Index больше, чем длина S, символы не удаляются.
3. ProcedureInsert(Source: String; var S: String; Index: Integer); Объединяет подстроку в строку, начиная с определенной позиции. Source – выражение типа String. S – переменная типа String любой длины. Index – выражение целочисленного типа. Insert вставляет Source в S, начиная с позиции S.
4. FunctionLength(S: String): Integer;
Возвращает число символов, фактически используемое в строке S. Обратите внимание: при использовании строк с нуль-окончанием, число символов не обязательно равно числу байтов.
5. FunctionPos(Substr: String; S: String): Integer; Ищет подстроку в строке. Pos ищет Substr внутри S
и возвращает целочисленное значение, которое является индексом первого символа Substr внутри S. Если Substr не найден, Pos возвращает нуль.