Автор Гілка: Дитячий пітон  (Прочитано 10966 раз)

Відсутній ignite

  • Новачок
  • *
  • дописів: 28
  • Карма: +0/-0
  • Що новенького?
Дитячий пітон
« : 2007-01-04 15:11:33 »
З подивом виявив, що зараз дітей у школі не вчать програмування, навіить основам.
Отже вирішив це виправити, хоча б для своїх. Мовою обрав пітон.
От що вийшло:

#!/usr/local/bin/python
# -*- coding: utf-8 -*-
from робот import Робот

робот=Робот('z4-4.maz')

while робот.попереду_вільно():
  робот.вперед(1)

робот.направо()

while робот.ґрунт():
  робот.назад(1)

робот.вперед(1)

while робот.ґрунт():
  робот.саджай()
  робот.вперед(1)

робот.наліво()
робот.вперед(2)
робот.наліво()

while not робот.попереду_мур():
  робот.вперед(1)

робот.направо()

while not робот.база():
  робот.вперед(1)

робот.стій()

Це був розв'язок ось цього завдання:
.w.........
.w.........
.wb........
.w.........
.w.........
.w.........
.wwwwwwwww.
.xxxxxxxxx.
...........
...........
...........
...........
...........
........0..
« Змінено: 2007-01-04 15:15:21 від ignite »

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Re: Дитячий пітон
« Відповідей #1 : 2007-01-04 15:26:13 »
Ага! Я ж казав! Уже почали програмувати гігантських людиноподібних роботів!

Цитата
# -*- coding: utf-8 -*-
from робот import Робот
Ну не треба так робити, навіть в коментарях не варто.

Відсутній ignite

  • Новачок
  • *
  • дописів: 28
  • Карма: +0/-0
  • Що новенького?
Re: Дитячий пітон
« Відповідей #2 : 2007-01-04 16:04:50 »
Ага! Я ж казав! Уже почали програмувати гігантських людиноподібних роботів!

Цитата
# -*- coding: utf-8 -*-
from робот import Робот
Ну не треба так робити, навіть в коментарях не варто.

Не зрозумів, по-перше, що саме не варто робити, по-друге - чому. :)

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Re: Дитячий пітон
« Відповідей #3 : 2007-01-04 16:10:32 »
Не зрозумів, по-перше, що саме не варто робити, по-друге - чому. :)
Я про кирилицю в коді, ба навіть в псевдокоді. Imho жахлива звичка.

Відсутній ignite

  • Новачок
  • *
  • дописів: 28
  • Карма: +0/-0
  • Що новенького?
Re: Дитячий пітон
« Відповідей #4 : 2007-01-04 16:33:21 »
Не зрозумів, по-перше, що саме не варто робити, по-друге - чому. :)
Я про кирилицю в коді, ба навіть в псевдокоді. Imho жахлива звичка.

Ото понапридумували табів (табу :) )
По-перше це ніякий не псевдокод, а програма на справжньому пітоні.
По-друге, того пітона (звернули увагу, що він з /usr/local/bin?), прийшлося латати,
щоби він кирилічні ідентифікатори розумів.
По-трете - це ж для дітей версія, невже ви думаєте, що такий (нижче) варіант більш зрозумілий?

#!/usr/bin/python
# -*- coding: utf-8 -*-
from robot import Robot

robot=Robot('z4-4.maz')

while robot.clear_forward():
  robot.forward(1)
robot.wait()
robot.right()
while robot.ground():
  robot.backward(1)
robot.forward(1)
while robot.ground():
  robot.plant()
  robot.forward(1)
robot.forward(1)
robot.left()
robot.forward(2)
robot.left()
while robot.clear_forward():
  robot.forward(1)
robot.right()
while not robot.base():
  robot.forward(1)

robot.wait()

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Re: Дитячий пітон
« Відповідей #5 : 2007-01-04 17:04:32 »
Ото понапридумували табів (табу  :) )
Це не табу, це 1) правила хорошого тону, раптом код буде читати хтось, хто не знає української і 2) на те є вагомі причини технічного характеру, наприклад забезпечення кросплатформеності (не кожний компілятор то розбере), там, збільшення розміру програм і т.д. =)

По-перше це ніякий не псевдокод, а програма на справжньому пітоні.
Я помітив:) Це було загальне зауваження.

По-друге, того пітона (звернули увагу, що він з /usr/local/bin?), прийшлося латати,
щоби він кирилічні ідентифікатори розумів.
Гм... Як саме? Я чомусь думав, що він з коробки це вміє.

