Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Арифметические операции. Стандартные математические функции

Тип Реферат
Предмет Информатика и программирование
Просмотров
1095
Размер файла
19 б
Поделиться

Ознакомительный фрагмент работы:

Арифметические операции. Стандартные математические функции

С.А. Григорьев

Для арифметических данных, т.е. для числовых констант, переменных и числовых функций определены шесть арифметических операций:

+ сложение

- вычитание

* умножение

/ вещественное деление

DIV целая часть от деления

MOD остаток от деления

Первые четыре операции определены для любых операндов - как целых, так и вещественных, причем результат операции "/" всегда вещественное число, даже если оба операнда целые. Операции DIV и MOD определены только для целых операндов. Кроме того, выделяют унарную операцию "-", которая применяется не к двум, а к одному операнду, например: -x.

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

Таблица 2

Правила преобразования типов

ОперандыByteShortIntWordIntegerLongInt
ByteIntegerIntegerWordIntegerLongInt
ShortIntIntegerIntegerLongIntIntegerLongInt
WordWordLongIntWordLongIntLongInt
IntegerIntegerIntegerLongIntIntegerLongInt
LongIntLongIntLongIntLongIntLongIntLongInt

Если один операнд выражения имеет целочисленный тип, а второй - вещественный, то первый автоматически приводится к вещественному типу и значение выражения будет вещественным. Целые значения можно присваивать вещественной переменной, но вещественные значения присвоить целой переменной нельзя! Присваивая значение целочисленной переменной и константе, вы должны следить, чтобы это значение не выходило за пределы диапазона допустимых значений переменной. В языке Паскаль есть возможность явно преобразовать целочисленное значение к любому из целочисленных типов, для этого используются стандартные функции с именами Byte, ShortInt, Word, Integer и LongInt. Например, преобразуем переменную типа Word к типу Integer :

VAR x : Word;

BEGIN

x:=300;

WRITELN(x,' ',Integer(x));

x:=65535;

WRITELN(x,' ',Integer(x));

END.

Программа выведет:

300 300

65535 -1

В первом случае преобразование происходит корректно, а во втором - с изменением значения.

Арифметическое выражение может содержать любое количество операндов и, соответственно, любое количество операций, которые выполняются в последовательности, определенной их приоритетом; приоритет операций *, /, DIV, MOD выше, чем операций + и -. Операции одного приоритета выполняются слева направо. Чтобы изменить порядок выполнения операций, вы можете использовать в выражении круглые скобки. Вычислим, например, частное от деления X на сумму A,B и C :

X/(A+B+C);

Набор встроенных математических функций в языке Паскаль невелик, он включает :

1. Abs(x) - абсолютная величина числа.

2. Int(x) - целая часть вещественного числа.

3. Frac(x) - дробная часть вещественного числа.

4. Trunc(x) - целая часть вещественного числа, преобразованная к типу LongInt.

5. Round(x) - округленное до целого вещественное число, преобразованное к типу LongInt.

6. Sqr(x) - квадрат числа.

7. Sqrt(x) - квадратный корень.

8. Exp(x) - экспонента.

9. Ln(x) - натуральный логарифм.

10. Pi - число пи.

11. Sin(x) - синус.

12. Cos(x) - косинус.

13. Arctan(x) - арктангенс.

Все остальные математические функции можно получить, пользуясь этим основным набором; например: десятичный логарифм - Ln(x)/Ln(10), тангенс - Sin(x)/Cos(x) и т.д. Аргументы функций могут быть любыми арифметическими выражениями и задаются в круглых скобках после имени функции, аргументы функций Sin и Cos выражаются в радианах. Вычислим квадрат синуса 70 градусов: Sqr(Sin(Pi/180*70))

Кроме перечисленных выше математических функций Паскаль предоставляет еще несколько полезных числовых функций и процедур разного назначения:

14. High (целый тип) - возвращает наибольшее возможное значение данного типа.

15. Low (целый тип) - возвращает наименьшее возможное значение данного типа.

16. SizeOf (тип)

SizeOf (переменная) - возвращает размер в байтах заданного типа или заданной переменной. Функция SizeOf применима к любому типу, в том числе и к структурированным типам - массивам, записям и некоторым другим, речь о которых пойдет ниже.

17. Random(Range:Word) - возвращает целое случайное число в диапазоне от 0 до Range-1.

18. Random - возвращает вещественное случайное число в из отрезка [0,1].

19. Randomize - процедура, инициализирующая генератор случайных чисел, используя текущее системное время

Выведем несколько случайных чисел в диапазоне от 0 до 99:

