14
Проект «Учень, як Проект «Учень, як вчений» вчений» Тема « Тема « Алгоритми з використанням Алгоритми з використанням двовимірних масивів двовимірних масивів » » для реалізації в рамках курсу інформатики, 11 клас Підготував: Ол. Зінчук Підготував: Ол. Зінчук

Учень, як вчений

Embed Size (px)

Citation preview

Проект «Учень, як вчений»Проект «Учень, як вчений»Тема «Тема «Алгоритми з використанням Алгоритми з використанням двовимірних масивівдвовимірних масивів»»для реалізації в рамках курсуінформатики, 11 клас

Підготував: Ол. ЗінчукПідготував: Ол. Зінчук

Постановка задачіПостановка задачіЩо це таке?Що це таке? (Учні відповідають: таблиця множення)

2х2=42х2=42х3=62х3=62х4=82х4=82х5=102х5=102х6=122х6=122х7=142х7=142х8=162х8=162х9=182х9=182х10=202х10=20

3х2=63х2=63х3=93х3=93х4=123х4=123х5=153х5=153х6=183х6=183х7=213х7=213х8=243х8=243х9=273х9=273х10=303х10=30

4х2=84х2=84х3=124х3=124х4=164х4=164х5=204х5=204х6=244х6=244х7=284х7=284х8=324х8=324х9=364х9=364х10=404х10=40

5х2=105х2=105х3=155х3=155х4=205х4=205х5=255х5=255х6=305х6=305х7=355х7=355х8=405х8=405х9=455х9=455х10=505х10=50

6х2=126х2=126х3=186х3=186х4=246х4=246х5=306х5=306х6=366х6=366х7=426х7=426х8=486х8=486х9=546х9=546х10=606х10=60

7х2=147х2=147х3=217х3=217х4=287х4=287х5=357х5=357х6=427х6=427х7=497х7=497х8=567х8=567х9=637х9=637х10=707х10=70

8х2=168х2=168х3=248х3=248х4=328х4=328х5=408х5=408х6=488х6=488х7=568х7=568х8=648х8=648х9=728х9=728х10=808х10=80

9х2=189х2=189х3=279х3=279х4=369х4=369х5=459х5=459х6=549х6=549х7=639х7=639х8=729х8=729х9=819х9=819х10=909х10=90

Постановка задачіПостановка задачіЯк Ви думаєте, а це що? Як Ви думаєте, а це що? (Відповідь: таблиця множення, але в іншому вигляді)

22 33 44 55 66 77 88 99

22 44 66 88 1010 1212 1414 1616 1818

33 66 99 1212 1515 1818 2121 2424 2727

44 88 1212 1616 2020 2424 2828 3232 3636

55 1010 1515 2020 2525 3030 3535 4040 4545

66 1212 1818 2424 3030 3636 4242 4848 5454

77 1414 2121 2828 3535 4242 4949 5656 6363

88 1616 2424 3232 4040 4848 5656 6464 7272

99 1818 2727 3636 4545 5454 6363 7272 8181

Щодо таблицьЩодо таблиць

Таблиця множення, представлена в Таблиця множення, представлена в матричній формі, називається Матриця матричній формі, називається Матриця ПіфагораПіфагора

А як нею користуватися?А як нею користуватися?За яким алгоритмом виходять значення в За яким алгоритмом виходять значення в матриці Піфагора?матриці Піфагора?

Передбачувана відповідь учнів – номер стовпця потрібно помножити на номер рядка

ЗавданняЗавдання

Сформувати засобами мови Сформувати засобами мови програмування програмування PascalPascal матрицю матрицю Піфагора і вивести її на екран Піфагора і вивести її на екран моніторамонітора

ФормалізаціяФормалізаціяДавайте формалізуємо постановку нашої задачі

Яким типом даних в Яким типом даних в PascalPascal, можна представити матрицю , можна представити матрицю Піфагора?Піфагора?Передбачувана відповідь учнів – двовимірним масивом.

В яких числових межах будуть змінюватися індекси цього В яких числових межах будуть змінюватися індекси цього двовимірного масиву?двовимірного масиву?I – Номер рядка від 2 до 9,J – Номер стовпця так само від 2 до 9.

