Олег Деревенец - Песни о Паскале

Тут можно читать онлайн Олег Деревенец - Песни о Паскале - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-db. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Песни о Паскале
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4.5/5. Голосов: 21
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Олег Деревенец - Песни о Паскале краткое содержание

Песни о Паскале - описание и краткое содержание, автор Олег Деревенец, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Аннотация: Изложены основы программирования на языке Паскаль. По ходу обучения решаются десятки задач (использован проектный подход). От читателя не требуется начальных познаний в программировании, но круг затронутых тем ориентирует его в профессиональную область. Книга адресована школьникам средних и старших классов, желающим испытать себя в «олимпийских схватках». Будет полезна студентам-первокурсникам и преподавателям информатики.

Песни о Паскале - читать онлайн бесплатно полную версию (весь текст целиком)

Песни о Паскале - читать книгу онлайн бесплатно, автор Олег Деревенец
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Разработчики IDE Pascal ABCNet стремились, очевидно, к совместимости её со «стандартной» IDE Borland Pascal в той мере, насколько это возможно. Но объектная технология «точка Net» диктует своё, – полной совместимости не получилось.

Рис183 Просмотр переменных в пошаговом режиме Так например в данной IDE - фото 254
Рис.183 – Просмотр переменных в пошаговом режиме

Так, например, в данной IDE не существует встроенной функции Assigned. Но вы можете написать её сами.

function Assigned (p: pointer): boolean;

begin

Assigned:= p <> nil

end;

Ниже перечислены другие особенности Pascal ABCNet, которые следует учесть при переделке примеров данной книги.

• Отсутствует процедура FillChar. Записи и массивы нужно заполнять явным образом.

• Нельзя назначать файловым переменным пустое имя, связывая их, таким образом, с экраном и клавиатурой.

• Под символ отводится не один, а два байта (используется UNICODE).

• Строки являются объектами, поэтому доступ к нулевому элементу (байту длины) невозможен.

Приложение Г

Зарезервированные слова

Ключевые слова, которые нельзя применять по иному назначению.

Ключевое слово Назначение
AND Операция логического умножения «И»
ARRAY Объявление массива
ASM Начало блока инструкций на ассемблере
BEGIN Начало блока операторов
CASE Начало оператора множественного выбора
CONST Начало секции объявления констант
CONSTRUCTOR Объявление конструктора объекта
DESTRUCTOR Объявление деструктора объекта
DIV Операция целочисленного деления
DO Элемент операторов FOR, WITH, WHILE
DOWNTO Элемент оператора цикла FOR-DOWNTO-DO
ELSE Элемент условных операторов IF, CASE
END Завершение блоков BEGIN-END, CASE-END, ASM-END, RECORD-END
EXPORTS Объявление списка экспорта для DLL
FALSE Логическое значение «ЛОЖЬ»
FILE Тип файловой переменной
FOR Элемент оператора цикла FOR-TO-DO
FUNCTION Объявление функции
GOTO Безусловный переход на метку
IF Элемент условного оператора IF-THEN-ELSE
IMPLEMENTATION Объявление секции реализации модуля
IN Проверка принадлежности элемента множеству
INHERITED Квалификатор унаследованного метода объекта
INLINE Оператор вставки ассемблерных кодов
INTERFACE Объявление секции интерфейса модуля
LABEL Объявление меток
LIBRARY Объявление библиотечного модуля
MOD Операция нахождения остатка от деления
NIL Пустой указатель
NOT Логическое отрицание «НЕ»
OBJECT Объявление типа «объект»
OF Элемент оператора CASE-OF-END
OR Логическое сложение «ИЛИ»
PACKED Объявление упакованного массива (устарело)
PROCEDURE Объявление процедуры
PROGRAM Объявление программы
RECORD Начало объявления записи RECORD-END
REPEAT Элемент оператора цикла с проверкой в конце REPEAT-UNTIL
SET Объявление множества SET OF
SHL Операция сдвига влево
SHR Операция сдвига вправо
STRING Объявление строкового типа
THEN Элемент условного оператора IF-THEN-ELSE
TO Элемент оператора цикла FOR-TO-DO
TRUE Логическое значение «ИСТИНА»
TYPE Начало секции объявления типов
UNIT Объявление имени модуля
UNTIL Элемент оператора цикла с проверкой в конце REPEAT-UNTIL
USES Объявление внешних модулей
VAR Начало секции объявления переменных
WHILE Элемент оператора цикла с проверкой в начале WHILE-DO
WITH Элемент оператора раскрытия записи WITH-DO
XOR Логическое сравнение («ИСКЛЮЧАЮЩЕЕ ИЛИ» )

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

