Вконтакте Facebook Twitter Лента RSS

Классификация и виды устройств для обработки данных. II. Сетевые технологии обработки данных. Типология по области приложения и пользователям

Тема: Математические функции в Паскале

Цель урока: рассмотреть основные функции языка программирования Паскаль, ознакомится работой функций

Функции отличается от процедуры тем, что после выполнения функции на ее месте в коде ставится одно число, буква, строка и т.д. Набор встроенных функций в языке Паскаль достаточно широк. Например, для того, чтобы подсчитать квадрат числа можно воспользоваться стандартной функцией sqr(x). Как вы, наверное, уже поняли sqr(x) требует лишь один фактический параметр - число.

Пример: a:=sqr(4).

Обратите внимание! Функции необходимо присваивать! Просто написав их в тексте программы, как процедуры, вы ничего не добьётесь!

Если в программу необходимо включить новую уникальную функцию, ее надо описать также, как процедуру. Более подробно о том, как делать собственные процедуры и функции, мы поговорим через несколько уроков. Ниже вы видите таблицу основных стандартных функций и процедур в Паскаль.

Математические функции

Тип аргумента

Результат вычисления

Целый или Вещ.

Вещественный

Корень из х

Целый и Вещ.

Квадрат х

Вещественный

Значение х а

Вещественный

Дробная часть х

Вещественный

Синус х в радианах

Вещественный

Косинус х в радианах

Вещественный

Арктангенс х в радианах

Arctan(5)=1.3734

Вещественный

Целая часть х

Целый или Вещ.

Случайное число (0..х-1)

Порядковый

Следующий

Порядковый

Предыдущий

Pred(‘Z’)=’Y’

Математические процедуры

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

Вещественный

Целая часть х

Вещественный

Округление х до целого

Важно! Если х = 5.5, то результат – 6, а если х = 6.5, то результат тоже 6!?

Операции div и mod рассмотрим по подробней.

Иногда нам требуется найти частное либо же остаток от деления. В такие моменты на помощь нам приходят такие операции, как div и mod. Заметим, что эти операции выполняются только над целыми числами.

Для того, чтобы найти частное от деления, мы используем операцию div.

Для того, чтобы найти остаток от деления, мы используем операцию mod.

Чтобы окончательно понять, с чем мы имеем дело, решим следующую задачу:

Задача 1 . Найти сумму цифр двухзначного числа.

Так как эта задача очень простая, мы с вами обойдемся блок-схемой и программой.

Блок-схема

    program Sumoftwo;

    var Number,Num1,Num2,Sum: integer;

    write("Введите двухзначное число: ");

    read(Number); { Возьмем число 25 }

    Num1:= Number div 10; { 25 div 10 = 2 }

    Num2:= Number mod 10; { 25 mod 10 = 5 }

    Sum:= Num1 + Num2; { 2 + 5 = 7 }

    write("Сумма двух чисел -- ",Sum);

Задача 2 . Найти сумму цифр трехзначного числа.

Чуть усложнённая версия предыдущей задачи. Самая большая сложность - вторая цифра.

Приоритет div и mod больше, чем приоритете + и -. Поэтому в данной программе можно обойтись без скобок.

    program Sumoftree;

    var Number,Sum: integer;

    write("Введите трехзначное число: ");

    read(Number); { Возьмем число 255 }

    Sum:= Number div 100 + Number mod 10 + Number div 10 mod 10; { 255 div 100 + 255 mod 10 + 255 div 10 mod 10 = 12 }

    write("Сумма трёх чисел -- ",Sum);

Итоги урока.

Домашнее задание.

Выражения

Константы и переменные

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

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

В ПК каждой переменной соответствует определенная область памяти, в которую заносится ее значение.

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

Вычисление значений выражений выполняется в определенном порядке, показанном таблице 2.3.

Таблица 2.3

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

Например: Sin(X) + Cos(A/2+Z) - Log(7) .

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

1) имя функции должно строго соответствовать имени;

2) аргумент должен заключаться в круглые скобки, а его тип должен соответствовать типу, указанному в таблице 2.4.

Таблица 2.4

