Правильне опис одновимірного масиву цілих чисел. Технологічна карта одновимірні масиви цілих чисел. Інші структури даних

Масив Масив - це названа сукупність однотипних елементів, упорядкованих за індексами, що визначає положення елемента в масиві. Розв'язання різноманітних завдань, пов'язаних з обробкою масивів, базується на вирішенні таких типових завдань, як: - Підсумовування елементів масиву; - Пошук елемента із заданими властивостями; - Сортування масиву. Одномірний масив Значення елемента масиву Індекс елемента масиву


Опис масиву Загальний вигляд опису масиву: vararray var: array [.. of ] of ; var aarrayof var a: array of integer; const barrayof const b: array of integer = (4, 2, 3, 5, 7); Тип елементів масиву Ім'я масиву Максимальне значення індексу Мінімальне значення індексу Значення 1-го елемента масиву Масив b з постійними значеннями описаний у розділі опису констант.


Способи заповнення масиву 1 спосіб. Введення кожного значення клавіатури: forto doread for i:=1 to 10 do read (a[i]); 2 спосіб. За допомогою оператора надання (за формулою): forto do for i:=1 to 10 do a[i]:=i; 3 спосіб. За допомогою оператора надання (випадковими числами): randomize randomize; forto do for i:=1 to 10 do a[i]:=random(100);


Виведення масиву 1 спосіб. Елементи масиву можна вивести в рядок, розділивши їх пробілом: fortodo for i:=1 to 10 do write (a[i], ""); 2 спосіб. Висновок із коментарями: fortodo for i:=1 to 10 do writeln ("a[", i, "]=", a[i]); a=4a=1a=6a=3a=8a=5a=9a=4a=8a=7


Оголошення масиву Заповнення масиву Виведення масиву program n_1; var i: integer; a: arrav of integer; Заповнення масиву A (10) випадковими числами та виведення елементів масиву begin for i:=1 to 10 do a[i]:=random(50); for i:=1 to 10 do write (a[i],``); end.


Обчислення суми елементів масиву Підсумовування елементів масиву здійснюється за рахунок чергового додавання доданків: s Визначається комірка пам'яті (змінна s), в якій буде послідовно накопичуватися результат підсумовування Надається змінній s початкове значення 0 - число, що не впливає на результат додавання s Для кожного елемента масиву з змінною s зчитується її поточне значення і складається із значенням елемента масиву; s отриманий результат присвоюється змінною s.


Обчислення суми елементів масиву s = 0 Основний фрагмент програми: s: = 0; s:=0; for i: = 1 до n до: = s + a [i]; for i: = 1 до n до: = s + a [i]; s = s + a s = 0 + a s = s + a s = 0 + a + a s = s + a s = 0 + a + a + a … … s = s + a s = 0+a+a+a +a


Обчислення суми елементів масиву program n_2; var s, i: integer; a: arrav of integer; begin s:=0; s:=0; for i:=1 to 10 do a[i]:=random(50); for i:=1 to 10 do write (a[i],``); for i:=1-10 do s:=s+a[i]; for i:=1-10 do s:=s+a[i]; writeln ("s=", s); end.




