Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Презентации / Презентация по информатике "Решение задач из открытого банка ФИПИ 2014 год по теме "Массивы""
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 26 апреля.

Подать заявку на курс
  • Информатика

Презентация по информатике "Решение задач из открытого банка ФИПИ 2014 год по теме "Массивы""

библиотека
материалов
Массивы Задачи из открытого банка ФИПИ 2014 год
Задача №1. Опишите на русском языке или одном из языков программирования алго...
Паскаль for n:=1 to 7 do for k:=1 to 7 do   B[n, k]:=k–n; Сколько положительн...
Задача №2. Элементы двумерного массива A размером N х N первоначально были ра...
Паскаль k:=0; for i:=1 to N do for j:=N–i+1 to N do   begin      k:=k+1;    ...
Задача №3. Значения двумерного массива A размера 9×9 задаются с помощью вложе...
k – номер столбца n – номер строки Паскаль for n:=1 to 9 do for k:=1 to 9 do...
Задача №4. Дан фрагмент программы, обрабатывающей двумерный массив A размера...
Паскаль k:=1; for i:=1 to n do begin     c:=A[i,i];     A[i,i]:=A[k,i];     A...
1) Опишите на русском языке или одном из языков программирования алгоритм пои...
2) Опишите на русском языке или одном из языков программирования алгоритм под...
3) Опишите на русском языке или одном из языков программирования алгоритм выч...
4) Опишите на русском языке или одном из языков программирования алгоритм пол...
5) Опишите на русском языке или на одном из языков программирования алгоритм...
6) Дан целочисленный массив из 20 элементов. Элементы массива могут принимать...
const N = 20; var a: array [1..N] of integer; i, j, min: integer; begin for i...
8) Дан целочисленный массив из 20 элементов. Элементы массива могут принимать...
17 1

"Инфоурок" приглашает всех педагогов и детей к участию в самой массовой интернет-олимпиаде «Весна 2017» с рекордно низкой оплатой за одного ученика - всего 45 рублей

В олимпиадах "Инфоурок" лучшие условия для учителей и учеников:

1. невероятно низкий размер орг.взноса — всего 58 рублей, из которых 13 рублей остаётся учителю на компенсацию расходов;
2. подходящие по сложности для большинства учеников задания;
3. призовой фонд 1.000.000 рублей для самых активных учителей;
4. официальные наградные документы для учителей бесплатно(от организатора - ООО "Инфоурок" - имеющего образовательную лицензию и свидетельство СМИ) - при участии от 10 учеников
5. бесплатный доступ ко всем видеоурокам проекта "Инфоурок";
6. легко подать заявку, не нужно отправлять ответы в бумажном виде;
7. родителям всех учеников - благодарственные письма от «Инфоурок».
и многое другое...

Подайте заявку сейчас - https://infourok.ru/konkurs

Описание презентации по отдельным слайдам:

№ слайда 1 Массивы Задачи из открытого банка ФИПИ 2014 год
Описание слайда:

Массивы Задачи из открытого банка ФИПИ 2014 год

№ слайда 2 Задача №1. Опишите на русском языке или одном из языков программирования алго
Описание слайда:

Задача №1. Опишите на русском языке или одном из языков программирования алгоритм поиска номера первого из двух последовательных элементов в целочисленном массиве из 30 элементов, произведение которых максимально (если таких пар несколько, то можно выбрать любую из них). Значения двумерного массива размера 7×7 задаются с помощью вложенного оператора цикла в представленном фрагменте программы: Сколько элементов массива будут иметь положительные значения?                Бейсик FOR n=1 TO 7 FOR k=1 TO 7 B(n, k)=k–n NEXT k NEXT n Паскаль for n:=1 to 7 do for k:=1 to 7 do   B[n, k]:=k–n; Алгоритмический нц для n от 1 до 7нц для k от 1 до 7   B[n,k]=k–n кц кц  1) 49 2) 28 3) 21  4) 7

