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

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

Сторінка 1 з 121231112»
Модератор форуму: Ktara, Bandalak, НІКОЛЯ, volevikt 
Форум інформатиків » Розділ IV: ВДОСКОНАЛЕННЯ ФАХОВОЇ МАЙСТЕРНОСТІ УЧИТЕЛЯ ІНФОРМАТИКИ » 4.3 Авторські методики. Алгоритміка та програмування. » Мова програмування Python (Про особливості мови, які варто знати вчителю)
Мова програмування Python
Пилипчук_О_П Дата: Нд, 13.08.2017, 00:57 | Повідомлення № 1
Ветеран спілкування
Повідомлень: 3823
Нагороди: 28
Рейтинг: 329
Коли багато років тому на обкладинці журналу (напевно, "Інформатика в школі") я побачив назву Python (Пайтон), це не викликало особливого інтересу: просто ще одна мова програмування. Проте зараз ситуація дещо змінилась: мова набула популярності серед розробників, постійно розвивається. Останнім часом часто звучать ідеї (і навіть робляться кроки) щодо використання Пайтона для вивчення основ алгоритміки в шкільному курсі інформатики. Ось декілька прикладів:
* з'явився підручник для 8 класу, в якому використовується одночасно дві мови (Паскаль і Пайтон);
* розроблено й опубліковано електронні версії матеріалів для 5 класу на основі Пайтона;
* на курсах вчителів інформатики в Хмельницькому ОІППО активно просувається вивчення Пайтона вчителями;
* http://kpolyakov.spb.ru/download/inf-2014-09a.pdf - стаття "Язык Python глазами учителя".

Очевидно, настав час створити майданчик для обговорення цього на нашому форумі.

Офіційний сайт (зокрема й для звантаження середовища програмування): https://www.python.org/
Інші матеріали:
* https://sites.google.com/site/pythonukr/ - Програмування на мові Python (3.x). Початковий курс
* https://www.youtube.com/watch?v=wT1OjsMHP3k - один з відеоуроків від нашого колеги зі Старокостянтинова
* http://teachlab.ucoz.ua/publ/fraktalni_kubi/5-1-0-75 - моя невеличка спроба використання Пайтона в середовищі тривимірного редактора Блендер.

Шановні форумчани!!!!!
Повідомлення, які не відповідають темі або несуть некорисний зміст будуть видалятись без попередження!!!


Відредаговано: Пилипчук_О_П - Нд, 13.08.2017, 01:23
swetikccc Дата: Нд, 13.08.2017, 07:33 | Повідомлення № 2
Ветеран спілкування
Повідомлень: 3906
Нагороди: 25
Рейтинг: 355
Цитата Пилипчук_О_П ()
https:/sites.google.com/site/pythonpython "C:\\Projects\py\Project1\filename.py"ukr/ - Програмування на мові Python (3.x). Початковий курс
В курсі зроблено акцент що запускати файли можливо тільки в консолі пінгвіна.
Чудово вони запускаються і в командному рядочку Вікон.

python "шлях до файлу\file.py"
Зверніть увагу на лапки, вони потрібні якщо в повному імені файлу є пробіли
Інший варіант 
З допомогою cd зайти в директорію і там 
python file.py


