Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
на захист / informatika1.doc
Скачиваний:
53
Добавлен:
22.02.2016
Размер:
1.14 Mб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ЧЕРКАСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ

ІМЕНІ БОГДАНА ХМЕЛЬНИЦЬКОГО

ЗВІТ

з педагогічної практики

з інформатики

Виконала:

студентка І курсу ОКР «Магістр»

ННІ фізики, математики

та комп’ютерно-інформаційних систем

Шемшур Н.М.

Керівник практики:

доктор педагогічних наук, кандидат фізико-математичних наук, доцент

Луценко Гр.В.

Черкаси – 2014

Дата проведення: 14.04.14 р.

Групи: І – Б і І – А - курс

План-конспект Лабораторного заняття «Структури даних. Масиви.»

Тема заняття: Структури даних. Масиви.

Мета заняття:

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

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

  • виховна: розвити логічне мислення, уважність, творчу уяву.

Тип заняття: лабораторна робота

Методи навчання:

пояснювально-ілюстративний:

  • більш конкретне, наочне пояснювання студентам навчального матеріалу.

частково-пошуковий метод:

  • завдання студентам на пошук відповідей логічних запитань з конкретної теми;

  • написання програм по даній темі.

Опорні терміни і поняття: масиви, цикли, типи даних, структура даних, оператори.

План заняття

I. Організаційний етап 10хв

ІІ. Перевірка домашнього завдання 20 хв

ІІІ. Підготовка до основного етапу заняття 10хв

IV. Засвоєння нових знань 40 хв

1. Структурні змінні. Масиви.

2. Введення і виведення елементів масиву.

3. Завдання пошуку елемента в упорядкованому масиві.

V. Формування вмінь та навичок 20хв

VI. Підбиття підсумків заняття 15 хв

VII. Домашнє завдання 5 хв

Хід заняття

І. Організаційний етап

  • Привітання.

  • Перевірка відсутніх.

  • Підготовка до заняття, включення комп’ютерів.

ІІ. Перевірка домашнього завдання

ІІІ. Підготовка до основного етапу заняття

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

сформувати поняття:

  • масива, структури даних.

розглянути:

  • теоретичну частину, яка пояснює нам що являє собою масиви, якими вони бувають і в чому різниця між ними та застосувати ці знання на практиці.

формувати вміння:

  • можливість відтворення прослуховоного матеріалу;

  • можливість виокремлення з данної теми суті;

  • самостійно здобувати знання;

  • застосовувати набуті знання, уміння, навички на програмуванні.

IV. Засвоєння нових знань

1. Структурні змінні. Масиви.

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

Така безліч компонентів, позначені одним загальним ім'ям, називають с т р у к т у р н і (складної) змінні. Структурна змінна характеризується методом структурірованя, визначальним спосіб доступу до кожної її компоненті, і типом компонента. До структурних даних в мові PASCAL відносяться масиви, файли, множини, записи.

Масив (array-англ.) складається із сукупності компонент - елементів масиву. При описі масиву вказується:

- Його ім'я - ідентифікатор;

- Число його компонент, яке залишається постійним при виконанні програми;

- тип компонента масиву.

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

Позначення елемента має вигляд:

 

<Ім'я масиву> [<інд.1>, <інд.2>, ..., <інд.n>],

 

де <ім'я масиву> - ідентифікатор,

<Інд.i> - вираз з цілочисловим результатом.

Кількість індексів в позначенні елемента визначає розмірність масиву.

Масив може бути одновимірним (один індекс), двомірним (два індекса), тривимірним (три індексу) і т.д.

Наприклад,

A [1] - позначення елемента одновимірного масиву;

B [5,10] - позначення елемента двомірного масиву;

C [1,3,2] - позначення елемента тривимірного масиву.

Масиви в мові PASCAL описуються в розділі опису змінних за допомогою службового слова array, при цьому опис включає в себе:

- Вказівка ​​розмірності і меж зміни кожного індексу;

- Опис типу масиву (тип його елементів).

 

Наприклад:

1) var matrix: array [1 .. 5,1 .. 10] of real;

2) var v1, v2: array [1 .. 10] of integer;

    У першому прикладі описаний двомірний масив з ім'ям matrix,компоненти якого є числами дійсного типу, а у другому - два одновимірних масиву з іменами v1, v2, компоненти яких є цілими числами. Для позначення типу індексу в описі масиву використаний нестандартний тип даних- інтервальний або обмежений, який, як буде показано нижче, може утворюватися безпосередньо програмістом.

2. Введення і виведення елементів массиву

У мові PASCAL можливе тільки послідовне введення і виведення значень елементів масиву. Розглянемо фрагмент програми, який забезпечує введення даних в одновимірний масив цілочисленного типу:

    program input_elem;

const

n = 10;

var x: array [1 .. n] of integer;

i: integer;

begin

for i: = 1 to n

do begin

write ('x [', i, '] ='); readln (x [i])

                   end;

.....

end.

Аналогічно можна організувати і поелементний висновок елементів одновимірного масиву, замінивши тіло циклу попереднього фрагмента на

оператор

write ('x [', i, '] =', x [i]); .

 

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

    program input_elem2;

const n1 = 5; n2 = 10;

m1 = 1; m2 = 5;

var A: array [n1 .. n2, m1 .. m2] of real;

i, j: integer;

begin

for i: = n1 to n2 do

begin

for j: = m1 to m2 do

begin

write ('A [', i, ',', j, '] ='); read (A [i, j]);

write ('')

end;

writeln;

              end;

.........

end.

3. Завдання пошуку елемента в упорядкованому масиві.

При підготовці таблиць статистичних зведень, довідкових видань, словників, при роботі з базами даних однієї з важливих завдань є впорядкування даних, що робить роботу з таблицями, довідниками і т.д. більш зручно і швидко. Одним із завдань, яке виникає при роботі з впорядкованими даними, є завдання пошуку потрібного елемента в упорядкованої сукупності елементів. Розглянемо одну з задач цього класу:

 

Задача 1.

Скласти алгоритм і програму пошуку заданого числа X в упорядкованому одновимірному цілочисленному масиві A [1 .. N]. Якщо елемент X входить в масив A, то визначити порядковий номер P, для якого A [P] = X, інакше вивести повідомлення про відсутність такого елементу.

 

Примітка.

1. Масив називається впорядкованим по зростанню, якщо всі його елементи задовольняють умові:

 

A [1] <A [2] <... <A [N].

 

2. Масив називається впорядкованим по неспаданню, якщо всі його елементи задовольняють умові:

 

A [1] <= A [2] <= ... <= A [N].

 

3. Масив називається впорядкованим за спаданням, якщо всі його елементи задовольняють умові:

 

A [1]> A [2]> ...> A [N].

 

4. Масив називається впорядкованим по незростанню, якщо всі його елементи задовольняють умові:

 

A [1]> = A [2]> = ...> = A [N].

V. Формування вмінь та навичок

Так як, ви мене уважно слухали, саме час застосувати ваші теоретичні знання на практиці. Спочатку ми зробимо (напишемо) задачу для тренування, а далі за списком ,кожен буде робити свої задачі. Отже, умова задачі:

 Задача 1. Скласти програму для знаходження найбільшого елемента лінійної таблиці А [1: n] і його порядкового номеру.

 

program maxelem (input, output);

const n = 10;

var i, l: integer;

A: array [1 .. n] of real;

           max: real;

begin

writeln ('Пошук максимального елемента');

writeln ('============================');

writeln ('введіть елементи масиву:');

           for i: = 1 to n do

begi n

write ('A [', i, '] ='); readln (A [i]);

end;

max: = A [1]; l: = 1;

for i: = 2 to n do

if max <A [i] then

begin

max: = A [i]; l: = i

end;

           writeln ('максимальний елемент:', max);

write ('його порядковий номер:', l)

end.

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

Тест

1. Що ми розуміємо під поняттям «оператор» в Паскалі. А) людина, яка працює на посаді оператора ЕОМ ; Б) вираз мови програмування, що задає повний опис деякої дії, що може виконати комп'ютер; В) знак дії: + - / * ^ ; Г) команда введення (виведення) інформації: read або write.

2. Яким службовим словом у Pascal описується розділ опису змінних?