№ слайда 3 Паскаль for n:=1 to 7 do for k:=1 to 7 do   B[n, k]:=k–n; Сколько положительн
Описание слайда:

Паскаль for n:=1 to 7 do for k:=1 to 7 do   B[n, k]:=k–n; Сколько положительных? k – номер столбца n – номер строки Результат: 21 1 2 3 4 5 6 7 1 1-1 2-1 3-1 4-1 5-1 6-1 7-1 2 1-2 2-2 3-2 4-2 5-2 6-2 7-2 3 1-3 2-3 3-3 4-3 5-3 6-3 7-3 4 1-4 2-4 3-4 4-4 5-4 6-4 7-4 5 1-5 2-5 3-5 4-5 5-5 6-5 7-5 6 1-6 2-6 3-6 4-6 5-6 6-6 7-6 7 1-7 2-7 3-7 4-7 5-7 6-7 7-7 1 2 3 4 5 6 7 1 0 1 2 3 4 5 6 2 -1 0 1 2 3 4 5 3 -2 -1 0 1 2 3 4 4 -3 -2 -1 0 1 2 3 5 -4 -3 -2 -1 0 1 2 6 -5 -4 -3 -2 -1 0 1 7 -6 -5 -4 -3 -2 -1 0

№ слайда 4 Задача №2. Элементы двумерного массива A размером N х N первоначально были ра
Описание слайда:

Задача №2. Элементы двумерного массива A размером N х N первоначально были равны 1000. Затем значения некоторых из них меняются с помощью вложенного оператора цикла в представленном фрагменте программы (ниже представлен фрагмент одной и той же программы, записанный на разных языках программирования). Какой элемент массива в результате будет иметь минимальное значение? Бейсик k:=0 FORi=1 TO N FOR j=N–i+1 TO N k=k+1 A(i, j)=k NEXT j NEXTi Паскаль k:=0; fori:=1 to N do for j:=N–i+1 to N do   begin      k:=k+1;     A[i, j]:=k;   end Алгоритмический  k:=0 нц для i от 1 до N   нц для j от N–i+1 до N     k:=k+1     A[i,j]:=k   кц кц 1)A(1, 1) 2)A(1, N) 3)A(N, 1) 4)A(N, N)

№ слайда 5 Паскаль k:=0; for i:=1 to N do for j:=N–i+1 to N do   begin      k:=k+1;    
Описание слайда:

Паскаль k:=0; for i:=1 to N do for j:=N–i+1 to N do   begin      k:=k+1;     A[i, j]:=k;   end Какой элемент массива в результате будет иметь минимальное значение? j - номер столбца i - номер строки N=5 1 ход цикла: i:=1, j:=5-1+1=5 K:=0+1=1 A[1,5]:=1 2 ход цикла: i:=2, j:=5-2+1=4 K:=1+1=2 A[2,4]:=2 3 ход цикла: i:=2, j:=4+1=5 K:=2+1=3 A[2,5]:=3 Видим, что k только увеличивается, значит минимум будет в первом цикле, т.е. А[1,5], где 5 –это N. Ответ: 2) A[1,N] 1000 1000 1000 1000 1000 1 1000 1000 1000 1000 2 1000 3 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

№ слайда 6 Задача №3. Значения двумерного массива A размера 9×9 задаются с помощью вложе
Описание слайда:

Задача №3. Значения двумерного массива A размера 9×9 задаются с помощью вложенного оператора цикла в представленном фрагменте программы: Сколько элементов массива A будут принимать четное значение? Бейсик FOR n=1 TO 9 FOR k=1 TO 9 A(n,k)=n+k+1 NEXT k NEXT n Паскаль for n:=1 to 9 do for k:=1 to 9 do     A[n,k]:=n+k+1 Алгоритмический нц для n от 1 до 9 нц для k от 1 до 9     A[n,k]=n+k+1 кц кц  1) 36 2) 40 3) 41  4) 45

№ слайда 7 k – номер столбца n – номер строки Паскаль for n:=1 to 9 do for k:=1 to 9 do
Описание слайда:

