ОТЛАДКОЙ называется процесс обнаружения, локализации и устранения ошибок в программе.
Ошибки, совершаемые при создании программ, можно разделить на три вида.
СИНТАКСИЧЕСКИЕ ОШИБКИ – нарушения правил записи операторов программ, выявляются компилятором. Сообщение об ошибке появляется в верхней строке экрана в виде кода (номера) ошибки и краткого пояснения. Для получения дополнительных пояснений необходимо нажать F1 . Нажатие клавиши Esc снимает с экрана сообщение об ошибке и пояснения, курсор устанавливается в том месте текста программы, где обнаружена ошибка. Если требуется справка по оператору языка, необходимо подвести курсор к имени этого оператора в тексте программы и нажать Ctrl + F1 .
ЛОГИЧЕСКИЕ ОШИБКИ – нарушения правил обработки данных. Проявляются при выполнении программы в виде деления на ноль, извлечения корня квадратного из отрицательного числа, переполнения стека, попыток считывания данных из несуществующего файла и т.п. Обычно такие некорректные действия являются следствием ошибок в алгоритме решения и структуре данных задачи, несоответствия программы алгоритму решения.
Для получения подробной справки об ошибке нужно нажать F1 . Курсор также указывает место возникновения ошибки в тексте программы, но ее причины не всегда очевидны.
СЕМАНТИЧЕСКИЕ (СМЫСЛОВЫЕ) ОШИБКИ – следствие плохого понимания задачи, приводят к неправильному ее решению. Обнаружить такую ошибку можно при анализе полученных результатов, но для этого нужно хорошо понимать задачу, иметь заранее подготовленный контрольный пример решения задачи.
Для уточнения причины появления логических и семантических ошибок можно использовать интегрированный отладчик Турбо-Паскаля. он позволяет прерывать выполнение программы в нужном месте, проследить изменение значений переменных в специальном окне – окне индикации (Watch), проверить текущее значение любой переменной и, если необходимо, изменить ее значение и продолжить выполнение программы.
Отладочный режим устанавливается следующим образом: необходимо нажать Alt + D , курсор переместить на пункт меню Integrated Debugging (интегрированная отладка), нажатием клавиши ¿ установить режим ON (включен) и в заключение нажать Alt + E для возврата в режим редактирования.
Отладчик позволяет использовать три способа прерывания выполнения программы: трассировку программы, выполнение до контрольной точки и выполнение до текущего положения курсора.
ТРАССИРОВКА – это построчное выполнение программы. Для трассировки используется клавиша F7 : при очередном ее нажатии выполняется следующая строка программы или оператор, записанный в следующих строках. Если трассировка процедур и функций не требуется, используется клавиша F8.
Для выполнения программы по частям используются точки останова (Breakpoints) или КОНТРОЛЬНЫЕ ТОЧКИ. Чтобы установить или удалить такую точку в нужной строке программы, необходимо поместить курсор в эту строку и нажать Ctrl + F8 . Установленные в тексте программы контрольные точки выделяются цветом (яркостью). После запуска программы командой Ctrl+ F9 отладчик прерывает ее исполнение перед первой контрольной точкой. Нажав повторно Ctrl + F9 можно продолжить исполнение программы до следующей контрольной точки. Для удаления всех установленных контрольных точек необходимо нажать Alt + B , выбрать пункт меню и нажать ¿ .
Можно исполнить программу до текущего положения курсора в тексте программы, нажав клавишу F4 . Это позволяет, перемещая курсор по тексту программы, исполнять ее по частям, не устанавливая контрольные точки заранее. После выполнения очередной строки или части программы для проверки значения любой переменной следует нажать Ctrl + F4 , набрать имя переменной в строке Evaluate и нажать ¿ . В строке Result появится текущее значение простой переменной, значения элементов массива.
Окно индикации (Watch) используется для прослеживания изменения значений переменных при выполнении программы. В окне выводятся имена переменных и их текущие значения. Окно индикации появляется (исчезает) при нажатии клавиш F5 или Alt + F6 . Для включения переменной в список просмотра нужно установить курсор на имя переменной в тексте программы, нажать Ctrl + F7 и затем ¿ . При работе с окном индикации используется пункт Break/Watch основного меню. Вызывается он нажатием клавиш Alt + B , позволяет добавлять (Edit Watch), удалять переменную (Delete Watch) или весь список переменных (Remove all Watches). После установления причины и места ошибки необходимо исправить программу и повторить компиляцию. Процесс отладки завершается при получении правильных результатов решения.
2. ОСНОВЫ ЯЗЫКА ТУРБО-ПАСКАЛЬ
2.1. СТУКТУРА ПРОГРАММЫ
Программа на алгоритмическом языке Turbo-Pascal представляет собой последовательность операторов, с помощью которых реализуется алгоритм решения задачи. Программа состоит из заголовка, разделов описания глобальных меток, констант, типов, переменных, процедур и функций, а также блока операторов основной программы. Процедуры и функции могут содержать в свою очередь разделы описания локальных меток, переменных и др. СТРУКТУРА ПАСКАЛЬ-ПРОГРАММЫ имеет вид:
Program имя:
раздел описания меток;
раздел описания констант;
раздел описания типов;
раздел описания переменных;
Процедуры и функции:
begin
текст основной программ:
end.
В ЗАГОЛОВКЕ ПРОГРАММЫ после служебного слова Program приводится для программы. Имя может иметь любую длину, из них имеют значение только 63 символа. Имя обязательно должно начинаться с буквы.
РАЗДЕЛ ОПИСАНИЯ располагается в начал программы. Ниже приведено краткое его изложение.
ОПИСАНИЕ МЕТОК
МЕТКА– это последовательность цифр и букв, стоящих перед любым исполняемым оператором и отделяемых символом " : ". Все используемые метки должны быть описаны. Пример описания меток:
Label 5. М10. 1 ter;
ОПИСАНИЕ КОНСТАНТ
Описываются все именованные константы, значения которых в ходе выполнения программы постоянны. Пример описания констант:
Const Pi = 3.14159; R = 9.8 TK = 273;
Sbol =True; A =студент;
ОПИСАНИЕ ТИПОВ
В языке Паскаль различают следующие стандартные типы данных: integer (целый), real (вещественный), boolean (логический),
Char (символьный) и др. В некоторых случаях программа может быть упрощена введением нестандартных типов, явно описываемых в программе. Пример описания нестандартных типов:
Type days = 1..31;
mont = (jan, feb, ……., dec);
В примере заданы диапазоны возможных целочисленных значений числа дней в месяце и месяцев в году. Такое ограничение области возможных значений позволяет быстро обнаружить ошибки.
ОПИСАНИЕ ПЕРЕМЕННЫХ
Все используемые в программе переменные также должны быть описаны. Описание переменных производится после служебного слова Var (variable). С помощью описания устанавливается не только факт существования переменной, но и задается ее тип. Тип переменной определяет характер и вид обработки и хранения данных в памяти машины. При описании переменной используют стандартный тип, так и не стандартный, но и в этом случае должен быть определен в программе ранее. Пример описания переменных:
Var i, j, k : integer;
с, d, max : real;
z : boolean
ch : char
x, y : array (0 ……. 9) of real
A : array (1…. 5,… 4 …. 20) of integer;
S : month;
В последней строке описывается нестандартный тип, определенный в предыдущем примере.
Следует помнить. Что переменная не может быть описана в программе больше одного раза. Однако допускается использование одного имени для обозначения разных переменных в разных программах. Например, в основной программе и входящей в нее подпрограмме, но с тем условием, что переменная не является формальным или фактическим параметром подпрограммы. В этом случае одна переменная должна быть описана как глобальная в разделе описаний основной программы, а другая переменная с таким же именем как локальная в разделе описаний программы.
Описание любой процедуры или функции имеет структуру, аналогичную структуре Паскаль-программы.
Необходимо подчеркнуть, что приведенный порядок следования разделов описаний должен строго соблюдаться, при этом некоторые разделы могут и отсутствовать.
ТЕКСТ ПРОГРАММЫ набирается в любой позиции. Допускается запись в одной строке нескольких операторов. Длина оператора ограничена 249 символами. Учитывая, что длина строки экрана дисплея рана 80 позициям, следует помнить, что за пределами экрана могут располагаться фрагменты программы, переменные в ходе отладки программы.
2.2. ПРОСТЕЙШИЕ КОНСТРУКЦИИ ЯЗЫКА
2.2.1. АЛФАВИТ ЯЗЫКА
Для записи программы используются следующие символы:
- буквы латинского алфавита от A до Z;
- цифры 0,..,9;
- специальные символы + - * / : = < > и др;
- служебные слова and, array, begin,.., with.
Кроме того, в комментариях и текстовых константах допускается применение букв русского алфавита.
Язык Паскаль не различает прописные и строчные буквы.
Поэтому допускается использование для одного и того же слова в одном месте программы прописные, в другом месте строчные буквы.
2.2.2. КОНСТАНТЫ, ПЕРЕМЕННЫЕ
КОНСТАНТА - величина, которая не измельчается в процессе вычисления.
Различают именованные и обычные константы. ИМЕНОВАННАЯ КОНСТАНТА – константа , которой в начале программы в разделе описаний дается имя. Обычные записываются непосредственно в тексте программы.
Тип константы определяется формой ее записи.
КОНСТАНТА ЦЕЛОГО ТИПА записывается в виде последовательности десятичных цифр:
123 -42 +689,
Любое целое число должно удовлетворять условию
-maxint < n < maxint,
где константа maxint определяется разрядной сеткой машины и различна для различных ЭВМ. Если значение константы не принадлежит указанному диапазону, вычисления будут ошибочными.
ВЕЩЕСТВЕННАЯ КОНСТАНТА - последовательность десятичных цифр и точки, которая отделяет целую часть от дробной, или последовательность десятичных чисел с порядком десятичного числа:
653.0 6.53E-02 0.001 - 10.0 - 10.0E05,
где E – основание десятичного числа.
Наличие десятичной точки в записи вещественной константы обязательно.
ЛОГИЧЕСКАЯ КОНСТАНТА может принимать только два значения- True или False.
СИМВОЛЬНАЯ КОНСТАНТА- символ, заключенный в апострофы, например: ‘ A’, ‘B’, ‘1’, ‘% ‘.
ТЕКСТОВАЯ КОНСТАНТА (строка) – любая последовательность символов, заключенная в апострофы, например, ‘x=’. ‘Ввод значений A,B’.
ПЕРЕМЕННАЯ – величина, к которой обращаются с помощью символического имени (идентификатора) и которая может принимать различные значения в процессе выполнения программы. Имя переменной всегда должно начинаться с буквы, далее можно записывать буквы, цифры и символ подчеркивания. Не допускается использования пробела в имени переменной. Имя переменной не должно совпадать со служебным словом. Все переменные, используемые в программе, процедуре или функции, описываются в сответствующем разделе описания переменных. При описании указывается имя переменной и ее тип.
Различают простые переменные и структурированные. ПРОСТАЯ ПЕРЕМЕННАЯ – это величина, имеющая одно текущее значение, обозначенная определенным именем. СТРУКТУРИРОВАННАЯ ПЕРЕМЕННАЯ- группа величин, обозначенная символическим именем. Например, МАССИВ- это совокупность элементов одного и того же типа. Тип элементов может быть произвольным. Мерность (число индексов), размерность (число элементов) и тип массива задается при описании с помощью служебного слова Var. Например:
Var Matr: array [0.. 10, 5.. 10] of real ;
Здесь описан двумерный массив, включающий 66 вещественных элементов.
Индекс массива не может быть отрицательным. Элементы массива хранятся в памяти построчно. Индексы массива заключаются в символы”[ , ]” и могут принимать только целочисленные значения. В качестве индекса допускается использование арифметических выражений, например:
а [i, j, d + b*y].
2.2.3. ВЫРАЖЕНИЯ
АРИФМЕТИЧЕСКИЕ ВЫРАЖЕНИЯ – это константы, переменные и функции, соединенные знаками арифметических операций. Для указания порядка вычислений используются круглые скобки. Выражения вычисляются слева – направо с учетом приоритета операций. Приоритет операций в порядке убывания таков:
- вычисления выражения в скобках; вычисление функций;
- умножение” * “, деление операндов вещественного или вещественно- целого типов” / ”, деление операндов целого типа “div” и “mod “ ;
- сложение “ + “, вычитание “ – “.
Рассмотрим операции деления операндов целого типа, остальные операции не нуждаются в пояснениях. Операция “div” – целочисленное деление: в качестве результата принимается целая часть частного, а получающийся остаток игнорируется, например:
5 div 2 = 2; 2 div 5 = 0; -5 div 2 = -2 ; -5 div -2 = 2.
Операция “ mod “ – взятие остатка при целочисленном делении . Результатом является целое число , например:
7 mod 2 = 1; 3 mod 5 = 3; (-14) mod 3 = -2; (-10) mod 5 = 0 .
В Паскале отсутствует операция возведения в степень. При необходимости вычисления показательной функции используют равенство y=a= exp(x*lna), при этом a>0.
Тип арифметического выражения определяется типом операндов.
Так, если хотя бы один из операндов является вещественным, то результат будет вещественным. Если же оба операнда одного типа, то и результат будет того же типа. Часто используемые стандартные функции приведены в приложении 1.
ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ - это арифметические константы, переменные и выражения , соединенные знаками операций отношения, а также логические константы, переменные, соединенные знаками логических операций. Возможны также и их комбинации. Примеры:
a<> (x+ ln(y)); abs(f) < = eps;
(not x1 or x2) and ((x3 or x4 ) and x1 ) ;
(abs (f)< = eps ) or (abs (x1- x2) < = eps).
Результатом выполнения логического выражения является одно из двух значений: true или false.
ОПЕРАЦИЯ ОТНОШЕНИЯ “ < > “ (не равно), “ = “ (равно), “ < “ (меньше), “ > “ (больше) , “<=” (меньше и равно), “ > = “ (больше и равно). Все операции отношения имеют одинаковый приоритет.
ЛОГИЧЕСКИЕ ОПЕРАЦИИ: “not” ( отрицание), “ and” (логическое умножение), “or” (логическое сложение). Операции перечислены в порядке убывания приоритета.
2.3. ОСНОВНЫЕ ОПЕРАТОРЫ
2.3.1. ОПЕРАТОР ПРИСВАИВАНИЯ.СОСТАВНОЙ ОПЕРАТОР.КОММЕНТАРИЙ
ОПЕРАТОР ПРИСВАИВАНИЯ предназначен для вычисления арифметического или логического выражения и присваивания вычисленного значения простой или индексной переменной с учетом ее типа. Общая форма оператора:
а : = b;
Здесь а- простая или индексная переменная ; b - арифметическое или логическое выражение.
Выполнение оператора состоит в вычислении выражения, находящегося справа от знака” : = “, и присваивания полученного значения левой части оператора с учетом типа находящейся там переменной. Примеры:
b : =a/z; i : =i+1; x[k] : =c[i, j] * b; s : = xi or (x2<x3);
Переменная “a” и выражение “b” должны иметь один тип. Допускается исключение: a- вещественного типа, b- целого типа.
СОСТАВНОЙ ОПЕРАТОР- это группа операторов, заключенная между служебными словами begin-end (операторными скобками):
begin
группа операторов
end;
КОММЕНТАРИЙ – совокупность символов, заключенная между символами “(. ) , например:
{Обращение к процедуре вычисления корня}
2.4.3. ПРИМЕР ПРОГРАММЫ С ИСПОЛЬЗОВАНИЕМ ПОДПРОГРАММ
Пусть дана задача, состоящая из пяти частей:
1) вычислить элементы квадратной матрицы A, если
;
2) из матрицы Aполучить вектор X, если Xi –скалярное произведение i – й строки на i – й столбец, i =
3) выполнить матричную операцию
4) упорядочить элементы второй строки матрицы Aпо убыванию;
5) вычислить значение
Решение каждой части задачи получить в отдельной подпрограмме.
Текст программы и результаты вычислений при n=6 приведены ниже.
Program PRIMER;
Type Vector = Array[1…10] of Real;
Matr = Array[1…10] of Real;
Var Dev : Text;
Kanal : String;
i,j,N : Integer;
Y : Real;
X,Z : Vect;
A : Matr;
{----------------------------------- Часть первая ----------------------------------------}
Procedure MATRICA (N : Integer; Var A : Matr);
Var i,j,F,f1 : Integer;
Begin
F := 1;
For i := 1 to N Do Begin
F := F*i;
For j := 1 to N Do Begin
If ((i+j) Mod 2) =0 Then f1 :=1
Else f1 :=-1;
A[i,j] := f1*1.0*i/j*Abs(Sin(F));
End; End; End;
{----------------------------------- Часть вторая ------------------------------------------}
Procedure VECTOR (N: Integer; A: Matr; Var X: Vect);
Var i, j : Integer
Begin
For i :=1 to Do Begin
X[ i ] :=0.0
For j :=1 to N Do
X[ i ] := X[ i ] + A[ i, j ]* A[ i, j ];
End; End;
{----------------------------------- Часть третья ------------------------------------------}
Procedure MATOPER (N: Integer; A: Matr; X: Vect: Var Z: Vect);
Var i, j, k: Integer;
AT, B,C: Matr;
Begin
For i :=1 to N Do
For j :=1 to N Do
If i = j Then B[ i, j ]:= A[ i, j ] – 1.0
Else B[ i, j ]:= A[ i, j ];
AT[ i, j ]:= A[ i, j ]; End;
For i :=1 to N Do
For j :=1 to N Do Begin
C[ i, j ] := 0.0
For k :=1 to N Do
C[ k, j ] := C[ i, j ]+ B[ i, k ]* AT[ k, j ];
End;
For i :=1 to N Do Begin
Z[ i ] :=0.0;
For j :=1 to N Do
Z[ i ] := Z[ i ]+ C[ i, j ]* X[ j ];
End; End;
{----------------------------------- Часть четвертая -----------------------------------------}
Procedure PORJADOK (N: Integer; A: Matr);
Var i, j, k: Integer;
s: Real;
Begin
For i :=1 To N – 1 Do Begin
S := A[ 2, i ]; k :=1;
For j :=i+1 To N Do
If S < A[ 2, j ] Then Begin
S := A[ 2, j ]; k :=j; End;
A[ 2, k ] := A[ 2, i ]; A[ 2, i ] :=S;
End; End;
{-------------------------------------- Часть пятая --------------------------------------------}
Function FUNC (N: Integer; A: Matr): Real;
Var i, j: Integer;
S1, S2: Real;
Begin
S1 :=0.0
For i :=1 To N – 1 Do Begin
S2 := -exp(30);
j :=1;
While j <= N Do Begin
If S2 < A[ i, j ] Then S2 :=A[ i, j ];
j := j+1; End;
S1:= S1+S2;
End;
Func :=S1; End;
{--------------------------- ОСНОВНАЯ ПРОГРАММА ----------------------------}
BEGIN
Write (‘Kanal= ‘); Readln (Kanal);
Assign (Dev,Kanal);
Rewrite (Dev);
Write (‘N= ‘); Readln (N);
MATRICA (N, A);
Writeln(Dev,’ **************************************************’);
Writeln(Dev,’ ЭЛЕМЕНТЫ МАТРИЦЫ А: ’);
For i :=1 To N Do Begin
For j :=1 To N Do
Write(Dev, A[ i, j ]: 10:2);
Writeln(Dev); End;
VEKTOR(N, A, X);
Writeln(Dev,’ =============================================’);
Writeln(Dev,’ ЭЛЕМЕНТЫ ВЕКТОРА Х: ’);
For j :=1 To N Do
Write(Dev, X[ i ]: 10:2);
Writeln(Dev);
MATOPER(N, A, X, Z);
Writeln(Dev,’ =============================================’);
Writeln(Dev,’ ЭЛЕМЕНТЫ ВЕКТОРА Z: ’);
For j :=1 To N Do
Write(Dev, Z[ i ]: 10:2);
Writeln(Dev);
MATOPER(N, A, X, Z);
Writeln(Dev,’ =============================================’);
Writeln(Dev,’ ЭЛЕМЕНТЫ ВЕКТОРА Z: ’);
For j :=1 To N Do
Write(Dev, Z[ i ]: 10:2);
Writeln(Dev);
MATOPER(N, A, X, Z);
Writeln(Dev,’ =============================================’);
Writeln(Dev,’ ЭЛЕМЕНТЫ ВЕКТОРА Z: ’);
For j :=1 To N Do
Write(Dev, Z[ i ]: 10:2);
Writeln(Dev);
PORJADOK(N, A);
Writeln(Dev,’ =============================================’);
Writeln(Dev,’УПОРЯДОЧЕННЫЕ ЭЛЕМЕНТЫ ВТОРОЙ СТРОКИ МАТРИЦЫ А: ‘);
For j :=1 To N Do
Write(Dev, a[ 2, i ]: 10:2);
Writeln(Dev);
Y := Func(N,A);
Writeln(Dev,’ =============================================’);
Writeln(Dev,’ ЗНАЧЕНИЕ ФУНКЦИИ Y= ’, Y : 6 : 2);
Writeln(Dev,’ **************************************************’);
END.
********************************************************************
ЭЛЕМЕНТЫ МАТРИЦЫ А:
0.84 -0.42 0.28 -0.21 0.17 -0.14
-1.82 0.91 -0.61 0.45 -0.36 0.30
0.84 -0.42 0.28 -0.21 0.17 -0.14
-3.62 1.81 -1.21 0.91 -0.72 0.60
2.90 -1.45 0.97 -0.73 0.58 -0.48
-3.26 1.63 -1.09 0.82 -0.65 0.54
ЭЛЕМЕНТЫ ВЕКРОРА Х:
3.42 3.69 1.13 3.68 2.36 2.21
ЭЛЕМЕНТЫ ВЕКРОРА Z:
-4.23 36.67 -15.20 85.40 -68.45 77.94
УПОРЯДОЧЕННЫЕ ЭЛЕМЕНТЫ ВТОРОЙ СТРОКИ МАТРИЦЫ А:
0.91 0.45 0.30 -0.36 -0.61 -1.82
ЗНАЧЕНИЕ ФУНКЦИИ Y=8.9
********************************************************************************
ЛИТЕРАТУРА
1. Абрамов В.Г. Система программирования Паскаль. – М.: МЦНТИ, 1987.-101 с.
2. Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. - М.: Наука, 1988.-320 с.
2. Алексеев В.Е. и др. Вычислительная техника и программирование – М.: Высшая школа, 1991.- 400 с.
3. Вычислительная техника и программирование: Учеб. для техн. вузов / Под ред. Петрова А.В. – М.: Высшая школа. Вып. З. 1990.-479 с.
4. Епанешников А., Красильников Ю. Программирование в среде Turbo Pascal (в 4 частях). – М.: Диалог, 1990.
5. Новичков В.С. и др. Паскаль: Учеб. пособие для сред. спец. учеб. заведений. – М.: Высшая школа, 1990.-223 с.
6. Программное обеспечение микро-ЭВМ. В 11 книгах. Книга 7 – Программирование на языке Паскаль / Под. ред. Шаньгина В.Ф. – М.: Высшая школа, 1991.-142 с.
7. Семашко Л.Г., Салтыков А.И. Программирование на языке Паскаль. – М.: Наука, 1988.-127 с.
8. Фаронов В.В. Программирование на персональных ЭВМ в среде Турбо-Паскаль. – М.: Изд-во МГТУ, 1990.-580 с.
9. Форсайт Р. Паскаль для всех. – М.: Машиностроение, 1986.-288 с.
10. Фролов Г.Д., Кузнецов Э.И. Элементы информатики. – М.: Высшая школа, 1989.-235 с.
11. Фурунжиев Р.И., Бабушкин Ф.М., Варивно В.В. Применение математических методов и ЭВМ. – Минск: Высшая школа, 1988.-327 с.
12. Электронные вычислительные машины. В 8 книгах. Книга 5 – Паскль, ПЛ/М / Под ред. Савельева А.Я. – М.: Высшая школа, 1987.-220 с.
ПРИЛОЖЕНИЕ
Основные стандартные процедуры и функции
Имя функции | Обозначения, пояснения | Тип аргумента | Тип результата |
Abs (x) | |x| | цел., веществ. | цел., веществ. |
Arctan (x) | arctg (x) | веществ. | веществ. |
Cos (x) | cos (x) | веществ. | веществ. |
Dec (x, n) | уменьшение значения x на n | целый | целый |
Exp (x) | ex | веществ. | веществ. |
Frac (x) | дробная часть аргумента | веществ. | веществ. |
Inc (x, n) | увеличение значения x на n | целый | целый |
Int (x) | целая часть аргумента | веществ. | веществ. |
Ln (x) | ln (x) | веществ. | веществ. |
Odd (x) | проверка на нечетность числа | целый | логический |
Random (x) | получение случайного числа | цел., веществ. | цел., веществ. |
Round (x) | округление до целого числа | веществ. | целый |
Sin (x) | sin (x) | веществ. | веществ. |
Sqr (x) | x2 | веществ. | веществ. |
Sqrt (x) | цел., веществ. | цел., веществ. | |
Trunc (x) | усечение значения до целого типа | веществ. | целый |
Pi | p = 3,14… | _ | веществ. |
СОДЕРЖАНИЕ
ВВЕДЕНИЕ ……………………………………………………………………. | |
1. ИНТЕГРИРОВАННАЯ СРЕДА ПРОГРАММИРОВАНИЯ ТУРБО-ПАСКАЛЬ …………………………………………………………………... | |
1.1. Порядок работы на персональном компьютере ………………………… | |
1.2. Основное меню …………………………………………………………… | |
1.3. Редактор текстов ………………………………………………………….. | |
1.3.1. Окно редактирования …………………………………………………... | |
1.3.2. Команды редактора …………………………………………………….. | |
1.3.2.1. Команды перемещения курсора ……………………………………... | |
1.3.2.2. Команды вставки и удаления ………………………………………… | |
1.3.2.3. Команды работы с блоками ………………………………………….. | |
1.3.2.4. Дополнительные команды …………………………………………… | |
1.4. Отладка программ ………………………………………………………… | |
2. ОСНОВЫ ЯЗЫКА ТУРБО-ПАСКАЛЬ …………………………………… | |
2.1. Структура программы ……………………………………………………. | |
2.2. Простейшие конструкции языка ………………………………………… | |
2.2.1. Алфавит языка ………………………………………………………….. | |
2.2.2. Константы. Переменные ……………………………………………….. | |
2.2.3. Выражения ………………………………………………………………. | |
2.3. Основные операторы ……………………………………………………... | |
2.3.1. Оператор присваивания ………………………………………………… | |
2.3.2. Ввод-вывод данных …………………………………………………….. | |
2.3.3. Оператор перехода. Условный оператор. Оператор выбора ………… | |
2.3.4. Операторы цикла ……………………………………………………….. | |
2.3.5. Записи …………………………………………………………………… | |
2.3.6. Множества ………………………………………………………………. | |
2.3.7. Файлы ……………………………………………………………………. | |
2.4. Процедуры и функции ……………………………………………………. | |
2.4.1. Подпрограмма-функция ………………………………………………... | |
2.4.2. Подпрограмма-процедура ……………………………………………… | |
2.4.3. Пример программы с использованием подпрограмм ………………… | |
ЛИТЕРАТУРА …………………………………………………………………. | |
ПРИЛОЖЕНИЕ ………………………………………………………………... |
ОСНОВЫ ПРОГРАММИРОВАНИЯ