Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2361

.pdf
Скачиваний:
1
Добавлен:
15.11.2022
Размер:
1.46 Mб
Скачать

Пример:

пусть исходное математическое число

3,75 10

2

 

необходимо представить на PASCAL. Для

этого воспользуемся условной схемой перевода:

3.75 E -2 – Форма на PASCAL

K1

E

K2

– Общая форма

3,75

10

2

 

Математическая форма

Следовательно, исходное математическое число на PASCAL будет представлено в виде константы: 3.75Е-2

Таким образом, три символа в исходном числе точка, один и ноль заменяются в PASCAL одним символом E.

Следует иметь в виду, что перед символом E обязательно должно стоять какое-то число (целое, либо вещественное с фиксированной точкой) потому, что

если переводить исходное число 10 2 в таком виде, то компьютер воспринимает как 0E–2=0. Поэтому любую математическую запись нужно писать корректно.

8 1,2

Например:

10 2 110 2 →1E – 2

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

Например:

1,2 103,7

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

x a ea ln x

и тогда можно воспользоваться двумя стандартными функциями ln и exp (см. ниже).

Другой пример, пусть дано число: 3,2 Здесь уже имеются три числа, над которыми надо произвести две операции:

1.Возведение в степень при основании 8.

2.Умножение на 3,2.

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

REAL, INTEGER (VAR) – см. ниже.

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

Например:

10 1 →1E1→10→1Е0 и т.д.

8,2 10 2 →8.2Е-2→82Е-1→0,82Е-3 и т.д. 0→0→0Е0 и т.д.

В заключение отметим, что выше везде символ «→» означает перевод числа, переменных и функций с языка математики на язык PASCAL.

4.1.3.Понятие идентификатора

Под идентификатором (именем) понимается неограниченный набор символов из алфавита языка PASCAL (оптимально 6-8 символов), для обозначения или придания соответствующего имени переменным, массивам, функциям, процедурам и т.д. Точнее он состоит из буквенно-цифровых символов алфавита.

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

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

4.1.4 Именованные константы

После того, как рассмотрено понятие имени (идентификатора), полезно вернуться к предыдущему разделу.

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

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

Например:

Const

А=3.5; y=3.7Е-2 и т.д.

При этом А=3,5 можно записать на той же строке, что и слово const. Именованные константы в программе удобно использовать в тех случаях, когда эти константы используются довольно часто.

Следует отметить, что значения именованных констант, заданные с помощью const, в программе изменять нельзя. Любая попытка использовать идентификатор константы в левой части оператора присвоения с целью изменения еѐ значения немедленно вызывает сообщение об ошибке.

Взаключение заметим, что необходимо помнить

