Инструменты пользователя

Инструменты сайта


ob:o7:example:array

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
ob:o7:example:array [2021/11/10 16:57]
iadenisov
ob:o7:example:array [2021/12/20 23:18] (текущий)
iadenisov
Строка 1: Строка 1:
 ====== Массивы ====== ====== Массивы ======
  
-Любой [[https://visual.sfu-kras.ru/oberon#sec61|элементарный тип]] возможно разместить в массиве. Нумерация элементов начинается с единицы. Длина массива определяется с помощью процедуры ''LEN''.+Любой [[https://visual.sfu-kras.ru/oberon#sec61|элементарный тип]] возможно разместить в массиве. 
 + 
 +Нумерация элементов начинается с нуля. 
 + 
 +Длина массива определяется с помощью процедуры ''LEN''.
  
 <code> <code>
 MODULE ExamplesArray1; MODULE ExamplesArray1;
  
- VAR a1: ARRAY 100 OF INTEGER;+ VAR a1: ARRAY 100 OF INTEGER;   (* 100 * 4 байта = 400 байт *)
  
 BEGIN BEGIN
  
- a[0] := 7; + a1[0] := 7;   
- a[1] := LEN(a);+ a1[1] := LEN(a1);
  
 END ExamplesArray1. END ExamplesArray1.
 </code> </code>
  
 +Массивы могут иметь несколько измерений.
 +
 +<code>
 +MODULE ExamplesArray2;
 +
 + VAR a2: ARRAY 100, 50 OF INTEGER;
 +
 +BEGIN
 +
 + a2[0, 49] := 7;
 + a2[1, 45] := LEN(a2[0]);
 +
 +END ExamplesArray2.
 +</code>
 +
 +**При объявлении массива его нельзя сразу заполнить данными, как в Си.** 
  
  
 +Компилятор и система исполнения гарантирует проверку выхода за границы массива. В этом случае микроконтроллер будет перезагружен. Информация об ошибке сохранится и может быть использована для [[ob:o7:debug|отладки]] и обработки аварийной ситуации.
ob/o7/example/array.1636552666.txt.gz · Последнее изменение: 2021/11/10 16:57 — iadenisov