Урок 63 Інформатика (АП)
Класичні алгоритми роботи з одновимірними масивами (пошук заданого елемента в масиві, пошук мінімального або максимального елемента масиву).
Мета.
Навчальна. Ознайомити учнів з класичними алгоритми роботи з одновимірними масивами (пошук заданого елемента в масиві, пошук мінімального або максимального елемента масиву).
Розвиваюча. Розвивати логічне мислення, навички створення програм, самостійність, вміння застосовувати набуті знання до практичних завдань.
Виховна. Виховувати наполегливість, естетичність у оформленні, грамотно висловлювати свої думки.
Тип уроку. Засвоєння нових знань і навичок.
Матеріали для роботи з учнями:
План
Пам’ятка для учня!
Хід уроку
1. Перевірка домашнього завдання.
1) в рядок; 2) у стовпчик.
program mas;
Var A: Array[1..10] of integer;
begin
Randomize;
For і:= 1 то 10 Do А[і]:= Random (100);
For і := 1 То N Do Write (А[і]: 5);
For і := 1 То N Do WriteLn (А[і]: 5);
end.
2. Актуалізація опорних знань.
а) Аз 3 дійсних чисел;
б) В з 10 символів;
в) А, який може вміщувати такі значень: (10, 5, 8.2, 3, 5, -5.1).
а) за допомогою масиву-константи;
б) з клавіатури;
в) за формулою.
а) 1-му елементу масиву С присвоїти значення суми 3-го та 5-го
елементів;
б) 6-му елементу масиву С присвоїти значення подвоєного добут-
ку 1-го і 2-го елементів.
А[1 ] := А[2] + А[3]; А[4] := А[1 ] * А[5];
VarA,B: Array[1..5] of Real; С: Array[1..5] of Real;
T: Boolean;
У яких командах правильно виконуються дії над масивами?
а) А:=В; б) В:= С; в) А[1]:=В[2]+С[5];
г) Т:=А=В; д) Т:=А<>С; є) ReadLn (А);
3. Мотивція.
Розв'язування багатьох прикладних задач, які потребують обробки сукупності числових або символьних значень, базується на простіших задачах опрацювання масивів: обчислення суми (добутку) елементів масиву; знаходження найбільшого елемента; упорядкування елементів за зростанням (спаданням) тощо. Алгоритми розв'язування базових задач опрацювання масивів побудовані на послідовному перегляді елементів масиву і виконанні певних дій з кожним елементом.
4. Класичні алгоритми роботи з одновимірними масивами.
Завдання:
Проаналізуйте за таблицею прийоми розв'язування задач на дії з масивами і знайдіть значення змінних після виконання наведених фрагментів:
5. Приклади розв’язування задач.
Приклад 1.
В масиві А зберігається 50 чисел. Фрагмент програми, призначений для знаходження середнього арифметичного (Sr : Real) цих чисел:
Sr:=0;
For і:=1 То 50 Do Sr:=Sr+A;
Sr:=Sr / і;
WriteLn (Sr : 5 : 2);
Приклад 2.
Дано 50 чисел. Фрагмент для визначення, скільки серед них чисел, що відрізняються від останнього числа:
к:=0;
For і:=1 То 49 Do if А[і]<>А[50] Then К:=К+1;
WriteLn (К);
Приклад 3.
Дано 100 чисел. Надрукувати спочатку всі від'ємні з них, а потім - всі інші.
For і:=1 То 100 Do If А[і]<0 Then WriteLn (A[i]);
For i:=1 To 100 Do If A[i]>=0 Then WriteLn (A[i]);
6. Створення та реалізація програми.
Задача 1.
Дана послідовність з N чисел (2<N<100). Визначити, скільки серед них пар однакових чисел, що стоять поруч.
■ Вхідні дані. Вводиться спочатку число N, а потім N чисел -членів послідовності.
■ Вихідні дані. Виводиться кількість пар однакових чисел, що стоять поруч.
Var Posl: Array [1..100] of integer;
Опишіть змінні N - кількість елементів в послідовності; К - шукана кількість пар чисел; і - змінна для збереження індексу елемента масиву:
N, К, і: integer;
Write ('N =>'); ReadLn (N);
Введення значень елементів масиву з клавіатури:
For і:= 1 То N Do ReadLn (Posl [і]);
For І:=1 ТО N - 1 DO
if Posl [і] = Posl [і+1] Then к:= К + 1;
WriteLn ('к = *, К);
If Posl [і] = Posl [і+1] Then Begin К:= К + 1;
WriteLn (і: 3, і+1: 3); End;
К: = 0;
For і:= 1 То N-l Do
For J: = 1+1 То N Do
If Posl[I] = Posl [J] Then Begin
K:=K+1;
WriteLn (1:3, 3:3);
End;
WriteLn ('K=',K);
Виконайте програму для значень N=8, чисел (1 2 3 3 2 1 1 1). Проаналізуйте результати виконання програми.
Задача 2.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
54 | 12 | 30 | 15 | 40 | 32 | 10 | 20 | 46 | 60 | 56 | 38 |
Скласти програму опрацювання даних таблиці.
Type Tabl = Аггау[1..12] of integer; Var A: Tabl;
Const B: Tabl = (54,13,30,15,40,32,10,20,46,60,56,38); Begin A:= B;
Для розв'язування завдання можна використати фрагмент програмного коду:
{пошук максимального елемента}
мах :=А[1]; К:=1;
For і:=2 То 12 Do If А[і]>мах Then Begin
Мах:=А[і]; К:=і;
End;
{обмін значеннями між комірками}
С:=А[К]; А[К]:=А[1]; А[1]:=С;
7. Питання до уроку.
Дано масив А[1..5]. Запишіть оператори, які виконують такі дії:
7. ввести з клавіатури значення елементів масиву;
8. вивести на екран значення елементів масиву;
9. знайти добуток елементів масиву;
10. знайти мінімальний елемент масиву;
11. знайти кількість додатних елементів;
12. знайти суму від'ємних елементів.
8. Підсумок уроку.
9. Домашнє завдання.
1) у зворотному порядку;
2) з парними індексами;
3) з непарними індексами;
4) що є недодатними числами;
5) що є невід'ємними числами;
6) що є парними числами;
7) що є непарними числами.