Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основы программирования в среде Турбо Паскаля.

Поиск

Варианты домашних заданий

Ф.И.О. номер задачи
А, Б  
В, Г  
Д, Е, Ж  
З, И  
К, Л  
М, Н  
О, П  
Р, С  
Т, У  
Ф, Х, Ц  
Ч, Ш, Щ  
Э, Ю, Я  

 

Лабораторная работа 1

Основы программирования в среде Турбо Паскаля.

Оператор присваивания, процедуры ввода - вывода

 

Оператор присваивания имеет вид <идентификатор>: = <выражение>;

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

SIN(X) - sin X; COS(X) - cos X;

EXP(X) - ех; LN(X) - Ln X;

SQR(X) - х2; SQRT(X) - ;

ABS(X) - абсолютная величина X (|Х|); ARCTAN(X) - arctan X;

ах программируется как EXP(x*LN(a)); lgX - как LN(X)/LN(10).

TRUNC(X) - выделение целой части числа; Pi=3.1415926535897932385;

ROUND(X) - округление Х до ближайшего целого.

Приоритет операций в выражении

№ п/п Арифметические Логические Отношения Другие
    *, /, div, mod +,-   NOT аnd,shl,shr, оr, xor     <=,>=,<>,<,>,= @ адресное преобразование   in

 

Для реализации лабораторных работ необходима среда Borland Pascal версии 7.0. Ее запуск производится через файл bp.exe (BP7\BIN\bp.exe).

Пример 1. Вычислить площадь прямоугольника по размерам его сторон А и В. Обозначим площадь переменной S, тогда необходимо найти S=A*B.

Программа набирается в окне редактора и компилируется [F9]:

Program RECT; {заголовок программы с именем RECT}

const {блок описания констант}

A=2; B=3; {определение констант А и В}

var {блок описания переменных}

S:integer; {определение переменной S целым типом}

begin {начало основного блока программы}

S:=A*B; {оператор присваивания}

write('Площадь прямоугольника = ',S); {процедура вывода}

end. {конец основного блока}

В результате выполнения программы (Ctrl+F9) на экран выводится сообщение:

Площадь прямоугольника = 6.

Пример 2. Найти площадь равностороннего треугольника. Если сто­роны треугольника имеют размер А, то его площадь S = A2 sin(π/3)/2.

 

Текст программы

Program TREUG;

var

A, S: real;

Begin

writeln('Введите A'); {процедура вывода текста}

read(A); {процедура ввода}

S: = SQR (A)*sin(PI/3)/2;

writeln ('Результат: S=', S: 6: 2,' для A=', A);

readln {Задержка до нажатия клавиши <ENTER>}

End.

 

После выполнения программы на экран выводится сообщение:

Результат: S = 10.83 для А = 5.

 

Предварительно рассчитанный на калькуляторе результат для А = 5 при подготовке к лабораторной работе составил S = 10.8253, что подтверждает верность программы.

 

Задание 1 ( программа 1_1)

x1 x2 a b c Вычислить
1 2 3 4 5 6 7
      1.5   -0.7
      0.7 - 2.1
    1.5   1.2  
      4.1 -2.3 -
  -1   0.5   1.5
      0.5 1.3 -
      0.5   -
  -1   2.7 1.7 -
    π/2   0.7 0.5
      0.5 2.9 1.5
      1.5 -1.2 -
      0.5 1.7  

 

Лабораторная работа 2

Программирование разветвленных алгоритмов.

Begin

writeln ('введите стаж');

read(ST); ввод стажа

if ST<5 then ZP:=50 условный оператор

else if ST<15 then ZP:=100 вложенный условный оператор

else if ST>=30 then ZP:=300

else ZP:=100+(ST-15)*10;

writeln ('зарплата=',ZP:10:2,' $')

End.

 

Второй вариант реализации задачи:

Program zarplata2;

var ST: byte; {стаж (байтовый) тип)}

ZP: real; {зарплата (вещественный тип)}

begin

writeln('введите стаж');

read(ST); {ввод стажа}

case ST of {выбор из }

1..4: ZP:=50;

5..15: ZP:=100;

16..29: ZP:=100+(ST-15)*10;

else ZP:=300

end;

writeln('зарплата=',ZP:10:2,' $'); {вывод результата}

end.

Задание 1 (программа 2_1)

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

1. Для t [0,3], at2lnt при 1 ,

где a=-0.5,b=2 z= 1 при t<1,

eatcosbt при t>2,

 

2. Для x [0,4], при x>2,