Запись на Паскале Название функции Тип аргумента Тип результата
Abs(X) Абсолютная величина Integer Real Совпадает с типом X
Sqr(X) Вычисляет X во 2-ой степени Integer Real Совпадает с типом X
Sin(X) Cos(X) ArcTan(X) Синус, косинус и арктангенс X Integer Real Real
Exp(X) Экспоненциальная функция e x Integer Real Real
Ln(X) Логарифм натуральный Вещественный или целый Вещественный
Exp10(X) Log(X) Данные функции аналогичны Exp(X ) и Ln(X ), но по основанию 10 Вещественный или целый Вещественный
Sqrt(X) Корень квадратный числа X Вещественный или целый Вещественный
Odd(X) Выдает True, если X нечетный и False, если X четный Целый Булевский
Trunc(X) Выдает целую часть X , дробная часть отбрасывается Вещественный Целый
Round(X) Округляет X до ближайшего целого Вещественный Целый

Примечание . Тангенс x вычисляется как ; возведение в степень производится по следующей формуле: a x =Exp (x*Ln(a)) .

4.3. Стандартные функции в Turbo Pascal 7

В языке Паскаль существует ряд заранее разработанных подпрограмм-функций, которые можно использовать как готовые объекты. В Turbo Pascal их количество увеличено по сравнению со стандартом языка, и все они объединены в стандартные модули (см. п. 16). В данном разделе рассмотрены наиболее часто используемые стандартные функции. Стандартные функции ввода-вывода и динамического распределения памяти описаны в пп. 11 и 7 соответственно. Другие стандартные функции (работы со строками, указателями и адресами и т. д.), а также более подробное рассмотрение всех упомянутых выше функций, приведены в п. 16.

4.3.1. Арифметические функции

Арифметические функции можно использовать только с величинами целого и ипцественного типа. Их перечень приведен в табл. 4.

Таблица 4. Арифметические функции

Функция Назначение Тип результата
Abs(X) Абсолютное значение аргумента Совпадает с типом X
Arctan(X) Арктангенс аргумента Вещественный
Cos(X) Косинус аргумента Вещественный
Ехр(Х) е x Вещественный
Frac(X) Дробная часть числа Вещественный
Lnt(X) Целая часть числа Вещественный
Ln(X) Натуральный логарифм Вещественный
Pi Значение величины Pi=3.1415926535897932385 Вещественный
Sin(X) Синус аргумента Вещественный
Sqr(X) Квадрат аргумента Совпадает с типом X
Sqrt(X) Квадратный корень аргумента Вещественный

Примечание. Если функция используется с ключом компилятора {$N+}, то вместо величины типа Real она вычисляет величину типа Extended.

Пример.

{$N-}
begin
Р:= Pi {3.1415926536E+00}
end.

{$N-}
begin
Р:= Pi {3.1415926535897932385E+0000}
end.

4.3.2. Функции преобразования типа