1) Взяти верхню картку, записати на дошці (запам'ятати) число як найбільше. 2) Взяти наступну картку, порівняти числа. Якщо на картці число більше, записати це число. Знаходження найбільшого елемента в стопці карток із записаними числами: Повторити дії, описані в пункті 2 для всіх карток, що залишилися При організації пошуку найбільшого елемента масиву правильніше шукати його індекс. !


Програма пошуку найбільшого елемента у масиві program n_3; imax var s, i, imax: integer; a:arrav of integer; begin s:=0; s:=0; for i:=1 to 10 do a[i]:=random(50); for i:=1 to 10 do write (a[i],``); imax:=1 imax:=1 i:=2 10 for i:=2 to 10 do a[i]>a imax:=i; if a[i]>a then imax:=i; write ("Найбільший елемент a[",imax,"]=", a) write ("Найбільший елемент a[",imax,"]=", a) end. a imax:=i; if a[i]>a then imax:=i; write ("Найбільший елемент a[",imax,"]=", a) write ("Найбільший елемент a[",imax,"]=", a) end.">


Знаходження елемента масиву із заданими властивостями Результатом пошуку елемента, значення якого дорівнює заданому, може бути: n - a [n] = xх -n - індекс елемента масиву такий, що a [n] = x, де х - задане число; повідомлення про те, що шуканого елемента в масиві не виявлено: трьом дорівнює 4-й елемент; десяти рівні 1-ї та 9-ї елементи; немає елемента, що дорівнює 12.


Пошук елемента, що дорівнює 50 У програмі знайдено останній із елементів, що задовольняють умові program n_4; var n, i: integer; a:arrav of integer; begin for i:=1 to 10 do a[i]:=random(60); for i:=1 to 10 do write (a[i],``); n:=0; n:=0; for i:=1 to 10 do for i:=1 to 10 do if a[i]=50 n:=i; if a[i]=50 then:=i; if n=0 then write("Ні") else write(i) if n=0 then write("Ні") else write(i) end.


Пошук елемента, що дорівнює 50 program n_5; var n, i: integer; a:arrav of integer; begin for i:=1 to 10 do a[i]:=random(60); for i:=1 to 10 do write (a[i],``); i:=0; i:=0; repeat i:=i+1; i:=i+1; until (a[i]=50) or (i=10); until (a[i]=50) or (i=10); if a[i]=50 then write(i) if a[i]=50 then write(i) else write("Ні") end. У програмі знайдено перший із елементів, що задовольняють умові


Підрахунок кількості елементів Для підрахунку вводиться змінна, значення якої збільшується на одиницю щоразу, коли знайдено потрібний елемент. program n_6; var k, i: integer; a:arrav of integer; begin for i:=1 to 10 do a[i]:=random(60); for i:=1 to 10 do write (a[i],``); k:=0; k:=0; i:=1 10 for i:=1 to 10 do if a[i]>50 k:=k+1; if a[i]>50 then k:=k+1; ("k=", k) write("k=", k) end 50 k:=k+1; if a[i]>50 then k:=k+1; ("k=", k) write("k=", k) end.">


Сума значень елементів, які відповідають умові program n_7; var s, i: integer; a:arrav of integer; begin for i:=1 to 10 do a[i]:=random(60); for i:=1 to 10 do write (a[i],``); s:=0; s:=0; i:=1 10 for i:=1 to 10 do a[i]>10 (a[i] 10 and (a[i]) 1"> 10 (a[i] 10 and (a[i]"> 1" title="Сума значень елементів, що задовольняють умові 105013 1421501021 program n_7; var s, i: integer; a:arrav of integer begin for i:=1 to 10 do a[i]:=random(60);for i:=1 to 10 do write (a[i],``); i:=1 10 for i:=1 to 10 do a[i]>1"> title="Сума значень елементів, що задовольняють умові 105013 1421501021 program n_7; var s, i: integer; a:arrav of integer; begin for i:=1 to 10 do a[i]:=random(60); for i:=1 to 10 do write (a[i],``); s:=0; s:=0; i:=1 10 for i:=1 to 10 do a[i]>1"> !}


Сортування масиву 1. У масиві вибирається максимальний елемент 2. Максимальний та перший елемент змінюються місцями (перший елемент вважається відсортованим) 3. У невідсортованій частині масиву знову вибирається максимальний елемент; він змінюється місцями з першим невідсортованим елементом масиву Дії пункту 3 повторюються з невідсортованими елементами масиву, доки не залишиться один невідсортований елемент (мінімальний).


Сортування масиву Індекс Значення Кроки Підсумок:


A then imax:=j; x:=a[i]; a[i]:=a; a:=x; end; for i:=1 to 10 do write (a[i],``); end; program n_8; imax var n, i, j, x, imax: integer; a:arrav o" title="Сортування масиву for i:=1 to 9 do begin imax:=i; for j:=i+1 to 10 do if x:=a[i];a[i]:=a;a:=x;end; n, i, j, x, imax: integer;" class="link_thumb"> 21 !}Сортування масиву for i:=1 to 9 do begin imax:=i; for j:=i+1 to 10 do if a[j]>a then imax:=j; x:=a[i]; a[i]:=a; a:=x; end; for i:=1 to 10 do write (a[i],``); end; program n_8; imax var n, i, j, x, imax: integer; a:arrav of integer; begin for i:=1 to 10 do read (a[i]); for i:=1 to 10 do write (a[i],``); a then imax:=j; x:=a[i]; a[i]:=a; a:=x; end; for i:=1 to 10 do write (a[i],``); end; program n_8; imax var n, i, j, x, imax: integer; a:arrav o"> a then imax:=j; x:=a[i]; a[i]:=a; a:=x ; end; , ``); end; program n_8; imax var n, i, j, x, imax: integer; = 1 to 10 do write (a [i], ``); x:=a[i]; a[i]:=a; a:=x; end; for i:=1 to 10 do write (a[i],``); end; program n_8; imax var n, i, j, x, imax: integer; a:arrav o" title="Сортування масиву for i:=1 to 9 do begin imax:=i; for j:=i+1 to 10 do if x:=a[i];a[i]:=a;a:=x;end; n, i, j, x, imax: integer;"> title="Сортування масиву for i:=1 to 9 do begin imax:=i; for j:=i+1 to 10 do if a[j]>a then imax:=j; x:=a[i]; a[i]:=a; a:=x; end; for i:=1 to 10 do write (a[i], ``); end; program n_8; imax var n, i, j, x, imax: integer; a:arrav o"> !}


Найголовніше Масив - це названа сукупність однотипних елементів, упорядкованих за індексами, що визначає положення елементів у масиві. У мовах програмування масиви використовуються реалізації таких структур даних, як послідовності і таблиці. Перед використанням у програмі масив має бути описаний. Загальний вигляд опису одновимірного масиву: var: array […] of тип_елементів; Заповнювати масив можна або вводячи значення кожного елемента з клавіатури, або присвоюючи деякі значення. Під час заповнення масиву та його виведення на екран використовується цикл із параметром. Вирішення різноманітних завдань, пов'язаних з обробкою масивів, базується на таких типових задачах, як: підсумовування елементів масиву; пошук елемента із заданими властивостями; сортування масиву.


Запитання та завдання Чи може масив одночасно містити цілі та речові значення? Для чого необхідний опис масиву? Що ви можете сказати про масив, сформований наступним чином? а) for i: = 1 to 10 do a [i]: = random (101)-50; б) for i: = 1 to 20 do a [i]: = i; в) for i: = 1 to 5 do a [i]: = 2 * i -1; Запишіть на мові Паскаль програму розв'язання задачі. У деякому населеному пункті N будинків. Відомо, скільки людей проживає у кожному з будинків. Вихідні дані (кількість мешканців) подати за допомогою лінійної таблиці А, що містить N елементів: A - кількість мешканців будинку 1, A - кількість мешканців будинку 2, …, A [N] - кількість мешканців будинку N. У загальному випадку А [i] кількість мешканців будинку i, де i набуває всіх значень від 1 до n (i = 1, n). Результат роботи позначити через s. Вважайте кількість мешканців будинку випадковим числом з діапазону від 50 до 200 осіб, а кількість будинків n = 30. Запишіть на мові Паскаль програму розв'язання задачі. Оголошено набір до шкільної баскетбольної команди. Відоме зростання кожного з N учнів, які бажають потрапити до цієї команди. Підрахуйте кількість претендентів, які мають шанс потрапити до команди, якщо зростання гравця команди має бути не менше 170 см. Вважайте зростання претендента до команди випадковим числом з діапазону від 150 до 200 см, а число претендентів n = 50. Приклад вхідних данихПриклад вихідних даних Введіть температуру Понеділок >> 12 Вівторок >> 10 Середа >> 16 Четвер >> 18 П'ятниця >> 17 Субота >> 16 Неділя >> 14 Середня температура за тиждень: 14,71 Напишіть програму, яка обчислює середню за тиждень температуру повітря. Початкові дані вводяться з клавіатури. Дано масив із десяти цілих чисел. Визначте скільки елементів цього масиву мають максимальне значення. У класі 20 учнів писали диктант з російської. Напишіть програму, яка підраховує кількість двійок, трійок, четвірок та п'ятірок, отриманих за диктант. У цілих масивах a і b містяться довжини катетів десяти прямокутних трикутників: a [ i ] - Довжина першого катета, b [ i ] Довжина другого катета i -го трикутника. Знайдіть трикутник із найбільшою площею. Виведіть його номер, довжини катетів та площу. Передбачте випадок, коли таких трикутників є кілька. Занесіть інформацію про десять європейських країн у масиви n (назва країни), до (чисельність населення), s (площа країни). Виведіть назви країн у порядку зростання густоти їх населення. > 12 Вівторок >> 10 Середа >> 16 Четвер >> 18 П'ятниця >> 17 Субота >> 16 Неділя >> 14 Середня температура за тиждень: 14,71 Напишіть програму, яка обчислює середню за тиждень температуру повітря. Початкові дані вводяться з клавіатури. Дано масив із десяти цілих чисел. Визначте скільки елементів цього масиву мають максимальне значення. У класі 20 учнів писали диктант з російської. Напишіть програму, яка підраховує кількість двійок, трійок, четвірок та п'ятірок, отриманих за диктант. У цілих масивах a і b містяться довжини катетів десяти прямокутних трикутників: a [ i ] - Довжина першого катета, b [ i ] Довжина другого катета i -го трикутника. Знайдіть трикутник із найбільшою площею. Виведіть його номер, довжини катетів та площу. Передбачте випадок, коли таких трикутників є кілька. Занесіть інформацію про десять європейських країн у масиви n (назва країни), до (чисельність населення), s (площа країни). Виведіть назви країн у порядку зростання щільності їхнього населення.">