А) type В) const

Б) array Г) var

3. Яким чином оформлюються коментарі?

А) /коментар/ В) [коментар]

Б) {коментар} Г) (коментар)

4. Оператором циклу не є оператор

А) While Б) For В) CASE Г) Repeat Д) Немає вірної відповіді

5. Операторними дужками називаються:

А) () Б) <> В) begin ... end Г)немає вірної відповіді

6. Логічним типом даних є:

А) string В) boolean

Б) Real Г) integer

7. У якому з операторів допущена синтаксична помилка:

A) While s <3 do s: = s-3;

Б) For i = 1 to 20 do p: = p +1;

В) For I: = 10 to 5 do p: = p +1;

8. Тіло циклу для обчислення значень функцій f (x) = x4, на відрізку [-5,5] з кроком 0.1 буде мати вигляд: А) f: = x * x * x * x; x: = x +1; writeln (f, x); Б) f: = x4; x: = x +1; writeln (f, x); В) f: = x * x * x * x; x = x +0.1; writeln (f, x); Г) f: = x * x * x * x; x: = x +0.1; writeln (f, x);

9. Який операнд означає математичну операцію по визначенню цілої частини від ділення?

А) «div» В) «mod»

Б) «/» Г) «<>»

10. За допомогою якої стандартної математичної функції обчислюється модуль числа?

А) «Int» В) «Ln»

Б) «Abs» Г) «Sqrt»

11. Якого значення набуде змінна b, якщо b:=sqr a, при а=16?

А) 8 В) 256

Б) 4 Г) -16

12. У результаті виконання оператора f:=16 div 3; змінна f набуде значення:

А) 1, Б) 5, В)3, Г)2, Д) 4

13. Дана невеличка програмка

01.program number7;

02.uses crt;

03.var A,B,C: integer;

04.begin

05.clrscr;

06.A:=17;

07.B:=3;

08.C:=A div B;

09.writeln ('17 div 3 = ',C);

10.C:=A mod B;

11.writeln ('17 mod 3 = ',C);

12.C:=A-B;

13.writeln ('17-3 =',C);

14.readln

15.end.

Що ми отримаємо в результаті,виконання: C:=A div B; .C:=A mod B; C:=A-B

14. У результаті виконання оператора f:=18 mod 5; змінна f набуде значення:

А) 1, Б) 5, В)3, Г)2, Д) 4

15. Масив - це: А) Пам'ять ПК ; Б) комірка пам'яті ПК; В) Структура;

Г) Область пам'яті ПК.

16. Знайдіть правильний приклад позначення масивів А) temper: array [1 .. 31] real; Б) коef: array [2. .2] Integer; В) name =: array [1 .. 30] of [25];

Г) temper: array [1 .. 31] of real;

3

17. Цикл WHILE називається: А) Цикл з передумовою; Б) Цикл з параметром ; В) Цикл з післяумовою; Г) Розгалуження.

18. Цикл REPEAT називається

А) Цикл з передумовою; Б) Цикл з параметром ; В) Цикл з післяумовою; Г) Розгалуження.

19. Що визначає для масиву X [1 .. n] наступний алгоритм

           S: = 0;

           For k: = 1 to n do

                  If X [k] <0 then S: = S + X [k];

1) мінімальний елемент масиву;

2) суму негативних елементів масиву;

3) максимальний елемент масиву;

4) кількість негативних елементів масиву;

5) індекс останнього негативного елементу масиву;

20. У даній послідовності операторів:

        m: = A [1];

        for i: = 1 to n do

             if A [i]> m then A [i]: = m else m: = A [i];

1) шукається мінімальний елемент масиву A (значення m);

2) шукається максимальний елемент масиву A (значення m);

3) міняються місцями мінімальний і максимальний елементи масиву A;

4) виконується сортування елементів масиву А в порядку зростання.

VI. Підбиття підсумків заняття

1) Прийняття у студентів лабораторних робіт.

2) Аналіз досягнення мети пари

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

1.Доробити попередні лабораторні та зробити сьогоднішню.

Дата проведення: 25.04.14 р.

Групи: IV - А - курс

Соседние файлы в папке на захист