Программирование линейных алгоритмов. Практикум. Практическая работа № 3.1 "Программирование линейных алгоритмов" | Операции, функции, выражения (курс sim 34 ч.)


Планирование уроков на учебный год


Уроки 21 - 22
Программирование линейных алгоритмов
Практикум
Практическая работа № 3.1
"Программирование линейных алгоритмов"



Содержание урока

Элементы языка Паскаль и типы данных

Операции, функции, выражения

Оператор присваивания, ввод и вывод данных

Работа 3.1. Программирование линейных алгоритмов


Операции, функции, выражения







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


К числовым типам данных относятся группы вещественных и целочисленных типов. К ним применимы арифметические операции и операции отношений. Операции над данными бывают унарными (применимые к одному операнду) и бинарными (применимые к двум операндам).

imageУнарная арифметическая операция в Паскале одна. Это операция изменения знака. Ее формат:

-<величина>

imageБинарные арифметические операции стандартного Паскаля описаны в табл. 3.3. В ней символ «I» обозначает целые типы, символ «R» — вещественные типы.

image

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


В Паскале существует большое количество стандартных функций и процедур, к которым программист может обращаться в своих программах. Наиболее часто используются математические функции, например: sqrt(x) — квадратный корень, abs (х) — абсолютная величина, sin (х) и др. Часто используемые стандартные процедуры: Read(...) — процедура ввода, Write (...) — процедура вывода данных.

Стандартные функции и процедуры являются внешними подпрограммами по отношению к вызывающей их программе. Они объединены в модули, которые подключаются к основной программе и становятся доступными для использования. Наиболее часто используемые подпрограммы объединены в модуль под названием SYSTEM. Этот модуль подключается к программе автоматически.

Таблица 3.4 содержит описания стандартных математических функций Паскаля.

image

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

Uses <имя модуля>

Для управления символьным выводом на экран используется стандартный модуль CRT. К программе он подключается командой:

Uses CRT

В дальнейшем из этого модуля мы будем использовать процедуру очистки экрана для символьного вывода, обращение к которой производится оператором ClrScr.

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


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

Например, рассмотрим математическое выражение:

image

На Паскале оно выглядит так:

(2*A + Sqrt(0.5*sin(X + Y))) / (0.2*C - ln(X - Y))

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

1. Все символы пишутся в строчку на одном уровне. Проставляются все знаки операций (нельзя пропускать знак *).

2. Не допускаются два следующих подряд знака операций. (Нельзя: А+-В; можно: А+ (-В).)

3. Операции с более высоким приоритетом выполняются раньше операций с меньшим приоритетом. Порядок убывания приоритетов:

вычисление функции;
унарная операция смены знака (-);
*, /, div, mod;
+, -.

4. Несколько записанных подряд операций одинакового приоритета выполняются последовательно слева направо.

5. Часть выражения, заключенная в скобки, вычисляется в первую очередь. (Например, в выражении (А+В) * (C-D) умножение производится после сложения и вычитания.)

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

Пример. Цифрами сверху указан порядок выполнения операций:

image

Данное арифметическое выражение (на Паскале) соответствует следующему математическому выражению:

image

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

а) если у — целое положительное значение, то его степень вычисляется через умножение; например х3 —> х*х*х; большие степени следует вычислять умножением в цикле; 

б) если у — целое отрицательное число, то степень вычисляется так: ху = (1/х)|y|; а при у = 0: х0 = 1.

в) если у — вещественное значение, не равное нулю, то используется следующая математическая формула: ху = еу1n(-х) На Паскале получим арифметическое выражение:

exp(Y*ln(х))

Очевидно, что в этом случае не допускается нулевое или отрицательное значение х. Для целого у такого ограничения нет.

image

На Паскале это выражение выглядит так:

ехр(1/3*ln(А+1))

Выражение имеет целочисленный тип, если в результате его вычисления получается величина целочисленного типа. Выражение имеет вещественный тип, если результатом его вычисления является вещественная величина.

image

Вопросы и задания


1. Для следующих математических выражений запишите соответствующие арифметические выражения на Паскале:

image

2. Запишите математические выражения, соответствующие следующим выражениям на Паскале:

image

3. Для следующих математических выражений запишите соответствующие арифметические выражения на Паскале:

image

4. Вычислите значения выражений:

image

5. Определите типы выражений:

image

Следующая страница Оператор присваивания, ввод и вывод данных








Наверх