Сб, 18.11.2017, 21:23
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

   
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво

Сторінка 4 з 6«123456»
Модератор форуму: НІКОЛЯ, Ktara, Bandalak, volevikt 
Форум інформатиків » РОЗДІЛ ІІІ: МЕТОДИКА, ЗАСОБИ ВИКЛАДАННЯ ІНФОРМАТИКИ » 3.5 Обговорення програм з інформатики (нова 11-річка) » Програмування в 11 класі за новою програмою. Акад. рівень (То що ж викладати?)
Програмування в 11 класі за новою програмою. Акад. рівень
Пилипчук_О_П Дата: Вт, 18.10.2011, 20:58 | Повідомлення № 46
Ветеран спілкування
Повідомлень: 3867
Нагороди: 30
Рейтинг: 346
Крім того, це все стосується не середовища Visual Studio, а бібліотеки. В нашому випадку - .NET Framework. З нею можна працювати і з інших середовищ (наприклад, SharpDevelop). Або й зовсім без середовища :) , якщо знати як писати програмний код і як викликати компілятор: http://teachlab.ucoz.ua/publ/6-1-0-35
Ковальчук_Олександр Дата: Вт, 18.10.2011, 20:59 | Повідомлення № 47
Ветеран спілкування
Повідомлень: 3621
Нагороди: 17
Рейтинг: 192
Я впринципі погоджуся, якщо Ви поясните те, що поки що не пояснили (див. повний скріншот):

Маю на увазі спливаючу підказку "Имя метода"
pasichov Дата: Вт, 18.10.2011, 21:09 | Повідомлення № 48
Наполегливий учасник
Повідомлень: 946
Нагороди: 3
Рейтинг: 70
Quote (Пилипчук_О_П)
ця дискусія конструктивно не завершиться

Згоден. Я весь час поветраюсь до теми, а отримую зауваження ... не по суті питання, а по....
Quote (Ковальчук_Олександр)
Синтаксис VB інтуєтивно зрозумілий.


Ви мали на увазі "інтуїтивно", як я розумію. Не заперечую. Але, як і "паскалеподібний", є приреченим. Якщо вести мову про синтаксис, то найкраще дітей знайомити з С (класичним). Саме його синтаксис лежить в основі більшості сучасних мов програмування. Але це було б важливо, якби ми програмістів поголовно готували. А школа просто повинна зробити людину розумною засобами своїх навчальних предметів. Синтаксис в цьому сенсі НІЯКОЇ РОЛІ НЕ ГРАЄ.
Quote (Ковальчук_Олександр)
Чому VB не годиться для навчання? Як варіант, якщо Вам не подобаються програми з інтерфейсом, нехай в консолі?


Мені подобається, коли програма має інтерфейс! Не подобається інше! Невже я так погано формулюю думку? Спробую ще раз, дуже чітко і старанно.
Час на вивчення теми ОБМЕЖЕНИЙ, а програмування - штука не проста, доступна ДАЛЕКО НЕ КОЖНІЙ ДИТИНІ. Навчаючись в школі, будь-яка дитина повинна отримати максимум користі для себе (бути в зоні свого "найближчого розвитку"). Що винесе пересічний учень з уроків "візуального" (термін не мій!) програмування? Навряд чи розуміння вельми непростої та дискусійної парадигми ООП. Та й більшість учителів інформатики її просто не вивчали в своїх ВНЗ на факультетах трудового навчання чи фізкультури! Ймовірніше за інше у учня залишиться механічне запам'ятовування послідовності "кліків" , і разом з учителем буде "балдіти" від швидкого "результату". Звідки і підвищений інтерес у учнів, як ви слушно помітили.
Користі для розвитку від такого навчання - мізер. В консолі - інше. Там - 7-10 слів, а далі - ДУМАТИ ТРЕБА! Поки не придумаєш алгоритм (грубо- як ці слова розставити) - РЕЗУЛЬТАТУ НЕ БУДЕ!!! Акцент переноситься на РОЗУМОВУ діяльність! А якщо вже ДОДУМАВСЯ, то є й результат!
Звичайно, в ООП програмувати треба думати не меньше, а часто більше, ніж в процедурному. Але той мінімальний результат, що його вимагає програма, учень отримує, не задумуючись, і не напружуючись, засобами не "думання", а середовища! А, отже, не ставши програмістом (і не треба!) в обох випадках, він від навчання отримує меньше користі. Це як підтягування на турнику. Власну с... легше підняти домкратом, ніж тягнути руками. але навряд чи домкрат додасть сили в руках спортсмену на тренуванні, якщо тренер велів підтягуватися.

