1   2   3   4
Ім'я файлу: Масиви .doc
Розширення: doc
Розмір: 284кб.
Дата: 30.01.2022
скачати

Тема, Алгоритм пошуку в таблицях елементів з деякою властивістю.

Мета: ознайомити з методами розв'язування задач, що здійснюють пошук у таблицях < ментів із деякою властивістю; формувати навички складання та реалізації найпростіших ти вих програм обробки табличних величин; розвивати логічне мислення, навички введенш виведення елементів масиву, формування масиву; виховувати інтерес до предмета, праг витість.

Обладнання: комп'ютери, картки, підручники, посібники, таблиці, опорні конспекти.

Учні повинні знати: поняття табличних величин, їх опис мовою програмування Pascal, няття індексу масиву; означення одновимірних та двовимірних масивів та відмінність між ни; способи введення та виведення елементів масиву, принципи обробки елементів масиву, прав] використання операторних дужок, розділових знаків, логічних умов під час обробки масиі порядок виконання дій на комп'ютері, правила знаходження суми, добутку елементів таблн принципи формування алгоритмів пошуку, команди роботи в середовищі мови програмував Turbo Pascal 7.O.

Учні повинні вміти: описувати мовою програмування одновимірні та двовимірні масиви, р в'язувати задачі з використанням уведення, обробки, виведення елементів масиву, знаході суму, кількість і добуток елементів таблиці, знаходити елемент із деякою властивістю в маси

Тип уроку. Комбінований урок.

ХІД УРОКУ І. Актуалізація опорних знань

  1. Перевірка домашнього завдання. Аналіз створених програм.

  2. Фронтальне опитування.

II. Постановка теми, мети

III. Виклад теми

Пошукові задачі — це задачі, які найчастіше трапляються в роботі програмістів. Розгляне класичні задачі, які здійснюють пошук заданого елемента в деякій послідовності значень.

Задача 1. Пошук заданого елемента в масиві. Задано деякий масив дійсних значень ava2, апі значення деякої величини х. Знайти в масиві перше входження величини х.

Розв'язання

Розмістимо елементи послідовності avа2,..., апв масив а [1: п]. Змінна т буде містити ном




першого елемента в таблиці рівного числу х. Якщо такого елемента в масиві не знайдеться, то т дорівнюватиме нулю, program пі; uses crt;

var a-.array [1.. 100] of real; і, n, m:integer; x:real; begin

clrscr;

write(^Задайте кількість елементів

масиву:); readln(n); writeln("Задайте елементи


НІ
масиву:'); for і:=1 to n do begin


НІ

і<п+1
write(ЛУведіть елемент масиву а[' , і, 4=') ; readln(а[і]); end; write(ЛЗадайте значення шуканої


Виведення «Елемент відсутній»

Виведення х, 1
величини:'); readln(x); т:=0; і: =1 ; while (а [і] Ox) and(i


( Кінець J
і:=і+1; if iт: =і;

writeln(x Елемент Л, х:5:2,' знаходиться в масиві на \ m ,' місці'); end else

writeln (Л Елемент Л, х: 5:2,,' в масиві відсутній.') ; readln; end.

Зауваження. Вихід з циклу while (а [і] Ox) and(i<n+l) do i:=i+l; здійснюється в одному з двох випадків: або знайдено елемент масиву а [і] =х, або ми вийшли за межі масиву, і>п. Саме ці два можливі випадки і перевіряє умова, що стоїть після зарезервованого слова while.

Задача 2. Пошук мінімального (максимального) елемента в масиві. Задано деякий масив b [ 1: п]. Знайдіть найменший елемент цього масиву.

Розв'язання

Нехай min — найменший елемент таблиці, a k — його номер у таблиці. Пошук найменшого елемента будемо здійснювати за таким сценарієм: від початку до кінця переглядаємо послідовно по одному елементу і визначаємо поточний мінімальний елемент. Знайшовши менший, проводи­мо переприсвоєння. Дійшовши до кінця масиву, отримаємо найменший елемент, program n2;

uses crt;

var b: array [1..100] of real;

i, n, k: integer;

min: real; begin

clrscr;

write(ЛЗадайте кількість елементів масиву:);

readln(n);

writeln(ч3адайте елементи масиву:');

for i:=l to n do




begin

write(%Уведіть елемент масиву

Ь[\ і, 4-v); readln(b[i]); end;

min:=b[l]; k:=l; ,

for i:=2 to n do begin

if b[i] begin

min:=b[i] ; k:=i; end; end;

write In (* Мінімальний елемент' , min: 5:3) ; writeln(чЗнаходиться в масиві на Л ,

k ,' місці') ; readln; end.

Зауваження* Запропонована програма не тільки знаходить найменший елемент, а ще й визначає, на якому місці в масиві він знаходиться перший раз.


( Кінець )

Додаткові завдання

Задача 3. Знайти найбільший елемент масиву дійсних чисел b [ 1: 9 ].

Задача 4. Визначити порядковий нбмер останнього мінімального в таблиці m [ 1:8 ].

Задача 5. В заданій послідовності avа2,..., а7 поміняти місцями перший і найбільший є менти.

IV. Введення та реалізація програм на комп'ютері

V. Підсумок уроку. Повідомлення домашнього завдання. Мотивація подальшої діяльною

УРОК 22. ОДНОВИМІРНІ ТА ДВОВИМІРНІ ТАБЛИЧНІ ВЕЛИЧИНИ

Тема. Складання алгоритмів та програм на опрацювання табличних величин.

Мета: формувати навички розв'язування задач, що здійснюють пошук у таблицях елемеї із деякою властивістю; формувати навички складання та реалізації найпростіших типових г грам обробки одновимірних та двовимірних табличних величин; розвивати логічне мислен навички введення та виведення елементів масиву, формування масиву; виховувати операто] ку культуру.

Обладнання: комп'ютери, картки, підручники, посібники, таблиці, опорні конспекти.

Учні повинні знати: поняттял'абличних величин, їх опис мовою програмування Pascal, няття індексу масиву; означення одновимірних та двовимірних масивів та відмінність між ни способи введення та виведення елементів масиву, принципи обробки елементів масиву, прав використання операторних дужок, розділових знаків, логічних умов під час обробки маси порядок виконання дій на комп'ютері, правила знаходження суми та добутку елементів табл: принципи формування алгоритмів пошуку, команди роботи в середовищі мови програмува Turbo Pascal 7.0.

Учні повинні вміти: описувати мовою програмування одновимірні та двовимірні масі розв'язувати задачі з використанням уведення, обробки, виведення елементів масиву, знах< ти суму, кількість і добуток елементів таблиці, знаходити елемент із деякою властивістю в сиві, аналізувати алгоритми та їх реалізацію у вигляді програми з використанням масивів.

Тип уроку. Урок формування вмінь і навичок.



хід уроку

І. Актуалізація опорних знань

  1. Перевірка домашнього завдання. Аналіз створених програм.

  2. Фронтальне опитування.




  • Які задачі називають пошуковими?

  • Які пошукові задачі ми з вами вже розглядали?

II. Постановка теми, мети


III. Розв'язування задач

Розбір задачі 1 усно, 2,3 — письмово з обробкою на комп'ютері.

Задача /. Нехай елементи одновимірногомассиву а [1:10] набувають відповідно значень-5, -3,-1,1, 3, 5, 7,9,11,13. Які значення буде виведено на екран у результаті виконання таких дій: 1)for i:=l to 10 do
writeln(а[і]);

2)for i:=l to 5 do

writeln(a[i+5]);

3)for i:=l to 5 do

writeln(a[2*i]);

4)for i:=10 downto 1 do writeln(a[i]);

5) i:=l;

while a[i]<0 do begin

і:=i+l;

writeln(a[i]) ; end;

6) i:=l;
repeat


i:=i+l;

writeln(a[i]); until a[i]>=0;

7)i:=10;

while a[i]>0 do i:=i-l; writeln(a[i]) ;

8)i:=l;

repeat

writeln(a[i]) i:=i+l; until a[i]<0; 9)i:=l0;

while a[i-9]<0 do begin

writeln(a[i]); i:=i+l; end; 10) i:=l; repeat

writeln(a[2*i-l]); i:=i+l; until i>=10;

Задача 2. Середню групу дитячого садка вивели на прогулянку. Скільки дівчаток і скільки хлопчиків видно з-за паркану, якщо зріст хлопчиків задається у сантиметрах від'ємними числа­ми, а дівчаток — додатними у вигляді цілих значень ava2, а3,..., ап1 Окрім того у всіх дівчаток на голівках зав'язані бантики заввишки 10 см, а висота паркану hcm.

