Стандартные алгоритмы обработки массивов в заданиях ОГЭ и ЕГЭ по информатике (на примере заданий 10 КИМ ОГЭ, 25,19 КИМ ЕГЭ) Учитель информатики МАОУ «Лицей.

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



Advertisements
Похожие презентации
Тематический блок «Программирование» ЕГЭ-2015 Задания 19, 20, 21, 25.
Advertisements

Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Тема урока: Одномерные массивы. - Где в жизни мы можем встретиться с таблицами?
Массивы Вариант 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;
Массивы бывают и а также в Турбо Паскале они числовые числовые 1.Определение массивов 2.Этапы решения задач на массивы 3.Задачи на обработку массивов АвторАвтор.
Задача. С клавиатуры вводится n чисел (числа могут повторяться). Необходимо подсчитать количество чисел равных наименьшему числу.
Одномерные массивы целых чисел. 9 класс
Массивы Теоретические сведения. Примеры решения задач. Задания для самостоятельного выполнения.
При решении многих задач приходится обрабатывать большое количество однотипных данных. Для хранения этих данных пришлось бы вводить большое количество.
LOGO ЕГЭ. Информатика Рекомендации по выполнению заданий блока С (С2) Учитель информатики МОУ гимназии 1 Красакова О.Н. Новокуйбышевск, 2011 г.
Одномерные массивы. Одномерный массив Статический массив – упорядоченная последовательность фиксированного количества переменных одного типа, имеющая.
Массивы Массив используется для обработки упорядоченного набора величин одного типа, обозначенного одним именем. Доступ к элементам массива осуществляется.
Решение задач с использованием одномерных массивов.
Программирование на языке Паскаль Массивы. Определение массива Многие задачи, которые решаются с помощью ЭВМ, связаны с обработкой массивов. Массив -
ЕГЭ 2012 Информатика и ИКТ Консультация 3. Пример.
Например: семейство бабочек; Понятие одномерного массива поле цветов;
Работа с одномерными массивами Урок информатики 9 кл.
Организация данных в виде массива. Массив - это упорядоченный набор фиксированного количества некоторых значений, называемых элементами массива. Каждый.
ПРОГРАММИРОВАНИЕ МАССИВОВ Язык программирования Паскаль ЕАДК, преподаватель Неверова И.Ю.
Программирование Задания В2, В5. Оператор присваивания в языке программирования Задание В2 – базовый уровень, время – 2 мин.
Транксрипт:

Стандартные алгоритмы обработки массивов в заданиях ОГЭ и ЕГЭ по информатике (на примере заданий 10 КИМ ОГЭ, 25,19 КИМ ЕГЭ) Учитель информатики МАОУ «Лицей 3 им. А.С. Пушкина» Скундина Наталья Михайловна

Задание 10 Тема: Обработка массива

Что нужно знать: Массив – это набор однотипных элементов, имеющих общее имя и расположенных в памяти рядом. Объявление массива Var A: array[1..5] of integer; по традиции нумерация элементов массива в Паскале обычно начинается с единицы, далее N обозначает размер массива (количество элементов). Общий вид Var Имя : array[1..N] of тип элементов; Для обращения к элементу массива используют квадратные скобки, запись A[i] обозначает элемент массива A с номером (индексом) i Для обработки всех элементов массива используется цикл вида for i:=1 to N do begin { что-то делаем с элементом A[i] } end; переменная i обозначает номер текущего элемента массива, она меняется от 1 до N с шагом 1, то есть мы проходим последовательно все элементы

Приемы заполнения массивов. 1. Значения элементов постоянные величины Const b: array[1..10] of integer = (2, 4, 6, 8, 10, 12,14, 16, 18, 20); g: array[1..5] of char = ('a', 'b', 'c', 'd', 'e'); Var a: array[1..5] of integer; Begin a[1]:=6; a[2]:=23; a[3]:=14; a[4]:=56; a[5]:=34; ……………………….. ………………………. End. 2. С клавиатуры. Var Mas: array[1..100] of integer; i : integer; Begin Writeln('введите размер массива'); Readln(n); {Количество элементов массива} For i:=1 to n do begin writeln('введите ',i, ' -й элемент массива'); readln(n); end; end.

