Одномерные массивы целых чисел. Алгоритмизация и программирование

Содержание

Слайд 2

Ключевые слова

обработка массива
последовательный поиск

Ключевые слова обработка массива последовательный поиск

Слайд 3

Типовые задачи поиска

Нахождение наибольшего (наименьшего)
элемента массива

Нахождение элемента массива, значение
которого равно

Типовые задачи поиска Нахождение наибольшего (наименьшего) элемента массива Нахождение элемента массива, значение которого равно заданному значению
заданному значению

Слайд 4

1) Взять верхнюю карточку, записать на доске
(запомнить) число как наибольшее.

2) Взять следующую

1) Взять верхнюю карточку, записать на доске (запомнить) число как наибольшее. 2)
карточку, сравнить числа. Если
на карточке число больше, то стереть старую запись и записать это число.

Нахождение наибольшего элемента
в стопке карточек с записанными числами:

3) Повторить действия, описанные в пункте 2 для всех
оставшихся карточек.

При организации поиска наибольшего элемента массива правильнее искать его индекс.

!

Слайд 5

Программа поиска наибольшего элемента в массиве

program  n_4;
var i, imax: integer;

Программа поиска наибольшего элемента в массиве program n_4; var i, imax: integer;
a: array[1..10] of integer;
begin 
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],' ');
imax:=1;
for i:=2 to 10 do
if a[i]>a[imax] then imax:=i;
write ('Наибольший элемент a[', imax, ']=', a[imax])
end.

Слайд 6

Нахождение элемента массива с заданными свойствами

Результатом поиска элемента, значение которого равно заданному,

Нахождение элемента массива с заданными свойствами Результатом поиска элемента, значение которого равно
может быть:

n – индекс элемента массива такой, что a[n]= x, где х – заданное число;
сообщение о том, что искомого элемента в массиве не обнаружено.

Здесь:
трём равен 4-й элемент;
десяти равны 1-й и 9-й элементы;
нет элемента, равного 12.

Слайд 7

Поиск элемента, равного 50

Будет найден последний из элементов, удовлетворяющих условию.

Задание.

Поиск элемента, равного 50 Будет найден последний из элементов, удовлетворяющих условию. Задание.
Вычислить индекс элемента равного 50.
program  n_5;
var n, i: integer;
a: array[1..10] of integer;
begin 
randomize;
for i:=1 to 10 do a[i]:=random(100);
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.

Слайд 8

Поиск элемента, равного 50

Задание. Вычислить индекс элемента равного 50. program  n_5_1;

Поиск элемента, равного 50 Задание. Вычислить индекс элемента равного 50. program n_5_1;
var n, i: integer;
a: array[1..10] of integer;
begin 
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],' ');
i:=0;
repeat
i:=i+1;
until (a[i]=50) or (i=10);
if a[i]=50 then write(i) else write('Нет')
end.

Будет найден первый из элементов, удовлетворяющих условию.

Слайд 9

Подсчет количества элементов

Для подсчета вводится переменная, значение которой увеличивается на единицу каждый

Подсчет количества элементов Для подсчета вводится переменная, значение которой увеличивается на единицу
раз, когда найден нужный элемент.
Задание. Вычислить количество элементов больших 50.

program  kolich;
var k, i: integer;
a: array[1..10] of integer;
begin 
randomize;
for i:=1 to 10 do a[i]:=random(100);
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.

Слайд 10

Сумма значений элементов, удовлетворяющих условию

Задание. Вычислить сумму элементов из интервала (10; 30).
program 

Сумма значений элементов, удовлетворяющих условию Задание. Вычислить сумму элементов из интервала (10;
sum ;
var s, i: integer;
a: array[1..10] of integer;
begin 
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],' ');
s:=0;
for i:=1 to 10 do
if (a[i]>10) and (a[i]<30) then s:=s+a[i];
write('s=', s)
end.

Слайд 11

Самое главное

Решение разнообразных задач, связанных с обработкой массивов, базируется на таких типовых

Самое главное Решение разнообразных задач, связанных с обработкой массивов, базируется на таких
задачах, как:
суммирование элементов массива;
поиск элемента с заданными свойствами.

Слайд 12

Вопросы и задания

1. Что вы можете сказать о массиве, сформированном следующим образом?

Вопросы и задания 1. Что вы можете сказать о массиве, сформированном следующим
а) 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;

Слайд 13

Вопросы и задания

2. Запишите на языке Паскаль программу решения задачи.
В некотором

Вопросы и задания 2. Запишите на языке Паскаль программу решения задачи. В
населённом пункте n домов. Известно, сколько людей проживает в каждом из домов.
а) Вычислить количество жителей в населённом пункте.
Считайте количество жильцов дома случайным числом из диапазона от 50 до 200 человек, а число домов n=30.
Исходные данные (количество жильцов) представить с помощью линейной таблицы а, содержащей n элементов: a[1] – количество жильцов дома 1, a[2] – количество жильцов дома 2, …, a[n] – количество жильцов дома N.
В общем случае а[i] – количество жильцов дома i, где i принимает все значения от 1 до n (i =1, n). Результат работы обозначить через s.
б) Подсчитайте количество домов, в которых более 120 жителей.

Слайд 14

Вопросы и задания

3. Запишите на языке Паскаль программу решения задачи.
Объявлен набор

Вопросы и задания 3. Запишите на языке Паскаль программу решения задачи. Объявлен
в школьную баскетбольную команду. Известен рост каждого из n учеников, желающих попасть в эту команду.
Подсчитайте количество претендентов, имеющих шанс попасть в команду, если рост игрока команды должен быть не менее 170 см.
Считайте рост претендента в команду случайным числом из диапазона от 150 до 200 см, а число претендентов n=50.

Слайд 15

Вопросы и задания

4. Напишите программу, которая вычисляет среднюю за неделю температуру воздуха.

Вопросы и задания 4. Напишите программу, которая вычисляет среднюю за неделю температуру
Исходные данные вводятся с клавиатуры.

Слайд 16

Вопросы и задания

5. Дан массив из десяти целых чисел. Определите, сколько элементов

Вопросы и задания 5. Дан массив из десяти целых чисел. Определите, сколько
этого массива имеют максимальное значение.

6. В классе 20 учеников писали диктант по русскому языку. Напишите программу, подсчитывающую количество двоек, троек, четвёрок и пятёрок, полученных за диктант.

7. В целочисленных массивах a и b содержатся длины катетов десяти прямоугольных треугольников:
a[i] - длина первого катета,
b[i]—длина второго катета i-го треугольника.
Найдите треугольник с наибольшей площадью. Выведите его номер, длины катетов и площадь. Предусмотрите случай, когда таких треугольников несколько.