Ось що мені не подобається в діючій програмі. Не в ваших підходах, а саме в ПІДХОДАХ програми та авторів підручників.
А відгукнувся на ваше запитання в шапці теми лише з бажанням, щоб ви мене переконали в протилежному, раз у вас так гарно виходть. Я намагаюся переконати себе сам, але: Як тільки з моїх уст на уроці звучить якесь нове поняття ООП, одразу слідує від дітей (слава Богу, привчив): "А що таке....?" , "А звідки це...?" "А чому так?". І це діти, що (повірте!) обхід графа в глибину чи ширину (і ще кучу всього!) пишуть за 15 хв. без дебагера на 2-3 мовах! ВОНИ НЕ РОЗУМІЮТЬ, А Я ПОЯСНИТИ НЕ МОЖУ толком, бо 1. не знаю як 2. Не знаю що, бо сам не дуже впевнено почуваю себе в технології ООП, в мене не сформовано мислення "знизу вгору". А вчити їх "клікати", не розуміючи, що робиш НЕ ХОЧУ І НЕ БУДУ.
Все. Я більше не писатиму в цю тему.


Відредаговано: pasichov - Вт, 18.10.2011, 21:11
Пилипчук_О_П Дата: Вт, 18.10.2011, 21:26 | Повідомлення № 49
Ветеран спілкування
Повідомлень: 3867
Нагороди: 30
Рейтинг: 346
Quote (Ковальчук_Олександр)
якщо Ви поясните те, що поки що не пояснили

Спроба пояснити була: недолік перекладу або довідкової системи в цілому.
Щойно встановив англійську версію VB2008EE. Там підказка у відповідному місці не з'являється. Підкажете, як включити?
Ковальчук_Олександр Дата: Вт, 18.10.2011, 21:35 | Повідомлення № 50
Ветеран спілкування
Повідомлень: 3621
Нагороди: 17
Рейтинг: 192
Quote (pasichov)
Все. Я більше не писатиму в цю тему.

Я також так писав, але "заставили" :)
Юрію Яковичу, якщо Ви думаєте, що я не поділяю Ваші думки, то помиляєтесь. Я ще раніше писав, що визнаю Ваші аргументи і вони вагомі.
Дозволю і я собі повторитись:
1. Проектування інтерфейсу не займає багато часу. При цьому я особисто ніколи не концентрую увагу на зміні властивостей об’єктів, якщо в цьому не має потреби (скажемо для кнопки властивість Font та й інші як правило залишаємо по замовчуванням). Проектування інтерфейсу - 2/10 загального часу на створення проекту. При цьому учні не отупівають, а розвиваються. Окрім алгоритмічного мислення людина повинна бути всебічно розвинена.
2. Учні засвоюють важливі поняття "об’єкт" - "властивість" - "значення властивості", "Подія" - "метод", тощо.
3. Учні починають розуміти, як працює програма "із нутрі". Учні розуміють, що просте проектування інтерфейсу - це не розв’язана задача. Запрограмовані кнопки та інші об’єкти, які "оживляють" програму являють собою сукупність процедур - обробників подій, кожну з яких варто розглядати як підпрограму.

Quote (pasichov)
Час на вивчення теми ОБМЕЖЕНИЙ, а програмування - штука не проста, доступна ДАЛЕКО НЕ КОЖНІЙ ДИТИНІ.

Але цього часу вистачає, щоб виконати програму - лінійні алгоритми, розгалуження, цикли, масиви. Особливо в випадку, якщо дещо збільшити кількість годин на цю тему.
Quote (pasichov)
Поки не придумаєш алгоритм (грубо- як ці слова розставити) - РЕЗУЛЬТАТУ НЕ БУДЕ!!!

Повністю згоден! Саме тому для реалізації будь-якої програми в візуальному середовищі потрібно спочатку скласти алгоритм розв’язку задачі (аналогічно до процедурного програмування). Написати процедуру обробника події - майже те саме, що написати програму в Паскалі.
Quote (pasichov)
Але той мінімальний результат, що його вимагає програма, учень отримує, не задумуючись, і не напружуючись, засобами не "думання", а середовища!

Намалювати інтерфейс - так. Організувати введення-виведення, обробку, іншими словами реалізувати складений алгоритм - середовище тут не поможе. Треба думати.

Quote (Пилипчук_О_П)
Там підказка у відповідному місці не з'являється. Підкажете, як включити?

Шукайте. Я її не включав.
volodschool2 Дата: Вт, 18.10.2011, 23:12 | Повідомлення № 51
Досвідчений учасник
Повідомлень: 1372
Нагороди: 12
Рейтинг: 277
Quote (Ковальчук_Олександр)
Я її не включав.

Я також не включав хінта, він сам з’являється, але в 2010 він не такий, як в 2008:
Ковальчук_Олександр Дата: Ср, 19.10.2011, 00:25 | Повідомлення № 52
Ветеран спілкування
Повідомлень: 3621
Нагороди: 17
Рейтинг: 192
Я визнаю, що помилився. Путанина виникла із-за некоректного перекладу.

Событие — это сообщение, посылаемое объектом о том, что что-то произошло.
Хотя можно представить проект Visual Studio как набор процедур, выполняемых в определенной последовательности, на самом деле, большинство программ управляются событиями, то есть поток выполнения определяется внешними воздействиями, называемыми событиями.

Под событием в данном случае подразумевается сигнал, сообщающий приложению, что произошло нечто важное. Например, когда пользователь щелкает элемент управления на форме, форма может инициировать событие Click и вызывать процедуру, обрабатывающую событие. События также допускают взаимодействие отдельных задач. Например, пользовательское приложение выполняет задачу по сортировке отдельно от основного приложения. Если пользователь отменяет сортировку, то приложение может послать событие отмены, которое остановит процесс сортировки.
Обработчики событий — это процедуры, вызываемые при возникновении соответствующего события. Можно использовать любые допустимые подпрограммы с соответствующей сигнатурой в качестве обработчика событий. Функция, тем не менее, не может быть использована в качестве обработчика событий, так как возвращение значения в источник события с ее помощью невозможно.

В Visual Basic используется стандартное положение об именовании обработчиков событий. Имя должно состоять из имени отправителя события, знака подчеркивания и имени события. Например, событие Click кнопки с именем button1 будет иметь имя Sub button1_Click.

Джерело: http://msdn.microsoft.com/ru-ru/library/ms172877.aspx

Событие Click Происходит когда юзер нажимает и отпускает кнопку мышки над оъектом.
Событие GotFocus Происходит, когда объект получает фокус, или при нажатии кнопки Tab или кликом по объекту, а также при запуске метода SetFocus в программе.
Событие FormLoad Это событие имеет только форма.
Обрабатывается при загрузке формы в память. Происходит после события Initalize. Обычно код испольняется один раз. При запуске программы, это событие обрабатывается автоматически для той формы, которая загружается первой.
Событие MouseMove Происходит когда курсор мыши изменяет своё положение над объектом. Т.е. когда курсор стоит на месте, событие не происходит. При каждом сдвиге курсора - срабатывает.
И т.д.
http://softvt.jet-host.ru/index.php/visual-basic-60/--vb60.html

Методы — это действия или задачи, которые выполняет объект (то, что можно делать с объектами).
Метод Show Делает видимими объекты Form или MIDIForm
Метод GetText Возвращает текстовые данные из системного буфера обмена (Clipboard)
Метод Clear Очищает содержимое элементов управления ListBox, ComboBox или системного буфера обмена (Clipboard)
Метод PrintForm Посылает на принтер изображение Формы
И т.д.

http://vbzero.narod.ru/linktable/glossarik_method.htm

І не повірете, знав це все, а із-за некоректного перекладу написав не правильно :))) Довіряй, але перевіряй :)
swetikccc Дата: Ср, 19.10.2011, 10:02 | Повідомлення № 53
Ветеран спілкування
Повідомлень: 3954
Нагороди: 28
Рейтинг: 370
Події і методи - це процедури і функції?
Якщо да то:
Є дві кнопочки, для одної ми написали подію(довгу і велику :) ).
Для другої ми пишемо обробник події, де в коді при якихось обставинах повинна викликатися ’подія’ першої кнопочки.
Ну і...... :)
Пилипчук_О_П Дата: Ср, 19.10.2011, 12:21 | Повідомлення № 54
Ветеран спілкування
Повідомлень: 3867
Нагороди: 30
Рейтинг: 346
Quote (swetikccc)
Події і методи - це процедури і функції?

Ні!!! Подію не пишуть. Подія відбувається: клацнув користувач кнопку - відбулася подія Click; змінив розмір форми - відбулася подія Resize; змінив текст у текстовому полі - відбулася подія TextChanged. Для події можна написати обробник - це, фактично, процедура, але особлива, бо викликається тільки внаслідок події (або її імітації). Методи ж можуть працювати і як процедури, і як функції. Більше того, у деяких мовах програмування (наприклад, С++) такого поділу підпрограм взагалі немає.

Quote (Ковальчук_Олександр)
із-за некоректного перекладу написав не правильно

Я постійно стикаюся з подібними речами, тому думка про некоректність перекладу у мене виникає не в останню чергу. <_<
swetikccc Дата: Ср, 19.10.2011, 14:05 | Повідомлення № 55
Ветеран спілкування
Повідомлень: 3954
Нагороди: 28
Рейтинг: 370
Quote (Пилипчук_О_П)
Подія відбувається: клацнув користувач кнопку - відбулася подія Click;

Що ця подія викликала?
Quote (Пилипчук_О_П)
Ні!!! Подію не пишуть.

А додуматися мложна що писали коротко :)

Додано (19.10.2011, 14:05)
---------------------------------------------
Quote (Пилипчук_О_П)
бо викликається тільки внаслідок події (або її імітації).

Як імітуються події?
Ну наприклад подію MouseClick імітує що?
А якщо в о’єкта його немає, то що?


Відредаговано: swetikccc - Ср, 19.10.2011, 14:09
Пилипчук_О_П Дата: Ср, 19.10.2011, 14:39 | Повідомлення № 56
Ветеран спілкування
Повідомлень: 3867
Нагороди: 30
Рейтинг: 346
Quote (swetikccc)
Як імітуються події?

Я вже згадував у повідомленні 45. Об'єкт може мати методи, виклик яких рівосильний тому, що відбулась відповідна подія. Наприклад, обробник клацання лівою кнопкою миші виконується внаслідок події Click або при виклику методу OnClick. Часом буває потрібно, щоб програма спрацювала так, ніби користувач клацнув мишею, ворухнув її і т.п. От і виходить імітація.


Відредаговано: Пилипчук_О_П - Ср, 19.10.2011, 18:00
swetikccc Дата: Ср, 19.10.2011, 16:05 | Повідомлення № 57
Ветеран спілкування
Повідомлень: 3954
Нагороди: 28
Рейтинг: 370
Просто чудово :)
А може для об’єкту наступити якась подія(реакція на подію), якщо в ньому непрописаний аналогічний метод?
Пилипчук_О_П Дата: Ср, 19.10.2011, 17:28 | Повідомлення № 58
Ветеран спілкування
Повідомлень: 3867
Нагороди: 30
Рейтинг: 346
Див. довідку до того ж VB2008. Наприклад, серед методів класу Button немає методу з назвою Click. А от серед подій, які для примірника цього класу можна обробляти, подія Click є.

Більше того, з точки зору користувача подія може відбуватися навіть з об'єктом, який на неї реагувати "не вміє". В принципі, можливо створити візуальний компонент (клас), що не є спадкоємцем Control, а отже не містить серед своїх членів подію Click. Тоді користувач бачитиме об'єкт, клацатиме по ньому (подія відбувається), а от обробити цю подію буде неможливо, доки не буде внесено відповідні зміни у програмний код класу. Без цього об'єкт просто не надсилатиме відповідного повідомлення, тому буде неможливо написати процедуру-обробник.
swetikccc Дата: Ср, 19.10.2011, 18:26 | Повідомлення № 59
Ветеран спілкування
Повідомлень: 3954
Нагороди: 28
Рейтинг: 370
Quote (Пилипчук_О_П)
Тоді користувач бачитиме об'єкт, клацатиме по ньому (подія відбувається),

Для об’єкту події не буде
Події виникають тільки тоді коли міняється стан об’єкту.
Можна навіть сказати і так.
Подія(обробник події) це процедури і функції які викликаються при настанні певної події.
Ковальчук_Олександр Дата: Ср, 19.10.2011, 19:24 | Повідомлення № 60
Ветеран спілкування
Повідомлень: 3621
Нагороди: 17
Рейтинг: 192
Quote (swetikccc)
Подія(обробник події) це процедури і функції які викликаються при настанні певної події.

Ви так пишете, наче Подія і обробник події це одне і те ж. Так можна сказати тільки про обробник події.
Форум інформатиків » РОЗДІЛ ІІІ: МЕТОДИКА, ЗАСОБИ ВИКЛАДАННЯ ІНФОРМАТИКИ » 3.5 Обговорення програм з інформатики (нова 11-річка) » Програмування в 11 класі за новою програмою. Акад. рівень (То що ж викладати?)
Сторінка 4 з 6«123456»
Пошук:


© Форум інформатиків України, 2007-2017.