Эти функции предназначены для преобразования типов величин, например (им иола в целое число, вещественного числа в целое и т. д. К ним относятся следующие функции:

Chr (X) - преобразование ASCII-кода в символ.

Аргумент функции должен быть целого типа в диапазоне (0..255). Результатом является символ, соответствующий данному коду.

High(X) - получение максимального значения величины.

Аргумент функции - параметр или идентификатор порядкового типа, типа-массива (см. п. 6.1), типа-строки (см. п. 6.2) или открытый массив (см. п. 10.3.5).

Результат функции для величины порядкового типа - максимальное значение этой величины, типа-массива - максимальное значение индекса, типа-строки -объявленный размер строки, открытого массива - количество компонент массива минус 1 (максимальный индекс, при начале нумерации с нуля).

Low(X) - получение минимального значения величины.

Аргумент функции - параметр или идентификатор порядкового типа, типа-массива (см. п. 6.1), типа-строки (см. п. 6.2) или открытый массив (см. п. 10.3.5). Результат функции для величины порядкового типа - минимальное значение этой величины, типа-массива - минимальное значение индекса, типа-строки или открытого массива - 0.

Ord(X) - преобразование любого порядкового типа в целый тип.

Аргументом функции может быть величина любого порядкового типа (логический, символьный, перечисляемый). Результатом является величина типа Longint.

Round (X) - округление вещественного числа до ближайшего целого.

Аргумент функции - величина вещественного типа, а результат - округленная до ближайшего целого величина типа Longint. Если результат выходит за диапазон значений Longint, то при выполнении программы возникает ошибка.

Trunc(X) - получение целой части вещественного числа.

Аргумент функции - величина вещественного типа, а результат - целая часть этого числа. Тип результата - Longint. Если результат выходит за диапазон значений Longint, то во время выполнения программы возникает ошибка.

4.3.3. Функции для величин порядкового типа

Эти функции позволяют выполнить ряд действий над величинами порядкового i типа (найти предыдущий или последующий элемент, проверить число на нечетность) . К этим функциям относятся следующие:

Odd(X) - проверка величины X на нечетность.

Аргументом функции является величина типа Longint, результат равен True, если аргумент нечетный, и False - если четный.

Pred(X) - определение предыдущего значения величины X.

Аргументом функции является величина любого порядкового типа, результатом - предшествующее значение того же типа (например, Pred(2) равно 1). При применении функции к первому элементу последовательности возникает ошибка.

Succ(X) - определение последующего значения величины X.

Аргументом функции является величина любого порядкового типа, результатом - последующее значение того же типа (например, Succ(2) равно 3). При применении функции к последнему элементу последовательности возникает ошибка.

31.01.2019 Learnpascal

Так как в воскресенье на сайте открывается новая рубрика — решение задач, мы с вами должны по-быстрому изучить основную часть математических операций, функций и процедур.

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

Процедуры — мини-программы.

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

Например, программист хочет в своем суперкоде между блоками выходящих значений прописывать 20 амперсандов. Чтобы облегчить себе задачу, он напишет простую подпрограмму.

Program superpuper; var очень много буковок; procedure ampersand; begin write("&&&&&&&&&&&&&&&&&&&&"); end; begin суперсложный код; ampersand; суперсложный код; ampersand; суперсложный код; ampersand; суперсложный код; ampersand; end.

Функции в Паскале — мега переменные.

Функции отличается от процедуры тем, что после выполнения функции на ее месте в коде ставится одно число, буква, строка и т.д. Набор встроенных функций в языке Паскаль достаточно широк. Например, для того, чтобы подсчитать квадрат числа можно воспользоваться стандартной функцией sqr(x). Как вы, наверное, уже поняли sqr(x) требует лишь один фактический параметр — число.

Пример: a:=sqr(4).

Обратите внимание! Функции необходимо присваивать! Просто написав их в тексте программы, как процедуры, вы ничего не добьетесь!

Структура функции представлена на картинке ниже.

Если в программу необходимо включить новую уникальную функцию, ее надо описать также, как процедуру. Более подробно о том, как делать собственные процедуры и функции, мы поговорим через 10 уроков. Ниже вы видите таблицу основных стандартных функций и процедур в Паскаль.

Математические функции

Имя Тип аргумента Результат вычисления Пример
Abs(x) Целый или Вещ. Модуль х Abs(-6) = 6
Sqrt(x) Вещественный Корень из х Sqrt(25)=5
Sqr(x) Целый и Вещ. Квадрат х Sqr(5)=25
Power(x, a) Вещественный Значение х а Power(5,3)=125
Frac(x) Вещественный Дробная часть х Frac(5.67)=0.67
Sin(x) Вещественный Синус х Sin(45)=0.8509
Cos(x) Вещественный Косинус х Cos(45)=0.5253
Arctan(x) Вещественный Арктангенс х Arctan(5)=1.3734
Int(x) Вещественный Целая часть х Int(5.67)=5.0
Random(x) Целый Случайное число (0..х-1) Random(5)=4
Succ(x) Порядковый Следующий Succ(10)=11
Pred(x) Порядковый Предыдущий Pred(‘Z’)=’Y’

Математические процедуры

Inc(x, a) Целый X:=X+A Inc(5)=6
Dec(x, a) Целый X:=X-A Dec(25,20)=5

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

Trunc(x) Вещественный Целая часть х Trunc(5.67)=5
Round(x) Вещественный Округление х до целого Round(5.67)=6
Важно! Если х = 5.5, то результат – 6, а если х = 6.5, то результат тоже 6!?

Операции div и mod.

Иногда нам требуется найти частное либо же остаток от деления. В такие моменты на помощь нам приходят такие операции, как div и mod. Заметим, что эти операции выполняются только над целыми числами.

Div

Для того, чтобы найти частное от деления, мы используем операцию div.

  • 25 div 20 = 1;
  • 20 div 25 = 0;
  • 39 div 5 = 7;
  • 158 div 3 = 52.

Mod

Для того, чтобы найти остаток от деления, мы используем операцию mod.

  • 25 mod 20 = 5;
  • 20 mod 25 = 0;
  • 39 mod 5 = 4;
  • 158 mod 3 = 2.

Чтобы окончательно понять, с чем мы имеем дело, решим следующую задачу:

Задача 1. Найти сумму цифр двухзначного числа.

Так как эта задача очень простая, мы с вами обойдемся блок-схемой и программой.

Блок-схема program Sumoftwo; var Number, Num1, Num2, Sum: integer; begin write("Введите двухзначное число: "); read(Number); { Возьмем число 25 } Num1:= Number div 10; { 25 div 10 = 2 } Num2:= Number mod 10; { 25 mod 10 = 5 } Sum:= Num1 + Num2; { 2 + 5 = 7 } write("Сумма двух чисел -- ", Sum); end.

Задача 2. Найти сумму цифр трехзначного числа.

Чуть усложненная версия предыдущей задачи. Самая большая сложность — вторая цифра.


Приоритет div и mod больше, чем приоритете + и -. Поэтому в данной программе можно обойтись без скобок. program Sumoftree; var Number, Sum: integer; begin write("Введите трехзначное число: "); read(Number); { Возьмем число 255 } Sum:= Number div 100 + Number mod 10 + Number div 10 mod 10; { 255 div 100 + 255 mod 10 + 255 div 10 mod 10 = 12 } write("Сумма трёх чисел -- ", Sum); end.

Вот и всё. На следующем уроке мы с вами начнём изучать особенности PascalABC.Net.

Арифметические функции

Арифметические функции можно использовать только с величинами целого и вещественного типа.

Функция

Назначение

Тип результата

abs (x)

абсолютное значение аргумента

совпадает с типом аргумента

sqr (x)

квадрат аргумента

совпадает с типом аргумента

sqrt (x)

квадратный корень аргумента

вещественный

cos (x)

косинус аргумента

вещественный

sin (x)

синус аргумента

вещественный

arctan (x)

арктангенс аргумента

вещественный

exp (x)

вещественный

натуральный логарифм

вещественный

int (x)

целая часть числа

вещественный

frac (x)

дробная часть числа

вещественный

Функции преобразования типов

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

Функции для величин порядкового типа

8 Оператор присваивания

Данный оператор предписывает запомнить некоторое значение в переменой. Значение и идентификатор переменой разделены парой знаков := . Типы объектов с обеих сторон знака := должны строго совпадать, за исключением того случая, когда тип переменой - REAL, а тип выражения - INTEGER. Общий вид оператора: < переменная >:= < выражение >

Операторы ввода/вывода

Немногие программы обходятся без ввода данных и совсем нет таких, которые не выводят полученные результаты.

Ввод данных с клавиатуры выполняется операторами: READ и READLN. Формат: Read (список переменных);

Readln (список переменных);

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

Readln (x, y, z); Read (beta, gamma);

При выполнении оператора READ(READLN) программа останавливается и ждет, пока нужное количество чисел не будет введено с клавиатуры

Вывод данных на экран дисплея выполняется операторами: WRITE и WRITELN. Формат:

Write (список выражений); Writeln (список выражений);

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

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

9. Условный оператор if . Общий вид if <условие> then<действие 1>; else <действие 2>;

Оператор if может быть использован и без второй части

Если необходимо выполнить несколько условий, то тогда используем такие виды записи (условие 1) and (условие 2)- в этом случае должно выполнятся и 1 и 2

(условие 1) or (условие 2) – в этом случае выполняется выбор.Скобки обязательны!

© 2024 Про уют в доме. Счетчики газа. Система отопления. Водоснабжение. Система вентиляции