Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_voprosy_na_ekzamen_33__33__33__33.doc
Скачиваний:
35
Добавлен:
23.09.2019
Размер:
814.08 Кб
Скачать

Вопрос 34.Понятие одномерного массива и элемента массива, формат объявления одномерного массива в программе.

Массивами пользуются тогда, когда необходимо обработать большой набор однотипных данных.

Массив в языке Паскаль – это набор фиксированного числа некоторых значений, которые называются компонентами (элементами). Все компоненты должны быть одного типа, который называют типом элементов или базовым типом. Каждый элемент массива имеет свой порядковый номер.

Каждому конкретному массиву пользователь в своей программе дает имя, которое называют полной переменной. Каждый элемент массива обозначается полной переменной и в квадратных скобках указывается номер (индекс) этого элемента в массиве. Например, a[1]- элемент массива а, который стоит на первом месте; b[I+k-1] – элемент массива b, который стоит на I+k-1 месте.

Если каждый элемент массива имеет только один индекс, то такие массивы называются одномерными. Количество элементов в массиве определяет его размерность.

Данные типа массив относятся к классу структурных данных. Такой тип объявляется в программе двумя способами:

1 способ:

Var Имя массива: Array [n..m] of тип элементов;

2 спосаб:

Type Имя типа=Array [n..m] of тип элементов;

Var Имя массива: Имя типа;

Слово TYPE, ARRAY, OF – служебные слова, переводятся соответственно тип, ряд, из. Имя типа и имя массива дает пользователь. В квадратных скобках указывается с какого числа по какое число могут быть номера (индексы) элементов данного массива, поэтому n, m– это должны быть обязательно целые числа (целые константы).

Вопрос 35.Задание элементов одномерного массива с помощью функции случайных чисел и путем ввода значений с клавиатуры.

Элементы массива можно задавать с помощью функции случайных чисел.

Задача. Дан одномерный массив, который содержит не более 20 целых чисел. Найти номер первого отрицательного элемента в данном массиве. Если отрицательных элементов нет, вывести об этом сообщение.

Решение. Будем по порядку просматривать все элементы массива. Как только найдется отрицательный элемент, просмотр необходимо закончить и зафиксировать номер этого элемента в массиве. Чтобы закончить просмотр элементов в массиве мы введем переменную k, которой в начале программы дадим значение, например, TRUE. Когда найдется отрицательный элемент, то значение переменной k поменяем на FALSE. Если же в массиве отрицательных элементов не найдется, то переменная k не изменит свое значение и останется равной TRUE. Поэтому, чтобы был выход из цикла, произведем следующее действие, если номер элемента массива при просмотре стал уже больше чем количество элементов в массиве, то насильно изменим значение переменной k на значение ложь.

Также введем переменную m, в которой сохраним номер отрицательного элемента.

Program a21;

Uses Crt;

Type mas=Array[1..20] of Integer;

Var a:mas; i,n,m:Integer; k:Boolean;

Begin

Randomize;

Writeln('Ввести размер массива');

Readln(n);

{Ввод элементов массива с помощью функции случайных чисел}

For i:=1 to n do a[i]:=Random;

{Вывод элементов массива на экран}

Writeln('Массив a:');

For i:=1 to n do Write(a[i]:6);

Writeln;

{Решение задачи}

k:=TRUE;

m:=0;

i:=1;

While k=TRUE do

Begin

If a[i]<0 Then begin m:=i; k:= FALSE; end;

i:=i+1;

If I>n Then k:= FALSE;

End;

{Вывод ответа на экран}

If m=0

Then Writeln('Отрицательных элементов нет')

Else Writeln('Первый отрицательный=',a[m]:5,' его номер=',m);

Readln;

End.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]