3. С использованием датчика случайных чисел. Var Mas: array[1..10] of integer; i,n : integer; begin randomize; {инициализация встроенного генератора случайных чисел} Writeln('введите размер массива'); Readln(n); For i:=1 to n do begin {элементы массива заполняются значениями из диапазона от -5 до 5} mas[i]:=-5+random(11); {вывод элементов массива} write(mas[i], ' '); end; end. 4. С помощью расчета по формулам. Var y: array[1..10] of real; i, n: integer; begin Writeln('введите размерность массива'); Readln(n); For i:=1 to n do begin y[i]:=(i*i-3)/(i+2);{формула} writeln(i,' ',y[i]) ; end; end.

Стандартные алгоритмы обработки массивов: 1. Вычисление суммы … s:=0; For i:=1 to n do s:=s+a[i]; … 2. Вычисление среднего значения … s:=0; For i:=1 to n do s:=s+a[i]; s:=s/n; … 3. Подсчет количества элементов равных заданному числу x … readln(x); k:=0; For i:=1 to n do if a[i]=x then k:=k+1 ; … 4. Подсчет количества элементов больших заданного числа x … readln(x); k:=0; For i:=1 to n do if a[i]>x then k:=k+1 ; … При этом понимать, что для подсчета меньших числа х достаточно поменять знак в условии c > на <

Стандартные алгоритмы обработки массивов: 5. Подсчет количества отрицательных элементов … k:=0; For i:=1 to n do If a[i]<0 then k:=k+1; … 7. Подсчет количества неотрицательных элементов … k:=0; For i:=1 to n do If a[i]>=0 then k:=k+1; … 6. Подсчет количества положительных элементов … k:=0; For i:=1 to n do If a[i]>0 then k:=k+1; … 8. Подсчет количества не превосходящих нуля элементов … k:=0; For i:=1 to n do If a[i]<=0 then k:=k+1; …

Стандартные алгоритмы обработки массивов: 9. Нахождение элемента равного заданному числу … write(введите число ); readln(x); For i:=1 to n do If a[i]=x then k:=i; writeln (Элемент с номером,k, равен, x); … 10. Нахождение элементов массива равных заданному числу … write(введите число ); readln(x); write(Элементы с номерами ); For i:=1 to n do If a[i]=x then writeln (i, ); writeln ( равны, x); …

Стандартные алгоритмы обработки массивов: 13. Нахождение наибольшего значения … max:=a[1]; For i:=2 to n do if a[i]> max then max:=a[i] ; … 12. Нахождение номера элемента, имеющего наименьшее значение … min:=a[1]; k:=1; For i:=2 to n do if a[i]<= min then begin min:=a[i] ; k:=i; end; … 11. Нахождение наименьшего значения … min:=a[1]; For i:=2 to n do if a[i]< min then min:=a[i] ; … 14. Нахождение номера последнего наибольшего (наименьшего) по значению элемента … max:=a[1]; k:=1; For i:=2 to n do if a[i]>= max then begin max:=a[i] ; k:=i; end; … (Замена >= на <= ) При этом понимать, что имена у переменных могут быть иными

Задание 10 Решение

Анализ задачи: 1. В задаче используется массив 2. Значения массива задаются с помощью оператора присваивания (постоянные величины) K Pos [k] Обработка массива производится в соответствии с алгоритмом 4. В конце осуществляется вывод результата 5. Нужно определить значение величины day

K Pos[k] Выполним алгоритм вручную. Daymk Проверка условия Pos[k]<m 117 Выполняем цикл 219<17 нет 320<17 нет 418<17 нет 516<17 да <16 нет 716<16 нет Ответ ______________ 5 Способ 1 Пошаговое выполнение алгоритма

Продолжим анализ Выделенные элементы показывают, что при разнице в обозначении имен переменных программа использует стандартный алгоритм поиска номера наименьшего элемента массива K Pos[k] Для массива задачи ответ 5 Способ 2

Демоверсия 2016

Анализ задачи: 1. В задаче используется массив 2. Значения массива задаются с помощью оператора присваивания (постоянные величины) 3. Обработка массива производится в соответствии с алгоритмом 4. В конце осуществляется вывод результата 5. Нужно определить значение величины m K Dat[k]

Продолжим анализ K Dat[k] Все элементы массива – положительные числа. Следовательно, алгоритм ищет наибольшее значение среди элементов массива. ответ 41

Задание 25 (ЕГЭ) Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от – до включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых хотя бы одно число делится на 3. В данной задаче под парой подразумевается два подряд идущих элемента массива. Например, для массива из пяти элементов: 6; 2; 9; –3; 6 – ответ: 4. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных. const N = 20; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do readln(a[i]);... end. Демоверсия 2016