Відредаговано: swetikccc - Нд, 13.08.2017, 07:42
volevikt Дата: Нд, 13.08.2017, 08:47 | Повідомлення № 3
Перспективна вчителька
Повідомлень: 1800
Нагороди: 24
Рейтинг: 199
Дітям досить швидко набридає працювати в одній програмі. Мій 6 клас працював у початковій школі та у 5 класі зі Скретчем. Вони хочуть щось новеньке. Сподіваюся, що цим новеньким і цікавеньким стане для них Pyton.
Вміння працювати у декількох середовищах для програмування розширить кругозор дітей, сприятиме розвитку їх аналітичних здібностей тощо.
Візьмемо, наприклад, тему "Комп'ютерні презентації". Думаєш їм цікаво працювати практично в одній і тій же програмі (PowerPoint) у початковій ланці, потім в середніх класах і наостанок у старшій школі? Саме тому доцільно працювати і в інших програмах для створення комп'ютерних презентацій: в Prezzi, PowToon та інших. Це ж саме стосується і програмування.
Пилипчук_О_П Дата: Нд, 13.08.2017, 08:47 | Повідомлення № 4
Ветеран спілкування
Повідомлень: 3823
Нагороди: 28
Рейтинг: 329
Багато "олімпійців" використовують Пайтон при розв'язуванні задач, пов'язаних з довгою арифметикою. В Пайтоні вона вбудована і задача типу "зробити щось зі 100-цифровим числом" розв'язується значно простіше, ніж, наприклад, на Паскалі.
В різних місцях (на курсах, у Фейсбуці і т.п.) просив пояснити, чим на даному етапі викликана потреба міняти мову - переконливої відповіді, з якої було б видно, що така заміна необхідна, не отримав.
Bandalak Дата: Нд, 13.08.2017, 08:47 | Повідомлення № 5
Лідер форуму
Повідомлень: 5438
Нагороди: 37
Рейтинг: 247
Цитата Пилипчук_О_П ()
пов'язаних з довгою арифметикою. В Пайтоні вона вбудована

Маєте на увазі, що там є необмежений цілий тип даних?
Діти, використовуючи його перестануть розуміти як саме відбуваються арифметичні дії.
swetikccc Дата: Нд, 13.08.2017, 08:48 | Повідомлення № 6
Ветеран спілкування
Повідомлень: 3906
Нагороди: 25
Рейтинг: 355
От вивчаємо Пітона як одну лінію.
Чи ви вважаєте що кнопочки на Пітоні будуть відрізнятися.
В межах шкільної програми вчитель перейде на іншу мову за тиждень.
А смисл, а н....на такі вчителі які не вміють вчитися, а тільки ................
Bandalak Дата: Нд, 13.08.2017, 08:49 | Повідомлення № 7
Лідер форуму
Повідомлень: 5438
Нагороди: 37
Рейтинг: 247
Пам'ятаю, коли у 90-ті роки почав учити Паскаль - відразу міг написати елементарні програми, вони працювали, було все 100% зрозуміло.
Пітон. Перечитав десятки посібників. Там розглядаються незрозумілі речі і ніде не пише, як заставити запустити елементарну програму рівня "обчислити квадрат числа". Значить далі буде ще складніше. А використання Пітона у 5-му класі - це із серії "Ржу нє могу". Вже значно простіше почати вивчення із С подібних середовищ.
Щоб не бути голослівним, починав вивчати Пітон звідси:
https://sites.google.com/site....muvanna

Все ніби не погано написано. Але у самих не зрозумілих місцях фрази типу, це елементарно, або далі все очевидно.
Дивився і відео уроки. Та поки напишеш елементарну програму на Пітоні - можна освоїти всю лінійку С.
swetikccc Дата: Нд, 13.08.2017, 08:50 | Повідомлення № 8
Ветеран спілкування
Повідомлень: 3906
Нагороди: 25
Рейтинг: 355
Цитата Bandalak ()
5. Використовується на конкурсах типу "Байт" (діти до 14 років) для написання програм, що створюють графічну анімацію. На Пітоні це не створиш.
uses graf підключаємо, якщо не забув.
А якщо його не підключати намалюєте щось? ;)
import turtle(якось так)  і підключили модуль черепашки, те що потрібно для малих дітей.
І я надіюсь що розумієте що таких стандартних модулей досить, якщо навіть черепашку підключили.
swetikccc Дата: Нд, 13.08.2017, 08:50 | Повідомлення № 9
Ветеран спілкування
Повідомлень: 3906
Нагороди: 25
Рейтинг: 355
Цитата Bandalak ()
Пітон. Перечитав десятки посібників. Там розглядаються незрозумілі речі і ніде не пише, як заставити запустити елементарну програму рівня "обчислити квадрат числа".
Потрібно було зрозуміти одне це інтепритована мова.
Пилипчук_О_П Дата: Нд, 13.08.2017, 08:50 | Повідомлення № 10
Ветеран спілкування
Повідомлень: 3823
Нагороди: 28
Рейтинг: 329
Цитата Bandalak ()
Маєте на увазі, що там є необмежений цілий тип даних?
Діти, використовуючи його перестануть розуміти як саме відбуваються арифметичні дії.

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