k – номер столбца n – номер строки Паскаль for n:=1 to 9 do for k:=1 to 9 do     A[n,k]:=n+k+1 Выполняем заполнение: n=1 k от 1 до 9 A[1,1]:=1+1+1=3 A[1,2]:=1+2+1=4 A[1,3]:=1+3+1=5 A[1,4]:=1+4+1=6 и т.д n=2 k от 1 до 9 A[2,1]:=2+1+1=4 A[2,2]:=2+2+1=5 A[2,3]:=2+3+1=6 и т.д. Сколько элементов массива A будут принимать четное значение? В 1-ой строке 4 чётных числа, во 2-ой – 5 чётных чисел, в 3-ей – 4 чётных числа и т.д. в 4 -5, в 5- 4, в 6 – 5, в 7 – 4, в 8 – 5, в 9 – 4. (5*4+4*5=40) Ответ: 2) 40 1 2 3 4 5 6 7 8 9 1 3 4 5 6 7 8 9 10 11 2 4 5 6 7 8 9 10 11 12 3 5 6 7 8 9 10 11 12 13 4 6 7 8 9 10 11 12 13 14 5 6 7 8 9

№ слайда 8 Задача №4. Дан фрагмент программы, обрабатывающей двумерный массив A размера
Описание слайда:

Задача №4. Дан фрагмент программы, обрабатывающей двумерный массив A размера n×n. Представим массив в виде квадратной таблицы, в которой для элемента массива A[i,j] величина i является номером строки, а величина j – номером столбца, в котором расположен элемент. Тогда данный алгоритм меняет местами Бейсик k = 1 FORi= 1 TO n     c = A(i,i)     A(i,i) = A(k,i)     A(k,i) = c NEXTi Паскаль k:=1; fori:=1 to n do begin     c:=A[i,i];     A[i,i]:=A[k,i];     A[k,i]:=c end Алгоритмический k:=1 нц для i от 1 до n     c:=A[i,i]     A[i,i]:=A[k,i]     A[k,i]:=c кц  1)  два столбца в таблице  2)  две строки в таблице  3)  элементы диагонали и k-ой строки таблицы  4)  элементы диагонали и k-го столбца таблицы

№ слайда 9 Паскаль k:=1; for i:=1 to n do begin     c:=A[i,i];     A[i,i]:=A[k,i];     A
Описание слайда:

Паскаль k:=1; for i:=1 to n do begin     c:=A[i,i];     A[i,i]:=A[k,i];     A[k,i]:=c end Тогда данный алгоритм меняет местами K:=1 1 ход цикла: i:=1 c:=A[1,1] A[1,1]:=A[1,1] A[1,1]:= A[1,1], т.е. ничего не изменилось 2 ход цикла: i:=2 c:=A[2,2] A[2,2]:=A[1,2] A[1,2]:= A[2,2], т.е. меняются A[2,2] и A[1,2] 3 ход цикла: i:=3 c:=A[3,3] A[3,3]:=A[1,3] A[1,3]:= A[3,3], т.е. меняются A[3,3] и A[1,3] Видим, что k не изменяется, значит берутся элементы 1-ой строки, А[i,i]-это диагональ. Ответ:  3)  элементы диагонали и k-ой строки таблицы

№ слайда 10 1) Опишите на русском языке или одном из языков программирования алгоритм пои
Описание слайда:

1) Опишите на русском языке или одном из языков программирования алгоритм поиска номера первого из двух последовательных элементов в целочисленном массиве из 30 элементов, произведение которых максимально (если таких пар несколько, то можно выбрать любую из них). pmax - произведение 2-х последовательных элементов: a[1] и a[2], a[2] и a[3] и т.д. Запомнить номер первого из элементов - imax. Const n=30; Var a:array [1..n] of integer; i, imax, pmax:integer; Begin For i:=1 to n do readln(a[i]); {вводим массив} pmax:=a[1]*a[2]; imax:=1; {начальные значения} For i:=2 to n-1 do If a[i]*a[i+1]>pmax {выбор максимального произведения} then begin pmax:= a[i]*a[i+1]; imax:=i end; Write(imax) {вывод результата} End.