BEGIN

Randomize;

WRITELN(Random(100));

WRITELN(Random(100));

WRITELN(Random(100));

END.

При первом запуске программы она вывела числа 13, 38, 48, при втором запуске - 63, 99, 6, при третьем запуске - 23, 87, 92. Это действие процедуры Randomize - поскольку при каждом запуске системное время, которое отсчитывает операционная система DOS, было различным, мы каждый раз получали различные последовательности случайных чисел. Теперь исключим из программы оператор Randomize; и запустим ее несколько раз - каждый раз мы будем получать тройку чисел 0, 3, 86.

Обратите внимание, что процедура используется в операторе вызова, а функция используется в выражении. Запись Random(100); неверна, поскольку Random - это функция, но также неверна и запись WRITELN(Randomize);. Можно считать, что различие между процедурой и функцией состоит в том, что процедура выполняет некоторую последовательность действий, а функция вычисляет некоторое значение. Заметим, что READ и WRITE - это тоже процедуры.

Для работы с внутренним двоичным представлением двухбайтовых целых чисел (типа Word или Integer) существуют функции:

20. Lo(x) - возвращает младший байт аргумента.

21. Hi(x) - возвращает старший байт аргумента.

22. Swap(x) - меняет местами младший и старший байты.

Сделаем отступление о двоичной системе счисления. Все данные в памяти компьютера хранятся закодированными в двоичной системе. Любая переменная занимает целое число байтов, а каждый байт есть последовательность из 8 двоичных цифр - битов. Например, значение переменной типа Byte, равное 11, хранится как последовательность битов 0000 1011, а если переменная имеет тип Word, то ее значение кодируется как 0000 0000 0000 1101. 1024 байта (или 2 в 10-й степени) имеют свое название - 1К байт, иногда эту величину также называют килобайт; 1024 К байт называют мегабайт. Пусть переменная t типа Word имеет значение 40000, или 1001 1100 0100 0000 в двоичной системе, тогда функция Lo(t) возвратит 64 ( = 0100 0000 ), функция Hi(t) возвратит 156 (= 1001 1100) и функция Swap(t) возвратит 16540 ( = 0100 0000 1001 1100 ).

Для целочисленных переменных определены процедуры:

23. Inc(x)

Inc(x,d)

24. Dec(x)

Dec(x,d).

Здесь x - имя переменной, d - любое целочисленное выражение. Процедура Inc увеличивает значение переменной на d, а процедура Dec - уменьшает на d; второй аргумент этих процедур можно не задавать, тогда он будет принят равным 1. Например, вместо операторов a:=a+3; b:=b-1; c:=c+a+b; мы могли бы написать Inc(a,3); Dec(b); Inc(c,a+b); , и такой способ записи был бы предпочтительней.

С.А. Григорьев

6. Символьный тип данных

Для хранения символьной информации в Паскале предусмотрен специальный тип данных Char. Допустимы переменные, нетипизированные и типизированные константы такого типа. Данные типа Char занимают 1 байт памяти. Неименованные символьные константы записываются в программе либо в виде 'символ', либо в виде #номер. Все имеющиеся символы пронумерованы от 0 до 255, символы с 0-го по 31-й - невидимые, как правило, они не отображаются на экране, 32-й символ - это пробел. Приведем также номера некоторых других символов (хотя помнить эти номера нет никакой необходимости):

'0'...'9' - 48...57,

'A'...'Z' - 65...90,

'a'...'z' - 97...122,

'А'...'Я' - 128...159,

'а'...'п' - 160...175,

'р'...'я' - 224...239.

Некоторые из невидимых символов могут оказаться вам полезны: символ #7 - "звуковой сигнал", при выводе пищит; символ #10 - "конец строки", при выводе он перемещает текущую позицию вывода на одну строку вниз; символ #13 - "возврат каретки" - перемещает текущую позицию вывода в начало текущей строки. Запомните, что клавиша Enter генерирует два символа - #10 и #13, это может вам впоследствии пригодиться.

Символьные данные можно вводить и выводить процедурами READ и WRITE при вводе и выводе символьные значения изображаются без апострофов. Для символьных величин определены функции:

25. Ord(c) - возвращает номер символа.

26. Pred(c) - возвращает символ с номером, меньшим на 1.

27. Succ(c) - возвращает символ с номером, большим на 1.

