мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версияПоследняя версияСледующая версия справа и слева | ||
pascal:basics [04/07/2015 11:26] – oca | pascal:basics [04/07/2015 11:42] – oca | ||
---|---|---|---|
Строка 52: | Строка 52: | ||
</ | </ | ||
- | Текст в **угловых скобках** (символы < и >) требует замены "по смыслу" | + | Текст в **угловых скобках** (символы < и >) требует замены "по смыслу" |
Ещё раз обратите внимание на жёсткий порядок следования частей программы на этом уровне детализации её структуры. Все части идут именно в этом порядке и не повторяются. Но некоторые могут отсутствовать совсем. | Ещё раз обратите внимание на жёсткий порядок следования частей программы на этом уровне детализации её структуры. Все части идут именно в этом порядке и не повторяются. Но некоторые могут отсутствовать совсем. | ||
Строка 60: | Строка 60: | ||
Раздел описаний может состоять из нескольких подразделов, | Раздел описаний может состоять из нескольких подразделов, | ||
- | Подразделы могут | + | <code pascal|Простой пример раздела описаний> |
- | В примере приводится " | + | const // Начался раздел констант |
- | + | | |
- | Метки описываются там, где это удобно. | + | |
- | + | var // Начался раздел глобальных переменных, | |
- | <code pascal|Пример раздела описаний> | + | |
- | + | ||
- | const // Начался | + | |
- | | + | |
- | // Внимание - мы перекрыли системное определение Пи! | + | |
- | + | ||
- | var // Начался | + | |
// значит - закончился раздел констант | // значит - закончился раздел констант | ||
i, j : integer; | i, j : integer; | ||
r, q : real; // 2-е описание переменных | r, q : real; // 2-е описание переменных | ||
k, m : integer; | k, m : integer; | ||
- | | ||
- | const // Начался 2-й раздел констант | ||
- | n = 10; // Описание (именованной) константы | ||
- | | ||
- | type // Начался раздел типов | ||
- | A10 = array[1..n] of integer; | ||
- | // Это тип, определённый пользователем. | ||
- | // Обратите внимание - мы использовали | ||
- | // ранее описанную константу | ||
- | |||
- | var // Начался раздел переменных, | ||
- | A,B : A10; // 4-е описание переменных пользовательского типа A10 | ||
- | | ||
- | ... // Что-то ещё, возможно - ничего | ||
- | | ||
- | // Где-то здесь кончается раздел переменных | ||
- | label // Раздел меток нужен редко | + | Begin |
- | 1, endOfAll; | + | |
- | // Теперь это " | + | |
- | + | ||
- | ... // Что-то ещё, возможно - ничего | + | |
- | + | ||
- | | + | |
| | ||
// Обязательный раздел кода | // Обязательный раздел кода | ||
- | |||
... | ... | ||
- | + | End. // Конец всему (в этой программе)! | |
- | | + | |
</ | </ | ||
+ | Объекты программы могут быть связаны описанием. | ||
<code pascal|Cвязь между объектами> | <code pascal|Cвязь между объектами> | ||
Строка 120: | Строка 89: | ||
</ | </ | ||
- | Из этого правила есть единственное исключение, | + | Запомните правило - **если что-то, |
+ | |||
+ | Учтите, | ||
Ниже приведён неправильный код, где ничего не описывается заблаговременно. | Ниже приведён неправильный код, где ничего не описывается заблаговременно. | ||
Строка 150: | Строка 121: | ||
A,B : array[1 .. n] of integer; | A,B : array[1 .. n] of integer; | ||
</ | </ | ||
+ | |||
+ | === Полный пример === | ||
+ | |||
+ | Подразделы могут следовать в любом порядке и повторяться. | ||
+ | |||
+ | В примере приводится " | ||
+ | |||
+ | Метки описываются там, где это удобно. | ||
+ | |||
+ | <code pascal|Пример раздела описаний> | ||
+ | |||
+ | ... // Здесь могли бы быть заголовок и раздел импорта | ||
+ | const // Начался 1-й раздел констант | ||
+ | Pi = 4.0; // Описание (именованной) константы | ||
+ | // Внимание - мы перекрыли системное определение Пи! | ||
+ | |||
+ | var // Начался 1-й раздел глобальных переменных, | ||
+ | // значит - закончился раздел констант | ||
+ | i, j : integer; | ||
+ | r, q : real; // 2-е описание переменных | ||
+ | k, m : integer; | ||
+ | | ||
+ | const // Начался 2-й раздел констант | ||
+ | n = 10; // Описание (именованной) константы | ||
+ | | ||
+ | type // Начался раздел типов | ||
+ | A10 = array[1..n] of integer; | ||
+ | // Это тип, определённый пользователем. | ||
+ | // Обратите внимание - мы использовали | ||
+ | // ранее описанную константу | ||
+ | |||
+ | var // Начался раздел переменных, | ||
+ | A,B : A10; // 4-е описание переменных пользовательского типа A10 | ||
+ | | ||
+ | ... // Что-то ещё, возможно - ничего | ||
+ | | ||
+ | // Где-то здесь кончается раздел переменных | ||
+ | |||
+ | label // Раздел меток нужен редко | ||
+ | 1, endOfAll; | ||
+ | // Теперь это " | ||
+ | | ||
+ | ... // Что-то ещё, возможно - ничего | ||
+ | | ||
+ | Begin | ||
+ | | ||
+ | // Обязательный раздел кода | ||
+ | |||
+ | ... | ||
+ | | ||
+ | End. // Конец всему (в этой программе)! | ||
+ | </ | ||
+ | |||
+ | |||