Обработка массива Типовые задачи. нахождение в массиве заданного элемента; нахождение в массиве заданного элемента; вычисление среднего арифметического.

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



Advertisements
Похожие презентации
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] Двумерный массив можно представить.
Advertisements

Задача. С клавиатуры вводится n чисел (числа могут повторяться). Необходимо подсчитать количество чисел равных наименьшему числу.
Язык программирования Pascal Массивы А. Жидков. Массивы Массив – поименованный набор однотипных элементов, каждый из которых имеет свой номер, (индекс).
Основные алгоритмы работы с одномерными массивами (поиск и сортировка) 8 класс 1.
Сортировка массива. Одной из основных операций, производимых над массивами, являются операции сортировки или упорядочивания элементов массива по какому-либо.
Чтобы найти максимальный элемент в массиве и потом производить с ним какие-либо действия, нужно узнать его номер (индекс - I). Для этого вначале будем.
Язык программирования Паскаль 9 часть. Массивы.
Массивы. Понятие массива. Заполнение массива. Печать массива. План программы.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Двумерные массивы Решение задач из сборника «Задачи по программированию» под редакцией С. Окулова.
1 Программирование на языке Паскаль Тема 2. Максимальный элемент массива.
Одномерные массивы Решение задач. Табличный способ организации данных Одномерные и двумерные массивы.
Массивы Вариант 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;
К. Поляков, Программирование на языке Паскаль Часть II Тема: Поиск максимального элемента массива.
МАССИВЫ Если работа программы связана с хранением и обработкой большого количества однотипных переменных, для их представления в программе можно использовать.
Проверка пройденного материала. Исправьте ошибки в решении задачи: заполнить и вывести массив W(3) вещественных чисел Program Mass; Var b:Array[1..10]
Тематический блок «Программирование» ЕГЭ-2015 Задания 19, 20, 21, 25.
МассивМассив представляет собой совокупность данных одного типа с общим для всех элементов именем. Массив относится к структурированным типам данных (упорядоченная.
Обработка массивов ГБОУ СОШ При назначении размера массива необходимо проанализировать возможный объем данных и ввести возможное количество.
Задача: даны два числа, найти их наибольший общий делитель.
Транксрипт:

Обработка массива Типовые задачи

нахождение в массиве заданного элемента; нахождение в массиве заданного элемента; вычисление среднего арифметического и геометрического элементов массива; вычисление среднего арифметического и геометрического элементов массива; подсчет элементов в массиве, удовлетворяющих заданному условию; подсчет элементов в массиве, удовлетворяющих заданному условию; поиск в массиве максимального (минимального) элемента; поиск в массиве максимального (минимального) элемента; сортировка элементов массива сортировка элементов массива

Типовые задачи на нахождение в массиве заданного элемента ЗАДАЧА ЗАДАЧА Определить имеется ли в массиве заданный элемент. Определить имеется ли в массиве заданный элемент.

РЕШЕНИЕ Будем считать, что одномерный целочисленный числовой массив задан случайным образом. От пользователя требуется ввести число. Если в массиве есть элемент с таким значением, то необходимо выдать соответствующее сообщение. Таким образом, задача сводится к сравнению каждого элемента массива с введенным пользователем числом. Условные обозначения: g – запрашиваемое у пользователя число (целый тип) g – запрашиваемое у пользователя число (целый тип) n – размерность массива (число элементов в массиве) n – размерность массива (число элементов в массиве) m – массив, содержащий целые числа в диапазоне от a до b m – массив, содержащий целые числа в диапазоне от a до b

program element; const n = 15; a = – 4; b = 40; var i, g: integer; otv:string[5]; m: array [1..n] of integer; m: array [1..n] of integer; Begin {заполнение массива } for i:=1 to n do m[i]:= random(b – a) + a; for i:=1 to n do m[i]:= random(b – a) + a; {вывод на экран} for i:=1 to n do write(m[i]:6); for i:=1 to n do write(m[i]:6);{ } write ('введите число '); readln (g); write ('введите число '); readln (g); i := 1; otv:=нет; i := 1; otv:=нет; repeat repeat if g=m[i] then begin otv:=есть; i:=n end; if g=m[i] then begin otv:=есть; i:=n end; i := i + 1; i := i + 1; until (i > n); until (i > n); writeln ('В массиве ', otv, элемент ', g); writeln ('В массиве ', otv, элемент ', g); readln; readln; End.

Типовые задачи на вычисление среднего арифметического и геометрического элементов массива ЗАДАЧА Вычислить среднее арифметическое элементов массива.

Решение Вычисление среднего арифметического сводится к суммированию всех элементов массива Вычисление среднего арифметического сводится к суммированию всех элементов массива Условные обозначения: Условные обозначения: m – массив, содержащий целые числа в диапазоне от a до b n – размерность массива (число элементов в массиве) sr – среднее арифметическое (вещественный тип) s – сумма всех элементов массива (целый тип)

program sr_arif; program sr_arif; const n = 15; a = – 10; b = 50; const n = 15; a = – 10; b = 50; var m : array [1..n] of integer; i, s: integer; sr:real; i, s: integer; sr:real; Begin {заполнение массива } for i:=1 to n do m[i]:= random(b – a) + a; for i:=1 to n do m[i]:= random(b – a) + a; {вывод на экран} for i:=1 to n do write(m[i]:6); for i:=1 to n do write(m[i]:6); {суммирование всех элементов} s := 0;{начальное значение суммы s=0} s := 0;{начальное значение суммы s=0} for i:= 1 to n do s := s + m[i]; for i:= 1 to n do s := s + m[i]; sr:= s / n; {сумму всех элементов делим на их количество} sr:= s / n; {сумму всех элементов делим на их количество} {вывод ответа} writeln ('среднее арифметическое элементов массива = ', sr:6:2); writeln ('среднее арифметическое элементов массива = ', sr:6:2); readln; readln; End.

Типовая задача на подсчет элементов в массиве, удовлетворяющих заданному условию ЗАДАЧА ЗАДАЧА Вычислить произведение элементов массива, кратных трем. Вычислить произведение элементов массива, кратных трем. Кроме проверки условия необходимо предусмотреть выдачу сообщения в случае, когда в массиве не будет ни одного элемента, кратного трем. Кроме проверки условия необходимо предусмотреть выдачу сообщения в случае, когда в массиве не будет ни одного элемента, кратного трем.

Решение РЕШЕНИЕ РЕШЕНИЕ Запишем условие для накопления произведения на языке математики. Кратность трем означает, что значение элемента массива должно делится нацело на три, т. е. a[i]/3, где a[i] – элемент массива с номером i. Запишем условие для накопления произведения на языке математики. Кратность трем означает, что значение элемента массива должно делится нацело на три, т. е. a[i]/3, где a[i] – элемент массива с номером i. Тогда на языке программирования Pascal условие делимости будет записано следующим образом: Тогда на языке программирования Pascal условие делимости будет записано следующим образом: if (a[i] mod 3) = 0 then p:= p* a[i]; if (a[i] mod 3) = 0 then p:= p* a[i]; Условные обозначения: Условные обозначения: m – массив, содержащий целые числа в диапазоне от a до b m – массив, содержащий целые числа в диапазоне от a до b n – размерность массива (число элементов в массиве) n – размерность массива (число элементов в массиве) p – произведение всех элементов массива, кратных трем p – произведение всех элементов массива, кратных трем

program proizved; const n = 15; a = – 10; b = 50; const n = 15; a = – 10; b = 50; var m : array [1..n] of integer; i, p: integer; otv: string [4] ; i, p: integer; otv: string [4] ; Begin {заполнение массива } for i:=1 to n do m[i]:= random(b – a) + a; for i:=1 to n do m[i]:= random(b – a) + a; {вывод на экран} for i:=1 to n do write(m[i]:6);{решение задачи} for i:=1 to n do write(m[i]:6);{решение задачи} p := 1; otv:=нет for i:= 1 to n do if (a[i] mod 3) = 0 then begin p:= p* a[i]; otv:=есть end; if (a[i] mod 3) = 0 then begin p:= p* a[i]; otv:=есть end; if otv:=есть then writeln ('произведение элементов массива, кратных трем = ', p) if otv:=есть then writeln ('произведение элементов массива, кратных трем = ', p) else writeln ('в массиве нет элементов, кратных трем'); else writeln ('в массиве нет элементов, кратных трем'); readln; End.

Типовая задача на поиск в массиве максимального элемента ЗАДАЧА Найти максимальную из сумм a1 + an; a2 + an-1; …, где a1,a2, … an – элементы массива.

Решение РЕШЕНИЕ РЕШЕНИЕ Задача сводится к последовательному нахождению сумм a1 + an; a2 + an-1; … и выбора из них наименьшей. Условные обозначения: m – массив, содержащий целые числа в диапазоне от a до b n – размерность массива (число элементов в массиве) max – минимальная из сумм a1 + an; a2 + an-1; …

program max_sum; const n = 14; a = – 20; b = 10; var m : array [1..n] of integer; i, max: integer; i, max: integer; Begin {заполнение массива } for i:=1 to n do m[i]:= random(b – a) + a; for i:=1 to n do m[i]:= random(b – a) + a; {вывод на экран} for i:=1 to n do write(m[i]:6);{решение задачи} for i:=1 to n do write(m[i]:6);{решение задачи} max:=a[1] + a[n]; {начало поиска} for i : = 2 to n do if max< a[i] + a[n – i + 1] then max := a[i] + a[n – i + 1]; if max< a[i] + a[n – i + 1] then max := a[i] + a[n – i + 1]; {вывод ответа} writeln (максимальная сумма равна ', max) readln; readln; End.

Задание Открыть электронный учебник Шауцуковой Практика. Глава 2. Алгоритмы, реализуемые с помощью циклов типа ДЛЯ Открыть электронный учебник Шауцуковой Практика. Глава 2. Алгоритмы, реализуемые с помощью циклов типа ДЛЯ Изучить примеры обработки массива Изучить примеры обработки массива