Опорний конспект Введення з клавіатури Масив - це названа сукупність однотипних елементів, упорядкованих за індексами, що визначає положення елементів у масиві. var array var: array [.. of] of тип_елементів; Надання значень Заповнення масиву Підсумовування елементів Сортування елементів масиву Пошук елемента у властивостях Завдання з обробки масиву


Джерела інформації 1. numbers.jpg -цифри numbers.jpg клавіатура випадкові числа 4. - числа 5. content/uploads/2012/01/_ jpg - числа themes/rttheme9/timthumb.php?src= wp-content/uploads/mas-slider-two.jpg&w=940&h=320&zc=1 –цифри content/themes/rttheme9/timthumb.php?src= wp-content/uploads/mas -slider-two.jpg&w=940&h=320&zc= числа рахунки хлопчик сортування матрьошки матрьошки

Сьогодні на уроці ми з вами розглянемо нове поняття масив. Масивце впорядкований набір однотипних даних. Інакше висловлюючись, масив – це таблиця, кожен елемент якої є елементом масиву. Масиви бувають одномірні та двовимірні. Одновимірний масив– це лінійна таблиця, тобто. таблиця, елементи якої розташовуються в один рядок чи стовпець. Двовимірний масив

Завантажити:


Попередній перегляд:

Костанайська обл., Мендикаринський р-н, ДУ «Буденнівська середня школа»,

вчитель інформатики

Дощанова Гульжан Байгаріївна

9 клас

Тема: Концепція масиву. Одновимірні та двовимірні масиви. Елемент масиву.

Хід заняття:

  1. Організаційний момент.
  2. Перевірка домашнього завдання.
  3. Пояснення нового матеріалу.
  4. Вирішення задач.
  5. Завдання додому.
  1. Організаційний момент.Перевірити готовність кабінету до занять, провести перекличку учнів.
  1. Перевірка домашнього завдання.Перевірити правильність вирішення домашніх завдань. Закріпити теоретичний матеріал попереднього уроку.
  1. Пояснення нового матеріалу.

Сьогодні на уроці ми з вами розглянемо нове поняттямасив. Масив – це впорядкований набір однотипних даних. Інакше висловлюючись, масив – це таблиця, кожен елемент якої є елементом масиву. Масиви бувають одномірні та двовимірні.Одновимірний масив– це лінійна таблиця, тобто. таблиця, елементи якої розташовуються в один рядок чи стовпець.Двовимірний масив– це прямокутна таблиця, тобто. таблиця, що складається з кількох рядків та стовпців.(Продемонструвати плакати таблиць лінійної та прямокутної. За наявності в класі інтерактивної дошки можна підготувати презентацію по різним типаммасивів.)