Яка формула буде використовуватися для заповнення елементів Яка формула буде використовуватися для заповнення елементів двовимірного масиву? двовимірного масиву? Передбачувана відповідь учнів – a[I,J] := I*J.

Таким чином, формалізована постановка задачі:Таким чином, формалізована постановка задачі:Дано двовимірний масив, номери рядків і стовпців якого змінюються від 2 до 9. Заповнити даний масив за формулою I*J і вивести значення його елементів на екран по рядках.

Етапи побудови програмиЕтапи побудови програми

Описати двовимірний масив A (індекси Описати двовимірний масив A (індекси рядків змінюються від 2 до 9, індекси рядків змінюються від 2 до 9, індекси стовпців змінюються від 2 до 9) і змінні стовпців змінюються від 2 до 9) і змінні для індексів I, J.для індексів I, J.

Заповнити масив за формулою A[I,J]:=I*J.Заповнити масив за формулою A[I,J]:=I*J. Вивести на екран двовимірний масив А Вивести на екран двовимірний масив А

порядково.порядково.

ПрограмаПрограмаuses crt;vara: array[2..9,2..9] of integer;i, j: integer;beginclrscr;for i:=2 to 9 do for j:=2 to 9 do a[i,j]:=i*j;for i:=2 to 9 do begin for j:=2 to 9 do write(a[i,j]:3); writeln; end;readkeyend.

УвагаУвага

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

Оптимізація алгоритмуОптимізація алгоритму

Чи можна оптимізувати алгоритм?Чи можна оптимізувати алгоритм?

Для оптимізації алгоритму можна дані вкладені цикли використовувати тільки один раз, а не два. Для цього потрібно після обчислення значення елемента масиву, здійснити його вивід на екран. Тим самим кількість рядків алгоритму не зміниться, але скоротиться час виконання програми, що є в програмуванні дуже важливим.

ОптимізаціяОптимізація

Фрагмент програмиФрагмент програми Оптимізований фрагмент Оптимізований фрагмент програмипрограми

for i:=2 to 9 do

for j:=2 to 9 do a[i,j]:=i*j;for i:=2 to 9 do begin for j:=2 to 9 do write(a[i,j]:3); writeln; end;

for i:=2 to 9 dobegin for j:=2 to 9 do begin a[i,j]:=i*j; write(a[i,j]:3); end;writeln;end;

Працюємо самостійноПрацюємо самостійно

1.1. Змініть програму так, щоб вийшла матриця, Змініть програму так, щоб вийшла матриця, елементи якої задавалися б формулою елементи якої задавалися б формулою i+ji+j

2.2. Змініть програму так, щоб отримати матрицю, Змініть програму так, щоб отримати матрицю, елементи якої задавалися б формулою 2елементи якої задавалися б формулою 2j + 3j + 3

3.3. Змініть програму так, щоб двовимірний масив Змініть програму так, щоб двовимірний масив заповнювався випадковими значеннями з заповнювався випадковими значеннями з діапазону від 1 до 9. А при виведенні на екран діапазону від 1 до 9. А при виведенні на екран значення кожного елемента піднесіть до значення кожного елемента піднесіть до квадратуквадрату

Практична роботаПрактична роботаВиконайте практичну роботу №18Обробка даних масивів

Список джерелСписок джерел

1.1. Караванова Т. Основи алгоритмізації. Мова Караванова Т. Основи алгоритмізації. Мова програмування Паскаль: Посібник з інформатики. – програмування Паскаль: Посібник з інформатики. – Чернівці, 1997. – 216с.Чернівці, 1997. – 216с.

2.2. Рюттен Т., Франкен Г. Турбо Паскаль 7.0. – К.: Рюттен Т., Франкен Г. Турбо Паскаль 7.0. – К.: BHVBHV, , 1999. – 448с.1999. – 448с.

3.3. Остер Г. Задачник. – М.: Росмэн, 1998. – 128с.Остер Г. Задачник. – М.: Росмэн, 1998. – 128с.