Тема уроку. Розв’язування задач з теми “Двовимірні масиви” Мета уроку. Закріпити практичні навики роботи з елементами масиву та виробити вміння застосовувати їх у процесі створення двовимірних масивів


Скачати 54.09 Kb.
Назва Тема уроку. Розв’язування задач з теми “Двовимірні масиви” Мета уроку. Закріпити практичні навики роботи з елементами масиву та виробити вміння застосовувати їх у процесі створення двовимірних масивів
Дата 24.12.2013
Розмір 54.09 Kb.
Тип Урок
bibl.com.ua > Інформатика > Урок



Самбірська гімназія, вчитель Кузбит І.М., 2012 р.

Тема уроку. Розв’язування задач з теми “Двовимірні масиви”


Мета уроку. Закріпити практичні навики роботи з елементами масиву та виробити вміння застосовувати їх у процесі створення двовимірних масивів.

Хід уроку.


  1. Повторення теоретичного матеріалу (5 хв)

Повторення теоретичного матеріалу проходить у формі самостійної роботи. Для її проведення розроблено 11 варіантів контрольних завдань у вигляді текстових файлів у вікнах оболонки Паскаль. Відповіді, а також свої прізвища, учні вносять безпосередньо в текст завдання. Після виконання роботи для її збереження натискується клавіша F2.

Наведемо приклади із самостійної роботи:

САМОСТІЙНА РОБОТА Варіант №1

  1. Є масиви А,В та змінна с:

A, B: array[1..15, 1..8] of real;

C: real;

Які з указаних дій(вказати номер) допустимі в Паскалі?

  1. А:=В; 3. Read(A);

  2. А:=А+В; 4. C:=a[1,5];

Відповідь. _________

2. S:=0;

For I:=1 to 10 do

For j:=1 to 10 do

Дописати фрагмент програми, який знаходить суму елементів масиву М[1..10,1..10]

САМОСТІЙНА РОБОТА Варіант №2

  1. Є масиви А, В та змінна С:

A,B: array [1..15,1..8] of real;

C: real;

Які з вказаних дій( вказати номер) допустимі в Паскалі?

  1. A:=C; 3. Read(B);

  2. A:=A+C; 4. A[1]:=B[14];


Відповідь. ________

2. D:=1;

For I:=1 to 10 do

For j:=1 to 10 do

Дописати фрагмент програми, який знаходить добуток елементів масиву M[1..10,1..10].

Оскільки комп’ютери об’єднані в мережу то самостійні роботи можна відразу роздрукувати за допомогою командного файла типу:

Copy\\program\student1\tp\bin\robota.pas prn

Перевірку робіт можна доручити кращим учням( можливо під час виконання наступного завдання).

2. Активізація пізнавальної діяльності роботи з елементами двовимірного масиву (15 хв.)

Диктант.

Під час проведення диктанту вчитель оголошує кожне завдання й відводить на його виконання кілька хвилин, після чого фіксуються результати. Бажано підібрати завдання об’єднанні спільною умовою.

Для проведення диктанту учні використовують попередньо створений набір процедур увведення/ виведення, функцію знаходження суми елементів таблиці, якими вони користуються протягом вивчення теми під час розв’язування задач із метою економії часу.

Program Exempl;

Uses CRT;

Const n=5;m=5;

Type dmyArray=array[1..n,1..m] of integer;

Var A:dmyarray;S:integer;

{------- Заповнення з клавіатури ---------Ї

Procedure vvod1(var A: dmyArray);

Var I, j :integer;

BEGIN

For I:=1 to n do

For J;=1 to m do

Read (A[I,j]);

END;

{ Заповнення за допомогою генератора випадкових чисел}

Procedure vvod2(Var A: dmyArray);

Var I, j: integer;

BEGIN

Randomize;

For I:=1 to n do

For j;=1 to m do

A[I,j]:=-5 +Random(10);

END;

{------------Виведення елементів---------}

Procedure Print (A: dmyArray);

BEGIN

For I:=1 to n do

Begin

For j:=1 to m do Write(A[I,j]:3);

Writeln;

End;

END.
{------- Знаходження суми -----------}
Function Summa(A: dmyArray):integer;

VAR I,j,sum:integer;

BEGIN

Sum:=0;

For I:=1 to n do

For j:=1 to m do

Sum:=sum+A[I,j];

Summa:=sum;

END;

{------- Головна програма -------}

BEGIN

ClrScr;

Vvod2(A);

Writeln(Summa(A));

Print(A);

Readln;

END.
Приклади завдань для диктанту.

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

  1. Суму елементів, які знаходять під головною діагоналлю;

  2. Суму додатних елементів, які знаходяться під головною діагоналлю;

  3. Суму кожного рядка, вказуючи його номер;

  4. Кількість елементів, кратних 2 або 3;

  5. Кількість елементів, які належать інтервалу: [-10;10].




  1. Мотивація навчального процесу (25 хв.)

Учням пропонується розв’язати таку задачу:

Заповнити двовимірний масив, який зображає стадіон (футбольне поле і трибуни для глядачів). На футбольному полі розмістити випадковим чином 12 гравців.

Паралельно з обговоренням задачі учні оформляють програму на комп’ютері.

Етапи розв’язування задачі:

1.У процесі обговорення умови задачі визначити:

  • Розміри стадіону(20Х60)ж

  • Розміри трибун (по 5 рядів та стовпців з кожної сторони).

Таким чином схема футбольного поля матиме вигляд:

1
5



16



.20 20



56 60

1 5
Домовимось зображати: трибуни –1; футбольне поле – 0ж гравці –5.


  1. Розв’яжемо першу частину задачі – зображення стадіону. Обговоримо параметри вікна для футбольного поля:




  • Визначимо межі змінних і та j :

5<16);

