Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Интересное:
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Дисциплины:
2017-11-17 | 587 |
5.00
из
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
Как упоминалось ранее, алгебраические выражения составляются из констант, переменных, обращений к функциям с помощью знаков арифметических операций и скобок. При этом следует соблюдать ряд правил и рекомендаций.
1 Необходимо учитывать приоритет операций (см. таблицу 1): сначала выполняется умножение (знак *) и деление (знак /), затем сложение и вычитание.
Все знаки арифметических операций, даже те, которые при корректной математической записи ставить не принято (например, как при записи произведения ab = a×b), необходимо указывать при составлении выражения на Pascal. Изменить порядок выполнения операций можно с помощью скобок, как показано в таблице 9.
Таблица 9 − Учет приоритета операций посредством скобок
Математическое выражение | Запись на языке Pascal | Возможные ошибки |
(a−b)/(c+d) | Отсутствие скобок изменит смысл выражения: a-b/c+d ~ | |
(sin(x)+y)/(x*y) | 1 Пропущенный знак умножения означает указание на новую (возможно, несуществующую) переменную xy: (sin(x)+y)/xy 2 Неправильно расставленные или пропущенные скобки изменят смысл выражения: (sinx+y)/(x*y) ~ введено новое имя sinx; (sin(x)+y)/x*y ~ − изменен смысл | |
2 Аргументы сложных функций (функция функции) необходимо заключать в скобки (таблица 10).
Таблица 10 − Pascal -код сложных функций
Математическое выражение | Запись на языке Pascal | Возможные ошибки |
sqrt(abs(sin(x))); | Потеря скобок или неправильный порядок расположения функций | |
sqr(ln(2*x)); | Потеря скобок, неправильный порядок следования функций, потеря знака умножения | |
exp(2*sqr(cos(x))); | Неправильный порядок следования функций, потеря знака умножения или скобок | |
3 При построении на языке Pascal сложных арифметических выражений целесообразно использовать вспомогательные переменные. Например, при кодировании формулы
|
(1)
можно ввести промежуточную переменную f 1 и только после этого записать оператор присваивания для вычисления f:
f1:=sin(x)/cos(x);
f:=(1+sqr(f1))/(1-2*sqr(f1));
4 Для записи на языке Pascal экспоненциальной функции ex, где e» 2,718281828 − основание натурального логарифма, используется ее представление в виде exp(x). Ряд примеров приведен в таблице 11:
Таблица 11 − Pascal -код экспоненциальной функции
Математическое выражение | Запись на языке Pascal |
exp(a+b) | |
exp(1) | |
exp(–1) | |
5 Определенные трудности возникают при записи степенных и показательных выражений, например, , или . Pascal -код в таких случаях составляется с учетом формул элементарной математики:
, (2)
. (3)
Примеры приведены в таблице 12.
Таблица 12 − Pascal -код степенных и показательных выражений
Математическое выражение | Альтернативная математическая запись | Запись на языке Pascal |
exp(x/2*ln(a+b)) | ||
exp(1/3*ln(a/b)) | ||
6 Необходимо учитывать область определения функций, к которым в выражении происходит обращение. Такие ошибки легче предотвратить, чем исправлять, так как они не обнаруживаются компилятором. Например, для выражения , записанного на языке Pascal в виде
exp(17*ln(x)),
при выполнении программы возникнет ошибка при отрицательных значениях переменной х. Поэтому его лучше записать в форме
sqr(sqr(sqr(sqr(x))))*x,
исключающей подобную ошибку.
Два других примера представлены в таблице 13.
Таблица 13 − Учет области определения функций
Математическое выражение | Запись на языке Pascal | Альтернативная запись на языке Pascal |
exp(1/8*ln(x)); | sqrt(sqrt(sqrt(x))) | |
exp(1/5*ln(x)); | ifx>0theny:= exp(1/5*ln(x)) else ifx<0 then y:=- exp(1/5*ln(abs(x))) elsey:=0; | |
7 Не следует забывать о скорости выполнения операций и рациональной записи выражений. Арифметические операции в порядке возрастания их времени выполнения располагаются так: сложение и вычитание, умножение и деление. Поэтому в некоторых случаях целесообразно заменять умножение сложением или использовать функции или процедуры вместо операций сложения и умножения. Например, выражение x*x лучше записать как sqr(x), а вместо оператора присваивания x:=x + 1 использовать обращение к процедуре inc(x).
|
Пример 2. Запишите на языке Pascal выражение .
Решение.
~ x*(x*(x*(2*x-3)+5)-1)+7.
|
|
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!