Frac паскаль что это
Урок 5. Математические операции, функции и процедуры в Pascal (Часть первая)
Так как в воскресенье на сайте открывается новая рубрика — решение задач, мы с вами должны по-быстрому изучить основную часть математических операций, функций и процедур.
Давайте разберемся, что такое функция и процедура. Это подпрограмма — часть программы, выполняющая определенный алгоритм и допускающая обращение к ней из различных частей общей программы. В чем же разница между процедурой и функцией?
Процедуры — мини-программы.
Процедуры используются в случаях, когда в подпрограмме необходимо получить несколько результатов. Из картинки, расположенной ниже вы видите, как работает процедура. Входных данных может не быть вовсе, а может быть сто.
Например, программист хочет в своем суперкоде между блоками выходящих значений прописывать 20 амперсандов. Чтобы облегчить себе задачу, он напишет простую подпрограмму.
Функции в Паскале — мега переменные.
Функции отличается от процедуры тем, что после выполнения функции на ее месте в коде ставится одно число, буква, строка и т.д. Набор встроенных функций в языке Паскаль достаточно широк. Например, для того, чтобы подсчитать квадрат числа можно воспользоваться стандартной функцией sqr(x). Как вы, наверное, уже поняли sqr(x) требует лишь один фактический параметр — число.
Обратите внимание! Функции необходимо присваивать! Просто написав их в тексте программы, как процедуры, вы ничего не добьетесь!
Структура функции представлена на картинке ниже.
Если в программу необходимо включить новую уникальную функцию, ее надо описать также, как процедуру. Более подробно о том, как делать собственные процедуры и функции, мы поговорим через 10 уроков. Ниже вы видите таблицу основных стандартных функций и процедур в Паскаль.
Очень странная ошибка.
Операции div и mod.
Иногда нам требуется найти частное либо же остаток от деления. В такие моменты на помощь нам приходят такие операции, как div и mod. Заметим, что эти операции выполняются только над целыми числами.
Для того, чтобы найти частное от деления, мы используем операцию div.
Для того, чтобы найти остаток от деления, мы используем операцию mod.
Чтобы окончательно понять, с чем мы имеем дело, решим следующую задачу:
Задача 1. Найти сумму цифр двухзначного числа.
Так как эта задача очень простая, мы с вами обойдемся блок-схемой и программой.
Задача 2. Найти сумму цифр трехзначного числа.
Чуть усложненная версия предыдущей задачи. Самая большая сложность — вторая цифра.
Дробная часть числа паскаль
Функция Int вычисляет целую часть значения с плавающей точкой. Синтаксис:
function Int(X: ValReal) : ValReal;
Функция возвращает целую часть вещественного числа Х. Тип данных возвращаемого значения является также вещественным числом.
О типе ValReal я рассказывал здесь.
Функция Frac возвращает дробную часть числа с плавающей точкой. Синтаксис:
function Frac(X: ValReal) : ValReal;
Целая часть числа
Как известно, вещественное число имеет целую часть и дробную часть. Например, число 3,14 можно произнести словами как “три целых, четырнадцать сотых”.
Соответственно, целая часть числа 3,14 – это число 3.
И, как вы теперь уже знаете, получить целую часть числа в Паскале можно с помощью функции Int:
Дробная часть числа
Если рассмотреть всё то же число 3,14, то его дробной частью будет число 0,14. То есть вещественное число состоит из двух частей, сумма которых и является вещественным числом:
Получить дробную часть числа в Паскале можно с помощью функции Frac:
Пример программы, которая использует функции Int и Frac, приведён ниже:
Программирование. Стандартные функции 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 | Отбрасывание дробной части числа |
Порядок вычислений в выражениях следующий:
Хотя нет ограничений на сложность выражений, однако выражения, содержащие более 7 операндов, трудны для чтения и понимания и поэтому такие выражения не рекомендуется использовать.
Математическое выражение: 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)
Справочник
Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту
Арифметические операции
200?’200px’:”+(this.scrollHeight+5)+’px’);»> program mypascal;
var
a,b:integer;
c:real;
begin
Другие операции с числами
В паскале предусмотрены и многие другие операции с числами. Давайте разберем самые популярные из них.
Результат : переменной «а» присваивается значение 25.
Результат : переменной «а» присваивается значение 5.
Результат : переменной «а» присваивается значение 9.
Результат : переменной «а» присваивается значение 25.
Результат : переменной «а» присваивается значение 0.2.
Чтобы получить модуль некоторого числа используется операция abs(x).
Пример :
Результат : переменной «а» присваивается значение 8.
Это были самые важные и часто используемые операции в паскале для работы с числами ( переменными ). Найти другие вы можете на этой странице.
Выводы :
Стандартные функции языка Pascal
В программировании, как и в любой науке (хотя это и искусство также), с течением исторического времени накапливается опыт, методы решения различных задач. Решение многих задач является достаточно универсальным. Незачем каждый раз писать алгоритм для ее решения, если он уже был написан много лет назад и одобрен сообществом программистов. Такие алгоритмы оформляются в виде функций и модулей, а затем используются в программах, которые пишутся здесь и сейчас.
Функция или процедура может быть уже включена в сам язык программирования, а может входить в модуль, который требуется «подключить» к программе.
Ниже описаны стандартные (включенные в язык) функции языка программирования Паскаль.
Арифметические функции
Арифметические функции можно использовать только с величинами целого и вещественного типа.
Функция | Назначение | Тип результата |
abs (x) | абсолютное значение аргумента | совпадает с типом аргумента |
sqr (x) | квадрат аргумента | совпадает с типом аргумента |
sqrt (x) | квадратный корень аргумента | вещественный |
cos (x) | косинус аргумента | вещественный |
sin (x) | синус аргумента | вещественный |
arctan (x) | арктангенс аргумента | вещественный |
exp (x) | e x | вещественный |
ln (x) | натуральный логарифм | вещественный |
int (x) | целая часть числа | вещественный |
frac (x) | дробная часть числа | вещественный |
Функции преобразования типов
Эти функции предназначены для преобразования типов величин, например, символа в целое число, вещественного числа в целое и т.д.
Pascal-Паскаль
Программирование. Стандартные функции 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 | Отбрасывание дробной части числа |
Порядок вычислений в выражениях следующий:
Хотя нет ограничений на сложность выражений, однако выражения, содержащие более 7 операндов, трудны для чтения и понимания и поэтому такие выражения не рекомендуется использовать.
Выражение на Паскале: exp(3*ln(x)/2)-7*x+sin(x+2)/cos(x+2)
Операторы действия
Пример оператора присваивания
Оператор присваивания, несмотря на кажущуюся простоту, имеет очень важное алгоритмическое значение.
Удобно считать, что выполнение присваивания переменной некоторого значения означает помещение этого значения в выделенный для переменной ящик. При этом каждый запоминающий ящик обладает следующими свойствами.
Ввод и вывод данных
Пример ввода данных с клавиатуры
read(a,b,c);
readln(a,b,c);
Вывод данных на экран производится с помощью стандартной процедуры write( ) или ее разновидности writeln( ).
Список вывода может содержать константы, переменные, выражения, формат вывода. Выражения в списке вывода разделяются запятыми.
Пример вывода данных на экран
write(a,b,c);
writeln(a,b,c);
Окончание ln в имени процедуры означает, что курсор автоматически будет переведен в начало следующей строки экрана.
Программирование
Исходники Pascal (127)
Справочник
Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту
Стандартные функции в Паскале
Цели:
Оборудование: ПК, видеопроектор.
Ход урока
Чему равен результат следующих операций:
На прошлом уроке мы познакомились с вами с арифметическими операциями. Но помимо операций в языке Паскаль используются стандартные функции. Вот некоторые из них.
Стандартные математические функции Паскаля:
trunc | (7.2) | = |
trunc | (12.326) | = |
trunc | (312.96) | = |
trunc | (0) | = |
trunc | (0.259) | = |
trunc | (-2.3) | = |
trunc | (-12.926) | = |
Обсуждение результатов (каким образом получается результат).
round | (7.2) | = |
round | (312.96) | = |
round | (12.326) | = |
round | (0) | = |
round | (0.259) | = |
round | (-2.3) | = |
round | (-12.926) | = |
Найдите дробную и целую часть от значения выражения: y*sin(x)/cos(x+y).
(значения х и у вводятся с клавиатуры).
Вычислить значение выражения: 3*7 div 2 mod 7/3 – trunk (0.89) =
(выставление оценок, ответы на вопросы учащихся).
Определить последнюю цифру в произведении ab, где
Идет k-я секунда суток. Определить полное количество часов и минут, прошедших от начала суток.
Литература: