Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгор_ТХТК_пособие.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.6 Mб
Скачать

Var I,s,r: integer;

a : array [ 1.. n ] of integer;

begin

for i := 1 to n do {Ввод одномерного массива а}

begin

write('Введите ',i,'-й элемент массива ');

readln(a [i])

end;

write(‘Введите число для поиска');

readln(s);

for i := 1 to n do

begin

if a[i] = s then

begin

r := r + 1;

writeln('Обнаружено ',r,'-e вхождение числа ',s,' в массив а в позиции ',i);

end;

end;

if r <>0 then writeln('Число ',s,' встречается в массиве а ',r,' раз')

else writeln('Число ',s,' не встречается в массиве а’)

end.

Перед оператором ввода readln(a[i]) выполняется оператор вывода writeln('Введите ',i,'-й элемент массива '), который представляет собой подсказку для пользователя при вводе исходной информации. При i = 1 на экране высветится:

Введите 1-й элемент массива

маркер остановится в конце выведенной строки, ЭВМ приостановит выполнение программы до момента ввода пользователем численной информации.

При i = 2 на экране высветится информация:

Введите 2-й элемент массива

и так далее до конца выполнения цикла.

Пример 5.8 Найти минимальный и максимальный члены последовательности а, состоящей из 10 элементов.

Присвоим переменным min и max значение первого элемента и далее будем перебирать все элементы последовательности от 2 до n, сравнивая аi с max и с min. Если аi окажется больше, чем max, то max присваивается значение аi. Если аi окажется меньше, чем min, то min присваивается значение аi. По окончании цикла max примет значение наибольшего элемента последовательности, a min - наименьшего.

program minmax; {Поиск миним. и максим. элемента}

const n = 10;

tyре

list= 1..n;

vаг

I : list;

min, max : integer;

a : array [list] of integer;

begin

for i := 1 to n do

begin

write('Введите ',i,'-й элемент массива ');

readln(a [i])

end;

min := a[1]; max := min;

for i:= 2 to n do

begin

if a[i] > max then max := a[i];

if a[i] < min then min := a[i];

end;

write ('Максимальный элемент = ', max, ' Минимальный элемент = ',min)

end.

В программе показано, что заданная в разделе описания типов переменная list может быть использована в качестве граничной пары в описании массива.

Пример 5.9 Все члены последовательности х из 10 элементов сдвинуть на одну позицию вправо.

Каждому последующему элементу хi присваивается значение предыду­щего хi-1. Для хi такого значения не существует, следовательно, х1 = 0.

program sdvig; {Сдвиг массива на одну позицию вправо}

const n = 10;

type

mass = array [1 .. n] of integer; {Определение массивового типа}

var

I : integer;

X : mass;

begin

for i := 1 to n do

begin

write('Введите ',i,'-й элемент массива ');

readln(x[i])

end;

for i:= n downto 2 do x[i] := x[i-1]; x[1] := 0;

writeln('Результат');

for i:= 1 to n do write(x[i] :4);

end.

В программе определен новый тип данных - массивовый, состоящий из десяти компонент целого типа.

Пример 5.10 Даны три массива:a(n), b(m), c(k). Массив a(n)- упорядочен, a[i]<a[i+1]. Из a(n) - удалить m элементов с номерами, хранящимися в b(m) ,(m<n). Затем в массив a(n) - вставить k элементов, не нарушая упорядоченности из массива c(k). n-m+k 100

Program prim;

label 3;

type

mas = array [1..100] of integer;

var

a, b, c: mas;