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

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

Модератор форуму: Ktara, Bandalak, НІКОЛЯ, volevikt  
Форум інформатиків » Розділ IV: ВДОСКОНАЛЕННЯ ФАХОВОЇ МАЙСТЕРНОСТІ УЧИТЕЛЯ ІНФОРМАТИКИ » 4.3 Авторські методики. Алгоритміка та програмування. » Мова програмування Python (Про особливості мови, які варто знати вчителю)
Мова програмування Python
Пилипчук_О_П Дата: Сб, 12.08.2017, 23:57 | Повідомлення № 1
Ветеран спілкування
Повідомлень: 4305
Нагороди: 38
Рейтинг: 406
Коли багато років тому на обкладинці журналу (напевно, "Інформатика в школі") я побачив назву 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://drive.google.com/open?id=1q8cSkWDHjJzyoz2x8iFfFH637tH1lIe5 - Посібник по Python
* https://www.youtube.com/watch?v=wT1OjsMHP3k - Один з відеоуроків від нашого колеги зі Старокостянтинова
* http://teachlab.ucoz.ua/publ/fraktalni_kubi/5-1-0-75 - Моя невеличка спроба використання Пайтона в середовищі тривимірного редактора Блендер.

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


Відредаговано: Пилипчук_О_П - Нд, 13.08.2017, 00:23
TYP Дата: Чт, 05.07.2018, 16:22 | Повідомлення № 286
Прописаний назавжди
Повідомлень: 467
Нагороди: 6
Рейтинг: 58
Вставлю і свої 5 копйок. Вкотре переконався, що вивчати програмування можна на прикладі будь-якої мови. Чому? Тому що маючи певний досвід роботи з Pascal -> PHP -> JavaScript -> C++ спробував переписати свій друк додатків (модуль друку) на якійсь із знайомих мов. Але в жодній не знайшов легкого способу роботи з JSON. A Python вміє. І мені вистачило 3 години, щоб освоїти і написати скрипт. Але чи можу я сказати тепер, що знаю Python - ні. Тому, що для того, щоб писати, щось системне треба вчити модулі мови які для цього призначені.Ось зараз стоїть питання написання демона для контролю кулером у ноутбуці під Linux - то як виявилось не вистачпє знань саме по ОС. А шукати максимальний елемент масиву можна і на Pascal.
fox11 Дата: Пт, 06.07.2018, 10:24 | Повідомлення № 287
Прописаний назавжди
Повідомлень: 330
Нагороди: 4
Рейтинг: 81
Цитата Пилипчук_О_П ()
BlockPy може бути непоганим стимулом для переходу до ручного написання коду.
Для 2-4 классов - согласен.
В 5-11 давайте не превращать программирование в "кубики".
Сколько можно подводить свою философию под желание избежать программирования. Нельзя же серьезно спорить, что лучше Скретч с BlockPy или Алгоритмический язык и Пайтон (С++, java). Да, выделенное жирным труднее, но это правильно!
Создается впечатление, что нежелание детей учить программирование заставляет вас искать новые подходы. Ищите новые методы, способы преподавания, а не меняйте саму тему. Посмотрите на математиков, физиков, химиков. Как бы им не было трудно, они темы не меняют. Я видел уже как с гитарой поют про синусы.
Пилипчук_О_П Дата: Пт, 06.07.2018, 12:04 | Повідомлення № 288
Ветеран спілкування
Повідомлень: 4305
Нагороди: 38
Рейтинг: 406
Цитата fox11 ()
что лучше Скретч с BlockPy или Алгоритмический язык и Пайтон

BlockPy позиціює себе як серйозний засіб: "BlockPy is a web-based Python environment that lets you work with blocks, text, or both. Designed for Data Science, equipped with powerful tools like the State Explorer, and scaffolding beginners with Guided Feedback, the goal of BlockPy is to let you authentically solve real-world problems".
gromko Дата: Пт, 06.07.2018, 18:19 | Повідомлення № 289
Лінуксоїд
Повідомлень: 3205
Нагороди: 33
Рейтинг: 401
Цитата fox11 ()
В 5-11 давайте не превращать программирование в "кубики".Сколько можно подводить свою философию под желание избежать программирования. Нельзя же серьезно спорить, что лучше Скретч с BlockPy или Алгоритмический язык и Пайтон (С++, java). Да, выделенное жирным труднее, но это правильно!
Создается впечатление, что нежелание детей учить программирование заставляет вас искать новые подходы. Ищите новые методы, способы преподавания, а не меняйте саму тему. Посмотрите на математиков, физиков, химиков. Как бы им не было трудно, они темы не меняют. Я видел уже как с гитарой поют про синусы.
1. Скільки людей - стільки й думок.
2. Ми поважаємо думки інших.
3. Кожен використовує той інструмент, який він краще знає
Хтось класно працює з С, п.Пилипчук - з Python, інші дають Java - це дуже добре.
Але й "блоки мають право на життя":
Review articlesLearnable Programming: Blocks and Beyond
David Bau, Jeff Gray, Caitlin Kelleher, Josh Sheldon, Franklyn Turbak
Communications of the ACM,
June 2017,
Vol. 60 No. 6, Pages 72-80
10.1145/3015455
https://cacm.acm.org/magazin....bstract


Відредаговано: gromko - Пт, 06.07.2018, 18:20
Пилипчук_О_П Дата: Сб, 07.07.2018, 00:06 | Повідомлення № 290
Ветеран спілкування
Повідомлень: 4305
Нагороди: 38
Рейтинг: 406
Цитата gromko ()
п.Пилипчук - з Python

