мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версияПоследняя версияСледующая версия справа и слева | ||
pascal:errors [22/10/2009 02:02] – ybezrukov | pascal:errors [09/10/2010 14:14] – oca | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
===== Типичные ошибки ===== | ===== Типичные ошибки ===== | ||
+ | <code pascal> | ||
+ | |||
+ | </ | ||
+ | |||
+ | <code pascal> | ||
+ | const | ||
+ | k = 5; { Это - " | ||
+ | m : integer = 5; { Это не константа, | ||
+ | | ||
+ | var | ||
+ | n : integer; | ||
+ | | ||
+ | Ak : array [1..k] of ... ; { Так - можно } | ||
+ | Am : array [1..m] of ... ; { Так - нельзя. Значения переменные получают только после распределения памяти } | ||
+ | An : array [1..n] of ... ; { Так - тоже. По той же причине } | ||
+ | | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Примечание. Паскаль и другие универсальные языки программирования позволяют создавать массивы уже после начала выполнения программы через | ||
+ | |||
+ | <code pascal> | ||
+ | var | ||
+ | gd, gm : integer; | ||
+ | initgraph(gd, | ||
+ | | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | <code pascal> | ||
+ | var | ||
+ | i,j : integer; | ||
+ | |||
+ | begin | ||
+ | var | ||
+ | gd, gm : integer; | ||
+ | initgraph(gd, | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | <code pascal> | ||
+ | var | ||
+ | i, j : integer; | ||
+ | A, B : array [1...10] of integer; | ||
+ | ... | ||
+ | | ||
+ | begin | ||
+ | ... | ||
+ | | ||
+ | {Это - верно} | ||
+ | i := j; | ||
+ | A := B; | ||
+ | | ||
+ | {Верно при правильных значения i и j} | ||
+ | A[i] := B[j]; | ||
+ | A[i] := j; | ||
+ | i := B[j]; | ||
+ | | ||
+ | {А вот так - всегда неверно.} | ||
+ | A := i; // Нельзя заполнить массив одним числом (увы!) | ||
+ | j := B; // Непонятно, | ||
+ | ... | ||
+ | end. | ||
+ | </ | ||
+ | |||
<code pascal> | <code pascal> | ||
writeln(x: | writeln(x: |