Одномерные массивы Понятие массива, виды массивов Описание, заполнение и вывод одномерного массива Обработка одномерного массива.

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



Advertisements
Похожие презентации
Массивы Вариант 1 Program upr1; Var s,a:real; I: integer; Begin S:=0; For I:=1 to 10 do Begin Writeln (введите очередное число'); Readln(a); S: =s+a; End;
Advertisements

Одномерные массивы. Одномерный массив Статический массив – упорядоченная последовательность фиксированного количества переменных одного типа, имеющая.
Одномерные массивы Решение задач. Табличный способ организации данных Одномерные и двумерные массивы.
Язык программирования Паскаль 9 часть. Массивы.
Организация данных в виде массива. Массив - это упорядоченный набор фиксированного количества некоторых значений, называемых элементами массива. Каждый.
Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений, объединенных.
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] Двумерный массив можно представить.
Двумерные массивы. Задачи обработки двумерных массивов.
Работа с одномерными массивами Урок информатики 9 кл.
Тема: «Понятие массива. Назначение. Тип. Размер. Размерность. Одномерный массив» :56:36.
Язык программирования Pascal Массивы А. Жидков. Массивы Массив – поименованный набор однотипных элементов, каждый из которых имеет свой номер, (индекс).
Например: семейство бабочек; Понятие одномерного массива поле цветов;
МассивМассив представляет собой совокупность данных одного типа с общим для всех элементов именем. Массив относится к структурированным типам данных (упорядоченная.
1 Массивы Массив – это упорядоченная последовательность, состоящая из фиксированного количества величин одного типа. Особенности: все элементы имеют один.
Урок 8. Понятие массива. Массивы, определение и описание линейного массива. Пример использования. Формирование и обработка одномерных массивов. Поиск в.
Массивы Одномерные массивы. Определение массива Массив Массив – совокупность однотипных данных. Массивы Числовые:Символьные: 1,4,0,-5,8,-1дом, сом, ком.
ОДНОМЕРНЫЕ МАССИВЫ. В математике, экономике, информатике часто используются упорядоченные наборы данных, например, последовательности чисел, таблицы,
Власова О.А. СОШ 5, Елабуга. Например: семейство бабочек ; Понятие одномерного массива поле цветов;
1 Программирование на языке Паскаль Обработка массивов.
Транксрипт:

Одномерные массивы Понятие массива, виды массивов Описание, заполнение и вывод одномерного массива Обработка одномерного массива

Тип данных массив Массив это структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип (базовый). Особенности: все элементы имеют один тип; весь массив имеет одно имя; элементы упорядочены по индексам (номерам). Типы массивов: одномерный массив; двумерный массив;... n-мерный массив.

Структура одномерного массива Массив А = 1550–2517 A[1]A[2]A[3]A[4]A[5] Элемент массива Номер элемента (индекс) Элементы массива упорядочены (урегулированы) по индексам. Доступ к каждому элементу осуществляется путем индексирования, т. е. указания имени массива и номера элемента. Пример: a[1] = 15.

Описание (объявление) массива Формат блока (в разделе описания типов): Формат блока (в разделе описания переменных): Пример: Type = array [тип индекса] of ; Var : ; Var = array [тип индекса] of ; Const n = 20; Type Mas = array [1..n] of Integer; Var a, b : Mas; c : array [1..26] of Char; ?

Заполнение массива Формат блока (ввод элементов с клавиатуры): Пример: For := 1 to do ReadLn ( [ ]); For i := 1 to n do ReadLn (a[i]); ? ? Назовите главный недостаток заполнения массива путем ввода элементов с помощью клавиатуры. ? a[1] = a[2] = a[3] = a[4] = a[5] =

Вывод массива на экран Формат блока: Пример:Результат: For := 1 to do Write ( [индекс]); WriteLn (Массив а:); For i := 1 to n do Write (a[i]:4); Массив а: ? ? ?

Заполнение массива по формуле Формат блока (ввод элементов по формуле): Пример: For := 1 to do [ ] := ; a[1] := 2; For i := 2 to n do a[i] := a[i-1] + 2; ? Задача 1 Сформировать и вывести на экран массив из 10 первых чисел Фиббоначи. a[1] = a[2] = a[3] = a[4] = a[5] = ?

Заполнение массива с помощью генератора случайных чисел Функция Random [0;N): Формат блока (использование функции Random): Пример: For := 1 to do [ ] := Random[(range)]; For i := 1 to n do a[i] := random(101); x := random; x := random (50); x := random (100)+50; x := random (100)-50; x := random (254)-123; [0;1) [0;49] [50;149] [-50;49] [-123;130]

Обработка элементов массива Вычисление суммы элементов массива Входные данные: Выходные данные: sum = a[1] + a[2] + a[3] + a[4] + a[5] Словесный алгоритм решения задачи: 1. Задать начальное значение переменной sum. 2. Сформировать и вывести массив на экран. 3. Пройти весь массив, записав в sum сумму всех элементов. 4. Вывести результат на экран. Задача 2 Ввести с клавиатуры массив из 5 элементов. Найти сумму всех элементов массива. n i a 1550–2510

Обработка элементов массива Вычисление суммы элементов массива Алгоритм: Начало sum: = 0 i := 1 до n sum := sum + a[i]i := i + 1 Вывод sum Конец Ввод a Вывод a Да Нет

Обработка элементов массива Вычисление суммы элементов массива Трассировка: sum := 0; For i := 1 to n do sum := sum + a[i]; WriteLn (Сумма элементов массива =, sum); nia[i]sum

Обработка элементов массива Вычисление произведения элементов массива Входные данные: Выходные данные: pr = a[4] * a[5] * a[6] Словесный алгоритм решения задачи: 1. Сформировать и вывести массив на экран. 2. Задать начальное значение переменных i, j и pr. 3. Пройти массив от i до j, записав в pr произведение элементов. 4. Вывести результат на экран. Задача 3 Дан массив 10 целых случайных чисел в интервале [0..20]. Найти произведение элементов массива с i-го по j-й (i и j вводятся с клавиатуры). Какие ограничения необходимы для i и j ? ? ijn z a

Обработка элементов массива Вычисление среднего арифметического элементов массива Входные данные: Выходные данные: mid = (a[1] + a[2] a[n])/n Словесный алгоритм решения задачи: 1. Сформировать и вывести массив на экран. 2. Задать начальное значение переменной mid. 3. Пройти весь массив, вычислить сумму элементов массива. 4. Вычислить mid. 5. Вывести результат на экран. Задача 4 Сформировать массив из 10 целых случайных чисел в интервале [–15..0], найти среднее арифметическое всех элементов массива. n i a

Обработка элементов массива Подсчет количества элементов массива Входные данные: Выходные данные: переменная-счетчик k. Словесный алгоритм решения задачи: 1. Сформировать и вывести массив на экран. 2. Задать начальное значение переменной-счетчика k. 3. Пройти весь массив. Если текущий элемент равен 0, то увеличить счетчик на 1 и перейти к следующему элементу. 4. Вывести результат на экран. Задача 5 Заполнить массив случайными числами в интервале [–1..1] и подсчитать количество нулевых элементов. n i a 01 0

Обработка элементов массива Подсчет количества элементов Алгоритм: Начало k := 0 i := 1 до n Вывод k Конец Ввод a Вывод a Да Нет a[i] = 0 k := k + 1 Да Нет

Обработка элементов массива Подсчет количества элементов Трассировка: k := 0; For i := 1 to n do If a[i] = 0 then inc(k); WriteLn ('Количество нулевых элементов = ', k); nia[i]k

Обработка элементов массива Поиск максимального элемента массива Входные данные: Выходные данные: max = 10, im = 8. Задача 6 Заполнить массив из 10 элементов случайными числами в интервале [–10..10] и найти в нем первый (последний) максимальный элемент и его номер. n i a max im

Обработка элементов массива Поиск максимального элемента массива Словесный алгоритм решения задачи: 1. Сформировать и вывести массив на экран. 2. Задать начальное значение переменных max и im. 3. Пройти массив. Если текущий элемент больше максимального, то изменить значения максимального элемента и его индекса. 4. Вывести результат на экран. Запись на алгоритмическом языке: начало ввод а, вывод а max := a[1], im := 1 нц для i от 2 до n если a[i] > max, тогда max := a[i], im := i кц вывод max, im конец ?

Обработка элементов массива Поиск максимального элемента Алгоритм: Начало max := a[1] im := 1 i := 2 до n Вывод max, im Конец Ввод a Вывод a Да Нет a[i]> max max := a[i] im := i Да Нет Что надо изменить, чтобы найти последний максимальный элемент в массиве? ?

Обработка элементов массива Поиск максимального элемента массива Трассировка: max := a[1]; im := 1; For i := 2 to n do If a[i] > max then begin max := a[i]; im := i; end; nia[i]maxim Как найти минимальный элемент в массиве? ?

Обработка элементов массива Задачи для самостоятельного выполнения Задача 7 Заполнить массив случайными числами в интервале [–10..10] и подсчитать сумму положительных элементов. Задача 8 Заполнить массив из 10 элементов случайными числами в интервале [0..100] и подсчитать отдельно среднее значение всех элементов, которые < 50, и среднее значение всех элементов, которые 50. Задача 9 Заполнить массив случайными числами в интервале [ ] и подсчитать отдельно число четных и нечетных элементов.

Обработка элементов массива Задачи для самостоятельного выполнения Задача 10 Заполнить массив случайными числами в интервале [ ] и подсчитать число элементов, у которых вторая с конца цифра четная. Задача 11 Заполнить массив из 15 элементов случайными числами в интервале [–20..20] и найти в нем минимальный положительный элемент и его номер. Задача 12 Заполнить массив из 10 элементов случайными числами в интервале [0..5] и вывести номера всех элементов, равных X.

Обработка элементов массива Задачи для самостоятельного выполнения Задача 13 Даны два массива одинаковой размерности. Получить третий массив такой же размерности, каждый элемент которого равен суме соответствующих элементов данных массивов. Задача 14 Заполнить массив из 10 элементов случайными числами в интервале [0..5] и определить, есть ли в нем одинаковые соседние элементы. n i a Обязательно ли проходить весь массив? ?

Обработка элементов массива Реверс массива Входные данные: Выходные данные: Меняем местами элементы: a[1] и a[10] a[2] и a[9] a[3] и a[8] a[4] и a[7] Задача 15 Переставить элементы массива в обратном порядке. n i a n i a Сумма индексов всегда равна 11, или n+1. Поэтому меняем a[i] и a[n+1-i] ! Обязательно ли проходить весь массив? ?

Обработка элементов массива Реверс массива Словесный алгоритм решения задачи: 1. Сформировать и вывести массив на экран. 2. Пройти половину массива и поменять местами элементы a[i] и a[n+1-i]. 3. Вывести результат на экран. Запись на алгоритмическом языке: начало ввод а, вывод а нц для i от 1 до n div 2 k := a[i] a[i] := a[n+1-i] a[n+1-i] := k кц вывод a конец Зачем нужна переменная k ? ? ?

Обработка элементов массива Поиск максимального элемента массива Трассировка: k := 0; For i := 1 to n div 2 do begin k := a[i]; a[i] := a[n+1-i]; a[n+1-i] := k ; end; n i

Обработка элементов массива Удаление элемента массива Входные данные: Выходные данные: Словесный алгоритм решения задачи: 1. Сформировать и вывести массив на экран. Задать значение k. 2. Пройти массив, начиная с k -го элемента и присвоить каждому текущему элементу значение следующего элемента. 3. Вывести массив размером n-1. Последний элемент сделать 0. Задача 16 Удалить k -й элемент массива. kn i a n i a Какие ограничения для k необходимо задать? ?

Обработка элементов массива Вставка элемента массива Входные данные: A = 13 Выходные данные: Задача 17 Вставить число A после k -го элемента массива.. knn+1 i a knn+1 i a

Обработка элементов массива Дополнительные задачи Задача 18* Переставьте в массиве первый положительный и последний отрицательный элементы. Задача 19* Вставьте число k перед всеми отрицательными элементами. Задача 20* Удалите из массива все элементы, содержащие в своей записи цифру 5.