У цій лінійній таблиці сім елементів. Кожен елемент даної таблиці є буквою.

Елементами масиву можуть бути числові та текстові величини. У розділі змінних Var масив записується так:

x: array of string;

цей запис показує, що дано одновимірний масив (лінійна таблиця), що містить 7 елементів, значеннями яких є строкові величини.

Двовимірний масив позначається так:

y: array of integer;

елементами даного масиву є цілі числа, які записані в 4 рядки та 5 стовпців.

Елемент одновимірного масиву записується так: x – п'ятий елемент одновимірного масиву x (його значенням є буква «О»), y – елемент, розташований у другому рядку та третьому стовпці двовимірного масиву y (Його значення - 15).

А тепер перейдемо до вирішення завдань. (Завдання потрібно підбирати з урахуванням рівня підготовленості класу.)

  1. Вирішення задач. Побудувати блок-схему та скласти програму для вирішення наступних завдань:
  1. У заданому масиві x дійсних чисел визначити середнє арифметичне тих з них, які перевищують 10.

Спочатку виконаємо аналіз завдання, треба домогтися від учнів чіткого розуміння умови завдання, можна навести як приклад таблицю з 9 елементів.

Program summa;

x: array of real;

s,c: real;

k, n: integer;

begin

for k=1 to 9 do

begin

writeln('ВВЕДІТЬ ЗНАЧЕННЯ X[', k,']');

readln (x [k]);

end;

(вводимо елементи таблиці, які є будь-які дійсні числа)

s:=0; n:=0; (обнулюємо суму та кількість елементів)

for k:=1 to 9 do

begin

if x[k]>10 then begin s:=s+x[k]; n:= n+1; end;

end;

(підраховуємо суму та кількість елементів великих 10)

c=s/n; (знаходимо середнє арифметичне)

writeln('c=',c); (виводимо результат на екран)

End.

  1. Дано площі кількох кіл. Знайти радіус найменшого їх.

Перед розв'язуванням завдання з'ясувати з учнями, як залежить площа кола від радіусу. (Якщо радіус менший, то й площа менша.) Відповідно до виконаного аналізу виконати розв'язання задачі одним із способів.

Перший спосіб:

Program krugi_1;

S, R: array of real;

x: real; k, n: integer;

begin

for k=1 to 10 do

begin

R[k]:=sqrt(S[k]/pi);

end;

x:=R(1); n:=1;

for k:=2 to 10 do

begin

if R[k]

end;

writeln('РАДІУС ',n,' КОЛА – НАЙМАЛЕНЬКИЙ R=', R[n]);

End.

Другий спосіб:

Program krugi_2;

S: array of real;

R, x: real; i, k: integer;

begin

for k=1 to 10 do

begin

writeln('ВВЕДІТЬ ПЛОЩУ ', k,'КОЛА'); readln (S [k]);

end;

x:=S(1); k:=1;

for i:=2 to 10 do

begin

if S[k]

end;

R:=sqrt(x/pi); writeln( 'РАДІУС ', n ,' КРУГА - НАЙМАЛЕНЬКИЙ R = ', R);

End.

  1. Завдання додому. Стор. 90-97. (Н.Т. Єрмеков, В.А. Криворучко, Л.М. Кафтункін Інформатика 9 клас, Алмати «Мектеп» 2005)

Розв'язати такі завдання:

  1. У масиві Y, що складається з 12 цілих чисел визначити середнє арифметичне тих, які є парними.
  2. Дано площі кількох квадратів. Знайти довжину діагоналі найбільшого їх.
  1. Підбиття підсумків уроку.Оголосити оцінки учням, прокоментувати їх. Проаналізувати вирішення учнів завдань.

УРОК:

Організаційний етап уроку:

  • Вітання

Вчитель:

Сьогодні ми розглядаємо "Одномірні масиви". За попередніми уроками ми з вами пам'ятаємо, що існує безліч типів даних (чисел), які використовуються в програмуванні. Назвіть їх.

Учень:

Такі типи даних, як Ціліі Речові.

Цілі:

  • byte -128 до 127;
  • short -32768 до 32767;

Вчитель:

Масив

Опис масиву:

Var<имя_массива>: array [<минимальное_значение_индекса>. <максимальное_значение_индекса>] of<тип данных>;

Приклад: var a: array of integer;

а

const a: array of Integer = (1, 4, 7, 14, 25);

Заповнення масиву:

Заповнювати масив можна кількома способами. Розглянемо їх.

for i:=1 to 10 do read (a[i]);

for i:=1 to 10 do a[i]:=i;

randomize

for i:=1 to 10 do a[i]:= random(100);

Виведення елементів з масиву:

Pascal;

randomize.

for i:=1 to 10 do write (a[i], " ");

for i:=1 to 10 do writeln ("a[", i, ", a[i]);

Розглянемо приклад:

var a: array of integer;

randomize

for i:=1 to 10 do

a[i]:= random

write(a[i], "");

Підсумки:

Вчитель:

Учень:

Перегляд вмісту документа
«Одномірні масиви цілих чисел»

Тема:«Одномірні масиви цілих чисел»

Тип уроку:Вивчення нового матеріалу

Мета уроку:Вивчити основні можливості масиву, а також навчиться програмувати масив.

Завдання:

    Ознайомиться з поняттям "МАСИВ";

    Опис масиву як об'єкта програмування;

    Вивчити варіанти заповнення та виведення даних з масиву.

Обладнання:

    У класі є проектор з екраном для відображення екрана вчителя;

    Дошка для винесення головних етапів уроку;

    14 комп'ютерів для практичного закріплення учнями пройденого матеріалу.

УРОК:

Організаційний етап уроку:

    Вітання

    Перевірка відвідуваності учнів

Вчитель:

Діти, сьогодні ми починаємо вивчення нового етапу програмування мовою Pascal.

Сьогодні ми розглядаємо "Одномірні масиви". За попередніми уроками ми з вами пам'ятаємо, що існує безліч типів даних (чисел), які використовуються в програмуванні. Назвіть їх...

Учень:

Такі типи даних, як Ціліі Речові.

Цілі:

    byte -128 до 127;

    short -32768 до 32767;

    int -2 147483648 до 2147483647;

Речові (числа з плаваючою комою):

    real від 4,9 * 10-324 до 1,7 * 10308;

Вчитель:

Масив- це впорядковане безліч однотипних змінних (елементів масиву), яким можна присвоїти загальне ім'я, але всі елементи матимуть різні номери (індекси).

Опис масиву:

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

Для визначення масиву, слід зазначити: ІМ'Я МАСИВУ + КІЛЬКІСТЬ ЕЛЕМЕНТІВ МАСИВУ + ТИП ДАНИХ, що використовуються в масиві.

Var: array [..] of;

Приклад: var a: array of integer;

Тут описано одновимірний масив цілих чисел з ім'ям а. Мінімальна та максимальна кількість індексів від 1 до 15. Масив також може бути описаний у розділі опису констант, відповідно елементи масиву не можна буде змінити в процесі виконання програми.

const a: array of Integer = (1, 4, 7, 14, 25);

У цьому випадку, при створенні масиву ми відразу ж вносимо в нього елементи.

Заповнення масиву:

Заповнювати масив можна кількома способами. Розглянемо їх...

1) Для введення з клавіатури значень елементів використовується цикл:

for i:=1 to 10 do read (a[i]);

2) Задавати значення елементів масиву можна за допомогою оператора присвоєння:

for i:=1 to 10 do a[i]:=i;

3) Заповнення масиву за допомогою процедури randomize. Вона дозволяє виробляти генерацію випадкових чисел, у нашому випадку це числа від 0 до 99 (включно) і заповнить наш масив цими числами.

for i:=1 to 10 do a[i]:= random(100);

Виведення елементів з масиву:

У мовах програмування ми маємо можливість не тільки вносити числа та дані в програму, але й виводити їх на дисплей (консоль). У нашому випадку сьогодні ми опрацюємо операції виведення даних масиву на консоль. Pascal;

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

Елементи масиву можна вивести на консоль, як через пропуск, так і з докладним коментарем.

1) Розділивши числа пробілами та вивести за допомогою звичайної команди Write:

for i:=1 to 10 do write (a[i], " ");

2) Написавши коментар у якому вказатиме: НОМЕР ІНДЕКСУ і навпаки буде вказано ЧИСЛО, яке відповідає цьому індексу. Всі елементи будуть виведені на консоль за допомогою команди Writeln, LN в кінці слова, вказує на те, що кожен новий елемент масиву буде виведений з нового рядка консолі.

