|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
III. Вивчення нового матеріалу. 1. Масив, розмір якого відомий до початку виконання програми і не змінюється в ході виконання програми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. Підготуватися до СР
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |