ÐÑпÑÑк 5 - РоÑÑийÑкий гоÑÑдаÑÑÑвеннÑй пÑоÑеÑÑионалÑно ...
ÐÑпÑÑк 5 - РоÑÑийÑкий гоÑÑдаÑÑÑвеннÑй пÑоÑеÑÑионалÑно ...
ÐÑпÑÑк 5 - РоÑÑийÑкий гоÑÑдаÑÑÑвеннÑй пÑоÑеÑÑионалÑно ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
МЕТОДИКА<br />
нее досрочное прерывание цикла и выполнять полный перебор элементов массива. В этом случае<br />
задача, по сути, сводится к подсчету количества имеющихся в массиве элементов, соответствующих<br />
заданному условию. Тогда по завершении цикла оператор if должен быть несколько изменен.<br />
Вопрос учащимся: как нужно изменить оператор if в конце программы, если по условию задачи требуется<br />
только определить факт наличия в массиве n-го по счету искомого элемента?<br />
if flag >= n<br />
then writeln('Искомый элемент существует')<br />
else writeln('Искомый элемент не найден');<br />
Здесь, если количество найденных элементов (переменная flag) равно n либо больше n, то в любом<br />
из таких случаев можно утверждать, что<br />
искомый n-й элемент в массиве имеется.<br />
Начало<br />
Подсчет количества элементов, соответствующих<br />
условию<br />
При решении задачи поиска n-го по<br />
счету элемента, удовлетворяющего заданному<br />
условию, мы в переменной-флаге<br />
фактически отсчитывали количество<br />
предыдущих элементов, удовлетворяющих<br />
условию. Теперь же для определения<br />
общего количества таких элементов в<br />
массиве необходимо лишь отказаться от<br />
досрочного прерывания цикла и произвести<br />
полный перебор элементов в массиве.<br />
Переменную же, в которой подсчитывается<br />
количество обнаруженных “правильных”<br />
элементов, мы будем называть<br />
уже не флагом, а счетчиком.<br />
Примеры:<br />
1) определить количество имеющихся в<br />
одномерном целочисленном массиве четных<br />
значений.<br />
Нет<br />
Ввод массива mas[]<br />
counter = 0<br />
i = 1 to 10<br />
mas[i] mod 2 = 0<br />
В массиве<br />
имеется counter<br />
элементов<br />
Конец<br />
Да<br />
counter = counter + 1<br />
Начало программы<br />
Объявление массива<br />
Выполняемое действие<br />
program mas_count;<br />
Объявление цикловой переменной i : integer;<br />
Объявление целочисленной переменной —<br />
счетчика<br />
Строки программы<br />
var mas : array[1..10] of integer;<br />
begin<br />
ввод массива<br />
counter : integer;<br />
Первоначально счетчик нужно обнулить counter := 0;<br />
40<br />
май 2012 / ИНФОРМАТИКА<br />
Цикл перебора элементов массива for i := 1 to 10 do<br />
begin<br />
Если текущий элемент массива удовлетворяет<br />
заданному условию (остаток от его деления<br />
на 2 равен нулю — значит, число четное), то<br />
увеличиваем значение счетчика на 1<br />
Конец цикла end;<br />
Вывод результата на экран<br />
Конец программы<br />
if (mas[i] mod 2) = 0<br />
then counter := counter + 1;<br />
writeln('В массиве MAS имеется ', counter:2,<br />
' четных чисел');<br />
end.