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

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

Aug 08, 2015

Download

Education

Cveldulf
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Учень, як вчений

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

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

Page 2: Учень, як вчений

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

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

Page 3: Учень, як вчений

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

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

Page 4: Учень, як вчений

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

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

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

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

Page 5: Учень, як вчений

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

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

Page 6: Учень, як вчений

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

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

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

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

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

Page 7: Учень, як вчений

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

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

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

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

Page 8: Учень, як вчений

ПрограмаПрограма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.

Page 9: Учень, як вчений

УвагаУвага

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

Page 10: Учень, як вчений

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

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

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

Page 11: Учень, як вчений

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

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

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;

Page 12: Учень, як вчений

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

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

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

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

Page 13: Учень, як вчений

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

Page 14: Учень, як вчений

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

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

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

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