for i:=1 to 10 do writeln ("a[", i, ", a[i]);

Розглянемо приклад:

var a: array of integer;

randomize(процедура, яка служить для ініціалізації (або як ще називають розгойдування) генератора випадкових чисел)

for i:=1 to 10 do

a[i]:= random(19); (функція, що генерує випадкове число від нуля до 18: random(n+1))

write(a[i], "");

Підсумки:

Вчитель:

На цьому уроці ми вивчили?

Учень:

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

Ключові слова:

  • масив
  • опис масиву
  • заповнення масиву
  • виведення масиву
  • обробка масиву
  • послідовний пошук
  • сортування

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

Ми розглядатимемо одновимірні масиви.

Вирішення різноманітних завдань, пов'язаних з обробкою масивів, базується на вирішенні таких типових завдань, як:

  • підсумовування елементів масиву;
  • пошук елемента із заданими властивостями;
  • сортування масиву.

4.7.1. Опис масиву

Перед використанням у програмі масив має бути описаний, тобто має бути вказано ім'я масиву, кількість елементів масиву та їх тип. Це необхідно для того, щоб виділити в пам'яті під масив блок осередків потрібного типу. Загальний вигляд опису масиву:

var<имя_массива>: array [<мин_знач_индекса> .. <макс_знач_индекса>] of<тип__элементов>;

приклад

var a: array of integer;

Тут описаний масив а з десяти цілих значень. Під час виконання цього оператора в пам'яті комп'ютера буде виділено десять осередків цілого типу.

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

const b: array of integer = (1, 2, 3, 5, 7);

В цьому випадку не просто виділяються послідовні осередки пам'яті - в них відразу ж заносяться відповідні значення.

4.7.2. Заповнення масиву

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

Наприклад, для введення з клавіатури значень елементів описаного вище масиву використовується наступний циклз параметром:

for i:=l до 10 read (a:=i;

У наступному фрагменті програми організовано заповнення цілого масиву а, що складається з 10 елементів, випадковими числами, значення яких змінюються в діапазоні від 0 до 99:

4.7.3. Виведення масиву

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

Елементи масиву можна вивести в рядок, розділивши їх пробілом:

for i:=1 to 10 do write (a[i], ");

Наочнішим є наступний варіант виведення з коментарями:

for i:=1 to 10 do writeln ("a[", i, ")=", a[i]);

На підставі розглянутих прикладів спробуйте самостійно запишіть програму, в якій здійснюється: заповнення випадковим чином цілого масиву а, що складається з 10 елементів, значення яких змінюються в діапазоні від 0 до 99; виведення масиву а на екран.

4.7.4. Обчислення суми елементів масиву

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

  1. визначається комірка пам'яті (змінна s), в якій буде послідовно накопичуватися результат підсумовування;
  2. змінної s надається початкове значення 0 - число, що не впливає на результат додавання;
  3. для кожного елемента масиву змінної s зчитується її поточне значення і складається зі значенням елемента масиву; отриманий результат присвоюється змінною s.

Описаний процес наочно можна зобразити так:

Наведемо основний фрагмент розв'язання цього завдання:

Доповніть створену у п. 4.7.3 програму формування масиву так, щоб обчислювалася сума елементів масиву та результат підсумовування виводився на екран.

4.7.5. Послідовний пошук у масиві

У програмуванні пошук - одне з найпоширеніших завдань необчислювального характеру.

Можна виділити такі типові завдання пошуку:

  1. знайти найбільший (найменший) елемент масиву;
  2. знайти елемент масиву, значення якого дорівнює заданому значенню.

Комп'ютер не може порівняти разом цілий ряд об'єктів. На кожному кроці він може порівнювати лише два об'єкти. Тому в програмі необхідно організувати послідовний перегляд елементів масиву і порівняння значення чергового елемента з деяким зразком.

Розглянемо докладно розв'язання задач першого типу (знаходження найбільшого (найменшого) елемента).

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

  1. візьмемо верхню картку (перший елемент масиву), запам'ятаємо число, що є на картці (запишемо його крейдою на дошці) як найбільше з переглянутих; приберемо картку убік;
  2. візьмемо наступну картку; порівняємо числа, записані на картці та на дошці; якщо число на картці більше, то зітремо число, записане на дошці, і запишемо там же число, що і на картці; якщо ж нове число не більше, то на дошці залишимо наявний запис; приберемо картку убік;
  3. повторимо дії, описані в п. 2, для всіх карток, що залишилися в стосі.

У результаті на дошці буде записано найбільше значення переглянутого масиву.

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

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

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

Результатом розв'язання задачі другого типу (знаходження елемента масиву, значення якого дорівнює заданому значенню) може бути:

  • n - індекс елемента масиву такий, що а [n] = х де х - задане число;
  • повідомлення про те, що елемента в масиві не виявлено.

Алгоритм пошуку у сформованому нами масиві а значення, що дорівнює 50, може виглядати так:

У цій програмі послідовно проглядаються всі елементи масиву. Якщо масиві кілька елементів, значення яких дорівнюють заданому числу, то програма знайде останній їх.

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

Тут виконання алгоритму буде перервано в одному з двох випадків:

  1. у масиві знайдено перший із елементів, рівний заданому;
  2. всі елементи масиву переглянуті.

Запишіть повний текст програми та виконайте її на комп'ютері.

Найчастіше потрібно визначити кількість елементів, що задовольняють певну умову. У цьому випадку вводиться змінна, значення якої збільшується на одиницю щоразу, коли знайдено потрібний елемент.

Визначте кількість яких елементів підраховується в наступному фрагменті програми.

Якщо потрібно визначити суму значень елементів, то вводять змінну, до якої додають значення знайденого елемента масиву.

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

Запишіть повні тексти двох останніх програмта виконайте їх на комп'ютері.

4.7.6. Сортування масиву

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

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

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

Мета сортування - полегшити подальший пошук елементів: шукати потрібний елемент у впорядкованому масиві легше.

Ви вже зустрічалися із сортуванням під час роботи з базами даних. Зараз ми розглянемо один із можливих варіантів1 реалізації механізму цієї операції - сортування вибором.

Сортування вибором (наприклад, за спаданням) здійснюється таким чином:

  1. у масиві вибирається максимальний елемент;
  2. максимальний та перший елементи змінюються місцями (перший елемент вважається відсортованим);
  3. у невідсортованій частині масиву знову вибирається максимальний елемент; він змінюється місцями із першим невідсортованим елементом масиву;
  4. дії, описані в п. 3, повторюються з невідсортованим елементами масиву до тих пір, поки не залишиться один невідсортований елемент (його значення буде мінімальним).

Розглянемо процес сортування вибором з прикладу масиву а = (0, 1, 9, 2, 4, 3, 6, 5).

У цьому масиві із восьми елементів операцію вибору максимального елемента ми проводили 7 разів. У масиві з елементів n така операція буде проводитися n-1 раз. Поясніть, чому.

Наведемо фрагмент програми, що реалізує описаний алгоритм:

Тут ми використали один цикл усередині іншого. Така конструкція називається вкладеним циклом.

Запишіть повний текст програми та виконайте її на комп'ютері для розглянутого в прикладі масиву а.

На сайті «Інтерактивні демонстрації з програмування» (http://informatika.kspu.ru/flashprog/demos.php) ви зможете попрацювати з інтерактивними наочними посібниками для того, щоб повніше уявити процес сортування вибором та іншими способами.

Найголовніше

Масив - це названа сукупність однотипних елементів, упорядкованих за індексами, що визначає положення елементів у масиві. У мовах програмування масиви використовуються реалізації таких структур даних, як послідовності і таблиці.

Перед використанням у програмі масив має бути описаний. Загальний вигляд опису одновимірного масиву:

var<имя_массива>: array [<мин_знач_индекса> ..
<макс_знач_индекса>] of тип_елементів;

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

Вирішення різноманітних завдань, пов'язаних з обробкою масивів, базується на таких типових задачах, як: підсумовування елементів масиву; пошук елемента із заданими властивостями; сортування масиву.

Запитання та завдання


Тема урока

Підручник:Босова Л. Л. Інформатика: підручник для 9 класу - М.: БІНОМ. Лабораторія знань, 2017. – 184 с. : іл.

Тип уроку:

Цілі уроку:

  • навчальна
  • розвиваюча
  • виховує

:

  1. Особистісні УУД:
  2. Пізнавальні УУД:
  3. Комунікативні УУД:
  4. Регулятивні УУД:

Устаткування

Програмні засоби

Перегляд вмісту документа
«Технологічна карта Одновимірні масиви цілих чисел»

Інформаційний блок

Тема урока: Одновимірні масиви цілих чисел

Підручник:Босова Л. Л. Інформатика: підручник для 9 класу - М.: БІНОМ. Лабораторія знань, 2017. - 184 с. : іл.

Тип уроку:урок вивчення нового матеріалу

Цілі уроку:

    навчальна: організувати діяльність учнів за ознайомленням із поняттями «одномірний масив», «значення елемента масиву», «індекс елемента масиву»; створити умови для формування в учнів вміння виконувати готові та записувати мовою програмування прості циклічні алгоритми обробки одновимірного масиву;

    розвиваюча: сприяти підвищенню інтересу до предмета; сприяти розвитку алгоритмічного мислення у учнів; сприяти розвитку логічного мислення, пізнавального інтересу, пам'яті учнів;

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

Універсальні навчальні дії, що формуються (УУД):

    Особистісні УУД:

    1. фантазія та уява при виконанні навчальних дій;

      бажання виконувати учбові дії.

    Пізнавальні УУД:

    1. логічні дії та операції;

      створення та перетворення моделей та схем для вирішення завдань;

      вибір найбільш ефективних способіврозв'язання завдань залежно від конкретних умов.

    Комунікативні УУД:

    1. формулювання власної думки та позиції.

    Регулятивні УУД:

    1. планування своїх дій відповідно до поставленого завдання та умов її реалізації.

Устаткування: персональний комп'ютер(ПК), мультимедійний проектор, екран.

Програмні засоби: презентація «Одномірні масиви цілих чисел»

План уроку

Етап

Час

    Організаційний момент

    Актуалізація знань

    Вивчення нового матеріалу

    Закріплення вивченого

    Підбиття підсумків

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

Хід уроку

Діяльність вчителя

Діяльність учнів

    Організаційний момент

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

Включаються до ділового ритму уроку.

    Актуалізація знань

речовийтип real 8 байт integer від -2147483648 до 2147483647і займають 4 байти Pascal ABC.

Згадують типи даних.

    Викладення нового матеріалу

Визначення:

var a array тип елементів of integer.

const значення елементів масиву.

100 елементівтипу integer 4 байти 400 байт

ініціалізацією.

Для введення масиву n i n, вона теж буде типу integer nзначення 5.

for. Запишемо цикл для i від 1 до n.

i-того елемента масиву read (a[i]).

Змінений цикл введення масиву

Приклад роботи програми

a[i]:= i randomize random randomize

Висновок for nfor i:=1 to n do i

Цикл виведення масиву

n n

n i a

n for i:=1 to n doi

for i:=1 to n do i

for

Вихідний кодпрограми

Записують дат заняття і тим самим уроку.

Записують визначення масиву.

Розглядають на слайді приклад оголошення масиву.

Записують його у зошити.

Розглядають та записують приклад.

Розраховують та записують розмір оперативної пам'яті, яка буде потрібна для зберігання масиву.

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

Записують визначення "Ініціалізації".

Розглядають завдання.

Розглядають завдання.

Розглядають завдання.

Розглядають завдання.

Розглядають введення пояснення для завдання, щоб пробачити собі роботу.

Розглядають результат роботи програми.

Розглядають приклад ініціалізації ініціалізувати за допомогою команди надання.

Для зручності використовуємо randomize.

Розглядають приклад виведення значення елементів масиву.

Записують програми разом з учителем.

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

Поелементно заповнюють цей масив випадковими числами від одиниці до п'ятдесяти.

Перевіряють правильність написання програми, роблять трасування.

Розглядають результат виконання програми.

    Закріплення дослідженого матеріалу.

Тепер пересідайте за комп'ютери та самостійно виконайте наступне завдання:

Якщо залишиться час (якщо ні, то до домашнього завдання).

Сідають за комп'ютери та виконують завдання:

    Підсумок уроку

Отже, чого ви навчилися і що дізналися протягом сьогоднішнього заняття?

Підбивають підсумки уроку з учителем:

Протягом сьогоднішнього уроку дізналися:

Що таке:

  1. Масив- це названа сукупність однотипних елементів, упорядкованих за індексами, що визначає положення елемента в масиві.

    Дізналися, що таке « Ініціалізація».

Навчилися:

    Оголошувати масив.

    Заповнювати його.

    Виводити на екран масив.

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

Записують домашнє завдання.

Вивчити пункти 2.2.1 – 2.2.3 (включно).

Структура уроку

    Організаційний етап (1 хв).

    Актуалізація знань (4 хв).

    Викладення нового матеріалу (10 хв).

    Перевірна робота (15 хв).

    Практична частина (12 хв).

    Підсумок уроку, домашнє завдання (3 хв).

Хід уроку

    Організаційний.

    Актуалізація знань.

Під час уроків інформатики ми працювали з окремими змінними двох чисельних типів. Згадаймо їх. Один речовийтип real, який має наступний діапазон значень і займає 8 байтоперативну пам'ять. А також один цілий тип integer, змінні якого можуть набувати значення в діапазоні від -2147483648 до 2147483647і займають 4 байтиоперативну пам'ять. Діапазони значень та розмірність оперативної пам'яті наведені для середовища програмування Pascal ABC.

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

    Викладення нового матеріалу.

Масив - це названа сукупність однотипних елементів, упорядкованих за індексами, що визначає положення елемента в масиві.

Ми розглядатимемо одновимірні масиви.

Перш ніж виконувати якісь дії з масивом, необхідно оголосити його у розділі опису змінних var. Спочатку записується ім'я масиву, наприклад a, потім, після двокрапки, слідує службове слово array, що у перекладі з англійської мовиі означає "масив". Далі в квадратних дужкахнам необхідно записати діапазон індексів для його елементів, наприклад, від першого до десятого. Після чого нам необхідно вказати тип елементівмасиву, для цього записується службове слово of, після чого слідує тип елементів, цілі числа, тобто integer.

Оголошення масиву цілих чисел у розділі опису змінних.

Якщо значення елементів масиву відомі заздалегідь, і вони не будуть змінюватися в процесі виконання програми, можна оголосити його в розділі опису констант const. Це робиться так само, як і в розділі опису змінних, але після вказівки типу слід знак «=», після якого в круглих дужках через кому по порядку перераховуються значення елементів масиву.

Важливо пам'ятати, що при оголошенні масиву виділяється кілька оперативної пам'яті для його зберігання. Наприклад розрахуємо розмір оперативної пам'яті, яка знадобиться для зберігання масиву з 100 елементівтипу integer. Оскільки змінна цього у Pascal ABC займає 4 байтиоперативної пам'яті, то для зберігання 100 таких змінних потрібно 400 байт. Стільки оперативної пам'яті і знадобиться для зберігання заданого масиву.

Розглянемо деякі операції із масивами. Щоб можна було практично застосовувати масиви, необхідно знати, як задати чи запровадити певні значення їх елементів.

Привласнення чи введення значення змінної або елемента масиву називається ініціалізацією.

Для введення масивунам необхідно знати, яку кількість елементів потрібно ввести. Оголосимо для цього окрему цілісну змінну, назвемо її n. Також нам потрібна змінна, зі значенням індексу елемента, з яким ми працюємо в Наразі, назвемо її i, так як її розмір не перевищуватиме n, вона теж буде типу integer. Припустимо, нам необхідно ввести послідовність із п'яти цілих чисел, для цього надамо nзначення 5.

Масиви вводяться поелементно, певному порядку, наприклад від першого до останнього. Тут нам допоможе цикл «для» або for. Запишемо цикл для i від 1 до n. Далі між службовими словами beginі endзапишемо тіло циклу. Можна просто вважати значення елементів масиву по одному, для цього в тілі циклу достатньо однієї команди зчитування

i-того елемента масиву read (a[i]).

Програма, яка приймає на введення масиву з 5 елементів

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

Змінений цикл введення масиву

Запустимо програму виконання. Як бачимо, програма приймає на введення масив із п'яти елементів.

Приклад роботи програми

Також масив можна ініціалізувати за допомогою команди присвоєння, тоді тіло циклу міститиме лише одну команду: a[i]:= i. Іноді зручно присвоїти елементам масиву набір випадкових значень. Для цього записується команда randomize, а елементам надається значення random, після якого, в круглих дужках і через кому, вказуються максимальне допустиме значення, збільшене на одиницю, наприклад, сто, в цьому випадку програма буде заповнювати масив випадковими числами від нуля до дев'яноста дев'яти. Звернемо увагу, що використання команди randomizeсеред Pascal ABC необов'язково. Якщо в інших середовищах пропустити цю команду, то при кожному новому запуску програми масив буде заповнюватися однаково.

Часто потрібно вивести значення масиву на екран. Висновок, Так само, як і введення, здійснюється поелементно. При цьому можна, як і для введення, використовувати цикл for. Якщо масив заповнений від 1 до n-ного елемента, то записується цикл for i:=1 to n do, а в тілі цього циклу буде команда виводу i-Того елемента масиву. Зробимо висновок через прогалину.

Цикл виведення масиву

Отже, ми навчилися ініціалізувати елементи масиву та виводити їх значення на екран. Напишемо програму, яка прийматиме на введення з клавіатури масив з nцілих елементів, а потім буде заповнювати його випадковими числами від 1 до 50 і виводити на екран. Значення nвводиться з клавіатури та не перевищує 70.

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

Тепер запишемо тіло програми. Виведемо на екран запит на введення числа n, рахуємо його з переходом на наступний рядок. Потім необхідно ввести значення елементів масиву. Це робиться поелементно, за допомогою циклу for i:=1 to n do. Тіло циклу міститиме висновок пояснюючого повідомлення із запитом на введення i-Того елемента масиву, а також команду його зчитування з переходом на наступний рядок.

Тепер так само поелементно заповнимо цей масив випадковими числами від одиниці до п'ятдесяти. Для цього запишемо цикл « for i:=1 to n do, який міститиме команду присвоєння i-Тому елементу масиву суми 1 і випадкового числа від 0 до 49.

Після цього, знову ж таки за допомогою циклу for, Виведемо елементи масиву на екран, в один рядок і через пропуск.

Вихідний код програми

Запустимо програму виконання. Нехай масив буде із 4 чисел. А значення його елементів будуть відповідно: 10, 20, 30, 40. У відповідь наша програма вивела на екран масив з чотирьох випадкових чисел, що знаходяться в діапазоні від одиниці до п'ятдесяти. Програма працює правильно.




Top