Вона не ліпша. Вона просто трохи інша. Так само, які решта мов програмування, Пайтон має певні переваги і недоліки, які є дрібницями, коли йдеться про використання в школі.
Цитата Bandalak ()
Пам'ятаю, коли у 90-ті роки почав учити Паскаль - відразу міг написати елементарні програми, вони працювали, було все 100% зрозуміло.
Пітон. Перечитав десятки посібників. Там розглядаються незрозумілі речі і ніде не пише, як заставити запустити елементарну програму рівня "обчислити квадрат числа". Значить далі буде ще складніше.

Таки справді ми з різними пітонами знайомились :) Трохи більше місяця тому зробив декілька дитячих програм на Пайтоні під час проходження курсів у Хмельницькому ОІППО. Мова настільки розвинута, що слід думати не про те, як має працювати алгоритм, а про те, як потрібна дія може називатися англійською. Тоді замість десятка рядків пишеться 2-3.
Цитата Bandalak ()
Використовується на конкурсах типу "Байт" (діти до 14 років) для написання програм, що створюють графічну анімацію. На Пітоні це не створиш.

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

Delphi продається: https://www.embarcadero.com/products/
Днями качнув пограмний код іграшки Hedgewars - побачив багато файлів з розширенням pas. Але, крім цього, яскраво виглядає такий фрагмент з файлу щодо інсталяції:
"To compile and install you need:
...
- FreePascal >= 2.2.4
...
- Lua = 5.1.0
...
For server:
- Glasgow Haskell Compiler >= 6.10"
Як бачимо, розробники використовують одночасно не менше трьох мов програмування. І смішно чути щось на кшталт: "я навчу в школі учнів Пайтону, бо це круто. І це дасть їм майбутнє". Сучасний програміст повинен за потреби легко опановувати нову мову програмування. Якщо Пайтон - перша мова, це буде зробити непросто.
Цитата swetikccc ()
Потрібно було зрозуміти одне це інтепритована мова.

Так само, як і Бейсік, з якого багато хто починав, зокрема й я. У свій час компілятор капітально вигравав у інтерпретатора в плані швидкодії. Виробники комп'ютерів зі своїм прогресом "догралися" до того, що дехто готовий передати лаври мові, яка працює через інтерпретатор.
Пилипчук_О_П Дата: Нд, 13.08.2017, 08:50 | Повідомлення № 11
Ветеран спілкування
Повідомлень: 3823
Нагороди: 28
Рейтинг: 329
Цитата Пилипчук_О_П ()
Мова настільки розвинута, що слід думати не про те, як має працювати алгоритм, а про те, як потрібна дія може називатися англійською. Тоді замість десятка рядків пишеться 2-3.

Прошу пробачення, що цитую сам себе, але вирішив проілюструвати.
Умова задачі: "Вивести TRUE, якщо у введеному рядку мала англійська літера a зустрічається частіше, ніж літера b, і FALSE в протилежному випадку".
Виникає думка, що потрібно якось аналізувати рядок, рука здригається в передчутті написання циклу... А розв'язок читається саме так, як сформульована умова: якщо букв 'а' більше - вивести "TRUE"...
Розв'язок:
Код
s=input()
if s.count('a')>s.count('b'):
    print('TRUE')
else:
    print('FALSE')


Ще приклад: " Відомо, що введений рядок, який складається тільки з літер, містить літеру z, причому не на останньому місці. Потрібно вивести літеру, розміщену в рядку безпосередньо після першого входження z".
Розв'язок:
Код
s=input()
print(s[s.find('z')+1])