№ слайда 11 2) Опишите на русском языке или одном из языков программирования алгоритм под
Описание слайда:

2) Опишите на русском языке или одном из языков программирования алгоритм подсчета максимального количества подряд идущих совпадающих элементов в целочисленном массиве длины 30. Подряд идущие совпадающие? a[i+1]=a[i] или a[i-1]=a[i] Const n=30; Var a:array [1..n] of integer; i, k, kmax:integer; Begin For i:=1 to n do readln(a[i]); {вводим массив} k:=1; kmax:=1; {начальные значения} for i:=2 to n do {i=2 чтобы не выйти за пределы массива [1..n], т.к. используем a[i-1]} if a[i-1]=a[i] then begin k:=k+1; {считаем количество подряд идущих равных} if k>kmax then kmax:=k; {выбираем максимум} end else k:=1; {если соседние элементы не равны, сбрасываем счетчик и начинаем считать с 1} Write(kmax); {вывод результата} End.

№ слайда 12 3) Опишите на русском языке или одном из языков программирования алгоритм выч
Описание слайда:

3) Опишите на русском языке или одном из языков программирования алгоритм вычисления разности между средним арифметическим максимального и минимального значений элементов заданного целочисленного массива из 30 элементов и средним арифметическим всех элементов этого массива. Const n=30; Var a:array [1..n] of integer; i, max, min, s:integer; Begin For i:=1 to n do readln(a[i]); {вводим массив} min:=a[1]; max:=a[1]; {начальные значения} for i:=2 to n do {т.к. a[1] использовали в начальном условии, начинаем цикл с 2} begin s:=s+a[i]; {сумма всех элементов массива} if a[i]>max then max:=a[i]; {выбор максимума} if a[i]<min then min:=a[i]; {выбор минимума} end; Write(abs(s/n-(max+min)/2)); {модуль разности между средним арифметическим всех элементов этого массива и средним арифметическим максимального и минимального значений элементов заданного массива.} End.

№ слайда 13 4) Опишите на русском языке или одном из языков программирования алгоритм пол
Описание слайда:

4) Опишите на русском языке или одном из языков программирования алгоритм получения из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать модули значений элементов первого массива (не используя специальной функции, вычисляющей модуль числа). Определить два массива (например а и b). Модуль – если a[i]<0 то b[i]:=-a[i] иначе b[i]:=a[i] Const n=30; Var a,b:array[1..n] of integer; i:integer; Begin For i:1 to n do readln(a[i]); {вводим массив} Const n=30; Var a,b:array[1..n] of integer; i:integer; Begin For i:1 to n do readln(a[i]); {вводим массив} Const n=30; Var a,b:array[1..n] of integer; i:integer; Begin For i: For i:1 to n do begin if a[i]<0 then b[i]:=-a[i] else b[i]:=a[i]; {если элемент А[i] отрицательный, то меняем знак, если 0 или положительный, то без изменений помещаем в массив В} writeln(b[i]); {вывод массива b} end; End.

№ слайда 14 5) Опишите на русском языке или на одном из языков программирования алгоритм
Описание слайда:

5) Опишите на русском языке или на одном из языков программирования алгоритм вычисления разности максимального среди элементов, имеющих четные значения, и максимального среди элементов, имеющих нечетный значения, в заданном целочисленном массиве из 30 положительных элементов(в предположении, что в массиве есть четные и нечетные элементы). Const n=30; Var a:array [1..n] of integer; i, max, min, s:integer; Begin For i:=1 to n do readln(a[i]); {вводим массив} max1:=0; max2:=0; {начальные значения} For i:=1 to n do begin If (a[i] mod 2=0) and (a[i]>max1) then max1:=a[i]; {max среди четных} If (a[i] mod 2<>0) and (a[i]>max2) then max2:=a[i]; {max среди нечетных} End; Write(max1-max2); {вывод результата} End.

