ИНФОРМАТИКА Поиск в одномерных массивах. 2014 г. Кирсанов Илья Андреевич ©
ИНФОРМАТИКА Задача 1. Дан одномерный целочисленный массив с индексами от 0 до 10(сколько элементов содержит такой массив? ) Нужно найти максимальный элемент и вывести его номер. Решение. program max; var i, maxelement, maxindex: integer; A: array[0. . 10] of integer; begin randomize; for i: =0 to 10 do //ввод случайных чисел в массив begin A[i]: =random(1000); Write(A[i], ' '); end; maxelement: =A[0]; maxindex: =0; 2014 г. Кирсанов Илья Андреевич ©
ИНФОРМАТИКА Задача 1. for i: =0 to 10 do (* поиск максимального элемента. Почему можно написать for i: =1 to 10? *) begin if A[i]>maxelement then (*если текущий элемент больше максимального из тех, которые мы проверили, то максимальный элемент приравнивается к текущему. *) begin maxelement: =A[i]; maxindex: =i; //индекс максимального элемента меняется. end; writeln(‘максимальный элемент =‘ , maxelement); writeln(‘индекс =‘, maxindex); readln; 2014 г. Кирсанов Илья Андреевич © end.
ИНФОРМАТИКА Задача 2. Дан одномерный целочисленный массив с индексами от 0 до 10. Нужно найти нечётные элементы и вывести их индексы. Решение. Массив задаётся так же, как и в предыдущей задаче. Нам не потребуются переменные maxindex и maxelement. Далее : for i: =0 to 10 do begin if A[i] mod 2 = 1 then (*если остаток от деления текущего элемента на 2 равен 1, то элемент нечётный и мы его выводим*) begin writeln(A[i], ’и’, i); //нечётный элемент и его индекс. end; readln; 2014 г. Кирсанов Илья Андреевич © end.
ИНФОРМАТИКА Задача 3. Дан одномерный целочисленный массив с индексами от 0 до 10. Нужно найти сумму элементов с чётными индексами и посчитать количество элементов в массиве больших 400. Решение. Массив задаётся так же, как и в предыдущей задаче. Нам потребуются переменные sum и count. program zadacha 3; var i, count, sum: integer; Тогда A: array[0. . 10] of integer; begin randomize; for i: =0 to 10 do begin A[i]: =random(1000); Write(A[i], ' '); end; 2014 г. Кирсанов Илья Андреевич ©
ИНФОРМАТИКА Задача 3. sum: =0; count: =0; for i: =0 to 10 do begin if i mod 2 = 0 then begin sum: =sum+A[i]; end; if A[i] > 400 then begin count: =count+1; end; writeln('сумма элементов с чётными индексами=' , sum); writeln('количество элементов больших 400 =', count); readln; 2014 г. Кирсанов Илья Андреевич © end.