Эти функция, однако, определены не только для символов, но для любого порядкового типа данных. Порядковым типом называется такой тип, все допустимые значения которого можно пронумеровать от 0 до некоторого N (в математике к этому понятию близко понятие счетного множества). Из известных нам типов порядковыми являются все целочисленные типы: Byte, ShortInt, Word, Integer, LongInt - и не являются порядковыми все вещественные типы. Значение функции Ord от числового аргумента равно самому этому аргументу, Pred(x) дает значение x-1, а Succ(x) - значение x+1. Функция

28. Chr(n).

в некотором смысле обратна функции Ord : для заданного числового аргумента n она возвращает символ с соответствующим номером. Для символьных переменных (так же, как и для любых переменных порядкового типа) определены процедуры Inc и Dec. Еще одна специфически символьная функция:

29. UpCase(c).

Она преобразует значение аргумента, если это маленькая латинская буква, в соответствующую заглавную букву. К сожалению, функция не работает для русских букв.

Напишем простую программу, обрабатывающую символьные величины.

VAR c : Char; n : Byte;

CONST Blank =' '; Space:Char =Blank;

BEGIN WRITE('введите какой-нибудь символ '); READ(c);

WRITELN('вы ввели символ',Space,c,Space,'его номер=',Ord(c));

WRITELN('соседниеснимсимволы :',Space,Pred(c),Space,

'и',Space,Succ(c));

WRITELN('UpCase(',c,')=',UpCase(c)); WRITELN;

Space:='"'; WRITE('теперь введите число от 33 до 255 '); READ(n);

WRITELN('символсномером ',n,' - это ',Space,Chr(n),Space);

WRITELN;

END.


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
Физика
История
icon
137666
рейтинг
icon
5834
работ сдано
icon
2641
отзывов
avatar
Математика
История
Экономика
icon
137419
рейтинг
icon
3045
работ сдано
icon
1326
отзывов
avatar
Химия
Экономика
Биология
icon
92238
рейтинг
icon
2003
работ сдано
icon
1260
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
51 607 оценок star star star star star
среднее 4.9 из 5
ПНИПУ
Екатерина прекрасный исполнитель, работа очень понравилась преподавателю Обращаюсь к Екате...
star star star star star
Мпгу
Быстро, четко, исправлены поправки. Насчет качества работы узнаю после оценки
star star star star star
Московский Университет имени С.Ю. Витте
Спасибо за работу, всё сделано без замечаний, как всегда досрочно!!! Рекомендую обращайтес...
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Написать Введение и Лит. обзор к курсовой работе

Курсовая, Неорганическая химия

Срок сдачи к 24 апр.

только что

Предел функции 7 задач

Решение задач, Математический анализ

Срок сдачи к 25 апр.

только что
1 минуту назад

Тема курсовой работы «Варьирование фразеологизмов как средство...

Курсовая, стилистика, филология

Срок сдачи к 27 апр.

2 минуты назад

Самостоятельно выполните задания практической работы в программах 1С

Решение задач, «Автоматизация учетных процессов», информатика

Срок сдачи к 30 апр.

2 минуты назад

Написание научной статьи аспиранта для публикации по теме...

Статья, Горные машины,горное дело

Срок сдачи к 30 апр.

4 минуты назад

Тема: Влияние выбора стратегии упреждающих мер на характер протекания...

Диплом, прикладная математика и информатика

Срок сдачи к 10 мая

5 минут назад

7 задач Признаки сходимости знакопостоянных рядов

Решение задач, Математический анализ

Срок сдачи к 25 апр.

7 минут назад

ПМ 1 и ПМ 2

Отчет по практике, Охотоведение и звероводство

Срок сдачи к 27 апр.

11 минут назад

Пат.анат

Ответы на билеты, медицина

Срок сдачи к 10 мая

11 минут назад

Выполнить работу согласно заданию

Контрольная, Корпоративные информационные системы

Срок сдачи к 26 апр.

11 минут назад

Выполнить лабораторные

Лабораторная, безопасность жизнедеятельности

Срок сдачи к 18 мая

11 минут назад

Файл "рамка" нужно вставлять в каждый лист, кроме титульника

Курсовая, Мдк, детали машин

Срок сдачи к 26 апр.

11 минут назад

Презентация с докладом на 10-15 мин, формулы, примеры

Презентация, Экономика техносферной безопасности

Срок сдачи к 27 апр.

11 минут назад

Написать курсовую работу по шаблону (готовому)

Курсовая, Региональное управление

Срок сдачи к 28 апр.

11 минут назад

Выполнить контрольную

Контрольная, Технологии проектирования программного обеспечения информационных систем

Срок сдачи к 18 мая

11 минут назад

Задачи

Решение задач, Дискретная математика

Срок сдачи к 22 апр.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно