Добавлен: 25.10.2018

Просмотров: 10329

Скачиваний: 105

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

61 

Трансляция, интерпретация и компиляция программ 
С  помощью  языка  программирования  создается  текст  про-

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

Интерпретатор  берет  очередной  оператор  языка  из  текста 

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

Компиляторы  полностью  обрабатывают  весь  текст  про-

граммы.  Они  просматривают  его  в  поисках  синтаксических 
ошибок,  выполняют  определенный  смысловой  анализ  и  затем 
автоматически  переводят  (транслируют)  на  машинный  язык – 
генерируют  машинный  код,  который  затем  исполняется  непо-
средственно процессором. 

 
Системы программирования
 
Для  создания  программы  на  выбранном  языке  программи-

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

– текстовый редактор; 
– компилятор; 
– редактор связей; 
– библиотеки функций; 
– отладчик (пошаговое выполнение). 
Все это представляет собой интегрированную систему про-

граммирования. 

 
Этапы решения задачи на компьютере
 
1. Формализация данных. 
2. Создание математической модели. 
3. Детальное описание алгоритма (блок-схема). 


background image

62 

4. Реализация на языке программирования. 
5. Отладка программы. 
6. Тестирование программы. 
7. Анализ результатов работы программы. 

7.2. Программирование на языке Pascal 

PascalABC.NET – это язык программирования Pascal нового 

поколения,  включающий  классический Pascal, большинство 
возможностей  языка Delphi, а  также  ряд  собственных  расшире-
ний. Он реализован на платформе Microsoft.NET и содержит все 
современные  языковые  средства:  классы,  перегрузку  операций, 
интерфейсы, обработку исключений, обобщенные классы и под-
программы, средства параллельного программирования [6]. 

PascalABC.NET – это  также  простая  и  мощная  интегриро-

ванная  среда  разработки,  содержащая  средства  автоформатиро-
вания, встроенный отладчик и встроенный дизайнер форм. 

 
Операторы языка программирования 
Служат для описания некоторого законченного этапа обра-

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

 
Идентификаторы 
Выполняют  роль  имен,  которые  даются  различным  про-

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

 


background image

63 

Типы данных 
Каждая константа, переменная, элемент массива  принадле-

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

Т а б л и ц а   1  

Типы данных языка программирования PascalABC.NET 

Идентификатор 

Длина, байт 

Диапазон (множество) значений 

Целые типы 

shortint 

1 –128…127 

smallint 

2 –32768…32767 

integer, longint 

4 –2147483648…2147483647 

byte 

1 0…255 

word 

2 0…65535 

 

Вещественные типы 

real, double 

8 –1,8·10

308 

…1,8·10

308 

        (15–16) 

singl 

–3,4

10

38

…3,4

10

38

            (7–8) 

 

Логический тип 

boolean 

1 true 

(истина), false (ложь) 

 

Символьный тип 

char 

2 Unicode-символ 

 
Арифметическое выражение 
Задает  порядок  выполнения  действий  над  элементами  дан-

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


background image

64 

должно содержать данные одного типа, при этом значение выра-
жения получается того же типа. Однако допускается использова-
ние  в  одном  выражении  данных  целого  и  вещественного  типов, 
результат в этом случае получается вещественного типа. 

Арифметические  операции  приведены  в  табл. 2. Операции 

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

Т а б л и ц а   2  

Арифметические операции языка программирования  

PascalABC.NET  

Знак  

операции 

Содержание  Выражение

Тип  

операндов 

Тип  

результата 

сложение 

A + B 

целый, вещест-
венный 

целый, вещест-
венный 

вычитание 

A – B 

целый, вещест-
венный 

целый, вещест-
венный 

умножение 

A * B 

целый, вещест-
венный 

целый, вещест-
венный 

деление 

A/B 

целый, вещест-
венный 

целый, вещест-
венный 

div 

целочисленное 
деление 

A div B  целый 

целый 

mod 

остаток 

A mod B  целый 

целый 

 
Операция  div  возвращает  целую  часть  частного,  дробная 

часть  отбрасывается.  Операция  mod  восстанавливает  остаток, 
полученный  при  выполнении  целочисленного  деления.  Напри-
мер, значение выражения 10 div 3 будет равно 3, а значение 
выражения 10 mod 3 будет равно 1. 

 
Стандартные функции 
В языке Pascal существуют заранее разработанные подпро-

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


background image

65 

Т а б л и ц а   3  

Стандартные функции языка программирования PascalABC.NET 

Обозначение  Тип аргумента 

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

Функция 

Pi - 

real 

число 

 = 3,1415926536

abs(x) integer/real

integer/real 

модуль аргумента 

arctan(x) integer/real

real 

арктангенс (радианы) 

cos(x) integer/real

real косинус (х в радианах) 

sin(x) integer/real

real синус (х в радианах) 

exp(x) integer/real

real экспонента е

х

frac(x) integer/real

real  дробная часть х 

int(x) integer/real

real целая часть х 

ln(x) integer/real

real 

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

random  real 

псевдослучайное число 
из диапазона [0,1) 

random(x) integer  integer 

псевдослучайное число 
из диапазона [0,х

round(x) real  integer 

округление до ближай-
шего целого 

sqr(x) integer/real

integer/real 

квадрат х 

sqrt(x) integer/real

real  корень квадратный 

trunc(x) real  integer 

ближайшее целое,  
не превышающее х  
по модулю 

 

Для выполнения операции возведения в степень а

b

 исполь-

зуется следующая математическая формула: 

ln( )

b

b

a

a

e

. На язы-

ке Pascal это будет выглядеть так: exp(b*ln(a)).  

Можно также воспользоваться функцией 
function Power(const Base, Exponent: 

Extended): Extended, которая возводит число A в степень 
B. Например, Power(A, B)

Вычисление tg(x)  производится  с  помощью  выражения 

sin(x)/cos(x). 

Вычисление log

b

a  производится  с  помощью  выражения: 

ln(a)/ln(b). 

Например,  запишем  по  правилам  языка Pascal математиче-

ское выражение: 

2

1

a b x

x

 

На Pascal это выглядит так: (a+b*x)/sqrt(x*x+1).