По-трете - це ж для дітей версія, невже ви думаєте, що такий (нижче) варіант більш зрозумілий?
Тут проблема не в тому, як зрозуміліше, а в тому, як слід робити. Виходячи з власного досвіду можу сказати, що якщо відразу навчити робити все правильно, то це увійде у звичку і буде сприйматись як щось природне. І чим раніше, тим краще, бо переучуватись набагато складніше ніж вчитись. Тим більше, дитячий розум гнучкий і звикає до чого завгодно. Не раджу недооцінювати їх здібності =) Задеріть планку так високо, як тільки можна і я гарантую - вони вас здивують.

Відсутній ignite

  • Новачок
  • *
  • дописів: 28
  • Карма: +0/-0
  • Що новенького?
Re: Дитячий пітон
« Відповідей #6 : 2007-01-04 17:29:38 »
Ото понапридумували табів (табу  :) )
Це не табу, це 1) правила хорошого тону, раптом код буде читати хтось, хто не знає української і 2) на те є вагомі причини технічного характеру, наприклад забезпечення кросплатформеності (не кожний компілятор то розбере), там, збільшення розміру програм і т.д. =)
Бачте, срібної кулі не існує так само як і "правил хорошого тону" на всі випадки життя. Десь одні правила, десь - інші. Невже ви думаєте, що хтось з-за бугра буде читати дитячи вправи? Інші аргументи на зразок збільшення розміру програм взагалі смішні.
Цитата
По-перше це ніякий не псевдокод, а програма на справжньому пітоні.
Я помітив:) Це було загальне зауваження.

По-друге, того пітона (звернули увагу, що він з /usr/local/bin?), прийшлося латати,
щоби він кирилічні ідентифікатори розумів.
Гм... Як саме? Я чомусь думав, що він з коробки це вміє.
Трохи виправив парсер. Гвидо ван Россум тієї ж думки що і ви про використання національних символів. Але ж це світ відкритих джерел. :)
Цитата
По-трете - це ж для дітей версія, невже ви думаєте, що такий (нижче) варіант більш зрозумілий?
Тут проблема не в тому, як зрозуміліше, а в тому, як слід робити. Виходячи з власного досвіду можу сказати, що якщо відразу навчити робити все правильно, то це увійде у звичку і буде сприйматись як щось природне. І чим раніше, тим краще, бо переучуватись набагато складніше ніж вчитись. Тим більше, дитячий розум гнучкий і звикає до чого завгодно. Не раджу недооцінювати їх здібності =) Задеріть планку так високо, як тільки можна і я гарантую - вони вас здивують.
Тут треба зважити на мету навчання. Я, бачте, не збираюся робити з своїх дітей програмістів - важкий то хліб. Але загальні алгоритмічні навички їм згодяться у будь-якому разі.

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Re: Дитячий пітон
« Відповідей #7 : 2007-01-04 17:52:43 »
Інші аргументи на зразок збільшення розміру програм взагалі смішні.
Це я для прикладу про кирилицю в юнікоді... Та я й не претендую на серйозність аргументів, просто така традиція. Знаєте анекдот про десятьох мавп в клітці і банан?

Тут треба зважити на мету навчання. Я, бачте, не збираюся робити з своїх дітей програмістів - важкий то хліб. Але загальні алгоритмічні навички їм згодяться у будь-якому разі.
Хм-м... Я теж не збирався ставати програмістом, коли дитям писав програмки на недовасіку для (о Господи!) "Правец 8Д". Ще зовсім недавно я хотів займатись теоретичною фізикою. Але ж, бачте, їсти хочеться, і зараз і в перспективі. Та й цікаво воно.

zzandy

  • Гість
Re: Дитячий пітон
« Відповідей #8 : 2007-01-04 18:14:07 »
Знаєте анекдот про десятьох мавп в клітці і банан?

Ні.

2ignite:
for і in range(10):
      print i

Traceback (most recent call last):
  File "<pyshell#4>", line 2, in <module>
    print i
NameError: name 'i' is not defined

Після такого ваш простенький урок для дітей з програмування набуде набагато ширшого змісту.

Відсутній ignite

  • Новачок
  • *
  • дописів: 28
  • Карма: +0/-0
  • Що новенького?