в именованных константах используется символ <<=>> (без символа <<:>>, в отличие от символа присваивания <<:=>> в арифметическом операторе.

4.1.5. Понятие данных

Данные – величины, над которыми в программе производят некоторые действия.

Данные могут быть различных видов: числовые, строковые (состоящие из буквенных символов алфавита языка – поэтому они иногда и называются символьными данными или литерными) и логические. Т.е. под данными подразумеваются числа, символьные строки и т.д.

Понятие величины известно из физики и математики. Исходя из вышеприведенного определения, данные – это и есть величина т.е.если есть данное, то и должна быть его величина : размер, габариты, масса и т.д.

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

В памяти ЭВМ под данные отводится определенная память (так называемая область памяти для данных) в отличие от программной области памяти. Программное обращение к данным, которые находятся

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

– имя переменой.

При этом данные могут быть исходными, промежуточными и конечными.

Промежуточные данные получаются из исходных

впроцессе выполнения программы (вычисления). Конечные данные – это результаты вычисления (выполнения программы), и выводятся на печать (экран дисплея).

Основные типы данных - целые; - вещественные;

- логические (булевы); - символьные; - строковые;

- перечисляемые и т.д.

т.к. данные присваиваются переменным, то и переменные принимают соответствующие типы.

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

4.1.6.Переменные и массивы

На языке PASCAL переменные существуют двух

видов:

1.Переменные.

2.Массивы.

Так же как и данные, переменные имеют свой тип(целые вещественные и т.д.).

Переменные

Переменная – это величина, которая изменяет свое значение в процессе выполнения программы. Та переменная, которая не изменяет своей величины, называется именованной константой.

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

Примеры простых переменных:

Математическая запись

Запись н

a

 

α

alf

b

 

β

bett

g

 

γ

ga

x

 

Массивы

Массив – это упорядоченная совокупность данных одинакового типа. Такой упорядоченной совокупностью могут служить элементы матриц равны размерностей, экспериментальные числовые данные, полученные через равные промежутки времени. Часто такие массивы приходится упорядочивать самому программисту из множества исходных данных, которые необходимо обработать на ЭВМ. При этом каждый элемент массива (одно число) хранится в определенной ячейке памяти. Следовательно, массив должен иметь имя и размер. Отсюда и возникает понятие переменной из массива. Таким образом, для обозначения массива используются имя (идентификатор), и его конкретные элементы – индексы заключаются в квадратные скобки. Для конкретного элемента многомерного массива буквенно-цифровые индексы в квадратных скобках разделяются запятыми.

Индексами массива могут быть только:

1.Целые числа.

2.Буквы (идентификаторы переменных).

3.Выражения любой степени сложности (только целого типа).

Примеры массивов:

massiv 1 [1] – одномерный массив ( m1 ),

massiv 2 [i] – одномерный массив ( mi ),

massiv 3 [2,i] – двумерный массив ( m2i ),

gamma [3,7,9] – конкретный элемент трехмерного

массива ( g3,7,9 ),

alfa [і+ј, ј+к, 4, 5] – четырехмерный массив (αі+ј,

ј+к, 4, 5) и т.д.

4.1.7. Набор стандартных функций на Pascal

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

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

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

Набор основных стандартных функций:

Табл.4.1

Математическая запись

Запись на P

sin x

sin (x

 

 

 

 

 

 

cos x

cos (x

arctg x

arctan (

ex

exp (x

x2

sqr (x

 

 

 

 

 

sqrt (x

 

 

x

 

 

 

 

 

 

 

ln x

ln (x)

 

x

 

 

abs (x

 

 

 

 

xa

exp (a ln

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

Данная стандартная функция получена из

известного математического равенства:

xa=ea ln (x)

Следует отметить, что если исходная степенная функция будет представлена в виде ах, то соответствующая стандартная функция будет:

ax→exp (x ln (a))

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

Int(x) - целая часть числа (ликвидация дробной части числа – грубое округление);

T runc (x) – целая часть числа (функция аналогичная предыдущей функции Int, но для длинного целого типа.).

Round – выделение целой части числа ( округление до

ближайшего целого – математически

точное

округление );

 

Inc(x[,i]) увеличивает значение x на i, а при отсутствии i

– на 1;

dec(x[,i]) уменьшает значение x на i, а при отсутствии i – на 1;

frac(x)→дробная часть числа ( ликвидация – обнуление целой части числа x);

Pi – вызов константы π;

Random – вызов случайного дробного числа, равномерно распределенного в диапазоне от

0 до 1.

Random (x)→вызов случайного целого числа, равномерно распределенного в диапазоне от

0 до (x-1).

Randomize-X – вызов ( инициализация) встроенного генератора случайных чисел. Следует отметить, что это не функция, а стандартная процедура.

При этом, случайное значение получается с учѐтом значений, выдаваемых системным таймером. Число, получаемое в результате работы генератора случайных чисел, хранится в предопределенной переменной с именем RandSeed.

Odd (x ) – проверяет, является ли целочисленный аргумент x нечетным числом. Результат принимает значение T rue , если x представляет собой нечетное

число и False - в противном случае.

 

 

Рассмотрим

конкретный

пример

на

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

exp(a b c / d sqrt(sin(a b) c d)).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]