1 2 3 4 Тема, Алгоритм пошуку в таблицях елементів з деякою властивістю.Перевірка домашнього завдання. Аналіз створених програм. Фронтальне опитування. першого елемента в таблиці рівного числу х. Якщо такого елемента в масиві не знайдеться, то т дорівнюватиме нулю, 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] 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. Учні повинні вміти: описувати мовою програмування одновимірні та двовимірні масі розв'язувати задачі з використанням уведення, обробки, виведення елементів масиву, знах< ти суму, кількість і добуток елементів таблиці, знаходити елемент із деякою властивістю в сиві, аналізувати алгоритми та їх реалізацію у вигляді програми з використанням масивів. Тип уроку. Урок формування вмінь і навичок. хід уроку І. Актуалізація опорних знань Перевірка домашнього завдання. Аналіз створених програм. Фронтальне опитування. Які задачі називають пошуковими? Які пошукові задачі ми з вами вже розглядали? 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, якщо і < у'; знайдіть найменший елемент у цій таблиці; знайдіть суму елементів цієї таблиці. IV. Розв'язування задач на комп'ютері V. Підсумок уроку. Повідомлення домашнього завдання. Мотивація подальшої діяльності УРОК 23. АЛГОРИТМИ ВПШВДШМШ Тема. Алгоритми впорядкування табличних величин. Мета: ознайомити учнів з методами впорядкування елементів масиву; формувати навички опрацювання табличних величин, що потребують впорядкування масивів; розвивати логічне мислення, операторську культуру; виховувати наполегливість у здобутті знань. Обладнання: комп'ютери, опорні конспекти, підручники, таблиці, комп'ютерні презентації. Учні повинні знати: поняття табличних величин, їх опис мовою програмування Pascal, поняття індексу масиву; означення одновимірних та двовимірних масивів та відмінність між ними; способи введення та виведення елементів масиву, принципи обробки елементів масиву, правила використання операторних дужок, розділових знаків, логічних умов під час обробки масивів, порядок виконання дій на комп'ютері, правила знаходження суми, добутку елементів таблиці, принципи формування алгоритмів пошуку, методи впорядкування елементів масиву, команди роботи в середовищі мови програмування Turbo Pascal 7.O. Учні повинні вміти: описувати мовою програмування одновимірні та двовимірні масиви, роз-в'язувати задачі з використанням уведення, обробки, виведення елементів масиву, знаходити суму, кількість і добуток елементів таблиці, знаходити елемент із деякою властивістю в масиві, використовувати різні методи впорядкування елементів одновимірного масиву. Тип уроку. Комбінований урок. ХІД УРОКУ І. Актуалізація опорних знань Перевірка домашнього завдання. Аналіз створених програм, розбір завдань, з якими не впорались у домашніх умовах. Фронтальне опитування. Які задачі називають пошуковими? Як знайти в масиві елемент з деякою властивістю? Сьогодні ми розглянемо, як впорядкувати таблицю після розв'язування пошукової задачі. Розглянемо, як розв'язати її за допомогою команди повторення з параметром. II. Постановка теми, мети ПІ. Виклад теми ОПОРНИ КОНСПЕКТ Задач 1. Задано деякий масив дійсних значень а19а29..., ап. Перетворити масив таким чином, щоб значення а19a2,..., апрозмістилися в порядку зростання. Розв'язання 1. Метод вибору Цей метод полягає в тому, що спочатку знаходять елемент з деякою властивістю (наприклад, мінімальний) і розміщують його на перше місце у таблиці, а на його місце ставлять перший елемент (тобто міняють місцями перший і найменший елементи в таблиці). Тепер вже перший елемент знаходиться на своєму місці, тому його можна більше не розглядати. Далі перебирають масив від другого елемента до останнього і проводять ті самі : дії: шукають мінімальний і його ставлять на початкове місце, а другий — на місце меншого. Цей процесе повторюємо доти, доки не залишаться два останні елементи. В разі потреби міняємо їх місцями, program niduses 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]; legend; 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.Ш 0>0> 1 2 3 4 |