Презентация по информатике на тему
Читать

Презентация по информатике на тему "Одномерные массивы "

Cкачать презентацию: Презентация по информатике на тему "Одномерные массивы "

    Ничего не найдено.
Click here to cancel reply.

Презентация по слайдам:


Слайд #1

Информатика. 9 класс
Автор: Доржинов Чингис Валерьевич,
учитель информатики МБОУ «СОШ №4»
Одномерные массивы целых чисел

Слайд #2

Массив
Массив - это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элемента в массиве.
Решение разнообразных задач, связанных с обработкой массивов, базируется на решении таких типовых задач, как:
- суммирование элементов массива;
- поиск элемента с заданными свойствами;
- сортировка массива.
Одномерный массив
6
3
4
-2
0
1
9
-5
7
9
8
7
6
5
4
3
2
1
Значение элемента массива
Индекс элемента массива

Слайд #3

Описание массива
Общий вид описания массива:
var <имя_массива>: array [<мин_знач_индекса> ..
<макс_знач_индекса>] of <тип_элементов>;
var a: array [1..10] of integer;
const b: array [1..5] of integer = (4, 2, 3, 5, 7);
Тип элементов массива
Имя массива
Максимальное значение индекса
Минимальное значение индекса
Значение 1-го элемента массива
Массив b с постоянными значениями описан в разделе описания констант.

Слайд #4

Способы заполнения массива
1 способ. Ввод каждого значения с клавиатуры:
for i:=1 to 10 do read (a[i]);

2 способ. С помощью оператора присваивания (по формуле):
for i:=1 to 10 do a[i]:=i;

3 способ. С помощью оператора присваивания (случайными числами):
randomize;
for i:=1 to 10 do a[i]:=random(100);


a[i]=2*a[i]+6

Слайд #5

Вывод массива
1 способ. Элементы массива можно вывести в строку, разделив их пробелом:

for i:=1 to 10 do write (a[i], ' ');

2 способ. Вывод с комментариями:

for i:=1 to 10 do writeln ('a[', i, ']=', a[i]);

Слайд #6

Объявление массива
Заполнение массива
Вывод массива
program  n_2 ;
var i: integer;
a: array[1..10] of integer;
Заполнение массива A(10) случайными числами и вывод элементов массива
randomize;
begin 
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],` `);  
end.

Слайд #7

Вычисление суммы элементов массива
Суммирование элементов массива
осуществляется за счёт поочерёдного добавления слагаемых:
Определяется ячейка памяти (переменная s),
в которой будет последовательно накапливаться
результат суммирования
Переменной s присваивается начальное значение 0
- число, не влияющее на результат сложения
Для каждого элемента массива из переменной s
считывается её текущее значение и складывается
со значением элемента массива;
полученный результат присваивается переменной s.

Слайд #8

Вычисление суммы элементов массива
Основной фрагмент программы:
s:=0;
for i:=1 to n do s:=s+a[i];

Слайд #9

Вычисление суммы элементов массива
program  n_3;
var s, i: integer;
a: array[1..10] of integer;
begin 
s:=0;
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],` `);
for i:=1 to 10 do s:=s+a[i];
writeln ('s=', s)
end.

Слайд #10

Вычисление суммы элементов массива
program  n_3_1;
var s, i: integer;
a: array[1..10] of integer;
begin 
s:=0;
randomize;
for i:=1 to 10 do
begin
a[i]:=random(100);
write (a[i],` `);
s:=s+a[i]
end;
writeln ('s=', s)
end.
Второй способ оформления:
Используем операторные скобки и всё (ввод, вывод, обработку) делаем в одном цикле.

Слайд #11

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

Слайд #12

1) Взять верхнюю карточку, записать на доске
(запомнить) число как наибольшее.
2) Взять следующую карточку, сравнить числа. Если
на карточке число больше, то стереть старую запись и
записать это число.
Нахождение наибольшего элемента
в стопке карточек с записанными числами:
3) Повторить действия, описанные в пункте 2 для всех
оставшихся карточек.
При организации поиска
наибольшего элемента массива
правильнее искать его индекс.
!

Слайд #13

Программа поиска наибольшего элемента в массиве
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.

Слайд #14

Нахождение элемента массива с заданными свойствами
Результатом поиска элемента, значение которого равно заданному, может быть:
n - индекс элемента массива такой, что a[n]= x, где х - заданное число;
сообщение о том, что искомого элемента в массиве не обнаружено.
Здесь:
трём равен 4-й элемент;
десяти равны 1-й и 9-й элементы;
нет элемента, равного 12.

Слайд #15

Поиск элемента, равного 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.

Слайд #16

Поиск элемента, равного 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.
Будет найден первый из элементов, удовлетворяющих условию.

Слайд #17

Подсчет количества элементов
Для подсчета вводится переменная, значение которой увеличивается на единицу каждый раз, когда найден нужный элемент.
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.

Слайд #18

Сумма значений элементов, удовлетворяющих условию
program  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.

Слайд #19

Сортировка массива
1. В массиве выбирается максимальный элемент
2. Максимальный и первый элемент меняются местами
(первый элемент считается отсортированным)
3. В неотсортированной части массива снова выбирается
максимальный элемент; он меняется местами с первым
неотсортированным элементом массива
Действия пункта 3 повторяются с неотсортированными
элементами массива, пока не останется один
неотсортированный элемент (минимальный)
Сортировка элементов массива по невозрастанию
выбором осуществляется следующим образом:

Слайд #20

Сортировка массива
1
6
9
0
0
2
5
0
4
3
3
2
2
1
1
0
1
2
4
3
6
5
9
1
4
5
2
6
9
0
2
4
3
5
9
6
2
4
3
1
9
6
5
3
1
0
9
6
5
4
1
9
6
5
4
3
0
0
9
6
5
4
3
2

Слайд #21

Сортировка массива
program rost;
var n, i, j, x, imax: integer;
a: array [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 9 do
begin
imax:=i;
for j:=i+1 to 10 do if a[j]>a[imax] then imax:=j;
x:=a[i];
a[i]:=a[imax];
a[imax]:=x
end;
for i:=1 to 10 do write (a[i], ' ')
end.

Слайд #22

Вопросы и задания
Может ли массив одновременно содержать целые и
вещественные значения?
Для чего необходимо описание массива?
Что вы можете сказать о массиве, сформированном следующим образом?
а) 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 (площадь страны). Выведите названия стран в порядке возрастания плотности их населения.