рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Завдання

Завдання - раздел Философия, Алгоритмічна мова TURBO PASCAL 1 - 6. Організувати Файл Прямого Доступу "відомість Успішності Ст...

1 - 6. Організувати файл прямого доступу "Відомість успішності студентів", компонентами якого є: прізвище, номер групи, екзаменаційні оцінки (аналіз, алгебра, програмування):

1. Підрахувати "якість" успішності, тобто процент студентів, які здали екзамени на "4" і "5".

2. Вивести не екран назву предмета, який був зданий найкраще.

3. Визначити середній бал екзаменаційної сесії для кожної групи і вивести на екран назви груп в порядку спадання середнього балу.

4. Вивести на екран прізвище та групу студентів, які успішно здали сесію.

5. Вивести на екран прізвища та групу студентів, які мають хоча б одну заборгованість.

6. Вивести не екран назву предмета, який був зданий найгірше.

7 - 10. Організувати файл прямого доступу "KADR", який містить інформацію про працівників і компонентами якого є: прізвище, рік народження, стать (Ч,Ж), освіта, професія:

7. Вивести прізвища працівників. рік народження яких дорівнює заданому.

8. Вивести прізвища працівників з вищою освітою і їх професію.

9. Вивести на екран дані про всіх жінок даного підприємства (прізвище, рік народження, освіта, професія).

10. Вивести на екран дані про всіх працівників підприємства пенсійного віку.

11 – 12. Організувати файл прямого доступу "Бібліотечний каталог", компонентами якого є: назва книги, автор, видавництво, рік видання:

11. Вивести на екран дані про всі книги даного автора, які є в каталозі.

12. Вияснити, чи є книга "Інформатика" серед книг каталогу. Якщо є, то вивести на екран дані про неї; якщо ні, то вивести повідомлення "Книги "Інформатика" в даному каталозі немає".

13 - 14. Організувати файл прямого доступу "Асортимент", який містить інформацію про наявність продуктів в магазинах даного населеного пункту. Компонентами файлу є: назва продукту (цукор, масло, сир, ковбаса), кількість (в кг), номер магазину:

13. Для вказаного виду продукту вивести номер магазину, де він є в наявності і його кількість.

14. Вивести на екран назви всіх продуктів, які є в наявності в заданому магазині і їх кількість.

15 - 18. Організувати файл прямого доступу "Клас", компонентами якого є: прізвище учня, стать (Ч,Ж), ріст:

15. Визначити середній ріст дівчат в класі.

16. Вивести на екран прізвище хлопця, який є найвищим в класі і його ріст.

17. Вивести на екран прізвище найвищої та найнижчої дівчини в класі.

17.Організувати файл прямого доступу "Довідник", який містить інформацію про наявність ліків в аптеках міста. Компонентами файлу є: назва ліків, номер аптеки, в якій ці ліки є, адреса аптеки. Для заданих ліків вивести на екран номера аптек, де вони є в наявності, та адреси цих аптек.

18. Організувати файл прямого доступу, компонентами якого є: прізвище жителя, місто, вулиця, номер дому та номер квартири, де цей житель проживає. Вивести на екран прізвища двох жителів із заданого файлу, які живуть в різних містах по однаковій адресі.

 

11.3. Контрольні запитання з теми

1. Яких типів можуть бути оголошені типовані файли ?

2. Як нумеруються компоненти типованих файлів ?

3. Які процедури і функції використовують для прямого доступу до типованих файлів?

4. Які дії необхідно виконати для відкриття файлу ?

5. Як відкрити файл для запису ?

6. Що відбудеться, якщо раніше створений файл із даними відкрити для запису ?

7. Які дії виконують процедури Rename і Erase?

8. Як прочитати дані з файлу, не знаючи кількості цих даних ?

9. Як додати дані до існуючого файлу ?

10. Коли зручно використовувати нетиповані файли ?

11. Розкажіть про можливості опрацювання помилок введення - виведення.


Додаток 1

Повідомлення про помилки

Повідомлення про помилки періоду компіляції

Середовище TURBO PASCAL надає вичерпну інформацію про характер і місце виявленої компілятором помилки. При виявленні помилки середовище автоматично завантажує у вікно редактора вихідний файл і поміщає курсор біля того місця, де у вихідному тексті виявлена помилка. При цьому у верхньому рядку редактора з'являється діагностичне повідомлення. Після натискання на будь-яку клавішу (крім FI) верхній рядок відновлює свій первісний вигляд і середовище переходить до режиму редагування. Якщо після появи повідомлення про помилку натиснути FI, на екрані з'явиться вікно довідкової служби з детальною інформацією про помилку і рекомендаціями з її усунення. Деякі помилки у вихідному тексті виявляються не відразу, а в ході контекстного розбору. Наприклад, невідповідність типів в операторі присвоєння не може бути виявлене доти, поки не буде обчислений цілком вираз в правій частині цього оператора. У таких випадках треба шукати помилку ліворуч від курсору або в попередньому рядку тексту.

