Pascal: Занятие №1. Часть 3: Типы данных в Паскаль
Типы данных в Паскале
Паскаль — это типизированный язык программирования. Это означает, что переменные, в которых хранятся данные, имеют определенный тип данных. Т.е. программе напрямую надо указать, какие данные могут храниться в той или иной переменной: текстовые данные, числовые данные, если числовые — то целочисленные или дробные, и т.п. Это необходимо в первую очередь для того чтобы компьютер «знал», какие операции можно выполнять с этими переменными и как правильно их выполнять.
Например, сложение текстовых данных, или как это правильно называется в программировании — конкатенация — это обычное слияние строк, тогда как сложение числовых данных происходит поразрядно, кроме того, дробные и целые числа складываются тоже по-разному. То же самое касается и других операций.
Рассмотрим наиболее распространенные в Pascal типы данных.
Целочисленные типы данных в Паскаль
Тип
Диапазон
Требуемая память (байт)
byte
0..255
1
shortint
-128..127
1
integer
-32768.. 32767
2
word
0..65535
2
longint
-2147483648..2147483647
4
Нужно иметь в виду, что при написании программ в паскале integer (в переводе с англ. целое) является наиболее часто используемым, так как диапазон значений наиболее востребуем. Если необходим более широкий диапазон, используется longint (long integer, в переводе с англ. длинное целое). Тип byte в Паскале используется, когда нет необходимости работать с отрицательными значениями, то же самое касается и типа word (только диапазон значений здесь значительно больше).
Примеры того, как описываются (объявляются) переменные в Паскале:
Pascal
PascalABC.NET
program a1; var x,y:integer; <целочисленный тип>myname:string; <строковый тип>begin x:=1; y:=x+16; myname:=’Петр’; writeln (‘имя: ‘,myname, ‘, возраст: ‘, y) end.
program a1; begin var x, y: integer; <целочисленный тип>var myname: string; <строковый тип>x := 1; y := x + 16; myname := ‘Петр’; print($’имя: , возраст: ‘) end.
Результат: имя: Петр, возраст: 17
Комментарии в Паскале
[Название файла: L1task5.pas ]
Вещественные типы данных в Паскаль
Вещественные числа в Паскале и вообще в программировании — это название дробных чисел.
Тип real в Паскале — наиболее часто используемый из вещественных типов.
Выше были представлены простые типы данных в Паскаль, к которым относятся:
Для вывода значений переменных вещественного типа обычно используется форматированный вывод:
Наряду с простыми типами в языке еще используются структурированные типы данных и указатели, которым будут посвящены последующие уроки по Паскалю.
Константы в Паскале
Зачастую в программе заранее известно, что переменная будет принимать какое-то конкретное значение и не менять его на протяжении выполнения всей программы. В таком случае необходимо использовать константу.
Объявление константы в Паскале происходит до объявления переменных (до служебного слова var ) и выглядит следующим образом:
Пример описания константы в Паскале:
Pascal
PascalABC.NET
const x=17; var myname:string; begin myname:=’Петр’; writeln (‘имя: ‘,myname, ‘, возраст: ‘, х) end.
const x = 17; begin var myname := ‘Петр’; print($’имя: , возраст: ‘) end.
«Красивый» вывод целых и вещественных чисел
Для того чтобы после вывода значений переменных оставались отступы, чтобы значения не «сливались» друг с другом, принято через двоеточие указывать какое количество символов нужно предусмотреть для вывода значения:
Вывод вещественных чисел
Арифметические операции в Паскале
ДЕЙСТВИЕ
РЕЗУЛЬТАТ
СМЫСЛ
2 + 3
5
плюс
4 — 1
3
минус
2 * 3
6
умножить
17 div 5
3
целочисленное деление
17 mod 5
2
остаток от целочисленного деления
Порядок выполнения операций
var a: integer; b: real; begin a := 1; writeln(‘a := 1; a = ‘,a); a += 2; // Увеличение на 2 writeln(‘a += 2; a = ‘,a); a *= 3; // Умножение на 3 writeln(‘a *= 3; a = ‘,a); writeln; b := 6; writeln(‘b := 6; b = ‘,b); r /= 2; writeln(‘b /= 2; b = ‘,b); end.
Стандартные арифметические процедуры и функции Pascal
Здесь стоит более подробно остановиться на некоторых арифметических операциях.
Пример операции inc:
Более сложное использование процедуры inc: Inc(x,n) где x — порядкового типа, n — целого типа; процедура inc увеличивает x на n.
Пример использования функции odd:
begin WriteLn(Odd(5)); WriteLn(Odd(4)); end.
Пример использования процедуры sqr в Pascal:
var x:integer; begin x:=3; writeln(sqr(x)); <ответ 9>end.
Однако в компиляторе pascal abc возведение в степень осуществляется значительно проще:
Пример использования процедуры sqrt в Pascal:
var x:integer; begin x:=9; writeln(sqrt(x)); <ответ 3>end.
Функция Exp в Паскале (и многих других языках программирования) вычисляет экспоненту. Синтаксис:
function Exp(X : ValReal) : ValReal;
О типе ValReal я рассказывал здесь.
Функция Exp X вычисляет и возвращает экспоненту числа X.
Вычисление экспоненты — это вычисление числа е в степени X. То есть
Подробности см. в видео и читайте в статье далее.
Обратная функция Ln
Если вы помните функцию Ln, то вы также помните, что она вычисляет натуральный логарифм.
Так вот, обратной функцией Exp является функция Ln. Иными словами, обратная функция экспоненциальной функции (экспоненты) — это натуральный логарифм. То есть:
e X = Exp(X) = Exp(Ln(Y)) = Y
Есть ещё вот такая полезная формула:
x Y = e Y ln(x) = Exp(Y * Ln(X))
Из этого следует, что используя функции Ln и Exp, мы можем возвести любое число в любую степень. Сделать это можно, например, так:
Если описать это математическим языком, то приведённое выше выражение будет эквивалентно следующей записи:
Правда, надо сказать, что здесь есть нюансы. Есть частные случаи, когда приведённое выше выражение выдаст неправильный результат. Например, когда Y или X отрицательные числа, или когда они равны нулю. Такие ситуации надо обрабатывать дополнительно. Однако эта статья не о возведении в степень, поэтому мы будем рассматривать эти частные случаи в другой статье.
Пример исходного кода, где используется функция Exp:
Функция Exp Pascal-Паскаль
Описание
Exp: функция — Возвращает экспоненту параметра.
Объявление:
Function Exp(X: Real): Real;
Режим:
Windows, Real, Protected
Замечания:
Возвращаемое значение: Значение e возведенное в степень X, где e — основание натуральных логарифмов.
Пример программы для функции Exp
Программирование
Исходники Pascal (127)
Справочник
Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту
Мы уже знаем, какие существуют функции для целых переменных. Это – нахождение модуля числа (Функция Abc), а также возведение числа в квадрат (Функция Sqr). В этом уроке мы рассмотрим функции, применяемые к дробным числам. Это функции Sqr — квадрат числа, Abs — модуль числа, Sqrt — корень числа, а также известные всем математические функции Sin, Cos, Arctan, Ln, Exp, Pi.
В строке №7 записывается функция Sqr. Это функция возведения числа в квадрат.
В строке №9 записывается операция нахождения модуля числа. Функции Sqr и Abs мы разбирали в уроке Abs, Sqr в Pascal.
В строке №11 записывается функция Sqrt. Данная функция подсчитывает корень числа, стоящего в скобках после слова Sqrt. В нашем случае функция Sqrt будет считать корень из числа «2».
В строке №13 записываем функцию Sin. Данная функция будет подсчитывать синус числа, стоящего в скобках после записи функции.
Строка №15. Функция Cos подсчитывает косинус числа, стоящего в скобках после функции.
Строка №17. Функция Arctan вычисляет арктангенс числа, стоящего в скобках после записи функции.
Строка №19. Функция Ln подсчитывает логарифм числа, стоящего в скобках после записи функции.
Строка №21. Функция Exp возводит число «e» (экспонента — 2.72. ) в степень, значение которой указывается в скобках после слова Exp. Т.е. в нашем случае число «e» будет возведено в степень «2».
Строка №23. Переменной «B» будет присвоено значение числа «?».
Что значит exp в коде? в решении задачи присутсвует вот такая строчка if (exp(i*ln(x))>max) then max:=exp(i*ln(x)) никак.
Построение графика y=(exp(ln(X) * 3) + exp(ln(X) * 2)-15)/2; Помогите пожалуйста доделать программу. При запуске программы пишет «Program1.pas(62) : Ошибка.
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами? Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?
Что такое IIS и что такое PWS? Почему одно без другого не работает? вот уже второй день пытаюсь немного разобраться в АСП. накидал небольшую тестовую страничку. но с.
Что такое напряжение и что такое сила тока с позиции заряженных частиц Объясните пожалуйста, что такое напряжение и что такое сила тока с позиции заряженных частиц.
Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа? Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?
Что такое монитор и что такое мьютекс? Это же разные вещи? Здравствуйте. В разных айти-статьях по-разному используют эти термины, причём часто их путают друг.
Программирование. Стандартные функции 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)
Справочник
Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту
Функция Exp в Паскале (и многих других языках программирования) вычисляет экспоненту. Синтаксис:
function Exp(X : ValReal) : ValReal;
О типе ValReal я рассказывал здесь.
Функция Exp X вычисляет и возвращает экспоненту числа X.
Вычисление экспоненты – это вычисление числа е в степени X. То есть
Подробности см. в видео и читайте в статье далее.
Обратная функция Ln
Если вы помните функцию Ln, то вы также помните, что она вычисляет натуральный логарифм.
Так вот, обратной функцией Exp является функция Ln. Иными словами, обратная функция экспоненциальной функции (экспоненты) – это натуральный логарифм. То есть:
e X = Exp(X) = Exp(Ln(Y)) = Y
Есть ещё вот такая полезная формула:
x Y = e Y ln(x) = Exp(Y * Ln(X))
Из этого следует, что используя функции Ln и Exp, мы можем возвести любое число в любую степень. Сделать это можно, например, так:
Если описать это математическим языком, то приведённое выше выражение будет эквивалентно следующей записи:
Правда, надо сказать, что здесь есть нюансы. Есть частные случаи, когда приведённое выше выражение выдаст неправильный результат. Например, когда Y или X отрицательные числа, или когда они равны нулю. Такие ситуации надо обрабатывать дополнительно. Однако эта статья не о возведении в степень, поэтому мы будем рассматривать эти частные случаи в другой статье.
Пример исходного кода, где используется функция Exp:
Мы уже знаем, какие существуют функции для целых переменных. Это – нахождение модуля числа (Функция Abc), а также возведение числа в квадрат (Функция Sqr). В этом уроке мы рассмотрим функции, применяемые к дробным числам. Это функции Sqr – квадрат числа, Abs – модуль числа, Sqrt – корень числа, а также известные всем математические функции Sin, Cos, Arctan, Ln, Exp, Pi.
В строке №7 записывается функция Sqr. Это функция возведения числа в квадрат.
В строке №9 записывается операция нахождения модуля числа. Функции Sqr и Abs мы разбирали в уроке Abs, Sqr в Pascal.
В строке №11 записывается функция Sqrt. Данная функция подсчитывает корень числа, стоящего в скобках после слова Sqrt. В нашем случае функция Sqrt будет считать корень из числа «2».
В строке №13 записываем функцию Sin. Данная функция будет подсчитывать синус числа, стоящего в скобках после записи функции.
Строка №15. Функция Cos подсчитывает косинус числа, стоящего в скобках после функции.
Строка №17. Функция Arctan вычисляет арктангенс числа, стоящего в скобках после записи функции.
Строка №19. Функция Ln подсчитывает логарифм числа, стоящего в скобках после записи функции.
Строка №21. Функция Exp возводит число «e» (экспонента – 2.72. ) в степень, значение которой указывается в скобках после слова Exp. Т.е. в нашем случае число «e» будет возведено в степень «2».
Строка №23. Переменной «B» будет присвоено значение числа «?».
Дополнение к материалу.
В этой статье описаны синтаксис формулы и использование функции EXP в Microsoft Excel.
Описание
Возвращает число e, возведенное в указанную степень. Число e равно 2,71828182845904 и является основанием натурального логарифма.
Синтаксис
Аргументы функции EXP описаны ниже.
Число — обязательный аргумент. Показатель степени, в которую возводится основание e.
Замечания
Чтобы вычислить степень с другим основанием, используйте оператор возведения в степень (^).
Функция EXP является обратной по отношению к функции LN, т. е. к натуральному логарифму числа.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Приблизительное значение e
Основание натурального логарифма e, возведенное в квадрат