В самом начале необходимо сделать акцент на том, что можно использовать только объявленные переменные. Переходим непосредственно к заданию. В задании нужно перебрать все пары соседних элементов, начиная от пары (a[1], a[2]) до пары (a[N-1],a[N]) и подсчитать, сколько среди них пар, в которых хотя бы одно число делится на 3. const N = 20; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do readln(a[i]);... end. Как перебрать все пары? Пусть переменная i будет хранить номер первого элемента в паре, то есть, будем рассматривать пары a[i] и a[i+1]. Важно обратить внимание на то, что просматривая пары элементов массива нужно не выйти за его границы (последняя пара a[n-1] и a[n]).

Организуем цикл, который будет перебирать все значения первой пары, (a[1], a[2] до последней пары a[N-1],a[N], т.е., его параметр i изменяется от 1 до N-1 for i:=1 to N-1 do... Введем переменную-счетчик пар, в которых хотя бы одно число делится на 3. Сначала его значение равно 0, затем, при каждой найденной подходящей паре, значение счётчика увеличивается на 1. k:=0; Вспоминаем, что для проверки кратности целого числа у числу х используется остаток от операции целочисленного деления: в Паскале это условие выглядит следующим образом: if y mod x = 0 k:=k+1;

k:=0; For i:=1 to (N-1) do If ((a[i] mod 3 =0) or (a[i+1] mod 3 =0)) then k:=k+1; writeln(k);

Задание 19 (ЕГЭ) Повышенный уровень, время - 5 минут Демоверсия 2016 В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 4, 7, 3, 8, 5, 0, 1, 2, 9, 6 соответственно, т.е. A[0] = 4, A[1] = 7 и т.д. Определите значение переменной c после выполнения следующего фрагмента этой программы. c := 0; for i := 1 to 9 do if A[i] < A[0] then begin c := c + 1; t := A[i]; A[i] := A[0]; A[0] := t; end.

Решение: 1. Массив будет выглядеть следующим образом: i A[i] Если текущий проверяемый элемент меньше чем нулевой элемент А[i]<A[0], то выполняется алгоритм: c := 0; for i := 1 to 9 do if A[i] < A[0] then begin c := c + 1; t := A[i]; A[i] := A[0]; A[0] := t; end. 3. Начальное значение переменной c=0, при каждой перестановке оно увеличивается на 1, т.е. это счетчик перестановок.

Пошаговое выполнение алгоритма c := 0; for i := 1 to 9 do if A[i] < A[0] then begin c := c + 1; t := A[i]; A[i] := A[0]; A[0] := t; end. 1. A[1]<A[0], условие не выполняется. 2. A[2]<A[0], условие выполняется: c:=1; t:=3; A[2]:=4; A[0]:=3; A[3]<A[0], условие не выполняется. 4. A[4]<A[0], условие не выполняется. 5. A[5]<A[0], условие выполняется c:=2; t:=0; A[5]:=3; A[0]:=0; Ответ: c=2

Полезные ресурсы Ресурс: Понятие таблицы и массива (N ) Вид ЦОР: Презентация Поставщик ЦОР: ООО "БИНОМ. Лаборатория знаний" Аннотация: Демонстрация к лекции на тему: таблицы и массивы, линейные таблицы и одномерные массивы Демонстрация

Ресурс: Описание и ввод значений в массив в программе на Паскале (N ) Вид ЦОР: Презентация Поставщик ЦОР: ООО "БИНОМ. Лаборатория знаний" Аннотация: Демонстрация к лекции на тему: описание массива и ввод массива на языке Паскаль Демонстрация

Ресурс: Цикл с параметром в алгоритме обработки массива (N ) Вид ЦОР: Презентация Поставщик ЦОР: ООО "БИНОМ. Лаборатория знаний" Аннотация: Демонстрация к лекции на тему: использование цикла с параметром для обработки массива Демонстрация

Ресурс: Демонстрация алгоритма с одномерным массивом "Средняя температура" в среде "Конструктор алгоритмов" (N ) Вид ЦОР: Презентация Поставщик ЦОР: ООО "БИНОМ. Лаборатория знаний" Аннотация: Демонстрация к лекции на тему "Алгоритмы обработки массивов. Конструктор алгоритмов". Вычисление среднего значения. Демонстрация

Программа - тренажер для развития алгоритмического мышления и формирования умений составления управляющих алгоритмов Руководство по использованию Конструктор алгоритмов Задания

Саратов г.