ify">. Перш ніж, дізнатися щось нове варто повторити вже відоме.
Фронтальне опитування. На екрані слайди із завданнями.
) Знайдіть помилки при описі масиву і правильний варіант:
а) Var A: array (1..100) of integer; б) Var A: array [1 ... 100] of integer;
в) Var A: array [1..10] of readln; г) Var A: array [1..10] of integer;
2) Скільки елементів у масиві і яким способом задаються елементи масиву?
Var A: array [1..100] of integer;: integer; i:=1 to 15 do (A [i]);
) Знайдіть помилки при завданні масиву:
а) For i=1 to 15 do б) For i:=1 to 15 do; (A [i]); readln (A [i]);
в) randomize; г) randomize; i:=1 to 15 do For i:=1 to 15 doBegin [i]:=- 10 + random [21]; a [i]:=- 10 + random (21); (a (i): 4); write (a [i]: 4);
end; writeln; end; writeln;
) Навіщо потрібен кожен алгоритм (що робить з масивом)?
а) s:=0; б) k:=0i:=1 to 20 do For i:=1 to 15 do:=s + a [i]; if a [i] gt; 0 then k:=k + 1;
в) For i:=1 to 20 doa [i] mod 2=0 then write (a [i]: 4);
г) max:=a [1]; i:=1 to 20 doa [i] gt; max then max:=a [i];
Ви звернули увагу, що якщо потрібно переглянути всі елементи масиву, то потрібно використовувати цикл, що працює за номерами елементів.
Чи ситуації, коли при роботі з елементами, цикл не потрібен? (так, якщо в завданні розглядаються не всі, а окремі елементи) Наприклад, потрібно скласти 1-й і 7-й елементи, або поміняти їх місцями .. Давайте придумаємо алгоритм перестановки 2-х елементів, порядок проходження елементів не порушується, переміщаються їх значення.
Потрібно поміняти місцями 2-й і 5-й елементи масиву, що складається з десяти цілих чисел.
Був масив: 10, 30, - 7, 15, 75, 16, - 5, 0, 14, - 10
Став масив: 10, 75, - 7, 15, 30, 16, - 5, 0, 14, - 10
Начебто все просто, взяти і перекласти. Спробуємо проінсценіровать ситуацію (двоє учнів виконують ролі елементів a [2] і a [5], які зберігають значення 30 і 75 відповідно).
Виникає проблема, враховуючи, що змінна - це «ящик», який може зберігати тільки одне значення, просто перекласти елементи не получается.V. Ось і позначилася тема і мета нашого уроку. Як ви думаєте, вони звучать?
Тема уроку «Перестановка елементів в одновимірному масиві».
Мета уроку: навчитися переставляти елементи в одновимірному масиві.
Отже, повертаючись до нашої інсценуванні, що потрібно зробити, щоб не втратити значення, що зберігається в a [2]? (його потрібно запам'ятати, відкласти абикуди) Нам потрібен ще один «ящик» - проміжна змінна.
Проінсценіруем ситуацію з трьома змінними. Зверніть увагу, що процес можна проводити як зліва направо так і з права наліво (після інсценування на екрані з'являється схема процесу).
Спробуйте описати цей процес в програмі (спочатку в зошиті, потім на дошці).:=a [2]; [2]:=a [5]; [5]=pr;
Запишемо алгоритм в загальному вигляді. Потрібно переставити елементи a [i] і a [j]
pr:=a [i]; [i]:=a [j]; [j]=pr;
VI. Пора написати програму рішення задачі.
Потрібно поміняти місцями 2-й і 5-й елементи масиву, що складається з десяти цілих чисел.
Але перш давайте обговоримо з яких «кубиків» -алгоритми складатиметься програма.
) опис змінних (не забути про проміжну змінну). Який тип повинен бути у проміжної змінної? (Як у елементів масиву).
) стандартний ввід-висновок масиву.
) перестановка елементів.
) висновок елементів масиву в рядок.
Після написання в зошиті кожного з етапів, для самоперевірки на екрані з'являється відповідний слайд. А потім і вся програма цілком.
z1; A: array [1..10] of integer;
i, pr: integer ;; i:=1 to 10 do [i]:=- 10 + random (21); (a [i]: 4) ;; writeln;:=a [2]; [2]:=a [5]; [5]=pr; i:=1 to 10 do (a [i]: 4) ;;.
VII-VIII. Прийшов час спробувати свої сили за комп'ютером. Вам пропонується два завдання. Одна дуже схожа на вже розглянуту, друга трішки складніше. Ви можете вибрати одну із завдань по своїм силам або вирішити обидві. Там же завдання для домашньої роботи. Пам'ятайте, що текст програми можна скопіювати і додавати або видаляти потрібні елементи. Ви можете користуватися зошитами та запоминалки зі стандартними алгоритмами, отри...