Проблема в тому, що можна було на цьому ж Пайтоні написати посимвольний аналіз рядка і т.п. Але чи був би це справді Пайтон? Ті, хто пропонує переходити на іншу мову, готові йти на такі жертви: не вчити учнів посимвольному аналізу рядків, сортуванню масивів тощо? Встигли настільки змінити своє власне мислення, щоб впевнено працювати з учнями в межах нових парадигм?
swetikccc Дата: Нд, 13.08.2017, 08:50 | Повідомлення № 12
Ветеран спілкування
Повідомлень: 3906
Нагороди: 25
Рейтинг: 355
Вверху чудовий приклад неможливості вийти за межі Паскалю.
Паскаль підтримує ООП, а Пітон це ООП мова.
Беремо наведені вами приклади з використання методів об'екту типу рядок, для чого нам потрібно винаходити велосипед?  Беремо і використовуємо його.
Питання при вивченні того ж Пітона стоїть як і при навчанні керування автомобілем, а чи потрібно розказувати як воно працює всередині?
swetikccc Дата: Нд, 13.08.2017, 08:50 | Повідомлення № 13
Ветеран спілкування
Повідомлень: 3906
Нагороди: 25
Рейтинг: 355
Цитата Пилипчук_О_П ()
Виробники комп'ютерів зі своїм прогресом "догралися" до того, що дехто готовий передати лаври мові, яка працює через інтерпретатор.
Ви ж чудово розумієте слово кросплатформність.
І лаври вже передано ;)
Пилипчук_О_П Дата: Нд, 13.08.2017, 08:51 | Повідомлення № 14
Ветеран спілкування
Повідомлень: 3823
Нагороди: 28
Рейтинг: 329
Цитата swetikccc ()
Беремо наведені вами приклади з використання методів об'екту типу рядок, для чого нам потрібно винаходити велосипед? Беремо і використовуємо його.

Так і в сучасному Паскалі підхід такий самий: беремо і використовуємо.
Є модуль для різних маніпуляцій з рядками: https://www.freepascal.org/docs-html/rtl/strutils/index-5.html
Цитата swetikccc ()
Ви ж чудово розумієте слово кросплатформність.

Кросплатформність буває різною. Зазирнув у Вікіпедію:
    * C, С++ і Pascal — кросплатформні мови на рівні компіляції, тобто для цих мов є компілятори під різні платформи.
    * Java і C# — кросплатформні мови на рівні виконання, тобто їх виконавчі файли можна запускати на різних платформах без попередньої перекомпіляції.
    * PHP, ActionScript, Perl, Python, Tcl і Ruby — кросплатформні інтерпретовані мови, їх інтерпретатори існують для багатьох платформ.

Детальніше: https://uk.wikipedia.org/wiki/Багатоплатформність
Пилипчук_О_П Дата: Нд, 13.08.2017, 08:51 | Повідомлення № 15
Ветеран спілкування
Повідомлень: 3823
Нагороди: 28
Рейтинг: 329
Цитата Пилипчук_О_П ()
Ще приклад: " Відомо, що введений рядок, який складається тільки з літер, містить літеру z, причому не на останньому місці. Потрібно вивести літеру, розміщену в рядку безпосередньо після першого входження z".

На Паскалі ця задача розв'язується так само, як і на Пайтоні:
Код
program Project1;
var s:ansistring;
begin
  readln(s);
  writeln(s[pos('z',s)+1])
end.
Форум інформатиків » Розділ IV: ВДОСКОНАЛЕННЯ ФАХОВОЇ МАЙСТЕРНОСТІ УЧИТЕЛЯ ІНФОРМАТИКИ » 4.3 Авторські методики. Алгоритміка та програмування. » Мова програмування Python (Про особливості мови, які варто знати вчителю)
Сторінка 1 з 121231112»
Пошук:


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