
План-конспект уроку на тему "Алгоритм впорядкування табличних величин"
Тема: Алгоритм впорядкування табличних величин.
Мета: ознайомити учнів з алгоритмами впорядкування табличних величин; навчити учнів самостійно складати алгоритми впорядкування табличних величин; виховати уважність; розвинути увагу, пам’ять.
Тип уроку: комбінований.
Наочність: кодоплівки.
Обладнання: кодоскоп.
Тривалість: 45 хвилин.
Хід уроку.
І Організаційна частина
Заходжу, вітаюсь, перевіряю готовність парт та дошки до уроку. Відмічаю відсутніх.
ІІ Актуалізація опорних знань
1. Що ми називаємо масивом?
Масив – впорядкований іменований набір із фіксованої кількості однотипних даних.
2. Що таке індекс?
Індекс – порядковий номер елементу.
3. Які масиви називаються одновимірними?
Одновимірним називається масив, у якого кожен елемент визначається за допомогою номера.
4. Як описується масив на мові Паскаль?
Var A:array[1..n] of <тип змінних>
5. Який масив називається двовимірним?
Двовимірним називається масив, у якого кожен елемент визначається за допомогою двох номерів.
6. Як потрібно вводити елементи масиву?
For i:=1 to n do
Begin
Write (‘a[‘,i,’]=’);
Readln (a[i]);
End.
7. Як потрібно організовувати виведення данних?
For i:=1 to n do
Begin
Write (‘a[‘,i,’]=’);
End.
ІІІ Пояснення нового матеріалу.
На сьогоднішньому уроці ми розглянемо алгоритми впорядкування масивів. Запишіть план у зошит.
(Використовую кодоплівку)
План уроку.
1. Алгоритм знаходження найменішого елементу масиву.
2. Алгоритм впорядкування елементів масиву за зростанням.
1. Знаходження найменішого елементу масиву.
Для знаходження найменьшого елементу масиву серед сукупності чисел потрібно послідовно переглядати і порівнювати між собою числа, записані у пам’яті. Уявімо, що кожне число написане на окремі картці і картки складені купкою. Перше число запам’ятаємо відразу як найменьше і повернемо картку. Тепер у нашому розпорядженні є два числа: одне бачимо, друге - пам’ятаємо.
Порівнюючи їх між собою, запам’ятаємо меньше. Таким чином, на кожному етапі порівняння пам’ятатимо меньше з переглянутих чисел і наприкінці знайдемо найменьший елемент, тобто розв’жемо поставлену задачу. Записавши цей алгоритм у вигляді відповідного набору операторів, дістанемо програму знаходження найменьшого елемента. Проміжні значення шуканої величини і остаточний результат містить змінна min. Програма має вигляд:
Program minim;
Var a:array [1..15] of real;
Uses wincrt;
I, N:real;
Min:real;
Begin
Read(n);
For i:= 1 to n do
Read (a[i]);
Min:=a[i];
For i:=1 to n do
If a[i]<min then min:=a[i];
Write (‘мінімальний елемент=’, min);
End.
2.Упорядкування масиву за зростанням
Упорядкування масивів за будь-якою ознакою називається також сортуванням. Існують різні методи сортування. Вони розрізняються переважно швидкістю отримання результату. Розглянемо один із них – метод “бульбашки”. Нехай є послідовність чисел а1 , а2 , …ап , яку необхідно впорядкувати за зростанням. Зафіксуємо перший елемент і будемо послідовно порівнювати його з елементами, що знаходяться справа від нього. Якщо якийсь з елементів справа виявиться меньшим, ніж зафіксований, поміняємо місцями цей елемент із зафіксованим і продовжимо порівняння вже нового елемента, який знаходиться на першому місці, із тими елементами, що залишились правіше. Якщо знову знайдеться елемент, меньший зафіксованого, повторимо переставляння. У результаті першого перегляду послідовності на першому місці буде найменьший з усіх елементів, тобто він як “найлегший” наче “спливає” вгору. Звідси й назва методу – метод “бульбашки”. Далі зафіксуємо другий елемент і повторимо процедуру, виконуючи при потребі переставляння елементів і т.д. З’ясувавши ідею розв’язування, зупинимось на двох питаннях: як фіксувати елементи і як здійснювати перестановку двох елементів. Для того щоб при перебиранні елементів, які знаходяться правіше від того, що перевіряється, не змінювався індекс останнього, необхідно, щоб індекси зафіксованого елемента і тих, що стоять правіше від нього, були різні: наприклад i та j. Значення індексу i змінюється від 1 до п-1. Значення індексу j завжди більше i (воно змінюється від і+1 до п). Для кожного значення i індекс j повинен послідовно набути всіх допустимих значень. Отже, конструкція програми, що відображає повний перелік усіх елементів та їх упорядкування за зростанням, являє собою подвійний цикл. При перестановці двох елементів використовується третя зміна. Обмін значеннями в пам’яті двох змінних a і b виглядеє так:
1) с:= а; 2) а:=b; 3) b:=c.
Програма сортування методом “бульбашки” має вигляд:
Program sort;
Uses wincrt;
Const n=7;
Var a: array [1..n] of real; i,j: integer; c: real;
Begin
For i:=1 to n do
Begin
Write(‘a[‘,i,’]=’);
Readln(a[i])
End;
For i:= 1 to n-1 do
For j:= i+1 to n do
If a[i] > a[j] then
Begin
c:=a[i];
a[i]:=a[j];
a[j]:=c;
end;
writeln(‘ упорядкований за зростанням масив’);
for i:=1 to n do
writeln (a[i]);
end.
IV Закріплення нового матеріалу.
№1 Як у послідовності п чисел поміняти місцями перший і найменьший елементи?
(Викликаю одного учня до дошки розв’язувати задачу, клас допомогає )
Program zamina;
Uses wincrt;
Var A:array [1..n] of real;
I,k:integer; a,t:real;
Begin
Writeln (‘Введіть n ’);
Readln (n);
For i:=1 to n do
Begin
Writeln (’Введіть’, і ,’елемент’ );
Readln (a[i]);
End;
Begin
T:=a[i];
For i:=1 to n do
If a[i]<t then t:=a[i];
K:=i
End;
A:=a[1]; a[1]:=t
T:=a[k];
For i:=1 to n do
Writeln (a[i]);
End.
№2 Як обчислити середне арифметичне найбільшого та найменьшого з nчисел?
V Домашнє завдання.
Задача №2, теоретичний матеріал.
VI Висновок
Отже, ми розглянули алгоритми впорядкування масивів і розглянули задачі з їх виконанням. На цьому наш урок закінчино. До побачення.
2
Точки А і В задані своїми координатами в n – мірному арифметичному просторі. Знайти відстань між точками в розумінні евклідової метрики.
Program vids;
Var a:array [1..n] of real;
B:=array [1..n] of real;
K,d:real; i:integer;
Procedure enter mas;
Begin
Writeln (‘Введіть n’);
Readln (n);
For i:=1 to n do
Writeln (‘Введіть ’,і,’-ту координату точки а’);
Realn (a[i]);
Writeln (‘Введіть ’,і,’-ту координату точки b’);
Realn (b[i]);
End;
Procedure find vids;
Begin
K:=0
For i:=1 to n do
K:=sqr(a[i]-b[i])+k;
D:=sqrt(k);
End;
Begin
Enter mas;
Find vids;
End.
АЛГ Відстань
АРГ А,В,і,r,d
Поч
Ввести “А=”, А
“В=”, В
n=10 k=0
для і від 1 до n
Поч
К=(А-В)^2+k
D=sqrt(k)
Кін
Вивести d
кін
3.
Тема: Умовний оператор.
Мета: навчити дітей застосовувати умовний оператор до розв’язування задач; виховати охайність ведення записів; розвинути увагу, уяву.
Тип уроку: урок - практикум.
Наочність: кодоплівки.
Обладнання: кодоскоп.
Тривалість: 45 хвилин.
Хід уроку.
І Організаційна частина.
Заходжу, вітаюсь, перевіряю готовність парт та дошки до уроку. Відмічаю відсутніх.
ІІ Актуалізація опорних знань
1. Як записується оператор присвоєння і для чого він призначений?
<ідентифікатор>:=<значення>
Оператор присвоєння призначений для подання певного значення змінній.
2. Як записується умовний оператор?
If <умова>
Then
<вказівка1>
else
<вказівка2>
3. Що є результатом виконання логічного виразу?
Результатом виконання логічного виразу є логічне значення true або false.
4. Як виконується умовний оператор?
Умовний оператор виконується таким чином:
- якщо умова істинна, то виконується вказівка1, а потім вказівка, яка знаходиться в програмі після всієї вказівки розгалуження;
- якщо умова хибна то виконується вказівка 2, а потім вказівка, яка знаходиться після вказівки розгалуження.
ІІІ Розв’зування задач.
Сьогодні ми розглянемо задачу на використання умовного оператору.
Запишіть умову задачі:
(Диктую умову задачі)
Куля масою m з радіусом R і сталою густиною притягує матеріальну точку масою m, яка знаходиться на відстані r від центру кулі. Знайти притягання по формулі:
де ( - гравітаційна стала).
Складемо спочатку алгоритм розв’язання задачі на навчальні мові.
Давайте з’ясуємо, що нам потрібно знайти, щоб знайти силу притягання. В нашій формулі використовуються такі змінні як ,R і r. R ,r нам відомі за умовою, нам потрібно знайти за формулою .
Для того, щоб знайти F, потрібно перевірити умову, тобто порівняти числа R і r. Отже, тут нам потрібно використати умовний оператор. Запишимо умовний оператор у повній формі:
If r>= R
Then
Else
Але, щоб знайти F нам спочатку потрібно знайти . Отже, запишемо
.
Для знаходження і F потрібно знати значення R,r,m, . Тому ми на початку програми ввдимо ці значення. Запишимо
Writeln( ‘Введіть r ’);
Readln(r);
Writeln( ‘Введіть R’);
Readln(R);
Writeln( ‘Введіть m’);
Readln(m);
Writeln( ‘Введіть ’);
Readln( );
В формулі крім змінних є щє стала - це гравітаційна стала, яку ми описуємо в розділі констант.
Змінні ми описуємо в розділі констант. Отже запишимо:
Const f=
Var r,R,m, :real;
,F:real;
Після знаходження значення F ми повині вивести результат на екран. Це здійснюється за допомогою оператора writeln.
Запишемо writeln (‘F=’,F).
Для написання програми потрібно спочатку записати службове слово program і назву програми.
Program
Uses wincrt;
Після цього ми описуємо розділ констант і розділ змінних.
Const f=
Var r,R,m, :real;
,F:real;
Tепер нам потрібно ввести дані:
Writeln( ‘Введіть r ’);
Readln(r);
Writeln( ‘Введіть R’);
Readln(R);
Writeln( ‘Введіть m’);
Readln(m);
Writeln( ‘Введіть ’);
Readln( );
Для обчислення значення F знайдемо спочатку значення .
Begin
if r>=R;
Then
Else ;
End.
Після обчислення значення F виводимо його на екран.
Writeln(‘F=’,F);
End.
Отже ми склали програму на мові програмування Паскаль:
Program sila;
Uses wincrt;
Const f=
Var r,R,m, :real;
,F:real;
Begin
if r>=R;
Then
Else ;
End;
Writeln(‘F=’,F);
End.
Отже, спочатку записуємо службове слово алг , потім ім’я і вдужках аргументи і результати.
алг сила притягання (арг дійсні r,R,m, рез дійсні F, )
Потім записуємо, що дано і що знайти.
Дано
Потрібно F
Далі записується тіло алгоритму, яке розпочинається службовим словом поч і закінчується кін.
Тіло алгоритму складається з обчислення значення і умовний оператор, записується у вигляді
Якщо r>=R
То
Інакше F:=r^2
Все
Для введення і виведення значень використаємо оператор виведення
Виведення введіть R
Виведення “R=”;R
Виведення введіть r
Виведення “r=”;r
Виведення введіть m
Виведення “m=”;m
Виведення введіть
Виведення “ =”;
Виведення “F=”;F
В результаті отримаємо алгоритм
Алг Сила притягання (арг дійсні r,R,m, рез дійсні F, )
Дано
Потрібно знайтиF
Виведення введіть R
Виведення “R=”;R
Виведення введіть r
Виведення “r=”;r
Виведення введіть m
Виведення “m=”;m
Виведення введіть
Виведення “ =”;
Якщо r>=R
То
Інакше F:=r^2
Виведення “F=”;F
Кін.
IV Домашне завдання
Розв’язати задачу:
Знайти значення функції
V Підсумок
На сьогоднішньому уроці ми розглянули як розв’язується задача на алгоритмічні мові і мові Паскаль з використанням умовного оператора. На цьому урок закінчино. До побачення.