Презентация "Одномерные массивы целых чисел. Начала программирования" 9 класс
Подписи к слайдам:
- ОДНОМЕРНЫЕ МАССИВЫ ЦЕЛЫХ ЧИСЕЛ
- НАЧАЛА ПРОГРАММИРОВАНИЯ
- Ключевые слова
- массив
- описание массива таблица
- заполнение массива
- вывод массива
- обработка массива
- последовательный поиск
- сортировка
- Массив
- Массив - это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элемента в массиве.
- Решение разнообразных задач, связанных с обработкой массивов, базируется на решении таких типовых задач, как:
- - суммирование элементов массива;
- - поиск элемента с заданными свойствами;
- - сортировка массива.
- Одномерный массив
- 6
- 3
- 4
- -2
- 0
- 1
- 9
- -5
- 7
- 9
- 8
- 7
- 6
- 5
- 4
- 3
- 2
- 1
- Значение элемента массива
- Индекс элемента массива
- Описание массива
- Общий вид описания массива:
- var <имя_массива>: array [<мин_знач_индекса> ..
- <макс_знач_индекса>] of <тип_элементов>;
- var a: array [1..10] of integer;
- const b: array [1..5] of integer = (4, 2, 3, 5, 7);
- Тип элементов массива
- Имя массива
- Максимальное значение индекса
- Минимальное значение индекса
- Значение 1-го элемента массива
- Массив b с постоянными значениями описан в разделе описания констант.
- Способы заполнения массива
- 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
- Вывод массива
- 1 способ. Элементы массива можно вывести в строку, разделив их пробелом:
- for i:=1 to 10 do write (a[i], ' ');
- 2 способ. Вывод с комментариями:
- for i:=1 to 10 do writeln ('a[', i, ']=', a[i]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Объявление массива
- Заполнение массива
- Вывод массива
- program n_1 ; var i: integer;
- a: arrav[1...10] of integer;
- Заполнения массива 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.
- Вычисление суммы элементов массива
|
|
- Основной фрагмент программы:
- s:=0;
- for i:=1 to n do s:=s+a[i];
|
|
|
|
|
|
|
|
|
|
- Вычисление суммы элементов массива
- program n_2;
- var s, i: integer;
- a: arrav[1...10] of integer;
- begin
- s:=0;
- for i:=1 to 10 do a[i]:=random(50);
- for i:=1 to 10 do write (a[i],` `);
- for i:=1 to 10 do s:=s+a[i];
- writeln ('s=', s);
- end.
- Типовые задачи поиска
- Определение наибольшего (наименьшего)
- элемента массива
- Определение элемента массива, значение
- которого равно заданному значению
- 1) Взять верхнюю карточку, записать на доске
- (запомнить) число как наибольшее.
- 2) Взять следующую карточку, сравнить числа. Если
- на карточке число больше, то записать это число.
- Нахождение наибольшего элемента
- в стопке карточек с записанными числами:
- Повторить действия, описанные в пункте 2 для всех
- оставшихся карточек
- При организации поиска наибольшего элемента массива правильнее искать его индекс.
- !
- Программа поиска наибольшего элемента в массиве
- program n_3;
- var s, i, imax: integer;
- a:arrav[1...10] of integer;
- begin
- s:=0;
- for i:=1 to 10 do a[i]:=random(50);
- 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.
- Нахождение элемента массива с заданными свойствами
- Результатом поиска элемента, значение которого равно заданному, может быть:
- n - индекс элемента массива такой, что a[n]= x, где х - заданное число;
- сообщение о том, что искомого элемента в массиве не обнаружено.
|
|
|
|
|
|
|
|
|
|
- Здесь:
- трём равен 4-й элемент;
- десяти равны 1-й и 9-й элементы;
- нет элемента, равного 12.
- Поиск элемента, равного 50
- В программе найден последний из элементов, удовлетворяющих условию.
|
|
|
|
|
|
|
|
|
|
- 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.
- Поиск элемента, равного 50
- program n_5;
- 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],` `);
- i:=0;
- repeat
- i:=i+1;
- until (a[i]=50) or (i=10);
- if a[i]=50 then write(i) else write('Нет')
- 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.
|
|
|
|
|
|
|
|
|
|
- Сумма значений элементов, удовлетворяющих условию
|
|
|
|
|
|
|
|
|
|
- program n_7;
- var s, 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],` `);
- 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.
- Сортировка массива
- 1. В массиве выбирается максимальный элемент
- 2. Максимальный и первый элемент меняются местами
- (первый элемент считается отсортированным)
- 3. В неотсортированной части массива снова выбирается
- максимальный элемент; он меняется местами с первым
- неотсортированным элементом массива
- Действия пункта 3 повторяются с неотсортированными
- элементами массива, пока не останется один
- неотсортированный элемент (минимальный)
- Сортировка элементов массива по убыванию
- выбором осуществляется следующим образом:
- Сортировка массива
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
||||||||
|
|
||||||||
|
|
||||||||
|
|
||||||||
|
|
||||||||
|
|
|
|
|
|
||||
|
- 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
- Сортировка массива
- 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;
- 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],` `);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Самое главное
- Массив - это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элементов в массиве. В языках программирования массивы используются для реализации таких структур данных, как последовательности и таблицы.
- Перед использованием в программе массив должен быть описан. Общий вид описания одномерного массива:
- var <имя_массива>: array [<мин_знач_индекса> …
- <макс_знач_индекса>] of тип_элементов;
- Заполнять массив можно либо вводя значение каждого элемента с клавиатуры, либо присваивая элементам некоторые значения. При заполнении массива и его выводе на экран используется цикл с параметром.
- Решение разнообразных задач, связанных с обработкой массивов, базируется на таких типовых задачах, как:
- суммирование элементов массива;
- поиск элемента с заданными свойствами;
- сортировка массива.
- Вопросы и задания
- Может ли массив одновременно содержать целые и
- вещественные значения?
- Для чего необходимо описание массива?
- Что вы можете сказать о массиве, сформированном следующим образом?
- а) 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 (площадь страны). Выведите названия стран в порядке возрастания плотности их населения.
- Опорный конспект
- Ввод с клавиатуры
- Массив - это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элементов в массиве.
- var <имя_массива>: array [<мин_знач_индекса> ..
- <макс_знач_индекса>] of тип_элементов;
- Присваивание значений
- Заполнение массива
- Суммирование элементов
- Сортировка элементов массива
- Поиск элемента во свойствам
- Задачи по обработке массива
- Источники информации
- http://watermarked.cutcaster.com/cutcaster-photo-100663586-Cartoon-numbers.jpg -цифры
- http://gallery.ykt.ru/galleries/old/reklamachat/518055.jpg - клавиатура
- http://www.cellguru.ru/_ld/3/325.jpg - случайные числа
- http://www.valdosta.edu/~lahunter/Math%20&%20Math%20Helps.jpg – числа
- http://lebuch.com/wp-content/uploads/2012/01/1311208935_1515151254654654564651.jpg - числа
- http://www.bsh.kz/img/news/1304429644.jpg - мальчик с числами
- http://www.masassociates.co.uk/wp-content/themes/rttheme9/timthumb.php?src=http://www.masassociates.co.uk/wp-content/uploads/mas-slider-two.jpg&w=940&h=320&zc=1 –цифры
- http://b1.ac-images.myspacecdn.com/02035/19/86/2035026891_l.gif - числа
- http://cs10847.vkontakte.ru/u96434/-5/x_e3066ac5.jpg - счёты
- http://freshdeportocale.files.wordpress.com/2010/03/homework.gif - мальчик
- http://www.koasltd.com/images/clip_image001.gif - сортировка
- http://img1.liveinternet.ru/images/attach/c/2/70/390/70390175_14936.JPG - матрёшки
- http://s48.radikal.ru/i122/0901/ea/c723ec9dcc20.gif - матрёшки