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

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

Сторінка 7 з 13«12567891213»
Модератор форуму: Ktara, Bandalak, НІКОЛЯ, volevikt 
Форум інформатиків » Розділ IV: ВДОСКОНАЛЕННЯ ФАХОВОЇ МАЙСТЕРНОСТІ УЧИТЕЛЯ ІНФОРМАТИКИ » 4.3 Авторські методики. Алгоритміка та програмування. » Мова програмування Python (Про особливості мови, які варто знати вчителю)
Мова програмування Python
Пилипчук_О_П Дата: Сб, 12.08.2017, 23:57 | Повідомлення № 1
Ветеран спілкування
Повідомлень: 3870
Нагороди: 30
Рейтинг: 346
Коли багато років тому на обкладинці журналу (напевно, "Інформатика в школі") я побачив назву 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
Пилипчук_О_П Дата: Пт, 25.08.2017, 17:20 | Повідомлення № 91
Ветеран спілкування
Повідомлень: 3870
Нагороди: 30
Рейтинг: 346
Цитата Bandalak ()
Але ж функція має тільки одне значення, а буває потрібно декілька.

Значенням функції може бути список, тобто сукупність значень.
Цитата gry ()
відступи ставляться автоматично і не викликають ніяких затруднень

За винятком тих моментів, коли випадково зітреш або додаси зайвий відступ. Крім того, тексти на Пайтоні "весело" публікувати на сайтах, що проілюстровано навіть в цій гілці - структура "злітає" повністю і залишається неробоча програма:
Цитата gry ()
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)

print(factorial(5))

Я вже писав, що безуспішно "воював" з відступами на цій сторінці, оскільки вони вперто зникали: http://teachlab.ucoz.ua/publ/fraktalni_kubi/5-1-0-75
Лише недавно, на хвилі масового інтересу до Пайтона, знайшов ручний спосіб опублікувати текст з правильними відступами.
Bandalak Дата: Пт, 25.08.2017, 17:57 | Повідомлення № 92
Лідер форуму
Повідомлень: 5531
Нагороди: 39
Рейтинг: 260
Цитата Пилипчук_О_П ()
знайшов ручний спосіб опублікувати текст з правильними відступами

Поділіться з народом!
swetikccc Дата: Пт, 25.08.2017, 18:27 | Повідомлення № 93
Ветеран спілкування
Повідомлень: 3957
Нагороди: 28
Рейтинг: 370
Цитата Пилипчук_О_П ()
Процедур в Пайтоні немає. Так, як, наприклад, і в С++.
1 Процедури в С++ є, просто називаються функціями які  нічого не вертають void.
2 Не лізти з паскалевським підходом в інші мови. Ви ж не будуєте речення англійською по принципу українського.
Пилипчук_О_П Дата: Пт, 25.08.2017, 18:48 | Повідомлення № 94
Ветеран спілкування
Повідомлень: 3870
Нагороди: 30
Рейтинг: 346
Цитата gry ()
До речі - https://codeguida.com/post/945 . І де наш Lazarus з його Паскалем ???

В першій десятці липневого рейтингу TIOBE. За рік змістився з 12 на 9 місце.
Пилипчук_О_П Дата: Пт, 25.08.2017, 18:58 | Повідомлення № 95
Ветеран спілкування
Повідомлень: 3870
Нагороди: 30
Рейтинг: 346
Цитата Bandalak ()
Поділіться з народом!

Вручну в режимі bb-кодів ставлю замість звичайних пропусків нерозривні -   Видно пора сідати писати конвертер для публікації пайтонівських фрагментів в Інтернеті. :)
Цитата swetikccc ()
1 Процедури в С++ є, просто називаються функціями які нічого не вертають void.

Це спроба паскалівську термінологію використати в С++. У мові С++ немає процедур, просто є функції, які повертають void. Проте всі функції можуть викликатись без використання значення, яке повертається. Наприклад, якщо є функція fact(n), яка повертає факторіал, у програмі може зустрітись як
Код
int a=fact(6);

так і просто
Код
fact(6);

В другому випадку повернуте значення втрачається, але це вже інша проблема.
Цитата swetikccc ()
2 Не лізти з паскалевським підходом в інші мови. Ви ж не будуєте речення англійською по принципу українського.

100%
Переходячи на іншу мову ми тягнемо старий багаж з відомих нам мов, а потрібно вивчати саме ту мову, на яку переходимо. Це буває непросто.
Bandalak Дата: Пт, 25.08.2017, 21:38 | Повідомлення № 96
Лідер форуму
Повідомлень: 5531
Нагороди: 39
Рейтинг: 260
Цитата swetikccc ()
Не лізти з паскалевським підходом в інші мови.

