Презентация по информатике на тему Работа с одномерными массивами


Работа с элементами одномерных массивовМассивы бывают иа также в Турбо Паскале они числовые1.Определение массивов2.Этапы решения задач на массивы3.Задачи на обработку массивовАвтор презентации Работа с элементами одномерных массивовМассивы бываютиа также в Турбо Паскале они числовыеОпределение массивовЭтапы решения задач на массивыЗадачи на обработку массивовГорный массив Работа с элементами одномерных массивовМассивы бываютиа также в Турбо Паскале они числовыеОпределение массивовЭтапы решения задач на массивыЗадачи на обработку массивовЛесной массив Работа с элементами одномерных массивовМассивы бываютиа также в Турбо Паскале они числовыеОпределение массивовЭтапы решения задач на массивыЗадачи на обработку массивовЖилой массив 1234561.Совокупность величин одного типа, обозначенная одним именем 1234562.Массив – это составной объект, образованный из элементов (компонент) одного и того же типа 1234563.Массив - именованный набор с фиксированным количеством однотипных данных. 1234564.Массив совокупностьданных объединенных общим свойством 1234565.Массив- это упорядоченный набор фиксированногоколичества некоторых значений 1234566.Массив - это упорядоченное множество однотипных элементов,объединенных общим именем и занимающих в компьютере определенную область памяти Этапы решения задач на массивыРешение задач на массивы состоит из трех основных этапов:1.Ввод данных ( элементов массива)2.Обработка элементов массива3.Вывод результатов 1.С клавиатурыfor i:=1 to 7 do beginwrite('a[', i, ']=');read ( a[i] );end;2.С помощью генератора случайных чиселfor i:=1 to 10 do begina[i]:=random(101); {числа от 1 до 100}end;3.С помощью формулыvar b: array [1..10] of integer;i: integer;beginfor i:=1 to 10 dob[i]:=i*2;end; Фрагменты программ на массивыПопробуйте пояснить каждый фрагмент программыk:=0;for i:=1 to n doif a[i] mod 2=0 then k:=k+1;t:=a[k1];a[k1]:=a[k2]; a[k2]:=t.s:=0;for i:=1 to n doif a[i]>0 then s:=s+a[i];min:=a[1] ; for i:=2 to n do if a[i]<=min then min:=a[i]; а) в столбик: For i:=1 to N do Writeln(a[i]:4:2); б) в строкуFor i:=1 to N do Write(a[i]:4:2);7.236.195.428.917.23 6.19 5.42 8.91 7.23 6.19 5.428.91 Задачи на обработку массивов№1 Дан массив :А={1;-4;6;56;0;-6;4;23;18;19}Подсчитать сколько элементов массива имеют значение больше 10?( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha1;var A: ARRAY[1.. …… ] OF …… ;i, k: integer;BEGINK:=……FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO……IF A[I]>10 THEN K:=…… ;WRITELN (‘K=‘,K);READLN;END. Задачи на обработку массивовДан массив :А={1;-4;6;56;0;-6;4;23;18;19}Подсчитать сколько элементов массива имеют значение больше 10?( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha1;var A: ARRAY[1.. …… ] OF …… ;i, k: integer;BEGINK:=……;FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO……IF A[I]>10 THEN K:=…… ;WRITELN (‘K=‘,K);READLN;END.10, т.к. количество элементов в массиве равно 10 Задачи на обработку массивовДан массив :А={1;-4;6;56;0;-6;4;23;18;19}Подсчитать сколько элементов массива имеют значение больше 10?( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha1;var A: ARRAY[1.. …… ] OF …… ;i, k: integer;BEGINK:=……;FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO……IF A[I]>10 THEN K:=…… ;WRITELN (‘K=‘,K);READLN;END.В Паскале после OF пишется тип переменных. В нашем случае он целый-integer,т.к. все элементы массива целые числа Задачи на обработку массивовДан массив :А={1;-4;6;56;0;-6;4;23;18;19}Подсчитать сколько элементов массива имеют значение больше 10?( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha1;var A: ARRAY[1.. …… ] OF …… ;i, k: integer;BEGINK:=……;FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO……IF A[I]>10 THEN K:=…… ;WRITELN (‘K=‘,K);READLN;END.К=0, переменная где накапливается количество чисел больших 10. Первоначальное ее значение равно 0 Задачи на обработку массивовДан массив :А={1;-4;6;56;0;-6;4;23;18;19}Подсчитать сколько элементов массива имеют значение больше 10?( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha1;var A: ARRAY[1.. …… ] OF …… ;i, k: integer;BEGINK:=……;FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO……IF A[I]>10 THEN K:=…… ;WRITELN (‘K=‘,K);READLN;END.10-цикл с параметром ввода элементов массива; всего 10 элементов Задачи на обработку массивовДан массив :А={1;-4;6;56;0;-6;4;23;18;19}Подсчитать сколько элементов массива имеют значение больше 10?( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha1;var A: ARRAY[1.. …… ] OF …… ;i, k: integer;BEGINK:=……;FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO……IF A[I]>10 THEN K:=…… ;WRITELN (‘K=‘,K);READLN;END.Readln(оператор ввода), в скобках пишется (a[i]),где a[i]-элементы массива Задачи на обработку массивовДан массив :А={1;-4;6;56;0;-6;4;23;18;19}Подсчитать сколько элементов массива имеют значение больше 10?( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha1;var A: ARRAY[1.. …… ] OF …… ;i, k: integer;BEGINK:=……;FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO……IF A[I]>10 THEN K:=…… ;WRITELN (‘K=‘,K);READLN;END.10-обработка массива т.е. поиск в цикле элементов больших 10 Задачи на обработку массивовДан массив :А={1;-4;6;56;0;-6;4;23;18;19}Подсчитать сколько элементов массива имеют значение больше 10?( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha1;var A: ARRAY[1.. …… ] OF …… ;i, k: integer;BEGINK:=……;FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO……IF A[I]>10 THEN K:=…… ;WRITELN (‘K=‘,K);READLN;END.Здесь писать ничего не нужно т.к продолжение этой строки программы ниже, на следующей строчке. Задачи на обработку массивовДан массив :А={1;-4;6;56;0;-6;4;23;18;19}Подсчитать сколько элементов массива имеют значение больше 10?( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha1;var A: ARRAY[1.. …… ] OF …… ;i, k: integer;BEGINK:=……;FOR I:=1 TO …… DO READLN( ……); FOR I:=1 TO…… DO……IF A[I]>10 THEN K:=…… ;WRITELN (‘K=‘,K);READLN;END.Если найдены элементы больше 10 то их количество увеличивается на 1,т.е изменяется переменная К и в программе надо записать К:=К+1 А вот как выглядит вся программа целикомprogram zadacha1;var A:ARRAY[1..10] OF integer;I,K: integer;BEGINK:=0;FOR I:=1 TO 10 DO READLN(A[I]);FOR I:=1 TO 10 DOIF A[I]>10 THEN K:=K+1;WRITELN ('число элементов=',K);READLN;END. Задачи на обработку массивов№2 Дан массив С={1;-4;6.5;6;0;-6.4;23;9}Найдите наибольший элемент массива ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha2;var С:ARRAY[1.. 8] OF …… ;MAX: ......;I: integer;BEGINFOR I:=1 TO 8 DO READLN (c[i]);MAX:=C[ …… ];FOR I:= 2 TO …… DOIF C[ I ] > …… THEN MAX:= …… ; WRITELN ('MAX=',MAX); READLN;END. Задачи на обработку массивов№2 Дан массив С={1;-4;6.5;6;0;-6.4;23;9}Найдите наибольший элемент массива ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha2;var С:ARRAY[1.. 8] OF …… ;MAX: ......;I: integer;BEGINFOR I:=1 TO 8 DO READLN(c[i]);MAX:=C[ …… ];FOR I:= 2 TO …… DOIF C[ I ] > …… THEN MAX:= …… ; WRITELN ('MAX=',MAX);READLN;END.Тип –вещественный,т.е в Паскале он записывается как real Задачи на обработку массивов№2 Дан массив С={1;-4;6.5;6;0;-6.4;23;9}Найдите наибольший элемент массива ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha2;var С:ARRAY[1.. 8] OF …… ;MAX: ......;I: integer;BEGINFOR I:=1 TO 8 DO READLN(c[i]);MAX:=C[ …… ];FOR I:= 2 TO …… DOIF C[ I ] > …… THEN MAX:= …… ; WRITELN ('MAX=',MAX);READLN;END.Max –так обозначен наибольший элемент массива и тип его тоже вещественный, т.е.real Задачи на обработку массивов№2 Дан массив С={1;-4;6.5;6;0;-6.4;23;9}Найдите наибольший элемент массива ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha2;var С:ARRAY[1.. 8] OF …… ;MAX: ......;I: integer;BEGINFOR I:=1 TO 8 DO READLN(c[i]);MAX:=C[ …… ];FOR I:= 2 TO …… DOIF C[ I ] > …… THEN MAX:= …… ; WRITELN ('MAX=',MAX);READLN;END.В данной задач поиск наибольшего элемента основан на принципе сравнения. Поэтому предположим, что самый больший элемент в массиве –первый, т.е c[1] Задачи на обработку массивов№2 Дан массив С={1;-4;6.5;6;0;-6.4;23;9}Найдите наибольший элемент массива ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha2;var С:ARRAY[1.. 8] OF …… ;MAX: ......;I: integer;BEGINFOR I:=1 TO 8 DO READLN(c[i]);MAX:=C[ …… ];FOR I:= 2 TO …… DOIF C[ I ] > …… THEN MAX:= …… ; WRITELN ('MAX=',MAX);READLN;END.Далее, начиная со 2-го элемента массива до 9 мы сравниваем 1-элемент, которому придали статус наибольшего со остальными, поэтом у здесь вместо многоточия пишем 9 Задачи на обработку массивов№2 Дан массив С={1;-4;6.5;6;0;-6.4;23;9}Найдите наибольший элемент массива ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha2;var С:ARRAY[1.. 8] OF …… ;MAX: ......;I: integer;BEGINFOR I:=1 TO 8 DO READLN(c[i]);MAX:=C[ …… ];FOR I:= 2 TO …… DOIF C[ I ] > …… THEN MAX:= …… ; WRITELN ('MAX=',MAX);READLN;END.Если в массиве находится элемент больше первого, тогда он будет наибольшем т.е. C[i]>max Задачи на обработку массивов№2 Дан массив С={1;-4;6.5;6;0;-6.4;23;9}Найдите наибольший элемент массива ( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа)program zadacha2;var С:ARRAY[1.. 8] OF …… ;MAX: ......;I: integer;BEGINFOR I:=1 TO 8 DO READLN(c[i]);MAX:=C[ …… ];FOR I:= 2 TO …… DOIF C[ I ] > …… THEN MAX:= …… ; WRITELN ('MAX=',MAX);READLN;END.Наибольшим становится найденный элемент т.е. Max:=c[i] Одномерный массив program zadacha3;var B:ARRAY[1.. 10] OF …… ;I: ……S: ……BEGINS:=……FOR I:=1 TO 10 DO READLN( …… );FOR I:=1 TO 10 DO ……IF B[I] …… THEN S:= ……WRITELN ('S=',S:2:2);READLN;END. Задачи на обработку массивов№3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7}найти сумму элементов массива, больших 0.( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответа program zadacha3;var B:ARRAY[1.. 10] OF …… ;I: ……S: ……BEGINS:=……FOR I:=1 TO 10 DO READLN( …… );FOR I:=1 TO 10 DO ……IF B[I] …… THEN S:= ……WRITELN ('S=',S:2:2);READLN;END. Задачи на обработку массивов№3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7}найти сумму элементов массива, больших 0.( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответаВ Паскале после OF пишется тип переменных. В нашем случае он вещественный( в записи элементов массива есть 1.5 и 2.5) т.е.real, program zadacha3;var B:ARRAY[1.. 10] OF …… ;I: ……S: ……BEGINS:=……FOR I:=1 TO 10 DO READLN( …… );FOR I:=1 TO 10 DO ……IF B[I] …… THEN S:= ……WRITELN ('S=',S:2:2);READLN;END. Задачи на обработку массивов№3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7}найти сумму элементов массива, больших 0.( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответаВ Паскале i- номер элемента в данном массиве, который имеет всегда целый тип т.е. integer program zadacha3;var B:ARRAY[1.. 10] OF …… ;I: ……S: ……BEGINS:=……FOR I:=1 TO 10 DO READLN( …… );FOR I:=1 TO 10 DO ……IF B[I] …… THEN S:= ……WRITELN ('S=',S:2:2);READLN;END. Задачи на обработку массивов№3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7}найти сумму элементов массива, больших 0.( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответаСумма элементов в данном массивебудет иметь тип real program zadacha3;var B:ARRAY[1.. 10] OF …… ;I: ……S: ……BEGINS:=……FOR I:=1 TO 10 DO READLN( …… );FOR I:=1 TO 10 DO ……IF B[I] …… THEN S:= ……WRITELN ('S=',S:2:2);READLN;END. Задачи на обработку массивов№3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7}найти сумму элементов массива, больших 0.( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответаПервоначальное значение S=0 program zadacha3;var B:ARRAY[1.. 10] OF …… ;I: ……S: ……BEGINS:=……FOR I:=1 TO 10 DO READLN( …… );FOR I:=1 TO 10 DO ……IF B[I] …… THEN S:= ……WRITELN ('S=',S:2:2);READLN;END. Задачи на обработку массивов№3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7}найти сумму элементов массива, больших 0.( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответаПосле слова readln (оператор ввода)вводятся элементы массива, поэтом здесь пишем b[i] program zadacha3;var B:ARRAY[1.. 10] OF …… ;I: ……S: ……BEGINS:=……FOR I:=1 TO 10 DO READLN( …… );FOR I:=1 TO 10 DO ……IF B[I] …… THEN S:= ……WRITELN ('S=',S:2:2);READLN;END. Задачи на обработку массивов№3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7}найти сумму элементов массива, больших 0.( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответаА здесь писать ничего не надопродолжение на следующей строчке program zadacha3;var B:ARRAY[1.. 10] OF …… ;I: ……S: ……BEGINS:=……FOR I:=1 TO 10 DO READLN( …… );FOR I:=1 TO 10 DO ……IF B[I] …… THEN S:= ……WRITELN ('S=',S:2:2);READLN;END. Задачи на обработку массивов№3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7}найти сумму элементов массива, больших 0.( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответаТ.к. надо найти сумму элементов больших 0, то здесь происходит поиск этих элементов в цикле и вместо многоточия пишем b[i]>0 program zadacha3;var B:ARRAY[1.. 10] OF …… ;I: ……S: ……BEGINS:=……FOR I:=1 TO 10 DO READLN( …… );FOR I:=1 TO 10 DO ……IF B[I] …… THEN S:= ……WRITELN ('S=',S:2:2);READLN;END. Задачи на обработку массивов№3 В массиве В, состоящем из элементов {-3,5,2,0,-2.5,21,9,-8,-1.5,7}найти сумму элементов массива, больших 0.( допишите программу, заполнив все пропуски. При проверке данной программы щелкните по многоточиям для получения правильного ответаЕсли найден элемент больше 0, то к сумме добавляется 1, т.е. пишем:S=S+1; program zadacha3;var B:ARRAY[1..10] OF REAL ;I: INTEGER;S:REAL;BEGINS:=0;FOR I:=1 TO 10 DO READLN( B[I] );FOR I:=1 TO 10 DOIF B[I] >0 THEN S=S+1;WRITELN ('S=',S:2:2);READLN;END.А вот как выглядит вся программа целиком Задание 1 ЕГЭ А6Дан фрагмент программы, обрабатывающий массив А из n элементов (известно, что в массиве имеются положительные элементы):S:=0; k:=0; for i:=1 to n do if A[i]>0 then beginS:=S+A[i]; k:=k+1; end; S:=S/k;Чему будет равно значение переменной S после выполнения данного алгоритма?A) Среднему значению всех элементов массива АБ) Среднему значению положительных элементов массива АB) Количеству положительных элементов массива АГ) Значению последнего положительного элемента(Правильный ответ и пояснение) S:=0;{ сумма равна 0}k:=0; { к –счетчик равен 0 }for i:=l to n do {начало цикла с параметром i от 1 до n}if A[i]>0 then { если элемент положителен, то} beginS:=S+A[i]; {суммируем положительные элементы}k:=k+l; {увеличиваем счетчик найденных элементов}end; S:=S/k;{среднее значение положительных элементов массива А}Правильный ответ :Б Задание 2 ЕГЭ А6В программе описан одномерный массив с целочисленными элементами с индексами от 0 до 10. Представлен фрагмент программы, в котором значения элементов сначала задаются, а затем меняются:for i:=0 to 10 doA[i]:=i+1; for i:=1 to 10 doA[i]:=A[i-1];Как меняются элементы этого массива? А) Все элементы, кроме последнего, сдвигаются на элемент вправо Б) Все элементы, кроме первого, сдвигаются на один элемент влевоВ) Все элементы окажутся равными 1Г) Все элементы окажутся равными своему индексу(Правильный ответ и пояснение) В программе два последовательно расположенных цикла, в первом из которых заполняется массив А. В результате выполнения первого цикла получим массив А Принципиальный момент в данном задании – второй цикл обработки массива. Именно в нем значение нулевого элемента массива (единица) записывается в первый элемент, затем во второй и т.д. Следовательно, все элементы массива после выполнения фрагмента программы будут равны единице Правильный ответ: ВA[i]1234567891011 i012345678910 Автор презентации : учитель математики и информатики МБОУ СОШ №15 г. РязаниЗотова Марина Анатольевна