Презентация - Задачи на одномерные массивы
просмотра
Текст этой презентации
Слайд 1
Задачи на одномерные массивы
11 класс
Пигасина Е.П.
Учитель информатики 2016-2017
Слайд 2
показать практическую значимость использования программирования для наглядного представления решения задач в различных областях жизнедеятельности человека; активизировать учебный процесс; развивать логическое и аналитическое мышление школьников.
Слайд 3
Задачи из тестов ЕГЭ
1)В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленная переменная i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 9 do begin
A[i]:=A[i+1]; end;
Чему будут равны элементы этого массива?
1) 10 0 1 2 3 4 5 6 7 8 9
2) 1 2 3 4 5 6 7 8 9 10 10
3) 0 0 1 2 3 4 5 6 7 8 9
4) 1 2 3 4 5 6 7 8 9 10 0
Слайд 4
Идем по программе:
от 0 до 10 выполняем A[i]:=i, т. е. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
от 0 до 9 выполняем A[i]:=A[i+1], т. е. значения ячеек смещаются влево на одну ячейку, кроме последней, так что 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10.
Правильный ответ указан под номером 2.
Слайд 5
2) В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do
A[i]:= i + 1;
for i:=0 to 10 do
A[i]:= A[10-i];
Чему будут равны элементы этого массива?
1) 10 9 8 7 6 5 4 3 2 1 0
2) 11 10 9 8 7 6 5 4 3 2 1
3) 11 10 9 8 7 6 7 8 9 10 11
4) 10 9 8 7 6 5 6 7 8 9 10
Правильный ответ указан под номером 3.
Слайд 6
3) В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные переменные k, i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 4 do begin
k:=A[i];
A[i]:=A[i+5];
A[i+5]:=k;
end;
Чему будут равны элементы этого массива?
1) 5 6 7 8 9 0 1 2 3 4 10
2) 10 9 8 7 6 5 4 3 2 1 0
3) 0 1 2 3 4 5 4 3 2 1 0
4) 1 0 3 2 5 4 7 6 9 8 10
Правильный ответ указан под номером 1.
Слайд 7
Слайд 8
Randomize
1)чтобы в данный диапазон входили отрицательные числа необходимо описывать так a[i]:= random(x) - y;, т.е. числа будут диапазона -y…(x-1) 2)если для функции random не указывать диапазон значений, то числу будет присвоено значение от 0..1, т.е. 0.5,0.6,0.8 и т.д.
Слайд 9
Задача
Требуется создать массив из N случайных целых чисел При отработке технических навыков программирования важно научить школьников не использовать в тексте программы числовые константы в явном виде. Всем таким константам должны быть даны имена в блоке const.
Слайд 10
const N = 10; {количество элементов массива} MAX_V = 15; {диапазон случайных чисел} var m: array[1..N] of integer; i: integer; begin randomize; for i := 1 to N do {создание и вывод элементов массива} begin m[i] := random(MAX_V); writeln('m[i]=',m[i]); end; end.
Слайд 11
Задача
A: 3,-4,0,3,-5,10,0
A[1]=3, A[3]=0, A[7]=0
i - номер элемента, A[i] - элемент массива, стоящий на i-ом месте
Сформировать и вывести на экран последовательность из n элементов, заданных датчиком случайных чисел на интервале [-23, 34]. Program posled;
Var a: array[1..100] of integer; i, n: integer;
Begin Write (‘Сколько элементов? ’); Readln (n); For i=1 to n do begin a[i]:= Random(58)-23; writeln (a[i],’ ‘); end;
End.
Слайд 12
Задача
Дан массив чисел. Найти, сколько в нем пар одинаковых соседних элементов.
Переменные:
mas – массив чисел;n – размер массива;i – переменная цикла;k – количество одинаковых пар соседних элементов.
Алгоритм решения задачи:
вводим длину массива n, значение элементов массива и устанавливаем начальное значение k;
последовательно просматриваем элементы и, если очередной mas[i] равен следующему mas[i+1], то увеличиваем значение k на единицу;
выводим результат.
Слайд 13
Слайд 14
Задача 1
В одномерном массиве найти количество положительных элементов.
Описание переменных:
N - количество элементов в массиве;arr - одномерный массив, содержащий N элементов;i - переменная-счетчик;c - счетчик для положительных элементов массива.
Необходимо перебрать все элементы массива в цикле (обычно используется for) и сравнить их с нулем (с помощью условного оператора if, вложенного в цикл).
Если текущий элемент массива больше нуля, то следует увеличить на единицу счетчик положительных элементов, которому до цикла присваивается значение 0 (т. к. еще ни одного положительного элемента массива не найдено).
Слайд 15
После завершения цикла значением данного счетчика будет найденное количество положительных элементов массива.
const N = 10; var arr: array[1..N] of integer; i: byte; c: byte; begin randomize; c := 0; for i:=1 to N do begin arr[i] := random(100) - 50; write(arr[i],' '); if arr[i] > 0 then c := c + 1; end; writeln; writeln(c); end.
Слайд 16
Задача 2
С клавиатуры вводится длина одномерного массива и его элементы. Подсчитать и вывести количество элементов, которые делятся на 5.
Program Massiv; var a:array[1..50] of integer; i,n,s : integer; begin write('Размер массива:'); readln(n); for i:=1 to n do begin write('A[',i,']='); readln(a[i]); if a[i] mod 5 = 0 then s:=s+1; end; write('Количество элементов, которые делятся на 5: ',s); readln; end.
Слайд 17
Источники
http://inf.1september.ru/2008/07/02.htm
http://www.pascal.helpov.net/index/one-dimensional_arrays_pascal_programming
http://dev.kurepin.com/texts/3.htm
Похожие презентации
Поделиться ссылкой на презентацию через:
Код для вставки видеоплеера презентации на свой сайт: