Решение разнообразных задач, связанных с обработкой массивов, базируется на решении таких типовых задач, как:
- суммирование элементов массива;
- поиск элемента с заданными свойствами;
- сортировка массива.
Одномерный массив
Значение элемента массива
Индекс элемента массива
const b: array [1..5] of integer = (4, 2, 3, 5, 7);
Тип элементов массива
Имя массива
Максимальное значение индекса
Минимальное значение индекса
Значение 1-го элемента массива
Массив b с постоянными значениями описан в разделе описания констант.
a[i]=2*a[i]+6
2 способ. Вывод с комментариями:
for i:=1 to 10 do writeln ('a[', i, ']=', a[i]);
Заполнения массива A(10) случайными числами и вывод элементов массива
begin
for i:=1 to 10 do a[i]:=random(50);
for i:=1 to 10 do write (a[i],` `);
end.
Определяется ячейка памяти (переменная s),
в которой будет последовательно накапливаться
результат суммирования
Присваивается переменной s начальное значение 0
- число, не влияющее на результат сложения
Для каждого элемента массива из переменной s
считывается её текущее значение и складывается
со значением элемента массива;
полученный результат присваивается переменной s.
Нахождение наибольшего элемента
в стопке карточек с записанными числами:
Повторить действия, описанные в пункте 2 для всех
оставшихся карточек
При организации поиска
наибольшего элемента массива
правильнее искать его индекс.
!
n - индекс элемента массива такой, что a[n]= x, где х - заданное число;
сообщение о том, что искомого элемента в массиве не обнаружено.
Здесь:
трём равен 4-й элемент;
десяти равны 1-й и 9-й элементы;
нет элемента, равного 12.
program n_4;
var n, i: integer;
a:arrav[1...10] of integer;
begin
for i:=1 to 10 do a[i]:=random(60);
for i:=1 to 10 do write (a[i],` `);
n:=0;
for i:=1 to 10 do
if a[i]=50 then n:=i;
if n=0 then write('Нет') else write (i)
end.
В программе найден первый из элементов, удовлетворяющих условию.
program n_6;
var k, i: integer;
a:arrav[1...10] of integer;
begin
for i:=1 to 10 do a[i]:=random(60);
for i:=1 to 10 do write (a[i],` `);
k:=0;
for i:=1 to 10 do
if a[i]>50 then k:=k+1;
write('k=', k)
end.
3. В неотсортированной части массива снова выбирается
максимальный элемент; он меняется местами с первым
неотсортированным элементом массива
Действия пункта 3 повторяются с неотсортированными
элементами массива, пока не останется один
неотсортированный элемент (минимальный)
Сортировка элементов массива по убыванию
выбором осуществляется следующим образом:
program n_8;
var n, i, j, x, imax: integer;
a:arrav[1...10] of integer;
begin
for i:=1 to 10 do read (a[i]);
for i:=1 to 10 do write (a[i],` `);
Заполнять массив можно либо вводя значение каждого элемента с клавиатуры, либо присваивая элементам некоторые значения. При заполнении массива и его выводе на экран используется цикл с параметром.
Решение разнообразных задач, связанных с обработкой массивов, базируется на таких типовых задачах, как:
суммирование элементов массива;
поиск элемента с заданными свойствами;
сортировка массива.
Что вы можете сказать о массиве, сформированном следующим образом?
а) for i:=1 to 10 do a[i]:= random(101)-50;
б) for i:=1 to 20 do a[i]:= i;
в) for i:=1 to 5 do a[i]:= 2*i-1;
Запишите на языке Паскаль программу решения задачи.
В некотором населённом пункте N домов. Известно, сколько людей проживает в каждом из домов.
Исходные данные (количество жильцов) представить с помощью линейной таблицы А, содержащей N элементов: A[1] - количество жильцов дома 1, A[2] - количество жильцов дома 2, …, A[N] - количество жильцов дома N.
В общем случае А[i] — количество жильцов дома i, где i принимает все значения от 1 до n (i =1,n). Результат работы обозначить через s.
Считайте количество жильцов дома случайным числом из диапазона от 50 до 200 человек, а число домов n = 30.
Запишите на языке Паскаль программу решения задачи.
Объявлен набор в школьную баскетбольную команду. Известен рост каждого из N учеников, желающих попасть в эту команду.
Подсчитайте количество претендентов, имеющих шанс попасть в команду, если рост игрока команды должен быть не менее 170 см.
Считайте рост претендента в команду случайным числом из диапазона от 150 до 200 см, а число претендентов n = 50.
Напишите программу, которая вычисляет среднюю за неделю температуру воздуха. Исходные данные вводятся с клавиатуры.
Дан массив из десяти целых чисел. Определите, сколько элементов этого массива имеют максимальное значение.
В классе 20 учеников писали диктант по русскому языку. Напишите программу, подсчитывающую количество двоек, троек, четвёрок и пятёрок, полученных за диктант.
В целочисленных массивах a и b содержатся длины катетов десяти прямоугольных треугольников:
a[i] - длина первого катета,
b[i]—длина второго катета i-го треугольника.
Найдите треугольник с наибольшей площадью. Выведите его номер, длины катетов и площадь. Предусмотрите случай, когда таких треугольников несколько.
Занесите информацию о десяти европейских странах в массивы n (название страны), к (численность населения), s (площадь страны). Выведите названия стран в порядке возрастания плотности их населения.
Присваивание значений
Заполнение массива
Суммирование элементов
Сортировка элементов массива
Поиск элемента во свойствам
Задачи по обработке массива
Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.
Email: Нажмите что бы посмотреть