Розв'язання Нехай зріст хлопчиків і дівчаток розмістимо в таблицю а [1: п]. Кількість дівчаток та хлоп­чиків, яких видно з-за паркану позначимо kта т. program n2; uses crt;

var a:array [1..100] of integer; i, n, k, m, h:integers-begin

clrscr;

writeln(^Уведіть висоту паркану');

readln(h);

repeat writeln('Уведіть кількість дітей у групі дитячого садка');

readln(n); until(n>=2) and(n<=40);

writeln('Уведіть зріст кожної дитини, враховуючи, що зріст хлопчиків -від'ємні цілі, а дівчаток - додатні цілі'); for i:=l to n do



begin

write(чУведіть елемент масиву а[' , і, v]=') ;

readln(a[i]); end ; k:=0; m:=0;

for i:=l to n do begin

if(a[i]>0) and(a[i]+10>h) then k:=k+l;

if(a[i]<0) and(abs(a[i])>h) then m:=m+l; end;

writeln (Л Із-за паркану видно ' , k:5,' дівчаток та ' , р:5, Л хлопчиків') ; readln; end.

Задача 3. Задано натуральні числа тг, т. Створити масив с [ 1: п, 1: т] та вивести значення його елементів на екран, якщо відомо, що:

_ \i+J> якщо i

У

і -2 -2

[і + j, в інших випадках.

Розв'язання program n3; uses crt; var c:array [1..100,1..100] of integer;

і, j, n, m: integers-begin

clrscr;

write(ЛУведіть n =') ;

readln(n);

write(лУведіть m =');

readln(m);

for i:=l to n do

begin

for j:=1 to m do begin

if i
then c[i,j]:=i+j else c[i,j]:=sqr(i)-sqr(j); end; end; for i:=l to n do begin

for j : =1 to m do begin

write(C[ifj]:8);

end;

writeln; end; readln; end.

Додаткові завдання Задача 4. Скласти блок-схеми до задач 2 і 3. Задача 5. Задано натуральні числа п> т.

а) заповнити масив с [ 1: п, 1: т] та вивести значення його елементів на екран, якщо відо­мо, що:

11


i2+j2, якщо і < у';

  1. знайдіть найменший елемент у цій таблиці;

  2. знайдіть суму елементів цієї таблиці.

IV. Розв'язування задач на комп'ютері

V. Підсумок уроку. Повідомлення домашнього завдання. Мотивація подальшої діяльності

УРОК 23. АЛГОРИТМИ ВПШВДШМШ

Тема. Алгоритми впорядкування табличних величин.

Мета: ознайомити учнів з методами впорядкування елементів масиву; формувати навички опрацювання табличних величин, що потребують впорядкування масивів; розвивати логічне мислення, операторську культуру; виховувати наполегливість у здобутті знань.

Обладнання: комп'ютери, опорні конспекти, підручники, таблиці, комп'ютерні презентації.

Учні повинні знати: поняття табличних величин, їх опис мовою програмування Pascal, по­няття індексу масиву; означення одновимірних та двовимірних масивів та відмінність між ними; способи введення та виведення елементів масиву, принципи обробки елементів масиву, правила використання операторних дужок, розділових знаків, логічних умов під час обробки масивів, порядок виконання дій на комп'ютері, правила знаходження суми, добутку елементів таблиці, принципи формування алгоритмів пошуку, методи впорядкування елементів масиву, команди роботи в середовищі мови програмування Turbo Pascal 7.O.

Учні повинні вміти: описувати мовою програмування одновимірні та двовимірні масиви, роз-в'язувати задачі з використанням уведення, обробки, виведення елементів масиву, знаходити суму, кількість і добуток елементів таблиці, знаходити елемент із деякою властивістю в масиві, використовувати різні методи впорядкування елементів одновимірного масиву.

Тип уроку. Комбінований урок.

ХІД УРОКУ І. Актуалізація опорних знань

  1. Перевірка домашнього завдання. Аналіз створених програм, розбір завдань, з якими не впорались у домашніх умовах.

  2. Фронтальне опитування.




  • Які задачі називають пошуковими?

  • Як знайти в масиві елемент з деякою властивістю?

Сьогодні ми розглянемо, як впорядкувати таблицю після розв'язування пошукової задачі. Розглянемо, як розв'язати її за допомогою команди повторення з параметром.

II. Постановка теми, мети

ПІ. Виклад теми

ОПОРНИ КОНСПЕКТ

Задач 1. Задано деякий масив дійсних значень а19а29..., ап. Перетворити масив таким чином, щоб значення а19a2,..., апрозмістилися в порядку зростання.

Розв'язання

1. Метод вибору

Цей метод полягає в тому, що спочатку знаходять елемент з деякою властивістю (на­приклад, мінімальний) і розміщують його на перше місце у таблиці, а на його місце став­лять перший елемент (тобто міняють місцями перший і найменший елементи в таблиці). Тепер вже перший елемент знаходиться на своєму місці, тому його можна більше не роз­глядати. Далі перебирають масив від другого елемента до останнього і проводять ті самі



:

дії: шукають мінімальний і його ставлять на початкове місце, а другий — на місце меншо­го. Цей процесе повторюємо доти, доки не залишаться два останні елементи. В разі потре­би міняємо їх місцями, program nid­uses crt; var a:array [1..100] of real; min, c:real; i, j, n, k:integer; begin clrscr;

write('Задайте кількість елементів масиву'); readln(n);

writeln('Задайте елементи масиву'); for i:=l to n do begin

write('Уведіть елемент масиву а[', і, х]='); readln(a[i]); end;

for i:=l to n do begin

min:=a[i];

k:=i;

for j : =i+l to n do

if a[j] < min then begin

min:=a[j]; leg­end; c:=a[i]; a[i]:-a[k]; atk]:=c; end ;

writeIn('Упорядкований масив:'); for i:=l to n do begin

writeln('a[\ i, ']=' , a[i]:3:2); end ; readln; end.

p; 2. Метод обміну (бульбашки)

Цей метод полягає в тому, що при послідовному проході по масиву на кожному к | алгоритму розглядаються два сусідніх елемента і вони міняються місцями у випадку, я iff. правий елемент менший за лівий. При цьому відбувається «виштовхування» найбільї і) елемента в кінець масиву (або меншого на початок в залежності від напрямку прохо,д

program n2;
щuses crt;

var a:array [1..100] of real;
j'
x:real;

i, j, n:integer;

begin

clrscr;

write('Задайте кількість елементів масиву');

readln(n);

writeln('Задайте елементи масиву');
її! for i:=l to n do
щbegin

write('Уведіть елемент масиву а[', і, ']='); | readln(а[і]); І end;



5і-:

if

-

І:

for і: =2 to n do

for j:=n downto i do {проход справа наліво} if a[j-l]>a[j]

then begin

x:=a[j-l]; a[j-l]:=a[j]; a[j]:=x; end; writeln(ЛУпорядкований масив:') ; for i:=l to n do begin

write(a[i]:8:2); end; readln; end.

3. Метод включення

Відомо, що на 1-му кроці а19а2,..., аІЛвпорядкована частина послідовності. Ідея методу полягає в тому, що для кожного і = 2, 3, 4,..., п береться елемент а[і] і ставиться у відсор­товану частину послідовності, що йому передує, на своє місце, не порушуючи впорядко­ваність.

program n3;

uses crt; var a:array [0..100] of real; x:real;

i, j, n:integer; begin clrscr;

write(xЗадайте кількість елементів масиву'); readln(n);

wrіteln(ЛЗадайте елементи масиву'); for i:=l to n do begin

write(^Уведіть елемент масиву a[', і, Л]='); readln(а[і]); end ;

for і: =2 to n do begin

x:=a[i]; a[0]:=x;

while(x[j-1]) do begin

a[j]:=a[j-l];

end; a[j]:=x; end;

writeln(впорядкований масив:'); for i:=l to n do begin

write(a[i]:8:2); end; readln; end.

Зауваження. Штучно введений елемент масиву а[0] є так званим бар'єром і не дозволяє вихід за межі масиву у випадку, якщо розглядуваний елемент найменший.



Додаткові завдання Задача 2. Побудуйте блок-схеми алгоритмів наведених алгоритмів сортування. Задача 3. Задано деякий масив цілих значень avа2,..., ап. Перетворити масив таким чином щоб значення а1? а2,..., апрозмістилися в порядку спадання.

IV. Введення та реалізація програм на комп'ютері

V. Підсумок уроку. Повідомлення домашнього завдання. Мотивація подальшої дільності

УРОК24.Ш


1   2   3   4

скачати

© Усі права захищені
написати до нас