Презентация · для учителей
Презентация «Поиск элементов массива по условию»
Полный просмотр, фильтрация, счётчик и поиск первого подходящего элемента в PascalABC.NET.
Раздел «Алгоритмы обработки массивов». Работа за компьютером по теме «Алгоритмы обработки массивов». КТП составлено по действующей официальной программе Республики Беларусь.
Сначала — короткое объяснение
Короткое объяснение полного просмотра массива, фильтрации значений, подсчёта совпадений и поиска первого подходящего индекса в PascalABC.NET.
Конспект урока
Язык примеров
Содержание урока адаптируется под выбранный язык
Дан массив a = [3, 8, 1, 10, 6, 5]. Как вывести только значения больше 5? Нужно пройти по всем индексам и для каждого проверить одно и то же условие.
Цель урока: выводить и подсчитывать элементы по условию, а также находить первый подходящий индекс.
for i := 1 to 6 do
if a[i] > 5 then
write(a[i], ' ');
Ожидаемый вывод: 8 10 6.
Цикл гарантирует полный просмотр. Условие if решает, выполнять ли действие для текущего элемента.
i | a[i] | a[i] > 5 | Выводим? |
|---|---|---|---|
| 1 | 3 | ложь | нет |
| 2 | 8 | истина | да |
| 3 | 1 | ложь | нет |
| 4 | 10 | истина | да |
| 5 | 6 | истина | да |
| 6 | 5 | ложь | нет |
k := 0;
for i := 1 to 6 do
if a[i] > 5 then
k := k + 1;
Итог: k = 3. Счётчик увеличивается только при истинном условии и обязательно начинается с нуля.
Задача «найти первый» отличается от задачи «найти все». После первого совпадения индекс нужно запомнить и завершить поиск.
pos := 0;
i := 1;
while (i <= 6) and (pos = 0) do
begin
if a[i] mod 2 = 0 then
pos := i
else
i := i + 1;
end;
Первый чётный элемент — a[2]=8, поэтому pos=2.
pos=0 удобноИндексы массива начинаются с 1. Следовательно, ноль можно использовать как специальный признак «ничего не найдено».
После поиска всегда проверяйте результат:
if pos = 0 then
writeln('Элемент не найден')
else
writeln('Индекс: ', pos);
Для массива [3,8,1,10,6,5]:
8 10 6;Не смешивайте продукты: список значений, количество и один индекс требуют разных переменных и действий.
k := 0;
for i := 1 to 6 do
if a[i] > 5 then
write(a[i], ' ')
else
k := k + 1;
Здесь k считает элементы, не удовлетворяющие условию. Если требуется число элементов больше 5, увеличение должно находиться в ветви истинного условия.
Дан b = [4, 9, 2, 7, 6].
Ключ: 9 7 6; количество 3; первый нечётный элемент b[2]=9, индекс 2.
Источник программы курса: учебная программа Республики Беларусь.
Материалы урока
Презентация · для учителей
Полный просмотр, фильтрация, счётчик и поиск первого подходящего элемента в PascalABC.NET.
Методичка · для учителей
План практической работы для учителя с рабочим листом, ключами и критериями.
Комментарии
Войдите, чтобы оставлять комментарии.
Пока нет комментариев. Будьте первым!