В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История

Сформировать очередь, элементами которого являются целые числа. написать процедуру add, которая вставляет элемент в очередь и процедуру delete, которая удаляет элемент из очереди.

Показать ответ
Ответ:
stigma70
stigma70
12.09.2020 01:39

Лабораторная работа № 8. Работа с массивами

Теоретические сведения

Массив – это упорядоченный набор данных одного типа, снабженных индексами.

Индексы предназначены для нахождения определенного элемента массива, т.е. положение каждого элемента в массиве определяется его индексом. В этом и заключается упорядоченность. Тип компонент называется базовым типом массива.

В VBA массив рассматривается как переменная структурированного типа. Массиву присваивается имя, посред­ством которого можно ссылаться на него, как на единое целое, так и на любую из его компонент. Переменная с индексом — идентификатор компоненты мас­сива. Формат записи:

<имя массива> (<индекс>), где индекс может быть выражением порядкового типа.

Видим, что индексы принято указывать в круглых скобках после имени массива. По умолчанию нумерация элементов массива начинается с 0. Говорят, что 0 – базовый индекс.

Например, если А – массив из пяти чисел: 2, 3, 7, 9, 6, то А (0) = 2 – первый элемент массива, А (4) = 6 – последний.

Описание массива определяет имя, размер массива, базо­вый тип и производится в разделе переменных. В VBA имеются следующие описания массивов:

1.             <имя массива> (<номер последнего элемента>) [As <тип>]

2.             <имя массива> (<начальный индекс> To <конечный индекс>) [As <тип>]

Отметим, что второй позволяет изменить базовый индекс. Другим изменения базового индекса является использование оператора Option Base, который имеет следующий синтаксис:

Option Base <базовый индекс>

<базовый индекс> – единица или ноль.

Этот оператор применяется перед процедурой, аналогично оператору Option Explicit.

Например, для изменения базового индекса с 0 на 1 используется оператор Option Base 1.

Массив A, который был рассмотрен, требует одного индекса для указания любого элемента. Такой массив называется одномерным (или линейным) В одномерных массивах хра­нятся значения линейных таблиц. Примеры описания одно­мерных массивов:

1.             Dim A (12) As Byte

2.             Dim A (1 To 12) As Byte

3.             Dim Bin (5) As Integer

4.             Dim Str_mass (4) As String

5.             Dim K (7)

6.             Dim L (0 To 3)

Заполнение массива в программе производится поэлементно. Чаще всего для этого используется цикл с параметром, где в качестве параметра применяется индексная переменная. Возможно заполнение массива путем простого присвоения значения элементам:

Dim B (1 To 3) As Integer

B (1) = 2

B (2) = 18

B (3) = 6

Удобным определения одномерных массивов является функция Array, преобразующая список элементов, разделенных запятыми, в вектор из этих значений, и присваивающая их переменной типа Variant.

Dim A As Variant

A = Array (10, 20, 35, 70)

Иногда в процессе выполнения программы требуется изменять размер массива. В этом случае первоначально массив объявляют как динамический. Для этого при объявлении массива не указывают его размерность. Например,

Dim R () As Single

В программе следует вычислить необходимый размер массива и связать его с некоторой переменной, например, n; затем изменить размер динамического массива с оператора ReDim:

ReDim [Preserve] Имя (<номер последнего элемента>) [As <тип>]

ReDim [Preserve] Имя (<начальный индекс> To <конечный индекс>) [As <тип>]

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

0,0(0 оценок)
Ответ:
detsadraduga10
detsadraduga10
24.04.2023 01:54
Program aaa;
var A: array[1..100,1..100] of integer; n,k,r,c,x: integer; i,j: byte;
begin 
 randomize;
 writeln ('Введите N, K, R, C');
 readln (n,k,c,r);
 x:=0;
 for i:=1 to n do begin
    for j:=1 to n do begin
        writeln ('Введите ',j,'-е число ',i,'-ой строки');
        readln (A[i,j]);
        //или можно ввести рандомно: A[i,j]:=random(0,1);
        if ((i>(r-k)) and (i<=r) and (j>(c-k)) and (j<=c) and (A[i,j]=1))
            then x:=x+1
    end
  end;
writeln;
// в следующем цикле выводится весь массив для наглядности
// его можно просто убрать если не нужен
      for i:=1 to n do begin
          for j:=1 to n do begin
              write (A[i,j]:3);
          end;
          writeln
      end;  
  writeln;
  writeln (x)
end.    
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота