вівторок, 31 січня 2017 р.

На допомогу вчителю: тема 22

Шановні колеги! Розміщуємо приклади та коментарі щодо розв'язків завдань у темі 22.

  • Завдання на зміну значень властивостей елемента управління "Текстове поле"

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

Програмний код опрацювання події Натиснуто кнопку Сформувати має вигляд, як на малюнку. Величини, які використані у проекті описані у п. 4 Вправи 1 с 145. Фрагмент програмного кода щодо текстового поля введення адресата привітання подано на малюнку 22.7 (с. 145). Зауважте, що під текстовими полями є надписи, які "приймають" вміст текстового поля, стають видимими, а текстові поля - невидимі. 

Цю програму можна виконати по-іншому, без використання "схованих" надписів. А саме: залишити текст у текстових полях, але змінити їх властивість Enabled. За замовчуванням ця властивість є True, що означає, що у текстове поле можна вносити зміни. Якщо у програмі властивості Enabled  надати значення false, то необхідності вводити надпису немає і не потрібно робити невидимим надпис. Недоліком цієї програми є те, що ми використовуємо 3 текстові змінні, які набувають значень у процесі виконання програми, але не використовуються в опрацюванні та виведенні даних. Програмний код у такому разі матиме вигляд:
Результат виконання програми для пропонованих контрольних значень наведено на малюнку 22.6 с. 145.


  • Завдання на створення та зміну значень властивостей елемента управління "Текстове поле"


Розв'язок завдання у середовищі PyCharm матиме вигляд:

Слід зауважити, що вправу Нагадування легко виконати також у середовищі Lazarus. На формі проекту слід використати три об'єкти: напис, текстове поле та кнопка. У програмному коді обробки події Натиснуто кнопку Гаразд задати команди присвоювання змінній текстового типу значення властивості Text текстового поля. А у вікні повідомлення вивести текст 'Сьогодні' +текстова змінна.

  • Завдання на операції над текстовими величинами


 Програмний код у середовищі PyCharm буде мати вигляд:
Вікно виконання проекту міститиме результати для введеного значення "інформатика":


Слід зазначити, що в мові програмування Free Pascal це завдання виконати не можна безпосереднім доступом до елемента текстової величини. Потрібно використовувати спеціальні функції, описані у таблиці 22.6 на с. 148 підручника. 


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



У програмах мовою програмування Free Pascal використовують функції для опрацювання текстових величин. Шановні колеги, приносимо свої вибачення: при друці у таблиці 22.6 сталась помилка. Зверніть увагу на пояснення призначення функції (виділені жирним параметри n, m)   - таблиця має бути наступного змісту:
Таблиця 22.6
Опис функції мовою програмування
Тип аргументу
Тип результату
Призначення
length (S)
S - текстовий
Цілий (byte)
Визначення кількості символів у рядку S
copy(S,n,m)
Sтекстовий
n, m - цілий
текстовий
Копіювання m символів рядка S, починаючи з позиції n
delete(S,n,m)
Sтекстовий
n, m - цілий
текстовий
Видалення m символів рядка S, починаючи з позиції n
insert(S,S1, m)
S, S1 – текстовий, mцілий
текстовий
Вставлення рядка S1 в рядок S, починаючи з позиції m
pos(S1,S2)
S1,S2 - текстовий
цілий
Номер позиції, з якої рядок S2 входить у рядок S1

  Зверніть увагу учнів, що у мові програмування Free Pascal нумерація літер у текстовій величині розпочинається з 1.

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

Зверніть увагу, що в розділі uses додано модуль функцій для роботи з текстовими величинами, що містять символи українського алфавіту:


9 коментарів:

Мельник Євген сказав...

Скажіть будь ласка, у Вашому підручнику чи вірно описані функції, для опрацювання текстових величин, на ст.148. Мені здається, що в призначенні функцій все напутано.
Наприклад: функція copy(S, n, m) у Вас написано "Копіювання n символів рядка S, починаючи з позиції m". А я думаю, що повинно бути навпаки: "Копіювання m символів рядка S, починаючи з позиції n". І таке саме у наступних функціях.

Ольга Барна сказав...

Дякую, пане Євген за зауваження та коментар. Справді під час друку трапилась помилка. Слід звернути на це увагу учнів. Написала про це в дописі рекомендацій до уроку 22.

Василь сказав...

Пані Ольга, підкажіть чому при зберіганні проекту (Лазаруз) в папку з назвою де використана укр буква і (напр Вітальна листівка) компілятор видае помилку що не може знайти потрібний файл ? Дякую

Margo сказав...

Доброго часу! А чи будуть пояснення до розділу 24? Бо за запропонованою вправою про квіти нічого не виходить!(

Ольга Барна сказав...

Доброго дня, пане Василю! Це не помилка через через українську літеру. Часто так буває, коли порядок роботи з файлом порушений. Спочатку зберігають проект у заздалегідь створену папку (Поект/Зберегти як). Тоді зберігається проект та форма, тобто двічі слід натиснути клавішу Зберегти. Якщо створити проект та запустити на виконання без збереження, то файли проекту зберігаються у тимчасовій папці і після зберігання проекту часто зберігається тільки форма. А програму компілятор не може знайти. Якщо переглянути папку із файлами створеного проекту, тоді справді файл unit1.pas відсутній. Виправити ситуацію можна, якщо у меню Файл обрати Зберегти як... Тоді зберігається програмний код. Ми у підручнику не описували цієї ситуації, оскільки одразу прописували порядок роботи: увійшли та зберегли; виконали дії над проектуванням та програмуванням, виконали, виправили та зберегли зміни.

Ольга Барна сказав...

Доброго дня. Так, готую

Василь сказав...

Дякую

Hellen сказав...

Доброго дня! Дякуємо за попередній матеріал. Чи можно побачити пояснення до Вправи 5.. Текст. щось не працює. та в загалі докладніше про пітон дуже мало інформації

Ольга Барна сказав...

Пані Галино, а яку із вправ 5 слід детальніше пояснити?