где а=2.3 f= х при 0.3< x £ 2,

cos(x-a) при x ,

 
 


3. Для x [0,7], (a+b)/(ex+cosx) при 0 £ x<2.3,

где a=-2.7,b=-0.27 z= (a+b)/(x+1) при 2.3£ x<5,

ex+sinx при 7 ,

 

4. Для i [7,12], ai4+bi при I< 10,

где a=2.2,b=0.3. y= tg(i+0.5) при I= 10,

e2i+ при I>10,

 

 

5. Для x [0.9,5], x2-7/x2 при x<1.3,

где a=1.5 y= ax3+7 при 1.3 £ x<3,

lg(x+7 ) при x ,

 

6. Для t [-1.4], при t<0.1,

где a=2.1,b=0.37. z= at+b при 0.1£ t< 2,

при t ,

7. Для x [0,6], a esinx+2.5 при x<0.3,

где a=1.5. y = ecosx+a при 0.3£ x<4,

(sin x)/(a+ex) при x ³ 4,

 

8. Для x [1,2], a/x+bx2-c при x ,

где a=1.8,b=-0.5, c=3.5 y= (a+bx)/ при x>1.2,

 

 

9. Для t [1,5], t при t>a,

где a=2.5 z= t sin at при t=a,

e-at cos at при t<a,

 

10. Для x [0,4], e-bx sin bx при x<2.3,

где a=1,b=3. y= сos bx при 2.3 ,

e-ax cos bx при x

 

11. Для t [0.5,3], at2-b при t<a,

где a=1.3,b=6.5 z= a-b при a

a t2/3- при t>b,

 
 


12. Для xÎ[0,2], |e-2x sin bx| при x >1,

где b=-2.9 y = cos bx при x = 1,

e-x cos bx при x < 1,

 

 

Лабораторная работа 3

Программирование циклических алгоритмов с заданным

Числом повторений

Первая форма счетного оператора цикла позволяет наращивать пара­метр цикла на единицу (+ 1):

FOR <параметр цикла>:= <min значение> TO <max значение> DO <оператор>;

(Для) (увеличивая к) (выполнять)

где <параметр цикла> - это переменная целого либо любого порядкового типа; <min, max значения> - это начальное и конечное значения пара­метра цикла (выражения того же типа, что и параметр цикла).

Вторая форма позволяет уменьшать значение параметра цикла на еди­ницу (- 1):

FOR <параметр цикла>:= <max знач.> DOWNTO <min знач.> DO <оператор>; (Для) (уменьшая к) (делать)

Пример 1. Вычислить сумму элементов s=1+1/4+1/9+1/16+....

На основе анализа изменения параметра знаменателя определим алгоритм решения за­дачи и напишем программу:

PROGRAM suma;

VAR s, r: REAL;

i, N: INTEGER;

BEGIN

s:=0;

WRITELN('введите N');

READ(N);

FOR I:=1 TO N DO

begin

r:=1/sqr(i);

s:=s+r;

end;

WRITELN('Сумма=',s:6:2);

END.

Пример 2. Вычислить значения двух функций F1(x)=tg(x) и

F2(x)=sin(x) в n точках, рав­номерно распределенных на интервале a ≤ x ≤ b, где a=-π/4, b=π.

 

Для реализации данной задачи разработана следующая программа:

 

Program Lab3;

Const а = -pi/4; b = pi;

Var F1, F2, x, dx: real; {dx - шаг изменения х}

i, n: integer; {i - пеpеменная цикла}

Begin

writeln ('введите число точек N');

read(n);

dx: = abs(b-a)/(n-1);

x:=a;

writeln (' _____________________________');

writeln ('| I | X | F1 | F2 |');

writeln ('|---|--------------|------------|------------|');

for i:=1 to n do {опеpатоp цикла}

begin

F2:=sin(x);

F1:=F2/cos(x); {вычисление: tg x}

writeln('|', i:3,' |', x:8:3,'|', f1:8:4,' |', f2:8:4,' |');

x:=x+dx;

end;

