- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Одномерные массивы
Ранее рассматривались простые типы данных (скалярные). Все скалярные типы, кроме вещественных, являются порядковыми типами (значения любого порядкового типа могут быть упорядочены так, что компьютерное представление каждого следующего значения есть двоичное число, на единицу больше предыдущего.
Из элементов простых типов в языке Pascalможно образовывать составные типы данных (структуры данных). Примером такой структуры является векторный тип данных – одномерный массив.
Массив - это структура, представляющая собой упорядоченную совокупность элементов одного типа, объединенных одним именем.
Каждому массиву, используемому в программе, выделяется место в памяти.
Массиву отводится не одна ячейка, а последовательность расположенных друг за другом ячеек, в каждую из которых записывается значение соответствующего элемента.
Для получения доступа к элементу массива используется индекс

Объявление массива
Перед использованием массив, как и любая переменная должен быть объявлен. Для этого необходимо: определить имя массива, тип массива, число элементов.
Объявление массива в разделе описания переменных:
Var имя:ARRAY[1..N] OF тип;
Например
Var A:Array[1..10] of Integer; VarTem:Array[1..100] of Real; Const m=10;
Var a : array [1.. m] of integer; Var R:Array [-20..20] of Real; Var N:Array ['A'..'Z'] of Integer; Объявление массива как пользовательский тип данных:
Type t=array[1..10] of integer;
Vara : t;
Заполнение массива
Заполнение массива с клавиатуры: fori:=1 toNdobegin
write('a[', i, ']=');
read ( a[i] );
end;
Заполнение с использованием генератора случайных чисел: randomize;
for i:=1 to N do begin
a[i]:=random(B-A)+A; {заполнение случайных чисел из диапазона [A;B-A)}
writeLn(a[i]:10:5);
еnd;
Заполнение массивапо формуле: for i:=1 to N do a[i]:=2*i+1;
Выводмассива
Встолбик:
For i:=1 to N do Writeln(a[i]:4:2);
Встрочку:
For i:=1 to N do Write(a[i]:4:2);
Изменение элементов массива удовлетворяющих условию
Fori:=1 to N do If (условие) then a[i]:=значение
Изменения:
a [ i ] := - a [ i ] – заменить i-ый элемент на противоположный по знаку
a [ i ] := a [ i ] * 2 – удвоить каждый элемент массива
a [ i ] := a [ i - 1]+3 –заменить i-ый элемент предшествующим плюс 3
Алгоритмы работы с массивами
Задача 1.
Написать программу, которая сначала должна обеспечить ввод 5 чисел в одномерный массив, затем вычислить их сумму и вывести ее на экран.
Program Sum_mas;
usesCrt;
Var i: integer; Sum : real;
M : array [1..5] of Real;
begin
Clrscr;
For i:=1 to 5 do begin
write ('m[',i,']=');
readln(m[i]);
end;
sum:=0;
For i:=1 to 5 do
Sum:=sum+m[i];
Writeln ('Sum=',sum:6:2);
readln; end.
Задача 2.
Заполнить массив случайными числами и вывести его на экран компьютера.
Program Random_mas;
usesCrt;
Var i: integer;
Ran : array [1..10] of integer;
begin
Clrscr;
Randomize;
For i:=1 to 10 do begin
ran[i]:=random(100);
writeln(ran[i]);
end;
readln; end.
Задача 3.
Определить, содержит ли массив A[1..20] случайных чисел число Х, введенное с клавиатуры.
Program Poisk_mas;
usesCrt;
Var i, x: integer; A : array [1..20] of integer;
c: boolean;
begin
Clrscr; Randomize;
Write ('ZadaytechisloX '); readln (x);
writeln;
c:=False;
For i:=1 to 20 do begin
a[i]:=random(10);
writeln(A[i]);
if a[i]=x then c:=True;
end;
writeln; writeln (c);
readln; end.
Задача 4.
Заполнить массив значениямипо формуле:
a[i]:=sin i *i2. Вывести элементы этого массива на экран компьютера и найти максимальное значение среди них.
Program Max_mas;
usesCrt;
Var i:integer; max: real;
A : array [1..10] of real;
begin
Clrscr;
For i:=1 to 10 do
begin
a[i]:=sin(i)*sqr(i);
writeln(A[i]:8:3);
end;
max:=A[1];
For i:=2 to 10 do
if a[i]> max then max:=a[i];
writeln;
writeln ('max=', max:8:3);
readln;end.
Задачи для самостоятельного решения:
Заполнить массив целыми положительными и отрицательными числами из интервала [-10, 10] и вывести его в строчку. Поменять знаки элементов массива на противоположные и повторно вывести массив на экран в строчку. Написать программу, осуществляющую заполнение и вывод на экран массива состоящего из 10 элементов последовательностью 1,3,5,7,... Написать программу, осуществляющую заполнение и вывод на экран массива состоящего из 10 элементов последовательностью 4,7,13,25,... Написать программу, осуществляющую заполнение и вывод на экран массива состоящего из 10 элементов последовательностью 1,-1,1,-1,... Написать программу, осуществляющую заполнение массива из 10 элементов случайными числами из интервала от -5 до 5 и вывода их в строчку. Написать программу, заполняющую массив из 10 элементов по следующему правилу: А(i) = (2*i – 1)/sin (i); Найдите 6-ой член последовательности A(i)=A(i-1)*A(i-1)+1 , если А(1)=5. Заполнить массив из 15 элементов числами из интервала от -10 до 10 вывести в строчку и повторно вывести в строчку, но в обратном порядке. Заполнить массив из 16 элементов числами из интервала от -10 до 10 вывести в строчку и поменять пары элементов стоящие на четных местах с элементами стоящими на нечетных местах, массив вывести повторно. Заполнить массив из 10 элементов с клавиатуры целыми положительными и отрицательными числами и вывести на экран в строчку только отрицательные числа. Написать программу, осуществляющую заполнение массива случайными числами из интервала от -10 до 10, вывести его на экран, а затем все элементы из интервала от -5 до 5 увеличить на 1, массив повторно вывести на экран. Заполнить массив из 15 элементов числами из интервала от -10 до 10 вывести в строчку, и повторно вывести в строчку заменив элементы не большие 3 их кубами. Заполнить массив из 15 элементов числами из интервала от -10 до 10 вывести в строчку и повторно вывести в строчку, заменив все четные элементы на число 100. Заполнить массив из 15 элементов числами из интервала от -10 до 10 вывести в строчку и повторно вывести в строчку заменив все элементы стоящие на четных местах на число 5. Заполнить массив из 15 элементов целыми числами с клавиатуры, и вывести на экран те элементы, у которых номер совпадает со значением. Заполнить массив из 15 элементов числами из интервала от -10 до 10 вывести в строчку и вывести на экран порядковые номера : отрицательных элементов, положительных элементов, ненулевых элементов, элементов больше заданного числа М равных первому элементу массива равных последнему элементу массива. Составить программу определяющую сколько раз число К встречается среди элементов массива А(5) . Число и массив ввести с клавиатуры. Заполнить с клавиатуры массив из 10 чисел целыми и дробными числами и вывести на экран порядковые номера целых элементов массива. Заполнить с клавиатуры массив из 10 чисел целыми числами и вывести на экран номера рядом стоящих нулей. Дан массив А размера N, введенный с клавиатуры. Найти его локальные максимумы. (Локальный максимум – это элемент массива, который больше любого из своих соседей.) Дан массив из 40 случайных чисел из интервала [-10; 10]. Вывести его в строку и найти: а)
б)
в)
г)
Дан массив из 10 случайных чисел из интервала [-25; 25]. Вывести его в строку и найти: а)
б)
в)
г) 
Дан массив из 15 целых чисел заполненный случайными числами из интервала [0; 20]. Найти сумму элементов массива, значения которых не превышает 10. Дан массив из 15 целых чисел заполненный случайными числами из интервала [0; 20]. Определить сумму элементов имеющих четные порядковые номера. Дан массив из 20 целых чисел заполненный случайными числами из интервала [-15; 15]. Найти сумму элементов от элемента с номером А до элемента с номером В. А и В вводятся с клавиатуры. В массив из 10 элементов записаны оценки группы учащихся. Составить программу, выводящую на экран количество оценок 2,3,4 и 5. В массиве из 20 элементов заполненном целыми числами из интервала [0; 15] найти число пар соседних элементов являющихся четными числами. В массиве из 20 элементов заполненном целыми числами из интервала [10; 100] найти количество четных чисел оканчивающихся на цифру 4. В массиве из 20 элементов заполненном целыми числами из интервала [0; 1000] найти количество четных двузначных чисел. Дан массив из 10 целых чисел заполненный случайными числами из интервала [-15; 15]. Определить является ли произведение элементов массива имеющих нечетные порядковые номера четным числом. Дан массив из 10 целых чисел заполненный случайными числами из интервала [0; 15]. Определить является ли сумма элементов массива, значение которых меньше 8, четным числом. Дан массив из 20 целых чисел заполненный случайными числами из интервала [0; 15]. Определить среднее арифметическое элементов массива больших некоторого числа P. Дан массив из 20 целых чисел заполненный случайными числами из интервала [0; 15]. Определить среднее арифметическое нечетных элементов массива. Дан массив из 20 целых чисел заполненный случайными числами из интервала [-15; 15]. Определить среднее арифметическое элементов массива стоящих на четных местах. Дан массив из 15 целых чисел заполненный случайными числами из интервала [0; 20]. Выведите этот массив в строку и найдите количество четных элементов массива, которые меньше среднего арифметического его элементов Дан массив из 15 целых чисел заполненный случайными числами из интервала [-20; 20]. Определить частное от деления суммы положительных элементов массива на модуль суммы отрицательных элементов. Дан массив из 15 целых чисел заполненный случайными числами из интервала [-20; 20]. Определить что больше сумма положительных элементов или модуль суммы отрицательных элементов. . Дан массив из 15 целых чисел заполненный случайными числами из интервала [-20; 20]. Определить, что больше среднее арифметическое элементов массива стоящих на четных местах или среднее арифметическое положительных элементов массива. Дан массив из 15 целых чисел заполненный случайными числами из интервала [-20; 20]. Определить, количество элементов больших суммы всех элементов массива и вывести из порядковые номера на экран. Заполнить массив из 15 элементов числами из интервала от -10 до 10 вывести в строчку и вывести на экран порядковый номер наибольшего элемента массива. Дан массив из 20 элементов заполненный случайными целыми числами из интервала [-10, 10]. Выведите этот массив в строку и найдите наибольший элемент, лежащий между 5 и 15 элементами данного массива. Дан массив из 20 элементов заполненный случайными целыми числами из интервала [-10, 10]. Выведите этот массив в строку и найдите наибольший элемент среди четных элементов массива. Дан массив из 20 элементов заполненный случайными целыми числами из интервала [-10, 10]. Выведите этот массив в строку и найдите наибольший элемент среди отрицательных элементов массива. Дан массив из 20 элементов заполненный случайными целыми числами из интервала [-10, 10]. Выведите этот массив в строку и найдите наименьший элемент среди элементов с нечетными порядковыми номерами. Дан массив из 20 элементов заполненный случайными целыми числами из интервала [-10, 10]. Выведите этот массив в строку и найдите сколько раз в данном массиве встречается максимальный по величине элемент. Дан массив из 20 элементов заполненный случайными целыми числами из интервала [-10, 10]. Выведите этот массив в строку, найдите минимальный элемент, и если их несколько, выведите их порядковые номера. Дан массив из 10 целых положительных чисел, заполненный с клавиатуры. Найти максимальный и минимальный элемент в массиве и определить, на сколько максимальный элемент больше минимального. Заполнить массив из 15 элементов числами из интервала от -10 до 10 вывести в строчку, найти наименьший элемент и при повторном выводе на экране этот элемент не выводить. Дан массив из 10 целых положительных чисел, заполненный с клавиатуры. Найти максимальный и минимальный элемент в массиве и поменять их местами. Дано число R и массив А размера N, заполненный с клавиатуры. Найти элемент массива, который наиболее близок к числу R. (то есть такой элемент Ai, для которого величина |Ai - R| является минимальной. Дан массив А размера N, заполненный с клавиатуры. Найти два соседних элемента, сумма которых максимальна. Дано число R и массив А размера N, заполненный с клавиатуры. Найти два соседних элемента массива, сумма которых наиболее близка к числу R. (то есть такие элементы Ai и Аi+1 для которых величина |(Ai + Аi+1)- R| является минимальной. Дан массив А размера N, введенный с клавиатуры. Найти наибольший из его локальные минимумов. (Локальный минимум – это элемент массива который меньше любого из своих соседей.) Дан массив А размера N, введенный с клавиатуры и заполненный нулями и единицами. Найти наибольшее количество идущих подряд единиц. Удалите из массива, состоящего из 10 элементов, заполненного с клавиатуры: (элементы, про которые говорится в задачах, обязательно присутствуют в массиве) Последняя цифра которых 5 Последняя цифра которых четная и само число делится на нее Кратные 7 из интервала от [a, b], (a и b вводятся с клавиатуры) Значения которых меньше нуля Больше числа А введенного с клавиатуры Четные элементы, стоящие на нечетных местах Кратные 3 или 5 Вставьте число k в массив состоящий из 10 элементов, заполненный с клавиатуры: (элементы, про которые говорится в задачах, обязательно присутствуют в массиве) После всех элементов кратных своему номеру Перед всеми элементами заканчивающимися на цифру 1 Перед всеми элементами кратными числу 3 После максимального элемента После всех отрицательных элементов Перед всеми элементами большими k Дан массив из 10 целых положительных и отрицательных чисел. Перепишите в другой массив элементы, стоящие на четных местах. Дан массив из 10 целых положительных и отрицательных чисел. Перепишите в другой массив четные положительные элементы. Дан массив из 20 целых положительных и отрицательных чисел. Сформируйте два массива в первый перепишите положительные числа, во второй отрицательные. Оба новых массива выведите на экран. Дан массив из 10 целых положительных и отрицательных чисел. Сформируйте второй массив такого же размера по правилу: если на i-ом месте в первом массиве стоит положительное число, во втором массиве на этом месте должна быть 1, если отрицательное - 2, если 0, то во втором массиве должна быть на этом месте цифра 3. Дан массив из 10 целых положительных и отрицательных чисел. Сформируйте второй массив такого же размера по правилу: если в первом массиве на i-ом месте стоит четный элемент, то удвоить его и записать во второй массив на это же место, а вместо нечетных элементов записать 0. Дан массив из 10 целых положительных и отрицательных чисел, заполненный с клавиатуры. Проверить чередуются ли в нем положительные и отрицательные числа. Дан массив из 10 целых положительных и отрицательных чисел, заполненный с клавиатуры. Проверить все ли элементы этого массива четные. Дан массив из 10 целых положительных и отрицательных чисел, заполненный с клавиатуры. Проверить, расположены ли его элементы по возрастанию или убыванию и вывести соответствующее сообщение. Предусмотреть случай, когда элементы массива не рассортированы. Дан массив из 10 целых положительных и отрицательных чисел, заполненный с клавиатуры. Проверить состоит ли данный массив только из положительных чисел кратных 2. Дан массив из 10 целых положительных и отрицательных чисел, заполненный с клавиатуры. Проверить, есть ли в нем три подряд идущих положительных элемента. Известно, что в массиве, состоящем из 10 элементов, заполненном с клавиатуры, есть несколько чисел 5. Найти порядковые номера первого и последнего из них. Известно, что в массиве, состоящем из 10 элементов, заполненном с клавиатуры, есть несколько нулей. Вывести на экран порядковые номера всех нулей кроме первого и последнего. Дан массив, заполненный с клавиатуры и состоящий из 10 элементов. Вывести на экран все элементы, стоящие перед первым отрицательным элементом. Вставить в массив, состоящий из 10 элементов, заполненный с клавиатуры число k перед последним отрицательным элементом. Вставить в массив, состоящий из 10 элементов, заполненный с клавиатуры число k перед первым положительным элементом. Удалить из массива, состоящего из nэлементов все повторяющиеся элементы. Например, из массива 1, 3, 5, 1, 5, 6, 1, 2, 5, 7, 2 получить массив 1, 3, 5, 6, 2, 7. Сформировать массив случайным образом из 20 неповторяющихся элементов их отрезка
[-10;10]. Найти максимальный элемент массива и справа от него отсортировать все элементы по возрастанию.