Цитата Пилипчук_О_П ()
100%
Переходячи на іншу мову ми тягнемо старий багаж з відомих нам мов, а потрібно вивчати саме ту мову, на яку переходимо.

І що ж використати в Пітоні, коли потрібно передати в підпрограму, наприклад значення двох різних змінних, а отримати від підпрограми ці ж змінні з оновленим значенням, та ще й значення якоїсь третьої змінної?
У Паскалі це просто робиться підпрограмою-процедурою.

А як справи в Пітоні з локальними та глобальними змінними? Чи тут теж інша методологія?
Пилипчук_О_П Дата: Пт, 25.08.2017, 21:50 | Повідомлення № 97
Ветеран спілкування
Повідомлень: 3870
Нагороди: 30
Рейтинг: 346
Цитата Bandalak ()
А як справи в Пітоні з локальними та глобальними змінними? Чи тут теж інша методологія?

Є дещо максималістична теза, що глобальні змінні - це зло.
Перевірив: Гугл згоден:
https://ru.stackoverflow.com/questio....7

Особливо шкідливі вони для об'єктно-орієнтованого програмування, а в Пайтоні, як відомо, все є об'єктами (зокрема й ті ж функції).
Проте можливість зробити згаданий кульбіт існує. Тут обговорюється саме ця проблема: http://www.cyberforum.ru/python/thread1548539.html


Відредаговано: Пилипчук_О_П - Пт, 25.08.2017, 21:50
swetikccc Дата: Пт, 25.08.2017, 22:27 | Повідомлення № 98
Ветеран спілкування
Повідомлень: 3957
Нагороди: 28
Рейтинг: 370
k = 45
z = 35
def func(y, x):
    y = 2*y
    x = 2*x
    return y, x
k,z = func(k,z)
print (k,z)
Про мене ось так найпростіше


Відредаговано: swetikccc - Пт, 25.08.2017, 22:29
Bandalak Дата: Пт, 25.08.2017, 22:31 | Повідомлення № 99
Лідер форуму
Повідомлень: 5531
Нагороди: 39
Рейтинг: 260
Я так зрозумів, що параметри у функції на Пітоні можуть бути як входом, так і виходом одночасно? Чи це десь треба зазначати?
Bandalak Дата: Пт, 25.08.2017, 22:35 | Повідомлення № 100
Лідер форуму
Повідомлень: 5531
Нагороди: 39
Рейтинг: 260
А так не можна?
k = 45
z = 35
def func(y, x):
    y = 2*y
    x = 2*x
    return y, x
print func(k,z))
Bandalak Дата: Пт, 25.08.2017, 22:38 | Повідомлення № 101
Лідер форуму
Повідомлень: 5531
Нагороди: 39
Рейтинг: 260
А так?
k = 45
z = 35
def func(y, x):
    y = 2*y
    x = 2*x
    return y, x
func(k,z)
print (k,z)

До речі, коли копіюю ваші коди, то з відступами все гаразд. А коли пишу свій з нуля, то вони пропадають.
Я так і не зрозумів, як ви робите відступи у повідомленні?
swetikccc Дата: Пт, 25.08.2017, 22:39 | Повідомлення № 102
Ветеран спілкування
Повідомлень: 3957
Нагороди: 28
Рейтинг: 370
Mожна, але чи змінете так k I z?
Подумайте
swetikccc Дата: Пт, 25.08.2017, 22:40 | Повідомлення № 103
Ветеран спілкування
Повідомлень: 3957
Нагороди: 28
Рейтинг: 370
Цитата Bandalak ()
Я так і не зрозумів, як ви робите відступи у повідомленні?
Табулятором
Bandalak Дата: Пт, 25.08.2017, 22:40 | Повідомлення № 104
Лідер форуму
Повідомлень: 5531
Нагороди: 39
Рейтинг: 260
Цитата swetikccc ()
k,z = func(k,z)
Еврика!

Пітон порушує класичне поняття функції, коли вона повинна мати тільки одне значення.
Виявляється, функція може повертати декілька різних значень, чи я щось не правильно зрозумів?
Пилипчук_О_П Дата: Пт, 25.08.2017, 23:11 | Повідомлення № 105
Ветеран спілкування
Повідомлень: 3870
Нагороди: 30
Рейтинг: 346
Цитата Bandalak ()
Виявляється, функція може повертати декілька різних значень, чи я щось не правильно зрозумів?

Виходить, що так.
Форум інформатиків » Розділ IV: ВДОСКОНАЛЕННЯ ФАХОВОЇ МАЙСТЕРНОСТІ УЧИТЕЛЯ ІНФОРМАТИКИ » 4.3 Авторські методики. Алгоритміка та програмування. » Мова програмування Python (Про особливості мови, які варто знати вчителю)
Сторінка 7 з 13«12567891213»
Пошук:


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