writeln('|________________________|);

End.

Задание 2 (программа 3_2)

Вычислить значения двух функций в n равномерно распределенных в диапазо-

№ п/п a b n F1(х) F2(х)
  -1 -2 - -1 -4 -   2 2     sin x cos x 1+2x+5 4e-|x|-1 | x+10|5 2 sin 2x +1 2-cos x 2-x/100 x3e2x 1/(1+ ) 5-3 cos x |sinx|+|cosx|   sin x + cos x -1 (x-1)3 cos x e-(x+5) (x+5)3(1+sin2x) 20/(1+x2) ex sin x x ln2 x 2x/(1-4x) |sin x| - |cos x|  

не а≤x≤b точках. Результаты оформить в виде таблицы.

 

 

Лабораторная работа 4

Begin

writeln('-------------------------');

writeln(' a | x | y |');

writeln('-------------------------');

a:=0.1;

while a<=0.31 do

begin

writeln(a:5:2);

x:=0.5;

while x<=0.91 do

begin

y:=a*sin(x/4)/cos(x/4);

writeln(x:12:2,' | ', y:10:2);

x:=x+a;

end;

writeln('-------------------------');

a:=a+0.1

end;

End.

Задание 2 (программа 4_2)

Модифицировать (изменить) программу 3_2 для вычисления функций F1(x) и F2(x) с применением вместо счетного цикла оператора цикла с предусловием. Выполнить ее и сравнить результаты с полученными в пре­дыдущей работе.

 

 

Лабораторная работа 5

С постусловием

 

Стpуктуpа оператора цикла с постусловием

REPEAT <оператор 1>;

(повторять)

<оператор 2>;

...

<оператор N>

UNTIL <условие окончания цикла>;

(до тех поp, пока)

Пример. Вычислить 15 значений функций

y1(x) = tg(x); и y2(x) = ctg(x) при a ≤ x ≤ b,

a=0.6*Pi, b=0.7*Pi.

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

Program Lab5;

Const n = 14;

a = 0.6*Pi;

b = 0.7*Pi;

Var x, y1, y2, dx: real;

Begin

dx:=abs((a-b)/n);

x:=a;

Repeat

y1:=sin(x)/cos(x);

y2:=1/y1;

writeln('x=', x:6:4,' y1= ', y1:7:4,' y2=', y2:7:4);

x:=x+dx

Until x>b;

End.

Пример 2. Вычислить сумму элементов s = 1+1/4+1/9+1/16+... c точностью до

E = 0.00001

 

PROGRAM sum;

CONST

E=0.00001; {точность}

VAR

s,r: REAL; {s - сумма, r – слагаемое}

i:INTEGER; {i - счетчик слагаемых}

BEGIN

s:=0;

i:=1;

REPEAT

r:=1/sqr(i); {вычисление слагаемого}

s:=s+r;

i:=i+1 {счет слагаемых}

UNTIL r<E; {сравнение слагаемого с Е}

WRITELN ('Сумма=',s:9:5); {вывод суммы}

END.

 

Задание 1 (программа 5_1)

Модифицировать программу 3_2 для вычис­ления функций F1(x) и F2 (x) с применением опе­ратора цикла с постусловием. Выполнить ее и сравнить результа-ты с полученными ранее.

 

 

Лабораторная работа 6

Begin

min:=a[1]; n:=1;

for i:=2 to 10 do

if a[i]<min then begin

min:=a[i];

n:=i;

end;

writeln('минимальный элемент равен ',min, ' n=',n);

End.

Если элементы массива вводятся с клавиатуры, то текст программы изменится:

program lr6_2;

var a: array[1..10] of integer;

i, min, n: integer;

Begin

read(a[1]);

min:=a[1]; n:=1;

for i:=2 to 10 do begin

read(a[i]);

if a[i]<min then begin

min:=a[i]; n:=i;

end;

end;

writeln('минимальный элемент равен ', min, ' n=',n);

End.

Задание 1

Написать и отладить прог­рамму для одной из следующих задач.

1. Дан массив из N чисел (8<N<12). Вычислить их среднее геомет­рическое значение.

2. Дан массив из N чисел (10<N<15). Найти максимальное значение.

3. Дано 20 чисел. Найти их среднее арифметические значение.

4. Дана последовательность из 15 целых чисел. Определить коли­чество отрицательных чисел в ней.

5. Дано 15 целых чисел. Найти минимальное из них.

6. Дан массив из N чисел (8<N<12). Вычислить сумму элементов с нечетными индексами.

7. Дано 10 вещественных чисел. Вычислить разность между макси­мальным и минимальным из них.

8. Дан целый массив из 10 чисел. Найти максимальный отрицательный элемент.

9. Задан массив из восьми вещественных чисел. Определить количество положительных чисел.

10. Дан массив из 10 целых чисел. Найти сумму четных элементов этого массива.

11. Дан массив из 12 вещественных чисел. Найти сумму тех элементов этого массива, индексы которых чётные.

12. Дано 10 целых чисел. Найти произведение отрицательных чисел.

 

 

Лабораторная работа 7

TYPE

<имя> = ARRAY[диап1,диап2] OF <базовый_тип>;

где [диап] - диапазон для одного индекса.

Пример. Вычислить суммы элементов в столбцах двумерного числового массива

А размером [1..3,1..4].

Текст программы:

Program lr7_1;

CONST a: array[1..3,1..4] of integer = ((1,2,3,4),(1,2,3,4),(1,2,3,4));

VAR

s: array[1..4] of integer; {массив сумм}

i, j: integer;

BEGIN

for j:=1 to 4 do

begin

s[j]:=0;

for i:=1 to 3 do

s[j]:=s[j]+a[i,j];

write(' s[',j,']=',s[j])

end;

END.

Задание 1 (программа 7_1)

1. Даны матрицы A,B: array [1..4,1..4] of real. Вычислить матрицу С поэлементным сложением соответствующих элементов матриц А и В.

2. Даны матрицы A,B: array [1..5,1..5] of real. Вычислить матрицу С поэлементным вычитанием соответствующих элементов матриц А и В.

3. Дана матрица B: array [1..5,1..5] of integer. Элементы главной диагонали этой матрицы заменить на 0.

4. Даны матрица A: array [1..4,1..4] of real и константа К. Вычис­лить матрицу С=А*К.

5. Дана матрица A: array [1..6,1..6] of integer и переменная Х. Нечётные элементы матрицы А заменить на Х.

6. Дана двумерная матрица D(5;6) вещественных чисел. Найти сумму тех элементов матрицы, индексы которых чётные.

7. Дана двумерная матрица J(5;7) целых чисел. Найти произведение чётных элементов этой матрицы.

8. Дана двумерная матрица J(5;7) вещественных чисел. Найти произведение отрицательных элементов этой матрицы.

9. Дана двумерная матрица J(5;7) вещественных чисел. Найти сумму отрицательных элементов этой матрицы.

10. Дана квадратная матрица J(6;6) натуральных чисел. Найти произведение элементов главной диагонали этой матрицы.

11. Дана квадратная матрица J(6;6) натуральных чисел. Найти сумму элементов главной диагонали этой матрицы.

12. Дана двумерная матрица K(6;7) целых чисел. Найти сумму элементов пятой строки этой матрицы.

 

Сообщение об ошибках

Сообщения об ошибках периода компиляции

1. Out of memory (Выход за границы памяти). Компилятору не хватает памяти. Для устранения ошибки рекомендуется удалить из памяти ранее загруженные, но не используемые в данный момент программы, или указать,

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

2. Identifier expected (Не указан идентификатор). Возможно, в качестве идентификатора использовано зарезервированное слово.

3. Unknown identifier. Идентификатор не объявлен.

4. Duplicate identifier. Идентификатор объявлен дважды.

5. Syntax error. В исходном тексте найден недопустимый символ. Возможно, не заключена в апострофы строковая константа.

6. Error in real constant (Ошибка в записи вещественной константы.

7. Error in integer constant (Ошибка в записи целой константы).

8. String constant exceeds line (Длина строковой константы превышает максимально допустимую длину строки). Вероятно, отсутствует апостроф в конце строковой константы.

9. Too many nested files (Слишком много вложенных файлов). Компилятор допускает не более 15 уровней вложенности включаемых файлов.

10. Unexpected end of file. Возможно, не совпадает количество операторов begin и end или не закрыт комментарий.

11. Line too long. Длина строки превысила 126 символов.

12. Type identifier expected (Здесь нужен идентификатор типа). В объявлении не указан тип идентификатора.

13. Too many open files (Слишком много открытых файлов).

14. Invalide file name. Указано неверное имя файла или путь.

15. File not found (Файл не найден).

16. Disk fill (Диск заполнен). Следует удалить некоторые файлы или воспользоваться новым диском.

17. Invalid compiler directive (Неправильно записана директива компилятора). Возможно, в директиве компилятора записана неверная буква.

18. Too many files (Слишком много файлов).

19. Undefined type in pointer definition. Объявлен типизированный указатель, связанный с ранее не объявленным типом данных.

20. Variable identifier expected (Отсутствует идентификатор переменной).

21. Error in type (Ошибка в объявлении типа). С данного символа не может начинаться объявление типа.

22. Structure too large (Слишком большая структура). Превышен допустимый размер (65520 байт) памяти для данных структурированного типа.

23. Set base type of range (Число значений базового типа для множества превышает допустимое 256 значений).

24. File components may not be files or obiects (Компонентами файла не могут быть файлы или объекты).

25. Invalid string length (Неверная длина строки). Превышена максимально допустимая длина строки (255).

26. Type mismatch. Использованы несовместимые типы операндов в выражении или в операторе, либо несовместимые типы формального и фактического параметров в обращении к процедуре или функции.

27. Invalid subrange base type (Недопустимый базовый тип для типа-диапазона). Допустимы все порядковые типы.

28. Lower bound greater than upper bound (Нижняя граница больше верхней).

29. Ordinal type expected (Ожидается порядковый тип). Не допускаются веще-ственные, строковые, структурные, процедурные типы и указатели.

30. Integer constant expected (Ожидается целая константа).

31. Сonstant expected (Нужна константа).

32. Integer or real constant expected (Нужна целая или вещественная константа).

33. Type identifier expected (Нужен идентификатор типа).

34. Invalid function result type (Недопустимый тип результата функции). Допустимы все простые, строковые типы и указатели.

35. Label identifier expected (Нужен идентификатор метки).

36. BEGIN expected (Нужен BEGIN).

37. END expected (Нужен END).

38. Integer expression expected (Нужно выражение типа INTEGER).

39. Ordinal expression expected (Нужно выражение порядкового типа).

40. Boolean expression expected (Нужно выражение типа BOOLEAN).

41. Operand types do not match operator. Данная операция не может быть применена к указанным операндам, например, `A` div `2`.

42. Error in expression (Ошибка в выражении). Возможно пропущена операция между операндами.

43. Illegal assignment. Нельзя присваивать значения файлам и нетипизированным переменным. Идентификатору функции можно присвоить значение только внутри раздела операторов данной функции.

44. Field identifier expected. Требуется ссылка на какое-либо поле записи, а не использовать запись целиком.

45. Object file too large (Объектный файл слишком большой). OBJ-файл превышает максимально допустимый размер 65520 байт.

46. Undefined external (Неопределенная внешняя процедура).

47. Invalid object file record (Неправильная запись объектного файла). Вероятно, что объектный файл искажен.

48. Code segment too large. Превышен максимальный размер кода программы (65520 байт). Разбейте программу на два или более модулей.

49. Data segment too large. Превышен допустимый размер сегмента данных программы (65520 байт). Используйте указатели и динамическую память.

50. DO expected (Нужен оператор DO).

51. Invalid PUBLIC definition (Неверное PUBLIC-определение).

52. Invalid EXTRN definition. Вероятно, фрагмент программы на языке Ассемблера не объявлен в программе или модуле.

53. Too many EXTRN definition (Слишком много EXTЕRN-определений). Максимально допустимое их число в OBJ-файле равно 256.

54. OF expected (Ожидается зарезервированное слово OF).

55. INTERFACE expected (Ожидается ключевое слово INTERFACE).

56. Invalid relocatable reference (Неправильно определена перемещаемая ссылка). Вероятно, во фрагменте программы на языке Ассемблера неправильно задано смещение адреса.

57. THEN expected (Требуется THEN).

58. TO or DOWNTO expected (Требуется TO или DOWNTO).

59. Undefined forward (Не завершено опережающее описание). Возможно про-цедура или функция была описана с помощью опережающего описания либо в интерфейсной секции модуля, но ее определение не найдено.

60. Too many procedure (Слишком много подпрограмм, более 512). Поместите некоторые процедуры или функции в модули.

61. Invalid typecast (Неверное преобразование типа). Произведена попытка размещения в памяти значения другого типа с большим размером занимаемой памяти либо преобразования типа выражения, когда разрешена только ссылка на переменную, процедуру или функцию.

62. Division by zero (Деление на ноль).

63. Invalid file type (Неправильно задан файловый тип). Нельзя использовать процедуру READLN для типизированного файла или процедуры SEEK - для текстового файла.

64. Cannot Read or Write variables of this type (Нельзя считать или записать переменные данного типа). Предпринята попытка чтения/записи данных, необрабатываемых процедурами Read/Readln и Write/Writeln.

65. Pointer variable expected (Используйте переменную-указатель).

66. String variable expected (Необходима строковая переменная).

67. String expression expected (Нужно выражение строкового типа).

68. Circular unit reference (Перекрестная ссылка модулей). Два модуля не должны ссылаться друг на друга.

69. Unit name mismatch (Несоответствие имен программных модулей).

Модуль, имя которого задано в директиве Uses, не найден.

70. Unit version mismatch (Несоответствие версий модулей). Воспользуйтесь опцией COMPILE/MAKE или COMPILE/BUILD в интегрированной среде для автоматической перекомпиляции программных модулей.

71. Internal stack overflow (Переполнение программного стека).

72. Unit file format error (Ошибка формата файла модуля). Файл.TPU не соответствует стандарту ТП.

73. IMPLEMENTATION expected (Отсутствует исполняемая часть модуля). Ожидается зарезервированное слово IMPLEMENTATION.

74. Constant and case types do not match (Типы констант и тип выражения в операторе вариант CASE не соответствуют друг другу).

75. Record variable expexted (Нужна переменная типа «запись»).

76. Constant out of range. Значение переменной в фактических параметрах подпрограммы или индекс массива вышли за допустимые границы.

77. File variable expected (Нужна файловая переменная).

78. Pointer expression expected (Нужно выражение типа «указатель»).

79. Integer or real expression expected (Нужно выражение типа integer или real).

80. Label not within current block (Метка находится вне текущего блока).

81. Label already defined (Метка уже объявлена ранее).

82. Undefined label in proceding statement part. Данная метка описана, и на нее осуществлялась ссылка, но она не указана в тексте программы.

83. Invalid @ argument (Неправильный аргумент операции @). Правильными аргументами являются идентификаторы переменных, процедур и функций.

84. Unit expected (Нужно кодовое слово UNIT).

85. ";" expected (Нужно указать ";").

86. ":" expected (Нужно указать ":").

87. "," expected (Нужно указать ",").

88. "(" expected (Нужно указать "(").

89. ")" expected (Нужно указать ")").

90. "=" expected (Нужно указать "=").

91. ":=" expected (Нужно указать ":=").

92. "[" or "(." expected (Нужно указать "[" или "(.").

93. "]" or ")." expected (Нужно указать "]" или ").").

94. "." expected (Нужно указать ".").

95. ".." expected (Нужно указать "..").

96. Too many variables (Слишком много переменных). Нарушен допустимый размер памяти (64кбайт) в программном модуле или подпрограмме.

97. Invalid FOR control variable. Параметр цикла в операторе FOR должен быть переменной порядкового типа.

98. Integer variable expected (Нужна переменная целого типа).

99. File of procedure types are not allowed here. Типизированная константа не может иметь файловый или процедурный тип.

100. String length mismatch (Неправильная длина строки).

101. Invalid ordering of fields (Неверный порядок следования полей). Поля в константе типа "запись" должны записываться в порядке их описания.

102. String constant expected (Нужна константа строкового типа).

103. Integer or real variable expected (Нужна переменная типа INTEGER или REAL).

104. Ordinal variable expected (Нужна переменная порядкового типа).

105. INLINE error (Ошибка в директиве INLINE). Оператор "<" не допускается в сочетании с перемещаемыми ссылками на переменные.

106. Character expression expected (Нужно выражение символьного типа).

107.Too many relocation items (Слишком много перемещаемых элементов).

108. Overflow in arithmetic operation (Переполнение при выполнении арифметической операции).

109. No enclosing For, While or Repeat Statement (Использование операторов Break и Continue вне пределов цикла).

110. Debug information table overflow (Переполнение отладочной информационной таблицы).

112. CASE constant out of range. Константа CASE не вписывается в допустимые границы от - 32768 до 32767.

113. Error in statement (Ошибка в операторе). Данный символ не может быть первым символом в операторе.

114. Cannot call an interrupt procedure (Невозможно вызвать процедуру прерывания).

116. Must be in 8087 mode tp compile this (Для компиляции необходим режим 8087 сопроцессора). Компилируйте только в режиме {$N +}.

117. Targert address not found (Указанный адрес не найден).

118. Include files are not allowed here (Здесь не допускаются включения файлов). Раздел операторов должен целиком размещаться в одном файле.

119. No inherited methods are accesible here (Неправильное использование ключевого слова Inherited).

120. NIL expected (Нужно зарезервированное слово NIL).

121. Invalid qualifier (Неверный квалификатор). Возможно индексирована переменная, не являющаяся массивом, либо указано поле в переменной, которая не является записью, либо в качестве указателя использована переменная, которая не является указателем.

122. Invalid variable reference (Неправильная ссылка). Возможно, вызвана функция - указатель, но нет ссылки на результат с помощью знака ^.

123. Too many symbols (Слишком много символов). Длина текста программы (модуля) превышает 64 кбайт символов. Отключите при компиляции директиву {$D+} и разбейте программу на несколько модулей.

124. Statment part too large. Превышен максимально допустимый размер (24 кбайт) раздела операторов. Выделите часть операторов в одну или несколько процедур и сделайте программу более структурированной.

126. Files must be var parameters. Произведена попытка передать подпрограмме параметра-значения файлового типа, а нужен параметр-переменная.

127. Too many conditional symbols. Недостаточно памяти для определения слов, управляющих командами условной компиляции.

128. Misplaced conditional directive (Пропущена условная директива).

129. ENDIF directive missing (Пропущена директива ENDIF).

130. Error in initial conditional defines. Идентификаторы в условных определениях должны разделяться пробелами, запятыми или точками с запятой.

131. Header does not match previous definition. Заголовок процедуры или функции, указанной в интерфейсной секции, не соответствует заголовку в исполняемой части. Возможно также, что аналогичный заголовок, указанный с помощью опережающего описания FORWARD, не соответствует заголовку найденной далее одноименной процедуры или функции.

132. Critical disk error (Критическая ошибка диска). Возможно дисковод находится в соответствии «не готов».

133. Cannot evaluate this expression (Нельзя вычислить выражение).

134. Expression incorrectly terminated (Завершите правильно выражение).

135. Invalid format specifier (Неверный спецификатор формата).

136. Invalid indirect reference (Недопустимая косвенная ссылка).

137. Structured variable are not allowed here (Здесь нельзя использовать переменную структурного типа). Сделана попытка выполнить над переменной структурного типа неподдерживаемую операцию.

138. Cannot evaluate without System unit (Нельзя вычислить выражение без модуля SYSTEM).

139. Cannot access this symbol. К отдельным символам (переменным) нельзя получить доступ, пока не запущена программа.

140. Invalid floating point operation (Недопустимая операция с плавающей запятой). Произошло переполнение или деление на ноль.

141. Cannot compile overlays to memory. Программа с оверлейными модулями должна компилироваться на диск.

142. Procedure or function variable expected (Должна использоваться переменная процедурного типа).

143. Invalid procedure or function reference (Недопустимая ссылка на процедуру или функцию). Возможно в выражении вызывается процедура.

144. Cannot overlay this unit (Этот модуль нельзя сделать оверлейным). Модуль не скомпилирован с директивой {$O+}.

145. TOO many nested scopes (Использование недопустимо большого числа вложенных элементов языка).

146. File access denied (Попытка использовать файл, предназначенный только для считывания, как выходной).

147. Object type expected (Здесь должен быть тип OBJECT).

148. Local object types are not allowed (Нельзя объявлять локальные объекты). Нельзя объявить объект в процедуре (функции).

149. VIRTUAL expected (Пропущено слово VIRTUAL).

150. Method identifier expected (Пропущен идентификатор инкапсулированного правила).

151. Virtual constructor are not allowed (Виртуальные конструкторы не допустимы).

152. Constructor identifier expected (Нужен идентификатор конструктора).

153. Destructor identifier expected (Нужен идентификатор деструктора).

154. Fail only allowed within constructors (Обращение к стандартной процедуре FAIL может содержаться только внутри конструктора).

155. Invalid combination of opcode and operands (Не допустимая комбинация кода команды и операндов).

156. Memory reference expected (Отсутствует адрес). Вероятно, не выделен квадратными скобками индексный регистр.

157. Cannot add or subtract relocatable symbols. В ассемблерных выражениях обоими операндами в операциях сложения и вычитания могут быть только ссылки на константу.

158. Invalid register combination (Недопустимая комбинация регистров).

159. 286/287 instructions are not enabled. Используйте директиву {$G+} для ПК, оснащенных процессором Intel 80286/80287&.

160. Invalid symbol reference (Недопустимая ссылка на символ). К указанному символу нельзя обратиться в ассемблерной программе.

161. Code generation error (Ошибка генерации кода). Возникает при компиляции ассемблерных фрагментов со ссылкой на недоступную метку.

162. ASM expected (Отсутствует зарезервированное слово ASM).

165. Duplicite or invalide export index (Двойной или неверный экспортируемый индекс).

166. Prosedure or function identifier expected (Ожидается идентификатор процедуры или функции).

167. Cannot export this symbol. Этот символ не может передаваться в другие модули.

168. Duplicate export name (Двойное экспортируемое имя).

169. Executable file header too large (Заголовок исполняемого файла содержит слишком много символов).

170. Too many segments (Слишком много сегментов).

Сообщения об ошибках периода исполнения

Ошибки вода - вывода

100. Disk read error (Ошибка чтения с диска). Предпринята попытка чтения после конца файла.

101. Disk write error (Ошибка записи на диск). Диск целиком заполнен.

102. File not assigned. Ошибка генерируется, если файловой переменной не было присвоено имя файла с помощью процедуры ASSIGN.

103. File not open (Файл не открыт).

104. File not open for input (Файл не открыт для ввода).

105. File not open for output (Файл не открыт для вывода).

106. Invalid numeric format (Неверный числовой формат). Числовое значение, считанное из текстового файла, имеет неправильный формат.

Критические ошибки

150. Disk is write protected (Диск защищен от записи).

151. Unknown unit (Неизвестный модуль).

152. Drive not ready (Дисковод не готов к работе).

153. Unknown command (Неизвестная команда).

154. CRC error in data (Ошибка в исходных данных).

155. Bad drive requiest structure length (При обращении к диску указана неверная длина структуры).

156. Disk seek error (Ошибка поиска на диске). Возникла ошибка при операции установки головок на диске.

157. Unknown media type (Неизвестный тип носителя).

158. Sector not found (Сектор не найден).

159. Printer out of paper (В принтере нет бумаги).

160. Device write fault (Ошибка при записи на устройство).

161. Device read fault (Ошибка при чтении с устройства).

162. Hardware failure (Сбой аппаратуры). Отказ аппаратных средств.

Фатальные ошибки.

200. Division by zero (Деление на ноль).

201. Range check error (Выход за допустимые границы).

202. Stack overflow error (Переполнение стека).

203. Heap overflow error (Переполнение кучи). Нет свободной динамической памяти требуемого размера.

204. Invalid pointer operation. Неверная операция с указателем.

205. Floating point overflow (Переполнение при операции с плавающей запятой).

206. Floating point underflow (Потеря порядка при операции с плавающей запятой).

207. Invalid floating point operation (Недопустимая операция с плавающей запятой). Возможно, аргумент функций SQRT или LN отрицателен (для LN равен нулю), либо аргумент функций TRUNC или ROUND не может быть преобразован в целое число типа LONGINT, либо произошло переполнение стека сопроцессора.

208. Overlay manager not installed. Вероятно, не была вызвана процедура OvrInit или при ее вызове произошла ошибка.

209. Overlay file read error (Ошибка при чтения оверлейного файла).

210. Object not initialized (Не инициирован объект).

 

Библиографический список

1. Фаронов В. В. Турбо Паскаль 7.0. Начальный курс. - М.: Но­лидж, 1997.- 616 с.

2. Сергиевский М. В., Шалашов А. И. Турбо Паскаль 7.0.: Язык, сре­да программирования. - М.: Машиностроение, 1994. - 254 с.

3. Епанешников А. Е., Епанешников В. А. Программирование в среде Turbo Pascal 7.0. - М.: ДИАЛОГ-МИФИ, 1996. - 288 с.

4. Подготовка и отладка программ в среде Турбо Паскаля: Метод. указания / Сост.: О.П.Шафеева. - Омск: Изд-во ОмПИ., 1996. - 40 с.

5. ГОСТ 19.701-90. Схемы алгоритмов, пpогpамм, данных и систем. Единая система программной документации. - М.: Изд-во стандартов, 1991. - 26 с.

6. Пильщиков В. Н. Сборник упражнений по языку Паскаль. - М.: Нау­ка, 1989. - 160 с.

7. Основы алгоритмизации и программирования. Турбо Паскаль 7.0: Метод. указания / Сост.: О.П.Шафеева. - Омск: Изд-во ОмГТУ, 2000. - 48 с.

8. Численные методы: Метод. указазания / О. Б. Малков, Е. Т. Гегечкори. - Омск: Изд-во ОмГТУ, 1995. - 28 с.. 9.Методы проектирования программ: Метод. указания / Сост. О. П. Шафеева; Омск: ОмГТУ, 2004. - 32 с.

 

Варианты домашних заданий

Ф.И.О. номер задачи
А, Б  
В, Г  
Д, Е, Ж  
З, И  
К, Л  
М, Н  
О, П  
Р, С  
Т, У  
Ф, Х, Ц  
Ч, Ш, Щ  
Э, Ю, Я  

 

Лабораторная работа



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 224; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.103.144 (0.017 с.)