Директива Назначение в Borland Pascal
ABSOLUTE Назначение переменной абсолютного адреса в памяти
ASSEMBLER Объявление процедуры на ассемблере
EXPORT Список экспорта
EXTERNAL Объявление внешних имен для ассемблера
FAR Спецификатор процедуры с «дальним» вызовом
FORWARD Предварительное определение процедуры или функции
INDEX Указание индекса процедуры в DLL
INTERRUPT Спецификатор процедуры обработки прерывания
NAME Импорт процедуры из DLL по имени
NEAR Спецификатор процедуры с «ближним» вызовом
PRIVATE Начало секции приватных полей объекта
PUBLIC Начало секции публичных полей объекта
RESIDENT Спецификатор резидентного элемента DLL
VIRTUAL Спецификатор виртуального метода объекта

Приложение Д

Ошибки компиляции

Номер ошибки Сообщение Пояснение
1 Out of memory Недостаточно оперативной памяти для работы компилятора. Воспользуйтесь средствами расширения оперативной памяти MS–DOS.
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 Строковая константа превышает допустимый размер (255 символов). Вероятно, пропущена закрывающая кавычка.
10 Unexpected end of file Неожиданное завершение программы. Вероятно, не сбалансировано число зарезервированных слов begin и end, неправильно оформлен файл.
11 Line too long Компилируемая строка программы превышает 127 символов.
12 Type identifier expected В данном месте программы требуется идентификатор типа.
13 Too many open files Попытка открыть в среде программирования количество файлов больше, чем допускается в операционной системе. Максимальное число одновременно открываемых файлов определяется строкой FILES=NN в файле CONFIG.SYS.
14 Invalid file name Неверный путь или имя файла.
15 File not found Файл не найден ни в текущем, ни в заданном каталоге.
16 Disk full Недостаточно места на диске, куда записывается информация.
17 Invalid compiler directive Ошибка в директиве компилятора, или она используется в недопустимом месте.
18 Too many files Слишком много файлов используется при компиляции.
19 Undefined type in pointer def При определении типа-указателя используется неизвестный базовый тип.
20 Variable identifier expected В данном месте программы должен быть идентификатор переменной.
21 Error in type Ошибка в определении типа.
22 Structure too large Размер данных превышает ограничение в 65520 байт.
23 Set base type out of range Тип-множество имеет более 256 элементов или содержит элементы с порядковым номером за пределами 0..255.
24 File components may not be files or objects Компонентами файловой переменной не могут быть файлы или объекты.
25 Invalid string length Неверная длина строки (максимум 255 символов).
26 Type mismatch Несовместимые типы в операциях присваивания, в выражениях или у индекса массива. Тип фактического параметра при обращении к подпрограмме не соответствует типу формального параметра.
27 Invalid subrange base type В типе-диапазоне может использоваться только порядковый тип.
28 Lower bound > than upper bound В типе-диапазоне нижняя граница больше, чем верхняя.
29 Ordinal type expected Здесь может использоваться только порядковый тип.
30 Integer constant expected Здесь можно использовать только константу целого типа.
31 Constant expected Здесь можно использовать только константу.
32 Integer or real constant expected Здесь можно использовать только числовую константу.
33 Pointer Type identifier expected Здесь должен быть указатель.
34 Invalid function result type Недопустимый тип результата функции.
35 Label identifier expected Здесь должен быть идентификатор метки.
36 BEGIN expected Здесь ожидается зарезервированное слово BEGIN.
37 END expected Здесь ожидается зарезервированное слово END.
38 Integer expression expected Выражение должно быть целого типа.
39 Ordinal expression expected Выражение должно быть порядкового типа.
40 Boolean expression expected Выражение должно быть логического типа.
41 Operand types do not match Типы операндов не совместимы друг с другом.
42 Error in expression Ошибка, в выражении (например, пропущен знак операции между операндами).
43 Illegal assignment Неправильно присвоено значение переменной.
44 Field identifier expected Требуется указать поле записи.
45 Object file too large Размер объектного файла превышает 64 кбайта.
46 Undefined EXTERN Не найдена внешняя процедура или функция.
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 Неправильное использование директивы EXTRN в подпрограмме, написанной на ассемблере.
53 Too many EXTRN definitions Слишком много директив EXTRN.
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 Заголовок подпрограммы объявлен с директивой FORWARD, но сама подпрограмма далее не описана.
61 Invalid typecast Неверное приведение типов. При преобразовании типа величины исходного и результирующего типа имеют различные размеры.
62 Division by zero Попытка деления на нуль.
63 Invalid file type Эта процедура работы с файлом не поддерживает данный тип файла.
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 Циклическая ссылка модулей друг на друга. Необходимо поместить ссылку на модули (USES) в секции IMPLEMENTATION.
69 Unit name mismatch Имена модуля и файла, в котором он находится, не совпадают.
70 Unit version mismatch Один или несколько используемых модулей изменены после их компиляции (несоответствие версий модулей). Необходимо выполнить их повторную компиляцию.
71 Internal stack overflow Внутренний стек компилятора переполнен из-за глубокой вложенности операторов.
72 Unit file format error Ошибка в формате скомпилированного модуля. Возможно, он был скомпилирован предыдущей версией компилятора.
73 Implementation expected Пропущено объявление исполнительной части модуля.
74 Constant and case types don't match Недопустимое значение константы.
75 Record or object variable expected Переменная должна иметь тип записи или объекта.
76 Constant out of range Используемая константа имеет недопустимое значение.
77 File variable expected Эта переменная должна быть файлового типа.
78 Pointer expression expected Это выражение должно иметь тип указателя.
79 Integer or real expression expected Это выражение должно быть числовым.
80 Label not within current block Метка находится за пределами данного блока.
81 Label already defined Повторное использование метки.
82 Undefined label in preceding stmt 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 Files types are not allowed here Файловый или процедурный тип здесь не допускается.
100 String length mismatch Длина строковой константы не соответствует размеру массива символов.
101 Invalid ordering of fields Порядок следования полей в типизированных константах типов записи или объекта должен соответствовать порядку их следования при объявлении типа.
102 String constant expected Здесь должна быть строковая константа.
103 Integer or real variable expected Здесь должна быть числовая переменная целого или вещественной типа.
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 используются вне циклов For, While или Repeat.
110 Cannot run a unit Программный модуль выполнить нельзя, необходимо написать программу, вызывающую этот модуль.
111 Compilation aborted Компиляция прервана пользователем
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 to compile Типы Single, Double, Extended и Comp можно использовать только при наличии арифметического сопроцессора.
117 Target address not found При использовании команды меню «Search | Find error» нельзя найти оператор для заданного адреса.
118 Include files are not allowed here В данном месте нельзя использовать файл, подключаемый директивой {$I filename}. Оператор должен полностью находиться в одном файле.
119 No inherited methods are accessible here Зарезервированное слово inherited использовано за пределами метода объекта или внутри метода объекта, у которого нет предков.
121 Invalid qualifier Неправильный квалификатор, попытка задать индекс у параметра, не являющегося массивом.
122 Invalid variable reference Неправильная ссылка на переменную, вероятно, не разыменован указатель.
123 Too many symbols Символические имена программы занимают больше, чем 64 Кбайт. Следует попробовать разделить программу на части.
124 Statement part too large Блок программы занимает более 24 Кбайт. Необходимо разбить его на процедуры и функции.
126 Files must be var parameters Файловую переменную можно передавать в подпрограмму только по ссылке VAR.
127 Too many conditional symbols Слишком много символов у параметра условной компиляции.
128 Misplaced conditional directive Пропущена часть директивы условной компиляции.
130 Error in initial conditional defines Ошибка в директиве условной компиляции
131 Header does not match previous definition Заголовок процедуры не соответствует заголовку, объявленному с директивой FORWARD, или заготовку в интерфейсной части модуля.
133 Cannot evaluate this expression Нельзя вычислить константное выражение или выражение, используемое в окне отладки.
134 Expression incorrectly terminated Неправильно завершено выражение.
135 Invalid format specifier Неправильная спецификация формата.
136 Invalid indirect reference Неправильная косвенная ссылка.
137 Structured variables are not allowed here Недопустимая операция над структурированными данными.
138 Cannot evaluate without System unit В библиотечном файле Turbo.tpl отсутствует модуль System.
139 Cannot access this symbol Нет доступа к этому символу.
140 Invalid floating-point operation Переполнение при операциях с вещественными числами или деление на ноль.
141 Cannot compile overlays to memory Программа, использующая оверлеи, должна быть скомпилирована на диск.
142 Pointer or procedural variable expected Здесь должен быть указатель или переменная процедурного типа.
143 Invalid procedure or function reference Неправильный вызов процедуры или функции. Возможно, её требуется скомпилировать в режиме {$F+}.
144 Cannot overlay this unit Попытка использовать модуль в оверлейной программе, который не скомпилирован с директивой {$O+}.
146 File access denied Неправильное обращение к файлу (например, запись в файл, доступный только для чтения, или используется имя каталога, а не файл).
147 Object type expected Здесь должна быть переменная типа объект.
148 Local object types are not allowed Нельзя определять переменную типа объекта внутри подпрограммы (локально).
149 Virtual expected Этот метод должен быть виртуальным.
150 Method identifier expected Здесь должен быть идентификатор метода.
151 Virtual constructors 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 Нельзя использовать эту команду для процессоров 80286/80287.
160 Invalid symbol reference Этот параметр нельзя использовать как операнд в команде ассемблера.
162 ASM expected Здесь должно быть зарезервированное слово ASM.

Приложение Е

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Олег Деревенец читать все книги автора по порядку

Олег Деревенец - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Песни о Паскале отзывы


Отзывы читателей о книге Песни о Паскале, автор: Олег Деревенец. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x