Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Встроенные математические функции вТурбо Паскаль



Для проведения вычислений как с целыми, так и с вещественными данными могут использоваться встроенные математические функции, представленные в таблице 1. В этой таблице REAL означает любой вещественный тип, INTEGER - любой целый тип.

Организация программы

Программа, написанная на языке Паскаль, состоит из:

- заголовка программы – объявления имени программы,

- раздела описания,

- раздела исполняемых операторов,

- указания конца программы.

Каждая программа начинается с зарезервированного слова «Program», которое может быть использовано только для объявления имени программы. За этим словом идет имя программы, которое пишется латинскими буквами и конечно должна выражать сущность программы. Имя программы должна записываться без пробелов.

Например: Program delenie (input, output); delenie- имя программы, (input, output) – указывают, что в программе используются элементты ввода и вывода.

Этот раздел можно опускать без каких либо последствий для программы.

В Паскаль конец оператора или описания должна заканчиваться точкой с запятой.

В разделе описании любой нестандартный идентификатор, используемый в исполняемых операторах, должен быть предварительно описан, т.е. указывается тип с учетом диапазона значений. Раздел может иметь части описания постоянных величин (констант) и переменных величин. Описанию типов и объектов должно предшествовать зарезервированное слово TYPE, описанию констант - CONST, переменных - VAR и меток – LABEL.

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

VAR V1, V2, V3,... Vn: T;

где V1, V2, V3,... Vn – имена переменных, T– тип.

После перечисления имен переменных (идентификаторов), соответственно перед наименованием типа ставится двоеточие. Например

const d=3; var a,b:integer; s:real;   Величина d является константой типа integer.     Величины a и b являются переменными типа integer. Величина s является переменной типа real.

В раздел исполняемых операторов вводятся все необходимые для выполнения задачи операторы: ввода данных, вычисления (как математические так и логические, функции и процедуры, модули) и вывода результата.

Операторы ввода обеспечивают программу исходными данными, необходимыми для решения задачи, Для ввода данных используются следующие операторы:

READ(b1, b2,…bn) и READLN(b1, b2,…bn)

где b1, b2, …bn – имена переменных, которым поочередно присваиваются введенные данные.

Например, Оператор ввода будет иметь вид: READ(AI, K, M). Необходимо ввести следующие данные: AI=4,3 M=0,38*104 K=5

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

4.3 5 0.38E4

В результате выполнения оператора READ переменная A1 получит значение 4.3, а переменные K и M соответственно 5 и 0.38 *104.

Оператор READLN(b1,b2..bn); выполняется также как и оператор READ, за исключением того, что по окончании чтения значения для последней переменной списка ввода осуществляется переход к началу новой строки.

Например, в фрагменте ввода числовые значения переменных A1, K, M располагаются на одной строке

READ(A1,K); READLN(M); 4.3 5 0.38E4. числовые значения переменных A1, K, M располагаются на одной строке

в фрагменте ввода

READLN(A1,K); READ (M); 4.3 5 0.38E4. числовые значения переменных A1 и K располагаются на одной строке, а числовое значение переменной M на другой

Оператор READLN без списка ввода обеспечивает пропуск одной строки и переход к началу новой строки.

Для вычисления значений выражения и присваивания его переменной, расположенной слева от символа служит оператор присваивания в виде двоеточия с о знаком равенства (:=). Оператор в общем виде пишется A:= B, где A - имя переменной, B - выражение.

Примеры:X:=0.25, - переменной X присваивается значение 0.25;

A:=T, - переменная Aполучает значение T;

K:=K+ 0.3, - вычисляется новое значение K, изменяя предыдущее на величину 0.3.

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

Обычная запись Запись на языке Паскаль Обычная запись Запись на языке Паскаль
Z:=A/B*C A:=2*(SIN(4*X)+X)/(3*X)

Знак умножения ставится обязательно, иначе при записи 3х в виде , ЭВМ выдаст сообщение об ошибке. Порядок выполнения операций в арифметическом выражении определяется их приоритетом: 1) выражения в скобках; 2) вычисление функций; 3)умножение и деление; 4) сложение и вычитание.

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

Таблица №1 Стандартные арифметические функции языка Паскаль

Запись на языке Паскаль Выполняемые функции
ABS(X) | X |
SQR(X) X2 квадрат числа
SIN(X) SIN X
COS(X) COS X
EXP(X) ex
LN(X) Ln x
LOG(X) Lg x
SQRT(X) Квадратный корень числа
ARCTAN(X) аrctg x
TRUNC(X) Выделение целой части числа
ROUND(X) Округление числа
ODD(X) Определение нечетности числа
PRED(X) Нахождение предыдущего элемента
SUCC(X) Нахождение последующего элемента
ORD(X) Определение порядкового номера символа Х в наборе символов
CHR(X) Определение символа из набора символов по порядковому номеру