5<56);

  • Сформулюємо умовний оператор та вставимо його у цикл заповнення масиву:


For I:=1 to 20 do

For j:=1 to 60 do

If (5<16)and(5<56)

Then A[I,j]:=0 else A[I,j]:=1;

  • Вставимо впрограму фрагмент виведення елементів масиву:


For I:=1 to 20 do

Begin

For j:=1 to 60 do Write(A[I,j]);

Writeln;

End;

  1. Розглянемо другу частину задачі – розташування гравців на полі, даючи відповідь на наступні запитання:

    • За допомогою якої функції можна розташувати гравців випадковим чином? (використовуючи функцію RANDOM);

    • У яких межах потрібно вивбирати випадкові місця для і та j?

(I O[6,15] I:=Random(9)+6

j O [6,55] J:=Random(49)+6);

  • Як розмістити задане число гравців? (Використовуючи цикл WHILE)

  • Як включити ситуацію повторного розміщення футболіста на одному й тому ж місці?

(Необхідно перевірити, чи не дорівнює 5 те значення, на місце якого буде заноситись цифра 5);

  • Де необхідно розмістити у програмі такий цикл?


N:=1;

While n<=12 do

Begin

I:=Random(9)+6;

J:=Random(49)+6;

Delay(15);

If A[I,j]<>5 then Begin A[I,j]:=5;n:=n+1;

End;

End;

Стосовно Delay(15). Слід зазначити, що для нормальної роботи функції Random інколи доцільно використовувати незначну затримку роботи програми, а ще краще – Delay(Random(n)).

  • Як потрібно змінити фрагмент виведення масиву на екран, щоб не відображалися нулі?

(if A[I,j]=0 then Write(‘’) else Write(A[I,j]).

  1. Отже,програма буде мати вигляд:


Program Fut_Pole;

USES Crt;

Var A:Array{1..20,1..60] of integer;

I,j:integer;

BEGIN

ClrScr;

For I:=1 to 20 do

For j:=1 to 60 do

If (I>5)and(I<160and(j>5)and(j<56) then A[I,j]:=0 else A[I,j]:=1;

N:=1;

While n<=12 do

Begin

I:=Random(9)+6; j:=Ram=ndom(49)+6;

Delay(15);

Randomize;

If A[I,j]<>5 then A[I,j]:=5; n:=n+1;

End;End;

For I:=1 to 20 do

Begin

For j:=1 to 60 do

If A[I,j]=0 then Write(‘’) else Write(A[I,j]);

Writeln;

End;

Readln;

END.

Висновок. Ми навчилися створювати двовимірний масив, комбінуючи різні способи заповнення( заданим число та функцією Random), а також виводити елементи двовимірного масиву у формі, яка б відповідала умові задачі.

  1. Домашнє завдання.

Домашнє завдання динамічно продовжує роботу учнів на уроці. Пропонується наступна задача: Створити масив [1..20,1..60], що зображає стадіон, футбольне поле поділити на дві половини. Випадковим чином на поле виводиться по 11 гравців двох команд. Винрає команда, яка має наполі суперника більшу кількість гравців( при однаковій кількості нічия).

Проходить півфінал “Кубка Європейських чемпіонів”.

Грають команди:

  1. Динамо (Київ, Україна)

  2. Манчестер (Англія)

  3. Ювентус (Італія)

  4. Баєр (Німеччина)


Завдання:

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

  2. Провести по два матчі між суперниками. Якщо врезултаті цих матчів нічия, провести ще одну( або кілька) “вирішальну гру”.

  3. Команди - перможці проводять одну гру між собою. Якщо в результаті цього матчу фіксується нічия провести ще одну “вирішальну гру”.

  4. Вивести на екран:




  1. Результати жеребкування;

  2. Учасників півфіналу;

  3. Команду переможця;

  4. Останній матч чемпіонату.

Схожі:

УРОК №62 Тема уроку
Мета уроку: перевірити рівень знань учнів з теми «Розв'язування прямо­кутних трикутників», уміння застосовувати отримані знання під...
Тема уроку. Ортогональне проектування. Розв'язування задач до теми...
Мета уроку: формування поняття ортогонального проектування та вмінь учнів застосовувати знання до розв'язування задач до теми «Перпендикулярність...
Тема уроку. Розв'язування задач на застосування векторів. Мета уроку
Мета уроку: формування вмінь учнів застосовувати вивчений матеріал до розв'язування задач
УРОК №20 Тема уроку
Мета уроку: закріпити знання теореми про середню лінію трикутника; формувати вміння учнів застосовувати властивості середньої лінії...
УРОК №53 Тема уроку
Мета уроку: формувати вміння учнів застосовувати властивості перпен­дикуляра та похилої під час розв'язування задач
Тема уроку: Застосування похідної до розв’язування прикладних задач Навчальна мета уроку
Навчальна мета уроку: Формувати в учнів вміння знаходити найбільше і найменше значення функції при розв’язуванні різних типів прикладних...
Урок 5 Тема уроку. Розв'язування задач
...
УРОК №24 Тема уроку
Мета уроку: перевірити рівень знань учнів, передбачений програмою з цього тематичного блоку, і вміння застосовувати отримані знання...
Уроку І. Перевірка домашнього завдання
Мета. Закріпити вміння та навички розв'язування задач на відсоткові розрахунки, складання та розв'язування пропорцій
УРОК №45 Тема уроку
Мета уроку: вивести формулу для знаходження площі трапеції; формувати вміння застосовувати отриману формулу під час розв'язування...
Додайте кнопку на своєму сайті:
Портал навчання


При копіюванні матеріалу обов'язкове зазначення активного посилання © 2013
звернутися до адміністрації
bibl.com.ua
Головна сторінка