Я цього не казав :) Цього року трохи "прокачав" С++, завдяки тренінгу в Хмельницькому ОІППО. А за Пайтон ще серйозно не брався.
gromko Дата: Сб, 07.07.2018, 06:02 | Повідомлення № 291
Лінуксоїд
Повідомлень: 3205
Нагороди: 33
Рейтинг: 401
Цитата Пилипчук_О_П ()
Я цього не казав :) Цього року трохи "прокачав" С++, завдяки тренінгу в Хмельницькому ОІППО. А за Пайтон ще серйозно не брався.
Це було сказано в загальному сенсі
lesa11 Дата: Сб, 24.11.2018, 22:51 | Повідомлення № 292
Новий користувач
Повідомлень: 2
Нагороди: 0
Рейтинг: 0
Доброго вечора. Прошу допомоги. 
Розробити програму з рекурсивною функцією обчислення п перших членів геометричної прогресії , перший член якої дорівнює а, знаменник q.

Це задача з підручника Інформатика 10 клас Руденко 2018(https://lib.imzo.gov.ua/handle/123456789/68)

Код
def progresija(n,b1,q):
    if n == 0 or n == 1: # Термінальна гілка
        return 1 # Тривіальне значення
    else:
        # Рекурсивна гілка
        return b1*q**(n-1) # Рекурсивний виклик
# Виклик рекурсивної функції
n = int(input("n = "))
b1= int(input("b1 = "))
q= int(input("q = "))
print (progresija(n,b1,q))
Bandalak Дата: Нд, 25.11.2018, 00:51 | Повідомлення № 293
Лідер форуму
Повідомлень: 6174
Нагороди: 43
Рейтинг: 285
Код
def progresija(n,b1,q):
    if n == 1: # Термінальна гілка
        return b1 # Тривіальне значення
    else:
        # Рекурсивна гілка
        return q*progresija(n-1,b1,q) # Рекурсивний виклик
# Виклик рекурсивної функції
n = int(input("n = "))
b1= int(input("b1 = "))
q= int(input("q = "))
print (progresija(n,b1,q))
lesa11 Дата: Нд, 25.11.2018, 09:46 | Повідомлення № 294
Новий користувач
Повідомлень: 2
Нагороди: 0
Рейтинг: 0
Дякую
pupilPython Дата: Пн, 14.01.2019, 07:25 | Повідомлення № 295
Новий користувач
Повідомлень: 2
Нагороди: 0
Рейтинг: 0
Доброго дня! Почала вивчати Python. 
Чомусь автоматизована система, яка перевіряє задачі повідомляє про частковий розв'язок даної задачі. 

Задача. Дано ціле число, що не менше 2. Виведіть його найменший простий дільник.

n=int(input())
if n%2==0:
    print(2)
else:
    i = 3
    while (n%i!=0):
        i=i+2
    print(i)

Допоможіть порадою, що я не врахувала?
gromko Дата: Пн, 14.01.2019, 11:05 | Повідомлення № 296
Лінуксоїд
Повідомлень: 3205
Нагороди: 33
Рейтинг: 401

Код
n = int(input())
i = 2
while n % i != 0:
    i += 1
print(i)
Пилипчук_О_П Дата: Пн, 14.01.2019, 11:59 | Повідомлення № 297
Ветеран спілкування
Повідомлень: 4305
Нагороди: 38
Рейтинг: 406
Цитата pupilPython ()
Допоможіть порадою, що я не врахувала?
Система перевірки не повідомляє причину? Може проблема з часом проходження деяких тестів?
volodschool2 Дата: Пн, 14.01.2019, 14:01 | Повідомлення № 298
Досвідчений учасник
Повідомлень: 1525
Нагороди: 15
Рейтинг: 364
Цитата Пилипчук_О_П ()
Може проблема з часом проходження деяких тестів?
Пропоную дещо "прискорений" варіант:
Код
import math
n = int(input())
for i in range(2, int(math.sqrt(n))+1):
    if not n % i:
        print(i)
        break
else:
    print(n)
pupilPython Дата: Пн, 14.01.2019, 16:12 | Повідомлення № 299
Новий користувач
Повідомлень: 2
Нагороди: 0
Рейтинг: 0
Цитата gromko ()
n = int(input())i = 2
while n % i != 0:
    i += 1
print(i)
Спочатку моє рішення було саме таким. 

Система видає помилку на 14 тесті "Перевищено максимальний час роботи"
Цитата volodschool2 ()
import math
n = int(input())
for i in range(2, int(math.sqrt(n))+1):
    if not n % i:
        print(i)
        break
else:
    print(n)


Це рішення прийнято. Дякую! %)  :o 
Чи правильно я зрозуміла, що простий дільник не перевищує кореня з самого числа?
volodschool2 Дата: Пн, 14.01.2019, 16:49 | Повідомлення № 300
Досвідчений учасник
Повідомлень: 1525
Нагороди: 15
Рейтинг: 364
Цитата pupilPython ()
Чи правильно я зрозуміла, що простий дільник не перевищує кореня з самого числа?
Так
Форум інформатиків » Розділ IV: ВДОСКОНАЛЕННЯ ФАХОВОЇ МАЙСТЕРНОСТІ УЧИТЕЛЯ ІНФОРМАТИКИ » 4.3 Авторські методики. Алгоритміка та програмування. » Мова програмування Python (Про особливості мови, які варто знати вчителю)
Пошук:


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