Нижче приводяться повідомлення про помилки в тому вигляді, у якому вони з'являються у верхньому рядку редактора, а також переклад повідомлень довідкової служби.

1. Out of memory(Вихід за границі пам'яті).

Компіляторові не вистачає пам'яті. Є ряд можливих рішень цієї проблеми:

•якщо в опції COMPILE/DESTINATION встановлене значення MEMORY, то треба замінити цю опцію на DISK;

•якщо в опції OPTIONS/LINKER/LINK BUFFER встановлене значення MEMORY, то треба замінити цю опцію на DISK;

•якщо ви використовуєте резидентні обслуговуючі програми, такі як SIDEKICK, NORTON, то треба вилучити їх з пам'яті;

•якщо ви використовуєте інтегроване середовище TURBO.EXE, то спробуйте скористатися компілятором ТРС.ЕХЕ - він займає менше пам'яті.

Якщо жодна з рекомендацій не допомагає, то, можливо, Ваша програма просто занадто велика, щоб компілювати її в такому обсязі пам'яті. У цьому випадку Ви повинні розбити її на два, або більш модулі.

2. Identifier expected(Не зазначений ідентифікатор).

У цьому місці повинен знаходитись ідентифікатор. Можливо, Ви намагаєтеся використовувати як ідентифікатор зарезервоване слово.

3. Unknown identifier(Невідомий ідентифікатор).

Цей ідентифікатор не був описаний.

4. Duplicate identifier(Подвійний ідентифікатор).

Спроба двічі описати той самий ідентифікатор.

5. Syntax error(Синтаксична помилка).

У вихідному тексті знайдений недостуний символ. Можливо, Ви забули вставити в апострофи рядкову константу.

6. Error in real constant(Помилка в дійсній константі).

Неправильний синтаксис констант дійсного типу.

7. Error in integer constant(Помилка в цілій константі).

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

(-2І47483648..+2147483647), повинні ставитися крапка і нуль, наприклад, 12345678912.0.

8. String constant exceeds line (Рядкова константа перевищує допустимі розміри).

Імовірно, Ви забули поставити апостроф наприкінці рядкової константи.

9. Too many nested files (Занадто багато вкладених файлів).

Компілятор допускає не більш п'яти рівнів вкладеності файлів, (тобто у вихідному файлі є посилання на вкладений файл, у якому є посилання на ще один вкладений файл, і т.д.).

10. Unexpected end of file (Не знайдений кінець файлу).

Ви могли одержати це повідомлення про помилку по одній з таких причин:

•ваш вихідний файл закінчився перед останнім END основного розділу операторів; імовірно, у вашій програмі неоднакова кількість операторів BEGIN i END;

•файл, що виконується, закінчується в середині розділу операторів; кожен розділ операторів повинен цілком міститися в одному файлі;

•ви не закінчили коментар.

11. Line too long(Занадто довгий рядок).

Максимальна довжина рядка, що обробляється компілятором, дорівнює 126 символам (зверніть увагу: редактор середовища може обробляти рядки практично необмеженої довжини).

12. Type identifier expected(Тут потрібний ідентифікатор типу).

Не зазначений тип ідентифікатора.

13. Too many open files(Занадто багато відкритих файлів).

Поява цієї помилки означає, що конфігураційний файл CONFI.SYS операційної системи не включає параметр FlLES=xx або цей параметр вказує занадто мало файлів. Збільшіть число файлів до потрібного значення, наприклад, до 80.

14. Invalid file name(Невірне Ім'я файлу).

Ім'я файлу неправильне або зазначений неіснуючий шлях.

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

Файл не був знайдений у переглянутих каталогах.

16. Disk full(Диск повний).

Вилучіть деякі файли або скористайтеся новим диском,

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(Базовий тип множини порушує границі).

Базовий тип множини повинен являти собою тип-діапазон із границями в межах від 0 до 255 або перелічуваний тип з не більш ніж 256 значеннями.

24. File components may not be files(Компонентами файлу не можуть бути файли).

Конструкції типу file of file (файл файлів) або file of object (файл об'єктів) не допускаються.

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. Constant 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 (Об'єктний файл занадто великий).

Turbo Pascal не може компонувати файли.ОВG більше 64 Кбайт.

46. Undefined external(Невизначена зовнішня процедура).

Зовнішня процедура або функція не має відповідного визначення PUBLIC в об'єктному файлі. Переконайтеся, що Ви вказали всі об'єктні файли в директивах {$L <ім'я.ОВG-файла>} і перевірте написання ідентифікаторів процедури або функції у файлі. ASM.

47 Invalid object file record (Неправильний запис об'єктного файлу).

Файл. OBJ містить невірний об'єктний запис. Переконайтеся, що даний файл є дійсно файлом.OBJ.

48. Code segment too large(Сегмент коду занадто великий).

Максимальний розмір коду програми або програмного модуля дорівнює 65520 байтам. Розбийте Вашу програму або модуль на два або більше модуля.

49. Data segment too large(Сегмент даних занадто великий).

Максимальний розмір сегмента даних програми дорівнює 65520 байтам, включаючи дані, використовувані програмними модулями. Якщо Вам потрібна більша кількість глобальних даних, опишіть великі структури за допомогою вказівників і виділяйте для них пам'ять динамічно за допомогою процедури NEW.

50. DO expected(Потрібний оператор DO).

51. Invalid PUBLIC definition(Неправильне PUBLIC -визначення). Можливі такі причини повідомлення:

•даний ідентифікатор одержав тип PUBLIC за допомогою відповідної директиви мови ассемблер, але не відповідає описові EXTERNAL у програмі або програмному модулі;

•дві або більше директиви PUBLIC мови ассемблера визначають той самий ідентифікатор;

•файли. OBJ визначають символи PUBLIC, що не знаходяться в сегменті CODE.

52. Invalid EXTRN definition(Неправильне EXTRN -визначення). Можливі такі причини повідомлення:

•програма на ассемблері посилається за допомогою директиви EXTRN на ідентифікатор, що не описаний у програмі на Pascal і не був описаний у інтерфейсних секціях використовуваних програмних модулів;

•ассемблерна програма посилається на ідентифікатор, що позначає абсолютну змінну (тобто визначену словом ABSOLUTE);

•ассемблерна програма посилається на ідентифікатор процедури або функції типу INLINE.

53. Too many EXTRN definition(Занадто багато EXTRN -визначень).

Turbo Pascal не може обробляти файли. OBJ при більш ніж 256 визначеннях EXTRN.

54. OF expected (Потрібно OF).

55. INTERFACE expected(Потрібна інтерфейсна секція).

56. Invalid relocatable reference(Неправильне посилання на переміщуваний символ).

Можливі такі причини повідомлення:

•файл.OBJ містить дані і переміщувані посилання в сегментах, відмінних від CODE. Наприклад, Ви намагаєтеся описати ініціалізовані змінні в сегменті DАТА;

•файл.OBJ містить посилання з розмірами в байтах на перемішувані символи. Така помилка відбувається у випадку, якщо Ви використовуєте оператори HIGH i LOW з переміщуваними символами або якщо Ви посилаєтеся в директивах DB на переміщувані символи;

•операнд посилається на перемішуваний символ, що не був визначений у сегменті CODE або в сегменті DАТА;

•операнд посилається на процедуру EXTRN або функцію EXTRN зі зміщенням, наприклад, CALL SortProc+8.

57. THEN expected(Потрібно THEN).

58. TO or DOWNTO expected(Потрібно ТО або DOWNTO).

59. Undefined forward(Невизначений випереджальний опис).

Можливі такі причини повідомлення:

•була записана процедура або функція в інтерфейсній секції програмного модуля, але її визначення відсутнє в секції реалізації;

•процедури або функції були описані за допомогою випереджального опису, але їхнє визначення не знайдене.

60. Too many procedures(Занадто багато процедур).

Turbo Pascal допускає не більш 512 процедур або функцій в одному модулі. Якщо Ви компілюєте програму, то потрібно помістите деякі процедури або функції в модулі. Якщо Ви компілюєте модуль, то розбийте його на два або кілька модулів.

61. Invalid typecast(Невірне перетворення типу).

Можливі такі причини повідомлення:

•Ви намагаєтеся розмістити в пам'яті, котру займає деяка змінна, значення виразу іншого типу у випадку, коли розмір розташовуваного значення не дорівнює розмірові змінної;

•Ви намагаєтеся здійснити перетворення типу виразу, коли дозволяється тільки посилання на змінну, процедуру або функцію.

62. Division by zero(Ділення на нуль).

Попередня операція намагається виконати ділення на нуль.

63. Invalid file type(Невірний файловий тип).

Даний файловий тип не обслуговується процедурою обробки файлів. Наприклад, процедура READLN використовується для типованого файлу або процедура SEEK - для текстового файлу.

64. Cannot Read or Write variables of this type(Немає можливості зчитати або записати змінні даного типу).

Порушено такі обмеження:

•процедури READ i READLN можуть зчитувати змінні символьного, цілого, дійсного і рядкового типів;

•процедури WRITE i WR1TELN можуть виводити змінні символьного, цілого, дійсного, булівського і рядкового типів.

65. Pointer variable expected(Потрібно використовувати змінну-вказівник).

Попередня змінна повинна бути вказівником.

66. String variable expected(Потрібна рядкова змінна).

Попередня змінна повинна мати рядковий тип.

67. String expression expected(Потрібно вираз рядкового типу).

Попередній вираз повинен мати рядковий тип.

68. Circular unit reference(Перехресне посилання модулів).

Два модулі посилаються один на одного:

Unit A; Unit У;

Uses У; Uses A;

.....

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

Ім'я програмного модуля, знайдене у файлі. ТРU, не відповідає імені, зазначеному в пропозиції и USES.

70. Unit version mismatch (Невідповідність версій модулів).

Один або кілька програмних модулів, використовуваних даною програмою, були змінені після їхньої компіляції. Скористайтеся опцією СОМРІЬЕ/МАКЕ або СОМРІЬЕ/ВШЬО в інтегрованому середовищі або опціями /М або /В в компіляторі ТРС, що дозволить автоматично скомпілювати програмні модулі, що потребують перекомпіляції.

71. Duplicate unit name(Повторне ім'я програмного модуля). Ви вже вказали цей програмний модуль в операторі USES.

72. Unit file format error(Помилка формату файлу модуля). Файл.ТРU) не відповідає стандартові Turbo Pascal.

73. IMPLEMENTATION expected(Відсутня виконувана частина модуля).

74. Constant and case types do not match(Типи констант і тип виразів оператора CASE не відповідають один одному).

Тип константи оператора CASE не сумісний з виразом в операторі варіанту.

75. Record variable expected(Потрібна змінна типу запис).

Попередня змінна повинна мати тип запис.

76 Constant out of range(Константа порушує границі).

Можливі такі причини повідомлення:

•Ви намагаєтеся вказати індекс масиву, що виходить за його границі;

•Ви намагаєтеся присвоювати змінній значення, що виходить за границі, допустимі для типу цієї змінної;

•Ви намагаєтеся передати як фактичний параметр процедурі або функції константу, що виходить за границі, допустимі для типу відповідного формального параметру.

77. File variable expected(Потрібна файлова змінна).

Попередня змінна повинна мати файловий тип.

78. Pointer expression expected(Потрібно вираз типу вказівник).

Попередній вираз повинен мати тип вказівника.

79. Integer or real expression expected(Потрібно вираз дійсного або цілого типу).

Попереднє вираз повинне мати тип REAL або INTEGER.

80. Label not within current block(Мітка не знаходиться усередині біжучого блоку).

Оператор GOTO не може посилатися на мітку, що знаходиться поза біжучим блоком.

81. Label already defined(Мітка вже визначена).

Дана мітка вже помічає оператор.

82. Undefined label in processing 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. "]" ог ".)" expected(Потрібно вказати "]" або ".)" ).

94м"." expected(Потрібно вказати "."),

95. ".." expected(Потрібно вказати "..").

96. Too many variables(Занадто багато змінних).

Порушено такі обмеження:

•загальний розмір глобальних змінних, описаних у програмі або програмному модулі, не може перевищувати 64 Кбайт;

•розмір локальних змінних, описаних у процедурі або функції, не може перевищувати 64Кбайт..

97. Invalid FOR control variable(Неправильний параметр циклу оператора FOR).

Параметр циклу оператора FOR повинний бути змінною порядкового типу, визначеною в розділі описів біжучої підпрограми.

98. Integer variable expected(Потрібна змінна цілого типу).

Попередня змінна повинна мати цілий тип.

99. File and procedure types are not allowed her(Тут не можуть використовуватися файли або процедурні типи)

Типована константа не може мати файловий або процедурний тип.

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(Занадто багато переміщуваних елементів).

Розмір таблиці переміщення файлу.ЕХЕ перевищує 64 Кбайта, що є верхньою межею в Turbo Pascal. Якщо Ви знайшли цю помилку, то це значить, що програма просто занадто велика для обробки компоновщиком Turbo Pascal. Можливо також, що вона занадто велика для виконання в MS-DOS. У такому випадку потрібно виділити в програмі основний розділ, що виконував би звертання до двох або більше допоміжних розділів за допомогою процедури EXEC з модуля DOS.

108. Overflow in arithmetic operator(Переповнення при виконанні арифметичного оператора). Результат попередньої арифметичної операції не лежить у діапазоні

-2146483648…+2147483647. Виправте операцію або використовуйте дійсні типи замість цілочисельних.

109. No enclosing FOR, WHILE or REPEAT statment(Немає операторів, що закінчують оператори FOR, WHILE або REPEAT).

Процедури BREAK i CONTINUE не можуть викликатися поза тілом оператора циклу.

110. Debug information table overflow(Переповнення інформаційної таблиці налагодження).

Можливо, програма містить більш 65536 імен або 65536 рядків. Відключите генерацію таблиць налагодження

директивою компілятора {$D-} або виправте один або більше модулів.

111.Помилка з цим кодом не описана у версії 7.0 системи Turbo Pascal..

112. CASE constant out of range(Константа CASE порушує допустимі межі). Цілочисельні константи оператора CASE повинні знаходитися в діапазоні від -32768 до 32767.

113. Error in statement(Помилка в операторі).

Даний символ не може бути першим символом в операторі.

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

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

115.Помилка з цим кодом не описана у версії 7.0 системи Turbo Pascal..

116. Must be in 8087 mode to compile this(Для компіляції необхідний режим 8087).

Дана програма може бути скомпільована тільки в режимі {$N+}. У стані {$N-} операції з типами SINGLE, DOUBLE, EXTENDED i COMP не допускаються.

117. Target address not found(Зазначена адреса не знайдена).

Команда COMPILE/FIND ERROR у середовищі Turbo Pascal (або пошук за допомогою опції /F у командному рядку компілятора ТРС.ЕХЕ) не знайшла оператор, що відповідає заданій адресі.

118. Include files are not allowed here(Тут не допускаються файли, що включаються).

Розділ операторів повинний цілком розміщуватись в одному файлі.

119. No inherited methods are accessible here(У цьому місці програми немає успадкованих методів).

Ви використовуєте зарезервоване слово INHERITED поза методом об'єкта або в методі, що не успадкований від батьківського об'єкта.

120.Помилка з цим кодом не описана у версії 7.0 системи Turbo Pascal.

121. Invalid qualifier (Невірний кваліфікатор).

Можливі такі причини повідомлення:

•Ви намагаєтеся індексувати змінну, котра не є масивом;

•Ви намагаєтеся вказати поля в змінної, котра не є записом;

•Ви використовуєте як вказівник змінну, котра не є вказівником.

122. Invalid variable reference(Недійсне посилання на змінну).

Попередня конструкція задовольняє синтаксису посилання на змінну, але вона не вказує адресу пам'яті. Можливо Ви викликаєте функцію-вказівник, але забуваєте послатися на результат за допомогою знака ^.

123. Too many symbols(Занадто багато символів).

Програма або програмний модуль містять більш 64 Кбайт символів. Якщо Ви компілюєте програму з директивою {$D+}, то спробуйте відключити цю директиву або розбийте програму на кілька модулів.

124. Statement part too large(Занадто великий розділ операторів).

Turbo Pascal обмежує розмір розділу операторів до величини приблизно 24 Кбайта. Якщо Ви знайшли цю помилку, помістіть частини розділу операторів в одну або кілька процедур і взагалі зробіть Вашу програму більш структурованою.

125.Помилка з цим кодом не описана у версії 7.0 системи Turbo Pascal.

126. Files must be var parameters(Файли повинні передаватися як параметрі-змінні).

Ви намагаєтеся передати процедурі або функції значення файлового типу. Параметри файлового типу повинні бути параметрами-змінними.

127. Too many conditional symbols(Занадто багато умовних символів).

Недостатньо пам'яті для визначення умовних символів (слів, що керують командами умовної компіляції). Спробуйте вилучити деякі символи або зменшити їхню довжину.

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

Компілятор знайшов директиву {$ELSE} або {$ENDIF} без відповідних директив {$IFDEF}, {$IFNDEF} або {$IFOPT}.

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

Вихідний файл закінчився усередині конструкції умовної компіляції. У вихідному файлі повинна бути рівна кількість директив {$IFxxx} i {$ENDIF}.

130. Error in initial conditional defines(Помилка в умовних визначеннях).

Вихідні умовні символи.зазначені в опції OPTIONS/COMPILER /CONDITIONAL DEFINES є недійсними. Turbo Pascal вимагає нуля або більше ідентифікаторів, розділених пробілами, комами або крапками з комами.

131. Header does not match previous definition(Заголовок не відповідає попередньому визначенню).

Можливі такі причини повідомлення:

•заголовок процедури або функції, зазначений у інтерфейсній секції, не відповідає заголовкові в частині, що виконується.

•заголовок процедури або функції, зазначений за допомогою випереджального опису FORWARD, не відповідає заголовкові знайденої далі однойменної процедури або функції.

132. Criticaldisk error(Критична помилка диска).

Під час компіляції відбулася критична помилка диска (наприклад, дисковод знаходиться в стані "не готовий").

133. Cannot evaluate this expression(Не можна обчислити даний вираз).

У виразі-константі або у налагоджувальному виразі Ви намагаєтеся використовувати непідтримувані засоби, наприклад, в описі константи намагаєтеся використовувати функцію SIN або викликати у налагоджувальному виразі визначену користувачем функцію.

134. Expression incorrectly terminated(Некоректне завершення виразу).

Контекстуальне в даному місці програми повинний бути кінець виразу або оператора.

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

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

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

Оператор намагається здійснити неприпустиме непряме посилання. Наприклад, Ви використовуєте абсолютну змінну, базова змінна якої в біжучому модулі невідома, або використовуєте програму типу INLINE, у якій робиться посилання на змінному, невизначену в біжучому модулі.

137. Structured variable are not allowed here(Тут не можна використовувати змінну структурного типу).

Робиться спроба виконати над змінною структурного типу непідтримувану операцію. Наприклад, Ви намагаєтеся перемножити два записи.

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

Щоб налагоджувач зміг обчислити вираз, у файлі TURBO.TPL повинний утримуватися модуль SYSTEM.

139. Cannot access this symbol(Немає доступу до даного символу).

Яктільки Ви скомпілюєте програму, вся множин її символів стає доступним. Однак до окремих символів (наприклад, до змінної) не можна одержати доступ, поки Ви не запустите програму.

140. Invalid floating-point operation(Неприпустима операція з плаваючою комою).

При виконанні операції з плаваючою комою відбулося переповнення або ділення на нуль.

141. Cannot compile overlay to memory(Не можна виконати компіляцію оверлейних модулів у пам'ять).

Програма, шо використовує оверлейні модулі, повинна компілюватися на диск.

142. Procedure or function variable expected(Повинна використовуватися змінна процедурного типу).

У цьому контексті оператор надання адреси @ може використовуватися тільки зі змінною процедурного типу.

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

Можливі такі причини повідомлення:

•Ви намагаєтеся викликати процедуру у виразі;

•процедура або функція, що використовується як параметр виклику іншої процедури або функції, повинна компілюватися в стані {$F+} і не може описуватися за допомогою зарезервованих слів INLINE або INTERRUPT.

144. Cannot overlay this unit(Цей модуль не може використовуватися в якості оверлейного). Спроба використовувати в якості оверлейного модуль, що не був скомпільований з директивою {$О+}.

145. Too many nested scopes(Занадто багато вкладень).

У програмі не може бути більше 512 вкладень з не більш ніж 128 вкладеннями в кожнім модулі. Вкладеннями вважаються: « кожен модуль у розділі USES;

•кожен вкладений запис у типі RECORD;

•кожен вкладений оператор WITH.

146. File access denied (Відмовлено в доступі до файлу).

Можливі такі причини:

•Ви намагаєтеся використовувати файл з атрибутом "тільки для читання" як виведення ний файл;

•Ви використовуєте ім'я каталогу замість імені виведення ного файлу.

147. Object type expected(Тут повинний бути тип OBJECT).

Цей ідентифікатор повинний належати до типу OBJECT.

148. Local object types are not allowed(Не можна оголошувати локальні об'єкти). Не можна оголосити об'єкт у процедурі (функції).

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

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

151. Virtual constructor are not allowed(Конструктор не може бути віртуальним).

153. Destructor identifier expected(Пропущений ідентифікатор деструктора).

154. Fail only allowed within constructor(Звертання до стандартної процедури FAIL може утримуватися тільки в конструкторі).

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

Код ассемблерної команди не може мати такі операнди. Причини помилки:

•зазначено занадто багато або занадто мало операндів для даної команди, наприклад, INC АХ, ВХ або MOV АХ;

•кількість операндів правильна, але їхні типи або порядок проходження не відповідають даній команді, наприклад, DEC I, MOV AX, CL або MOV 1,АХ.

156. Memory reference expected (Відсутня адреса).

Операнд ассемблерної команди не містить адреси. Імовірно, Ви забули виділити квадратними дужками індексний регістр, наприклад, MOV AX, BX+SI замiсть MOV AX, [BX+SI].

157. Cannot add or subtract relocatable symbols(Не можна додавати або віднімати переміщувані символи).

В ассемблерних виразах обома операндами в операціях додавання або віднімання можуть бути тільки посилання на константу. Ідентифікатори змінних, процедур, функцій і міток є переміщуваними символами і не можуть використовуватися в якості двох операндів одночасно в таких операціях. Якщо VAR. -Ідентифікатор змінної, а CONST - константи, то пропозиції MOV AX, CONST+CONST i MOVE AX, VAR+CONST будуть правильними, у той час як вираз MOV AX, VAR+VAR неприпустимий.

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

Припустимими комбінаціями індексних регістрів є [ВХ], [Вр, [SI], [DI], [BX+SI], [BX+DI], [BP+SI] i [BP+DI]. Інші комбінації (наприклад, [АХ], [ВР+ВХ], [SI+DX]) неприпустимі. Помітимо, що локальні змінні розміщуються в стеці і доступ до них організується через регістр ВР. Ассемблер автоматично додає [ВР] у посиланнях на такі змінні, тому в операндах типу LOCAL [ВХ], де LOCAL] - локальна змінна, утвориться неприпустиме посилання LOCAL[BP+BX].

159. 286/287 instructions are not enabled(Недоступний набір команд мікропроцесорів 286/287). Використовуйте директиву {$G+}, але врахуйте, що таку програму можна виконувати тільки на ПК, оснащених мікропроцесором Іntel 80286/80287 або більш пізнім.

160. Invalid symbol reference(Неприпустиме посилання на символ).

До зазначеного символу не можна звернутися в ассемблерній програмі. Це може бути наслідком таких причин:

•Ви намагаєтеся використовувати посилання на стандартні процедури (функції) або спеціальні масиви MEM, MEMW, MEML, PORT i PORTW в ассемблерних операндах;

•Ви звертаєтеся до рядкової, дійсної константи або константи типу SET в операнді ассемблерної команди;

•в ассемблерному операнді Ви звертаєтеся до процедури або функції, написаної в режимі INLINE;

•Ви намагаєтеся одержати за допомогою операції @Result доступ до результату, що повертається функцією;

•Ви намагаєтеся використовувати коротку форму команди JMP для передачі керування в непомічений оператор програми.

161. Code generation error(Помилка генерації коду).

Помилка виникає, зокрема, при компіляції ассемблерних фрагментів, що містять команди LOOP, LOOPE, LOOPNE, JCXZ, якщо команда посилається на недоступну мітку.

162. ASM expected(Відсутнє зарезервоване слово ASM).

 

Повідомлення про помилки, що виникають під час виконання програми

Деякі помилки, виявлені під час виконання програми, приводять до появи на екрані повідомлення виду

Runtime error ппп at хххх:уууу. (Помилка періоду виконання ппп за адресою хххх:уууу)

де ппп - номер помилки;

хххх:уууу - адреса (сегмент і зміщення).

Після цього повідомлення програма завершує свою роботу.

Помилки періоду виконання поділяються на чотири категорії: помилки, що виявляються DOS (коди помилок з І до 99), помилки введення-виведення (з 100 по 149), критичні помилки (з 150 по 199) і фатальні помилки (коди помилок з 200 до 255).

 

– Конец работы –

Эта тема принадлежит разделу:

Алгоритмічна мова TURBO PASCAL

Дрогобицький державний педагогічний університет... імені Івана Франка... Методичний посібник...

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Система вiкон середовища
Практично всi основнi операцiї в середовищi TURBO PASCAL здiйснюються з допомогою вiкон – видiлених дiлянок поля екрану, в яких розмiщується певна iнформацiя. Користувач може вiдкрити або закрити в

Replace
FILE1.PAS FILE7.PAS FILE2.PAS FILE8.PAS FILE3.PAS FILE9.PAS Cancel FILE4.PAS FILE10.PAS FILE5.PAS FILE11.PAS Help FILE

OK Cancel Help
  ¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾ Для того, щоб встановити в тригерному списк

Меню роботи з файлами (File)
Дане меню призначено для виконання операцій з файлами. Воно містить такі команди: New (створити новий файл). Відчиняє нове пусте вікно редагування та присвоює нов

Меню редагування (Edit)
Меню редагування дозволяє виконувати ряд операцій з фрагментами тексту. Виділити такий фрагмент легше всього з допомогою клавіші Shift та клавіші переміщення курсора малої клавіатури. Це меню місти

Меню виконання програми (Run)
Меню дозволяє запускати програму, а також виконувати окремі частини програми під час її відлагодження. Run (запустити програму). Запускає програму, якщо текст її

Меню вiкон (Window).
Меню дозволяє вiдкривати, закривати, активiзувати вiкна, розмiщувати їх в полi екрану. Tile (розмiщення вiкон встик). Вiкна розмiщуються в полi екрану встик один

Збереження файлу
Для збереження файлу, розміщеного у біжучому вікні редактора, необхідно натиснути клавішу F2, або перейти в основне меню (за допомогою клавіші F10) і вибрати команду File/Save. В цьому випадку файл

Завдання
1. Запустити в каталозі користувача інтегральне середовище Turbo Pascal (<Каталог Pascal>BinTurbo.exe). 2. Створити нову Pascal-програму (File|New). Текст програми: Begin Write(‘Hell

Загальна структура Pascal-програми
Синтаксично Pascal-програма складається з заголовку i блоку. Блок включає двi частини: описову (роздiл описiв) - опис даних, якими оперує програма, i виконавчу (роздiл операторiв) - послiдовность д

Таблиця 1
Функція Матем. вигляд Аргумент Тип аргументу Тип результ. Приклад Abs(x) S

Таблиця 2
Операція Дія Типи операндів Тип результата Бінарні:     &nb

Введення та виведення в Pascal
В мові Pascal відсутні оператори введення-виведення. Їх функцію виконують процедури READ, READLN, WRITE, WRITELN, робота яких базується на пристроях MS DOS або CP-M. Ввід даних, це передач

Завдання
1. 2.

Таблиця 4
Операцiя Назва операції Вираз Результат = <> > < >= <= рiвно нерi

Таблиця 5
Операція Дія Вираз A B Результат not   Логічне заперечення

Таблиця 6
Операція Прiоритет Вид операцiї @, not, +, - *, /, div, mod, and, shl, shr +, -, or, xor =, < >, <, >,

Завдання
Скласти програми розв’язку вказаних нижче завдань використовуючи умовні оператори IF та CASE. 1.

Масив (регулярний тип)
Масив утворюється із фіксованого числа компонентів одного типу. Число компонентів масиву є константою, яка задається при його описі. При визначенні масиву задається як тип компонентів, так і

Завдання
Варіант 1 1.   2.

Таблиця 7
Операція Функції Pascal Довжина рядка Копія фрагмента Пошук фрагмента Заміщення фрагмента Вставлення фрагмента Вилучення фра

Завдання
Варінт 1 1. Дано лiтерну змiнну довжини N, яка складається з символiв S1, S2, ...,Sn. Cкласти алгоритм та програму на PASCAL, якi дають можливiсть: 2. Вияснити чи

Завдання
1. Дано Type State = (Britain, Usa, France, Sweden, Ukrainia, Belorussia, Russia, Iraq); Senior=(Queen, King, President, Premier); За назвою країни вказати титул голови д

Множини
Множина – це структурований тип даних, що являє собою набip взаємо - пов'язаних за якоюсь ознакою або групою ознак об'ектiв, якi можна розглядати як єдине цiле. Кожний член множини називаєть

Завдання
- виконати операції над заданими множинами a i b: 1.   2.

Записи з варiантами
Записи, описанi вище, мають строго визначену структуру. В деяких випадках це обмежує їх використання. В Паскалі є можливість задати тип запису, що містить довільне число варіантів структури. Такі з

Завдання
Варіант 1 1. Скласти такі програми на алгоритмичній мові TURBO PASCAL: 2. Обчислення добутку двох комплексних чисел. 3. Обчислення різниці двох комплексн

Таблиця 8
Назва Режим Розмір екрану (в піксилях) Кількість Кольорів Кількість відеосторінок CGA

Системи координат
Верхній лівий кут графічного екрану має координати (0, 0). Значення Х (номера стовпця) збільшується зліва направо. Значення Y (номер рядка) збільшується зверху вниз. Для графічного адаптер

Завдання
1. Написати фрагмент програми, яка будує на екрані керований рухомий об’єкт – такий, що натискання клавіші приводить до відповідного переміщення; якщо ніяка клавіша не натиснута, то об’єкт не рухає

Процедури користувача
Являють собою поіменовану групу операторів, що реалізують деяку частину загальної задачі. Ця поіменована група викликається за іменем з довільного місця розділу оператарів. Опис процедури включає з

Функцii користувача
Pascal надає користувачу можливiсть самому реалiзувати потрiбнi йому алгоритми в видi функцiй i звертатися до них з програми. Опис функції складається з заголовку та тіла функції. Формат з

Параметри
Параметри процедур та функцій можуть мати довільний тип, включаючи структурований. Pascal використовує два різних види параметрів в процедурах і функціях: параметри-значення та параметри-змінні.

Завдання
Скласти програми обчислення заданих виразів з використанням функцій користувача та процедур: Варіант 1 1. Дано дійсні p, q. Обчислити де

Завдання
1. Дано текстовий файл F.txt. Виключити пробіли, що стоять у кінці його рядків. Результат помістити в файл F1.txt. 2. Дано текстовий файл F.txt. Переписати компоненти файлу F.txt в файл G.

Помилки, що виявляються DOS
1. Invalid function number(Неправильний номер функції). Ви намагаєтеся викликати неіснуючу функцію DOS. 2. File not found(Не знайдений файл). Пом

Помилки введення - виведення
Якщо один з операторів компілювався з директивою {$I+}, то помилка введення-виведення приводить до припинення виконання програми. У стані {$I-} програма продовжує виконуватися, а помилка повертаєть

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги