Pascal-Паскаль
Программирование. Стандартные функции Pascal-Паскаль
- Скачено бесплатно: 21662
- Куплено: 414
- ->Программирование. Стандартные функции Pascal-Паскаль
Программирование. Стандартные функции Pascal-Паскаль
Стандартные функции Pascal-Паскаль
Стандартные математические функции Турбо Паскаля | |||
---|---|---|---|
Обращение | Тип аргумента | Тип результата | Примечание |
Abs(x) | Real, integer | Тип аргумента | Модуль аргумента |
ArcTan(x) | Real, integer | Real | Арктангенс (значение в радианах) |
Cos(x) | Real, integer | Real | Косинус, угол в радианах |
Exp(x) | Real, integer | Real | Экспонента |
Frac(x) | Real | Real | Дробная часть числа |
Int(x) | Real, integer | Real | Целая часть числа |
Ln(x) | Real, integer | Real | Логарифм натуральный |
Pi | Нет | Real | 3,141592653 |
Sin(x) | Real, integer | Real | Синус, угол в радианах |
Sqr(x) | Real, integer | Тип аргумента | Квадрат аргумента |
Sqrt(x) | Real, integer | Real | Корень квадратный |
Random | Нет | Real | Псевдослучайное число в интервале [0, 1] |
Random(I) | Integer | Integer | Псевдослучайное число в интервале [0, I] |
Round(x) | Real | Integer | Округление до ближайшего целого |
Trunc(x) | Real | Integer | Отбрасывание дробной части числа |
Порядок вычислений в выражениях следующий:
- вычисляются подвыражения, заключенные в скобки;
- затем выполняются операции с наибольшим приоритетом; обычно используются следующие уровни приоритетов (в порядке убывания):
- возведение в степень;
- мультипликативные операции: * , / , div , mod;
- унарные операции: + , — , abs , not;
- аддитивные операции: +, -;
- операции отношения: = , <>, <, >, <=, >=;
- логические операции: and, or, not;
- операции с одинаковым приоритетом выполняются слева направо.
Хотя нет ограничений на сложность выражений, однако выражения, содержащие более 7 операндов, трудны для чтения и понимания и поэтому такие выражения не рекомендуется использовать.
Замечание (это важно!)
- в Паскале нет стандартной операции или стандартной функции возведения в степень, поэтому используется следующее математическое тождество: x y = e ylnx
- в Паскале существует только стандартная функция вычисления натурального логарифма, поэтому используется следующее математическое тождество: logab= ln b/ln a
Математическое выражение: x 3/2 — 7x + tg (x+2)
Выражение на Паскале: exp(3*ln(x)/2)-7*x+sin(x+2)/cos(x+2)
Операторы действия
Операторы действия — это средства языка, позволяющие изменять в процессе выполнения программы состояние вычислений. Самый простой оператор действия — оператор присваивания.
Пример оператора присваивания
Оператор присваивания, несмотря на кажущуюся простоту, имеет очень важное алгоритмическое значение.
Удобно считать, что выполнение присваивания переменной некоторого значения означает помещение этого значения в выделенный для переменной ящик. При этом каждый запоминающий ящик обладает следующими свойствами.
- В каждый момент времени в ящике может храниться не более одного значения.
- Каждый ящик способен хранить только значения одного и того же типа. Попытка поместить в ящик значение любого другого типа приводит к тому, что ящик отказывается принимать на хранение передаваемое ему значение — это расценивается как ошибка в программе.
- Значение, помещенное в ящик, будет храниться в нем до тех пор, пока в этот ящик не будет помещено новое значение (в момент присваивания соответствующей переменной этого нового значения) — при этом предыдущее содержимое ящика безвозвратно теряется (уничтожается).
- Находящееся в ящике значение считается текущим значением соответствующей переменной. Это текущее значение может быть выдано из ящика для использования сколько угодно раз, но при этом содержимое ящика не меняется: из него каждый раз выдается копия хранящегося значения с сохранением оригинала в ящике без какого-либо изменения.
- К началу выполнения программы содержимое всех запоминающих ящиков считается неопределенным; в частности, их нельзя считать и пустыми, поскольку эти ящики могли использоваться при выполнении предыдущих программ, после чего в ящиках могло что-то остаться.
Еще один оператор действия, хотя его можно лишь условно назвать таковым: он не выполняет никакого действия, это — пустой оператор (в Паскале он обознается знаком ";"). В Паскале оператором действия является также оператор процедуры. Последний из простейших операторов действия — оператор останова, который прерывает работу программы (в Паскале это оператор halt).
Ввод и вывод данных
Ввод данных с клавиатуры производится с помощью стандартной процедуры read( ) или ее разновидности readln( ). Элементы списка ввода — идентификаторы (имена) переменных, перечисляемые через запятую. При выполнении этого оператора пользователь набирает на клавиатуре соответствующую последовательность значений, разделяя их пробелами (это важно!).
Пример ввода данных с клавиатуры
read(a,b,c);
readln(a,b,c);
Вывод данных на экран производится с помощью стандартной процедуры write( ) или ее разновидности writeln( ).
Список вывода может содержать константы, переменные, выражения, формат вывода. Выражения в списке вывода разделяются запятыми.
Пример вывода данных на экран
write(a,b,c);
writeln(a,b,c);
Окончание ln в имени процедуры означает, что курсор автоматически будет переведен в начало следующей строки экрана.
Программирование
Исходники Pascal (127)
Справочник
Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту
Куб в паскале как пишется
Регистрация на форуме тут, о проблемах пишите сюда — alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите восстановить пароль
Поиск по форуму |
Расширенный поиск |
К странице. |
Изображения
sshot-7.jpg (16.2 Кб, 143 просмотров) |
Stilet, ну, если бы так всё просто было, тогда достаточно написать N*N*N
думаю, что задача состоит не в том, чтобы вывести куб числа N, а в том, чтобы вывести N нечётных чисел, которые в сумме дают нужное значение, равное кубу числа N.
Serge_Bliznykov |
Посмотреть профиль |
Найти ещё сообщения от Serge_Bliznykov |
к примеру 6^3=31+33+35+37+39+41
напишу прогу за 300рублей из-а того, что не до всех дойдёт такой приметивнейший фокус,
пс ералашные и то круче
так как платишь
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке — https://slurm.club/3MeqNEk
Язык паскаль онлайн
Математические операции в паскале – Pascal Математические функции для работы с числами
- Browse: Home / Самоучитель паскаль онлайн / Математические операции в паскале – Pascal Математические функции для работы с числами
Многие начинающие программисты задаются подобный вопросом : «Какие операции можно совершать с числами в языке программирования паскаль ?». В данном уроке мы подробно ответим на этот вопрос.
Арифметические операции
Начнем , пожалуй , с самого простого — арифметические операции с числами в паскале. В паскаль встроены многие привычные нам арифметические операции ( Сложение , вычитание , умножение , деление и т.п ).
Как же осуществляются подобные операции с числами ?. Давайте разберем это на примере исходника одной программы.
Результатом выполнения данной программы будет вывод на экран трех чисел 14 7 2 . Разберемся в том , как это работает.
В начале программы мы объявляем 2 целочисленные ( integer ) переменные «a» и «b» , а также 1 переменную «c» вещественного ( real ) типа. Подробнее прочитать о переменных в паскаль и их типах здесь .
Зачем нам нужна вещественная переменная ? Для записи результата деления целочисленная переменная не подходит , так как у нас получается дробь , а не целое число.
Теперь мы присваиваем переменной «a» значение 7 , а переменной «b» значение 3
. Переменную «c» при этом оставляем нулевой ( она нам пока не понадобится ).
Далее (в блоке begin end) мы расписываем арифметические операции с нашими числами. Обратите внимание на то , что после символов // идет комментарий , который не компилируется программой.
Запомните : Строка a:= a — b; выглядит так a:= 7 — 4; , а не так 7:= 7 — 4;
Другие операции с числами
В паскале предусмотрены и многие другие операции с числами. Давайте разберем самые популярные из них.
1. Как найти квадрат числа в паскале ?
Для нахождения квадрата числа в паскале предусмотрена функция sqr(x) , где x — число.
Пример :
Результат : переменной «а» присваивается значение 25.
2. Как найти корень числа в паскале ?
Для нахождения корня числа в паскале предусмотрена функция sqrt(x) , где x — число.
Пример :
Результат : переменной «а» присваивается значение 5.
3. Как округлить число в паскале ?
Для того , чтобы округлить некоторое число используется операция round(x).
Пример :
4. Как убрать дробную часть у числа в паскале ?
Для того , чтобы отбросить дробную часть числа используется операция trunc(x).
Пример :
Результат : переменной «а» присваивается значение 25.
5. Как убрать целую часть у числа в паскале ?
Для того , чтобы отбросить целую часть числа используется операция frac(x).
Пример :
Результат : переменной «а» присваивается значение 0.2.
6. Как получить модуль числа в паскале ?
Чтобы получить модуль некоторого числа используется операция abs(x).
Пример :
Результат : переменной «а» присваивается значение 8.
Это были самые важные и часто используемые операции в паскале для работы с числами ( переменными ). Найти другие вы можете на этой странице .
Выводы :
Для работы с числами в паскале предусмотрено множество различных операций. Мы можем делать с числами все , что угодно ( складывать , умножать , возводить в квадрат и т.п ).
Этот раздел содержит описание математических операций, которыми можно пользоваться в выражениях на языке Паскаль. Вывести результат вычисления выражения можно такой нехитрой программе:
Конечно, результат вычисления выражения можно и записать в переменную для дальнейшего использования, и передать в другую функцию.
Не все операции и действия в этом разделе будут вам понятны. Ничего страшного — просто помните, что сюда можно вернуться, когда вам что-то понадобится.
Математические операции
В Паскале, как и в большинстве языков программирования, несколько специфически передаются основные математические операции — так математические выражения надо записывать в одну строку, а не в несколько уровней, как принято в классической математической нотации. Это достигается значительно более массовым использованием скобок, что иногда огорчает начинающих. Также всегда нужно писать знак умножения *. Кроме того, параметры функций всегда должны быть в скобках. Например:
если компилятор не поддерживает Tan.
Базовая арифметика
Название операции | Оператор | Пример | Примечание |
Добавление | + | 2+2 (=4) | |
Вычитание | — | 18.3-11 (=7.3) | |
Умножение | * | 7*8 (=56) | |
Деление | / | 7/8 (=0.875) | Результат всегда действительного типа (real) |
Целая часть деления | div | 7 div 2 (=3) | |
Остаток от деления | mod | 7 mod 2 (=1) |
Сравнение
Все операции сравнения возвращают значение типа boolean, то есть могут использоваться в операторах ветвления и циклах, например
Название операции | Оператор | Пример |
Равно | = | 2+2=4 |
Не равно (?) | <> | 2+2<>5 |
Больше | > | 72>71.99 |
Больше или Равно | >= | x*x>=0 |
Меньше | < | 0<22 |
Меньше или Равно | <= | 1<=1 |
Функции для преобразования действительных и целых чисел
Паскаль — язык программирования со статической сильной типизацией. Это означает, что компилятор не выполняет преобразований значений между типами, которые могут привести к потере информации; в частности, если подставить в конструкцию, предусматривает целое значение, действительное число, компилятор сообщит об ошибке, даже если это число имеет целое значение. Так, как мы видели выше, 13 and 11 равна 9, но выражение 13.0 and 11 вызовет сообщение компилятора об ошибке! Чтобы избежать этого, надо явно задавать преобразования действительного числа на целое с помощью следующих функций:
Название функции | описание | пример |
---|---|---|
Round(X) | Возвращает целое значение, ближайшее к X | Round(1.7)=2, Round(-3.1)=-3 |
Int(X), Trunc(X) | Возвращает целую часть X | Int(1.8)=1, Trunc(-11.3)=-11 |
Floor(X) | Возвращает наибольшее целое значение, не превышает X | Floor(1.7)=1, Floor(-3.1)=-4 |
Ceil(X) | Возвращает наименьшее целое значение, не менее от X | Ceil(1.7)=2, Ceol(-3.1)=-3 |
Логические и побитовые операции
Логические операции используются для объединения нескольких логических условий в одну.
Название операции | оператор | пример | описание |
---|---|---|---|
Логическое И, and, логическое умножение | and | (2+3=5) and (0>-1) | Истинное, если оба операнда истинны |
Логическое ИЛИ, or, логическое сложение | or | (2+2=5) or (1=1) | Истинное, если хотя бы один из операндов истинный |
Логическое исключающее ИЛИ, eXclusive or | xor | (2+2=5) xor (1=1) | Истинное, если ровно один из операндов истинный |
Отрицание, логическое НЕ, not | not | not (2+2=5) | Истинное, если операнд ложный |
Логические операторы, применены к целым типов, могут использоваться, как побитовые. Чтобы получить результат побитовой операции, надо представить операнды в двоичной системе (так, как они представлены в компьютере), после чего применить соответствующую операцию в соответствующих разрядов, причем 1 означает true 0 — false. так,
13 в двоичной системе будет | 1 | 1 | 1 |
11 в двоичной системе будет | 1 | 1 | 1 |
9 в двоичной системе будет | 1 | 1 |
Кроме того, есть еще две побитовых операции сдвига:
Название операции | оператор | пример | описание |
---|---|---|---|
сдвиг вправо | shr | 14 shr 2 (=3) | Сдвигает двоичные разряды первого операнда справа на второй операнд разрядов;эквивалент целой части деления на степень 2 |
смещение слева | shl | 7 shl 3 (=56) | Сдвигает двоичные разряды первого операнда слева на второй операнд разрядов;эквивалент умножению на степень 2 |
Алгебраические функции
Серым обозначены функции, которые не поддерживаются в Turbo Pascal
Примечание: корень степени Y из числа X можно представить как X 1 / Y, и, соответственно, как Power (X, 1 / Y) или в Turbo Pascal как Exp (Ln (X) / Y).
Тригонометрические функции
Тригонометрические функции используют значения углов в радианах , будьте внимательны!
Название функции | описание | Заменитель (для Turbo Pascal) |
---|---|---|
DegToRad (X) | Вычисляет радианной меру угла X, представленного в градусах | X * Pi / 180 |
RadToDeg (X) | Вычисляет градусную меру угла X, представленного в радианах | X * 180 / Pi |
Sin (X) | Синус X (X в радианах) | |
Cos (X) | Косинус X (X в радианах) | |
Tan (X) | Тангенс X (X в радианах) | Sin (X) / Cos (X) |
ArcTan (X) | Арктангенс X, угол, тангенс которого равен X, в радианах | |
ArcSin (X) | Арксинус X, угол, синус которого равен X, в радианах | ArcTan (X / sqrt (1-sqr (X))) |
ArcCos (X) | Арккосинус X, угол, косинус которого равен X, в радианах | 2 * ArcTan ((1-X) / (1 + X)) |
Sinh (X) | Гиперболический синус X | (Exp (X) -exp (-X)) / 2 |
Cosh (X) | Гиперболический косинус X | (Exp (X) + exp (-X)) / 2 |
Tanh (X) | Гиперболический тангенс X | (Exp (2 * X) -1) / (exp (2 * X) +1) |
Функции для работы со случайными величинами
Для имитации случайных процессов в Паскале есть генератор псевдослучайных чисел (ГПВЧ) и функции для работы с ним; такие числа достаточно непредсказуемыми для практического использования (то есть каждое последующее использование функции Random даст какой-то мере неожиданный результат), но их последовательность может быть полностью воспроизведена, если установить начальное значение ГПВЧ.
Название функции | описание | Заменитель (для Turbo Pascal) |
---|---|---|
Randomize | Устанавливает начальное значение ГПВЧ равным текущему значению часов | |
Randomize (X) | Устанавливает начальное значение ГПВЧ равным X | |
Random | Возвращает псевдослучайное действительное число от 0 (включительно) до 1 (без включительно) | |
Random (X) | Возвращает псевдослучайное целое число от 0 до X-1 | |
Random (X, Y) | Возвращает псевдослучайное целое число от X до Y | X + Random (Y-X + 1) |
Функции для работы со сочтеными типами
Для величин сочтеных типов (все цели, буквенный, логическое и перечни) существуют также несколько удобных стандартных функций и процедур:
Название функции | описание |
---|---|
Succ (X) | Возвращает значение, идет после X (для целых — X + 1, для буквенного — символ с последующим значением, для перечисления — следующее значение: так, Succ ( ‘A’) возвращает ‘B’ |
Pred (X) | Возвращает, предшествующий X (для целых — X-1, для буквенного — символ с предыдущим значением, для перечисления — предварительное значение: так, Pred ( ‘A’) возвращает ‘@’ |
Inc (X) | Увеличивает значение X на 1, эквивалент X = Succ (X) |
Inc (X, N) | Увеличивает значение X на N, эквивалент N приложений Inc (X) |
Dec (X) | Уменьшает значение X на 1, эквивалент X = Pred (X) |
Dec (X, N) | Уменьшает значение X на N, эквивалент N применений Dec (X) |
Ord (X) | Возвращает X (для нечисловых типов) |
Odd (X) | Проверяет X на нечетность, true, если X нечетный или false, если X имеет четное значение |
Приоритет операций
Во время разбора математического выражения Паскаль сначала выполняет операции с высоким приоритетом, затем с низким, все справа налево. Так, в выражении 2 + 2 * 2 сначала будет вычислено 2 * 2 = 4, а уже затем 2 + 4 = 6 — так же, как в обычной математике; в выражении 10 mod 2 * 3 сначала будет выполнено 10 mod 2 = 0, а уже потом 0 * 3 = 0!