№ слайда 15 6) Дан целочисленный массив из 20 элементов. Элементы массива могут принимать
Описание слайда:

6) Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести максимальное значение среди элементов массива, которые имеют чётное значение и являются трёхзначными. Если в исходном массиве нет элемента, значение которого является чётным трёхзначным числом, то вывести сообщение «Не найдено». Const n=20; Var a:array [1..n] of integer; i, j, max:integer; Begin For i:=1 to n do readln(a[i]); {вводим массив} max:=0; {начальные значения} for i:=1 to n do If (a[i] mod 2=0) and (a[i]>=100) and (a[i]<1000) then max:=a[i]; {решение} If max>0 then Write(max) else write(‘Не найдено’); {вывод результата} End. (a[i] mod 2=0) - определение четности (a[i]>=100) and (a[i]<1000) - все трёхзначные числа лежат в этом диапазоне

№ слайда 16 const N = 20; var a: array [1..N] of integer; i, j, min: integer; begin for i
Описание слайда:

const N = 20; var a: array [1..N] of integer; i, j, min: integer; begin for i := 1 to N do readln(a[i]); j:=0; for i := 1 to N do if (A[i]>0) and (A[i] mod 10=0) and ((j=0) or (A[i]<min)) then begin j:=j+1; min:= A[i] end; if j>0 then write(min) else write(‘не найдено’) end. 7) Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, оканчивающихся на 0. Если в исходном массиве нет элемента, значение которого положительно и оканчивается цифрой 0, то вывести сообщение «Не найдено».

№ слайда 17 8) Дан целочисленный массив из 20 элементов. Элементы массива могут принимать
Описание слайда:

8) Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значениия от -1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, имеющих чётное значение. Если в исходном массиве нет элемента, значение которого чётно и положительно, то вывести сообщение «Не найдено». 9) Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, кратных 5. Если в исходном массиве нет элемента, значение которого положительно и делится на 5, то вывести сообщение «Не найдено».

Автор
Дата добавления 20.10.2015
Раздел Информатика
Подраздел Презентации
Просмотров199
Номер материала ДВ-081187
Получить свидетельство о публикации

"Инфоурок" приглашает всех педагогов и детей к участию в самой массовой интернет-олимпиаде «Весна 2017» с рекордно низкой оплатой за одного ученика - всего 45 рублей

В олимпиадах "Инфоурок" лучшие условия для учителей и учеников:

1. невероятно низкий размер орг.взноса — всего 58 рублей, из которых 13 рублей остаётся учителю на компенсацию расходов;
2. подходящие по сложности для большинства учеников задания;
3. призовой фонд 1.000.000 рублей для самых активных учителей;
4. официальные наградные документы для учителей бесплатно(от организатора - ООО "Инфоурок" - имеющего образовательную лицензию и свидетельство СМИ) - при участии от 10 учеников
5. бесплатный доступ ко всем видеоурокам проекта "Инфоурок";
6. легко подать заявку, не нужно отправлять ответы в бумажном виде;
7. родителям всех учеников - благодарственные письма от «Инфоурок».
и многое другое...

Подайте заявку сейчас - https://infourok.ru/konkurs


Выберите специальность, которую Вы хотите получить:

Обучение проходит дистанционно на сайте проекта "Инфоурок".
По итогам обучения слушателям выдаются печатные дипломы установленного образца.

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ


Идёт приём заявок на международный конкурс по математике "Весенний марафон" для учеников 1-11 классов и дошкольников

Уникальность конкурса в преимуществах для учителей и учеников:

1. Задания подходят для учеников с любым уровнем знаний;
2. Бесплатные наградные документы для учителей;
3. Невероятно низкий орг.взнос - всего 38 рублей;
4. Публикация рейтинга классов по итогам конкурса;
и многое другое...

Подайте заявку сейчас - https://urokimatematiki.ru

Похожие материалы

Включите уведомления прямо сейчас и мы сразу сообщим Вам о важных новостях. Не волнуйтесь, мы будем отправлять только самое главное.
Специальное предложение
Вверх