АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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

Читайте также:
  1. I. Вивчення нового матеріалу
  2. I. Вивчення нового матеріалу
  3. I. Сприйняття нового матеріалу.
  4. II. Закріплення вивченого матеріалу
  5. II. ПОВТОРЕННЯ ВИВЧЕНОГО МАТЕРІАЛУ
  6. II. ПОВТОРЕННЯ ВИВЧЕНОГО МАТЕРІАЛУ, ВИВЧЕННЯ НОВОГО
  7. II. Сприйняття нового матеріалу
  8. III. Вивчення нового матеріалу
  9. III. Изучение нового материала.
  10. IV. Вивчення нового матеріалу.
  11. IV. Объяснение нового материала

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

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

3. Мова програмування Delphi має засоби створення і опрацювання динамічних масивів.

4. Розв’язання Задачі 2 з використанням динамічного масиву виглядатиме так:

 

var a: array [1..10] of real; b: array of real; i,k: integer; f1,f2: textfile;

begin

assignfile (f1, 'in.txt');

reset (f1);

for i:= 1 to 10 do

readln (f1, a[i]);

closefile(f1);

k:= 0; // кількість елементів у масиві b

for i:= 1 to 10 do

if a[i] >0

then begin

k:= k+1; // кількість елементів у масиві b збільшується на 1

setlength (b,k); // виділяється збільшена ділянка пам’яті для зберігання значень елементів масиву b

b[k-1]:= a[i];

end;

assignfile (f2, 'out.txt');

rewrite (f2);

if k = 0

then writeln(f2, 'масиві а додатних елементів немає')

else for i:= 1 to k do writeln (f2, b[i-1]);

closefile(f2);

end;

 

5. Задача 3. У багаторядковому полі містяться 10 дійсних чисел. Сформувати з них одновимірний масив. Сформувати 2 інших масиви: з додатних значень елементів першого і з від’ємних значень. Вивести елементи другого і третього масивів у два інших багаторядкові поля.

(Учні розв’язують цю задачу на комп’ютері)

 

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

7. З файлу динамічний масив формується таким чином:

assignfile (f1, 'in.txt');

reset (f1);

k:= 0;

while not EOF(f1) do

begin

k:= k+1;

setlength(a,k);

readln (f1, a[k-1]);

end;

closefile(f1);

 

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

Наприклад:

x:= Memo1.Lines.Count;

setlength(b,x);

for i:= 1 to x do

b[i-1]:= StrToFloat(Memo1.Lines[i-1]);

9. Пояснити учням роботу цього фрагмента програми.

 

IV. Підведення підсумків уроку.

1. З яким новим видом одновимірних масивів ми сьогодні познайомились?

2. Чим динамічні масиви відрізняються від статичних? У чому їх переваги і недоліки?

3. Що особливого потрібно пам’ятати при використанні динамічних масивів?

 

V. ДЗ

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

2. Задача. Є набір цілих чисел, кількість яких заздалегідь невідома. Сформувати з них одновимірний масив. Сформувати інший масив із тих значень першого, які діляться на суму свої цифр. Використати функцію, яка знаходить суму цифр числа. Розглянути 2 випадки: дані зберігаються у файлі, а результати виводяться в багаторядкове поле; дані зберігаються в багаторядковому полі, а результати виводяться у файл.

3. Підготуватися до СР

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)