Re: Дитячий пітон
« Відповідей #9 : 2007-01-04 18:23:00 »
Інші аргументи на зразок збільшення розміру програм взагалі смішні.
Це я для прикладу про кирилицю в юнікоді... Та я й не претендую на серйозність аргументів, просто така традиція. Знаєте анекдот про десятьох мавп в клітці і банан?
Так, тільки я не сприймаю його як анекдот, скоріше як притчу, яка пояснює дуже багато чого в житті.  До речи, це аргумент за мою точку зору. Старі, навіть перевірені часом істини треба періодично намагатися спростувати. Бо не буде прогресу.
Цитата
Тут треба зважити на мету навчання. Я, бачте, не збираюся робити з своїх дітей програмістів - важкий то хліб. Але загальні алгоритмічні навички їм згодяться у будь-якому разі.
Хм-м... Я теж не збирався ставати програмістом, коли дитям писав програмки на недовасіку для (о Господи!) "Правец 8Д". Ще зовсім недавно я хотів займатись теоретичною фізикою. Але ж, бачте, їсти хочеться, і зараз і в перспективі. Та й цікаво воно.
Оце (виділене) важить. Все інше самонавіювання. :)

Відсутній ignite

  • Новачок
  • *
  • дописів: 28
  • Карма: +0/-0
  • Що новенького?
Re: Дитячий пітон
« Відповідей #10 : 2007-01-04 18:26:48 »
Знаєте анекдот про десятьох мавп в клітці і банан?

Ні.

2ignite:
for і in range(10):
      print i

Traceback (most recent call last):
  File "<pyshell#4>", line 2, in <module>
    print i
NameError: name 'i' is not defined

Після такого ваш простенький урок для дітей з програмування набуде набагато ширшого змісту.
Що ви маєте на увазі? Те що вигляд деяких українських літер збігається з латиною?
Це ні на що не впливає. Тиждень тому діти робили сайт з найпростіших хтмл-сторінок, так проїхалися по цим граблям по повній. Все одно прийдеться пояснювати різницю, та як із цим боротися.

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Re: Дитячий пітон
« Відповідей #11 : 2007-01-04 18:37:00 »
Старі, навіть перевірені часом істини треба періодично намагатися спростувати. Бо не буде прогресу.
Не в цьому випадку. Традиції сприяють виживанню і більшій ефективності в певних умовах і потребують перегляду тільки при зміні цих самих умов. Загальна англифікація нікуди не ділась, а анекдот говорить про явище застарілих традицій:)

Оце (виділене) важить. Все інше самонавіювання. :)
М-дямс...

Відсутній ignite

  • Новачок
  • *
  • дописів: 28
  • Карма: +0/-0
  • Що новенького?
Re: Дитячий пітон
« Відповідей #12 : 2007-01-04 18:46:57 »
Старі, навіть перевірені часом істини треба періодично намагатися спростувати. Бо не буде прогресу.
Не в цьому випадку. Традиції сприяють виживанню і більшій ефективності в певних умовах і потребують перегляду тільки при зміні цих самих умов.
Умови змінюються щодня. Ви пам'ятаєте стан справ з utf-8 пару років тому? Порівняйте з сучасністю.
Цитата
Загальна англифікація нікуди не ділась, а анекдот говорить про явище застарілих традицій:)
Відповім запитанням на запитання: тоді що ви робите на цьому форумі?
Цитата
Оце (виділене) важить. Все інше самонавіювання. :)
М-дямс...
І правильно. ;)

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Re: Дитячий пітон
« Відповідей #13 : 2007-01-04 18:59:01 »
Умови змінюються щодня. Ви пам'ятаєте стан справ з utf-8 пару років тому? Порівняйте з сучасністю.
Читайте уважніше, що я написав=) Одне діло - сам прогрес, зовсім інше - довгострокові умови, в яких він відбувається. Зі стандартами краще дружити...

Відповім запитанням на запитання: тоді що ви робите на цьому форумі?
Що я тут роблю - легко визначити, пошукавши мої повідомлення. І взагалі, це нетактовне запитання, вам не здається?

zzandy

  • Гість
Re: Дитячий пітон
« Відповідей #14 : 2007-01-04 19:05:05 »
Що ви маєте на увазі? Те що вигляд деяких українських літер збігається з латиною?
Це ні на що не впливає.

Це я про те, що ви на рівному місці отримали новий клас помилок без вагомої причини.

Я скільки вашим дітям років? Я не можу зрозуміти - вони достатньо вправні, щоб переключати розкладки як нівсобі (мислено також треба переходити з однієї мови на іншу), але при цьому їм важно буде сприйняти програму цілком латиною. Може вони ще й англійської не знають - це в житті корисніше, ніж основи програмування.