Для возведения переменной x в некоторую степень a, т.е. нахождения x a, используется равенство: xa=ea·lnx.

Тогда выражение x a на языке Паскаль имеет вид EXP(A*LN(X)). Например, выражение будет записано следующим образом: EXP(1/3*LN(X+A)).

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

+, -, *, а также

DIV – деление нацело (с усечением), т.е. нахождения целой части числа, получаемого от деления двух целых операндов;

MOD – выделение остатка от деления двух целых операндов.

Операции DIV и MOD имеют тот же приоритет, что и операции /, *.

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

a,b:integer; {a,b-вводимые числа }

WRITELN(‘Вывод значений переменных ’);

Для вывода информации на дисплей используются следующие операторы вывода:

WRITE(b1,b2..bn) и WRITELN(b1,b2..bn);

где b1,b2..bn – имена переменных, подлежащих выводу. Эти операторы выполняет вывод значений, соответствующих именам переменных в списке вывода. Выводимые значения размещаются в одной строке. WRITELN (b1,b2..bn) отличается от WRITE(b1,b2..bn) тем, что после вывода значений переменных производится переход на новую строку.

Например, во фрагменте вывода

WRITE(A,H); WRITELN(V,R); 4.3 3 5.4 0.38E4. числовые значения переменных A =4,5; H=3 V=5,4; R=0,38 104 располагаются на одной строке

во фрагменте вывода

WRITELN (A,H); WRITE (V,R); 4.3 3 5.4 0.38E4. числовые значения переменных A и H располагаются на одной строке, а числовые значения переменных V и R располагаются на другой строке

Оператор WRITELN без списка ввода обеспечивает пропуск одной строки и переход к началу новой строки.

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

Общий вид записи операторов при выводе значений целого типа имеет вид:

WRITE(b:m);

WRITELN(b:m);

где b- имя выводимой переменной, m- поле, отводимое под запись значения.

Например: Вывести переменные D=105 и I=2016.

По оператору вывода WRITE(D:4, I:6);

Значение переменной D будет размещаться в четырёх позициях, а переменной I- в шести.

_ 105 _ _ 2016

Каждое значение переменной занимает крайние правые позиции отведённого поля, а незаполненные позиции образуют пробелы. Если значение переменной не размещается в отведённом поле, то число позиций увеличивается автоматически.

При выводе значений действительного типа операторы вывода имеют вид:

WRITE(b:m:n);

WRITELN(b:m:n);

где b- имя выводимой переменной, m- поле, отводимое под запись значения, n- часть поля, отводимого под дробную часть числа.

Например: Вывести переменные C=20.385 и R=8.1415.

По операторам вывода WRITE(C:6:3);

WRITELN(R:8:4);

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

20.385_ _ 8.1415

Необходимо иметь в виду, что под десятичную точку также отводится позиция.

Пример на составление программы

Программа вычисления частного двух чисел выглядит следующим образом:

Без комментариев С комментарием
Program delenie (input, output); const d=3; var a,b:integer; s:real; {s-результат } begin read (a,b); s:=d*a/b; write(s) end. Program delenie (input, output); {Программа вычисления частного от произведения двух чисел} const d=3; {d-константа} var a,b:integer; {a,b-вводимые числа } s:real; {s-результат } begin read (a,b); {ввести d,а и b} s:=d*a/b; {вычисление результата s} write(s) {вывод результата s} end.

или

Без комментариев С комментарием
Program delenie (input, output); const d=3; var a,b:integer; s:real; begin write(‘a=’); ReadLn(a); write(‘b=’); ReadLn(b); s:=d*a/b; WriteLn(‘d*a/b=’,s) end. Program delenie (input, output); {Программа вычисления частного от произвeдения двух чисел} const d=3 var a,b:integer; {a,b-вводимые числа } s:real; {s-результат } begin write(‘a=’);{сообщение о вводе числа а} ReadLn(a); { ввод числа а} write(‘b=’); {сообщение о вводе числа а} ReadLn(b); { ввод числа а} s:=d*a/b; {вычисление результата s} WriteLn(‘d*a/b=’,s) {вывод результата s} end.

Программу следует располагать структурировано:

1) конструкция языка (описания, операторы, блоки) более глубоких уровней вложенности сдвигать от начала строки вправо;

2) конструкции языка одинаковых уровней располагать друг под другом;

3) каждое описание и каждый оператор писать с новой строки;

4) продолжения описаний и операторов на новые строки сдвигать вправо;

5) избегать длинных строк.

СОДЕРЖАНИЕ ЗАНЯТИЯ.





Дата публикования: 2015-09-18; Прочитано: 555 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.012 с)...