ОДНОМЕРНЫЕ МАССИВЫ ЦЕЛЫХ ЧИСЕЛ НАЧАЛА ПРОГРАММИРОВАНИЯ.

Презентация:



Advertisements
Похожие презентации
ОДНОМЕРНЫЕ МАССИВЫ ЦЕЛЫХ ЧИСЕЛ НАЧАЛА ПРОГРАММИРОВАНИЯ Классная работа Урок 44 По данной теме урок 11.
Advertisements

ОДНОМЕРНЫЕ МАССИВЫ ЦЕЛЫХ ЧИСЕЛ НАЧАЛА ПРОГРАММИРОВАНИЯ.
Одномерные массивы целых чисел. 9 класс
Например: семейство бабочек; Понятие одномерного массива поле цветов;
Власова О.А. СОШ 5, Елабуга. Например: семейство бабочек ; Понятие одномерного массива поле цветов;
Массивы Массив используется для обработки упорядоченного набора величин одного типа, обозначенного одним именем. Доступ к элементам массива осуществляется.
Одномерные массивы. Одномерный массив Статический массив – упорядоченная последовательность фиксированного количества переменных одного типа, имеющая.
Организация данных в виде массива. Массив - это упорядоченный набор фиксированного количества некоторых значений, называемых элементами массива. Каждый.
Работа с одномерными массивами Урок информатики 9 кл.
МассивМассив представляет собой совокупность данных одного типа с общим для всех элементов именем. Массив относится к структурированным типам данных (упорядоченная.
Язык программирования Pascal Массивы А. Жидков. Массивы Массив – поименованный набор однотипных элементов, каждый из которых имеет свой номер, (индекс).
Обработка линейных массивов. МассивМассив – совокупность однотипных данных, хранящихся в последовательных ячейках памяти и имеющих общее имя. элементами.
Массивы в ТР. Массив (таблица) Одномерный (содержит одну строку или один столбец) Многомерный ( содержит N строк, M столбцов) Например, температура.
Задача. С клавиатуры вводится n чисел (числа могут повторяться). Необходимо подсчитать количество чисел равных наименьшему числу.
© М.Е.Макарова
1 Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений,
A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5] Двумерный массив можно представить.
Массивы Заполнение и вывод на экран. ОПРЕДЕЛЕНИЕ Массив – это набор однородных данных (чисел, символов, слов), имеющий имя и последовательную нумерацию.
Массивы Массив – именованный набор с фиксированным количеством однотипных данных Массив одномерный многомерный Общий вид элемента массива (двумерный массив.
© М.Е.Макарова
Транксрипт:

ОДНОМЕРНЫЕ МАССИВЫ ЦЕЛЫХ ЧИСЕЛ НАЧАЛА ПРОГРАММИРОВАНИЯ

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

Массив Массив - это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элемента в массиве. Решение разнообразных задач, связанных с обработкой массивов, базируется на решении таких типовых задач, как: - суммирование элементов массива; - поиск элемента с заданными свойствами; - сортировка массива. Одномерный массив Значение элемента массива Индекс элемента массива

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

Способы заполнения массива 1 способ. Ввод каждого значения с клавиатуры: forto doread for i:=1 to 10 do read (a[i]); 2 способ. С помощью оператора присваивания (по формуле): forto do for i:=1 to 10 do a[i]:=i; 3 способ. С помощью оператора присваивания (случайными числами): randomize randomize; forto do for i:=1 to 10 do a[i]:=random(100);

Вывод массива 1 способ. Элементы массива можно вывести в строку, разделив их пробелом: fortodo for i:=1 to 10 do write (a[i], ' '); 2 способ. Вывод с комментариями: fortodo for i:=1 to 10 do writeln ('a[', i, ']=', a[i]); a[1]=4a[2]=1a[3]=6a[4]=3a[5]=8a[6]=5a[7]=9a[8]=4a[9]=8a[10]= 7

Объявление массива Заполнение массива Вывод массива program n_1 ; var i: integer; a: array[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 ), в которой будет последовательно накапливаться результат суммирования Присваивается переменной s начальное значение 0 - число, не влияющее на результат сложения s Для каждого элемента массива из переменной s считывается её текущее значение и складывается со значением элемента массива; s полученный результат присваивается переменной s.

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

Вычисление суммы элементов массива program n_2; var s, i: integer; a: array[1...10] of integer; begin s:=0; 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]; for i:=1 to 10 do s:=s+a[i]; writeln ('s=', s) end.

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

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

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

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

Поиск элемента, равного 50 В программе найден последний из элементов, удовлетворяющих условию program n_4; var n, i: integer; a:array[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; n:=0; for i:=1 to 10 do for i:=1 to 10 do if a[i]=50 then n:=i; if a[i]=50 then n:=i; if n=0 then write(' Нет ') else write (i) if n=0 then write(' Нет ') else write (i) end.

Поиск элемента, равного 50 program n_5; var n, i: integer; a:array[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; i:=0; repeat i:=i+1; i:=i+1; until (a[i]=50) or (i=10); until (a[i]=50) or (i=10); if a[i]=50 then write(i) if a[i]=50 then write(i) else write(' Нет ') end. В программе найден первый из элементов, удовлетворяющих условию

Подсчет количества элементов Для подсчета вводится переменная, значение которой увеличивается на единицу каждый раз, когда найден нужный элемент. program n_6; var k, i: integer; a:array[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; k:=0; i:=1 10 for i:=1 to 10 do if a[i]>50 k:=k+1; if a[i]>50 then k:=k+1; ('k=', k) write('k=', k) end

Сумма значений элементов, удовлетворяющих условию program n_7; var s, i: integer; a:array[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; s:=0; i:=1 10 for i:=1 to 10 do a[i]>10 (a[i] 10 and (a[i]

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

Сортировка массива Индекс Значение Шаги Итог:

Сортировка массива 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; imax 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],` `);

Самое главное Массив - это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элементов в массиве. В языках программирования массивы используются для реализации таких структур данных, как последовательности и таблицы. Перед использованием в программе массив должен быть описан. Общий вид описания одномерного массива: 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. Пример входных данныхПример выходных данных Введите температуру Понедельник >> 12 Вторник >> 10 Среда >> 16 Четверг >> 18 Пятница >> 17 Суббота >> 16 Воскресенье >> 14 Средняя температура за неделю: 14,71 Напишите программу, которая вычисляет среднюю за неделю температуру воздуха. Исходные данные вводятся с клавиатуры. Дан массив из десяти целых чисел. Определите, сколько элементов этого массива имеют максимальное значение. В классе 20 учеников писали диктант по русскому языку. Напишите программу, подсчитывающую количество двоек, троек, четвёрок и пятёрок, полученных за диктант. В целочисленных массивах a и b содержатся длины катетов десяти прямоугольных треугольников: a [ i ] - длина первого катета, b[ i ]длина второго катета i -го треугольника. Найдите треугольник с наибольшей площадью. Выведите его номер, длины катетов и площадь. Предусмотрите случай, когда таких треугольников несколько. Занесите информацию о десяти европейских странах в массивы n (название страны), к (численность населения), s (площадь страны). Выведите названия стран в порядке возрастания плотности их населения.

Опорный конспект Ввод с клавиатуры Массив - это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элементов в массиве. var array var : array [.. of ] of тип_элементов; Присваивание значений Заполнение массива Суммирование элементов Сортировка элементов массива Поиск элемента во свойствам Задачи по обработке массива