Это просто необходимо!
И, кстати, несложно. И синтаксис не нарушает.
1. uiouio - 01 Июня, 2011 - 10:43:54 - перейти к сообщению
2. Admin - 01 Июня, 2011 - 16:58:05 - перейти к сообщению
Полностью с Вами согласен, особенно в части несложности.
3. uiouio - 02 Июня, 2011 - 14:09:21 - перейти к сообщению
to Admin
Звучит как сарказм. Но для уже существующего парсера и для интерпретатора это несложно. Хотя бы массивы неизменяемой длины.
Звучит как сарказм. Но для уже существующего парсера и для интерпретатора это несложно. Хотя бы массивы неизменяемой длины.
4. Admin - 03 Июня, 2011 - 03:25:31 - перейти к сообщению
Никакого сарказма. Массивы будут через пару-тройку дней. Неизменяемой длины. Одномерные и двумерные. С простой индексацией.
5. uiouio - 03 Июня, 2011 - 16:44:52 - перейти к сообщению
Admin пишет:
Массивы будут через пару-тройку дней.
Здорово! Даже одномерных достаточно. Даже без вычислимых индексов (типа [i+1]). Объяснял ребенку метод сортировки пузырьком - это же караул сколько раз почти одно и тоже пришлось написать.
Кстати вывод делал в виде столбиков разной высоты, соответствующим значениям переменных, т.к. нет вывода текста на экран. А..., а можно вывод текста (ну и чисел) на экран? А чтобы с идеологией согласовывалось - типа черепаха нарисовала

6. nest - 03 Июня, 2011 - 16:54:01 - перейти к сообщению
uiouio пишет:
так есть же:нет вывода текста на экран
вот тут в описании комманда пиши
вот тут расширенно
7. Admin - 06 Июня, 2011 - 15:30:53 - перейти к сообщению
Массивы добавлены.
-------------------------------- -------------------------------- -------
Объявление:
МАССИВ A[15]
МАССИВ M[10, 10]
-------------------------------- -------------------------------- --------
Обращение:
A[1] = 32
M[x+1, 2*x+3] = 12
ВПЕРЕД A[x+5]
-------------------------------- -------------------------------- -------
Заполнение:
ЗАГРУЗИ В A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
КОНЕЦ ЗАГРУЗКИ
ЗАГРУЗИ В A
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
КОНЕЦ ЗАГРУЗКИ
ЗАГРУЗИ В M
15 17 25 36 24 56 78 56 36 24
56 78 56 36 24 15 17 25 36 25
15 17 25 36 24 56 78 56 36 24
78 56 36 24 15 17 17 25 36 25
36 24 56 78 24 56 78 56 36 24
39 78 56 36 24 25 15 15 89 71
15 17 25 36 24 56 78 56 36 24
78 56 36 24 15 17 17 25 36 25
36 24 56 78 24 56 78 56 36 24
39 78 56 36 24 25 15 15 89 71
КОНЕЦ ЗАГРУЗКИ
Если данных будет недостаточно, то часть элементов останутся незаполненными.
Если ибыточно, то они отсекутся.
-------------------------------- -------------------------------- -------
Вывод:
ПИШИ A[x]
ПИШИ# A
ПИШИ# M
Знак # в команде ПИШИ выводит массив целиком. Для одномерных массивов вывод осуществляется с переносом строк. Для двумерных - как есть в виде таблички, поэтому возможен выход за пределы поля.
-------------------------------- -------------------------------- -------
Ограничение на размер массива - 1000 элементов, для двумерных - 1000х1000.
Массивы обрабатываются относительно медленно, всё-таки GameLogo - это интерпретатор. В учебных целях лучше не использовать массивы более чем из 500 элементов.
-------------------------------- -------------------------------- -------
Заполнять можно также в цикле. Например, с помощью команды СЛУЧАЙНЫЙ.
Пример ввода в элемент массива псевдослучайного целого числа в диапазоне от 10 до 99:
A[x] = Int(случайный * 89) + 10
-------------------------------- -------------------------------- -------
Объявление:
МАССИВ A[15]
МАССИВ M[10, 10]
-------------------------------- -------------------------------- --------
Обращение:
A[1] = 32
M[x+1, 2*x+3] = 12
ВПЕРЕД A[x+5]
-------------------------------- -------------------------------- -------
Заполнение:
ЗАГРУЗИ В A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
КОНЕЦ ЗАГРУЗКИ
ЗАГРУЗИ В A
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
КОНЕЦ ЗАГРУЗКИ
ЗАГРУЗИ В M
15 17 25 36 24 56 78 56 36 24
56 78 56 36 24 15 17 25 36 25
15 17 25 36 24 56 78 56 36 24
78 56 36 24 15 17 17 25 36 25
36 24 56 78 24 56 78 56 36 24
39 78 56 36 24 25 15 15 89 71
15 17 25 36 24 56 78 56 36 24
78 56 36 24 15 17 17 25 36 25
36 24 56 78 24 56 78 56 36 24
39 78 56 36 24 25 15 15 89 71
КОНЕЦ ЗАГРУЗКИ
Если данных будет недостаточно, то часть элементов останутся незаполненными.
Если ибыточно, то они отсекутся.
-------------------------------- -------------------------------- -------
Вывод:
ПИШИ A[x]
ПИШИ# A
ПИШИ# M
Знак # в команде ПИШИ выводит массив целиком. Для одномерных массивов вывод осуществляется с переносом строк. Для двумерных - как есть в виде таблички, поэтому возможен выход за пределы поля.
-------------------------------- -------------------------------- -------
Ограничение на размер массива - 1000 элементов, для двумерных - 1000х1000.
Массивы обрабатываются относительно медленно, всё-таки GameLogo - это интерпретатор. В учебных целях лучше не использовать массивы более чем из 500 элементов.
-------------------------------- -------------------------------- -------
Заполнять можно также в цикле. Например, с помощью команды СЛУЧАЙНЫЙ.
Пример ввода в элемент массива псевдослучайного целого числа в диапазоне от 10 до 99:
A[x] = Int(случайный * 89) + 10
8. uiouio - 07 Июня, 2011 - 12:14:44 - перейти к сообщению
Это супер!
Спасибо огромное.
P.S. На мой взгляд, чтобы учить детей - надо, чтобы они увлеклись. А дети сейчас играют не в тетрис, а в Counter-Strike. Поэтому, когда я показал сыну как на GameLogo в 20 строк написать игру, где танк управляется с клавиатуры, стреляет ракетами, взрываются пораженные цели, со звуком, это пробудило интерес. Или красная машинка, почти как в "Тачках" (нарисованная в paintbrush'e) едет по дороге (белые прямоугольники разметки бегут на нее), обезжает встречные машины или стукается со звуком, а код в 20 строк понятен ребенку - вот это заинтересовывает.
Я не думаю, что буду использовать команду ЗАКРАСЬ - она не добавляет в язык никаких новых возможностей создания новых ветвлений - поведения объектов, возможности решить практическую задачу и т.п.
Печально, что школьный учебник по программированию на Logo, содержит массу однотипных задач на черчение многоугольников - скучно. И появляется сомнение, а авторы таких книг сами-то умеют придумать интересные задачи, кроме тестов на синтаксис языка?
Не надо боятся сложных задач для детей.
Ну, а скачать дистрибутив где?
(Добавление)
Все, скачал. На сайте надо поправить версию и что добавлено.
Спасибо еще раз.
Отличный проект!
Спасибо огромное.

P.S. На мой взгляд, чтобы учить детей - надо, чтобы они увлеклись. А дети сейчас играют не в тетрис, а в Counter-Strike. Поэтому, когда я показал сыну как на GameLogo в 20 строк написать игру, где танк управляется с клавиатуры, стреляет ракетами, взрываются пораженные цели, со звуком, это пробудило интерес. Или красная машинка, почти как в "Тачках" (нарисованная в paintbrush'e) едет по дороге (белые прямоугольники разметки бегут на нее), обезжает встречные машины или стукается со звуком, а код в 20 строк понятен ребенку - вот это заинтересовывает.
Я не думаю, что буду использовать команду ЗАКРАСЬ - она не добавляет в язык никаких новых возможностей создания новых ветвлений - поведения объектов, возможности решить практическую задачу и т.п.
Печально, что школьный учебник по программированию на Logo, содержит массу однотипных задач на черчение многоугольников - скучно. И появляется сомнение, а авторы таких книг сами-то умеют придумать интересные задачи, кроме тестов на синтаксис языка?
Не надо боятся сложных задач для детей.
Ну, а скачать дистрибутив где?
(Добавление)
Все, скачал. На сайте надо поправить версию и что добавлено.
Спасибо еще раз.
Отличный проект!
9. Admin - 07 Июня, 2011 - 15:51:46 - перейти к сообщению
Спасибо за добрый отклик.
Counter-Strike на GameLogo как-то не очень получается
, а вот простые игры вполне.
А Вы какой учебник имеете в виду?
Было бы совершенно замечательно, если бы Вы поделились Вашими примерами программ на GameLogo, которыми Вы занимаетесь с сыном. Это можно было бы оформить в виде примеров к учебнику, что безусловно было бы интересно всем тем, кто начинает изучать программирование или старается помочь в этом начинающим.
Одной из интереснейших областей для начинающих представляется программирование клеточных автоматов. Теперь, когда с Вашей легкой руки в GameLogo появились массивы, возможно, стоит посвятить несколько статей этой увлекательной области. Вот только, боюсь, учебно-методическая составляющая при этом будет довольно сильно выходить за рамки интересов современных учебных программ по информатике.
Counter-Strike на GameLogo как-то не очень получается

uiouio пишет:
Печально, что школьный учебник по программированию на Logo, содержит массу однотипных задач
А Вы какой учебник имеете в виду?
uiouio пишет:
появляется сомнение, а авторы таких книг сами-то умеют придумать интересные задачи, кроме тестов на синтаксис языка?
Было бы совершенно замечательно, если бы Вы поделились Вашими примерами программ на GameLogo, которыми Вы занимаетесь с сыном. Это можно было бы оформить в виде примеров к учебнику, что безусловно было бы интересно всем тем, кто начинает изучать программирование или старается помочь в этом начинающим.
uiouio пишет:
Не надо боятся сложных задач для детей.
Одной из интереснейших областей для начинающих представляется программирование клеточных автоматов. Теперь, когда с Вашей легкой руки в GameLogo появились массивы, возможно, стоит посвятить несколько статей этой увлекательной области. Вот только, боюсь, учебно-методическая составляющая при этом будет довольно сильно выходить за рамки интересов современных учебных программ по информатике.
10. nest - 07 Июня, 2011 - 19:29:55 - перейти к сообщению
обащаю тоже что нибудь интересное для/под LOGO сделать и описать

11. Admin - 07 Июня, 2011 - 21:08:10 - перейти к сообщению
nest пишет:
обащаю тоже что нибудь интересное для/под LOGO сделать и описать
Может быть, вместе попробуем развлечься с клеточными автоматами . Чрезвычайно увлекательная и практичная область. Я предполагаю завтра/послезавтра сделать первую статью на эту тему.
PS' Исправил несколько ошибок в GameLogo, допущенных впопыхах добавления работы с массивами, и выложил новый релиз с исправлениями.
12. nest - 07 Июня, 2011 - 21:42:43 - перейти к сообщению
Admin пишет:
что то мне это будет сложно Может быть, вместе попробуем развлечься с клеточными автоматами

хочется что то практичное

Но всё равно времени не хватает

13. uiouio - 07 Июня, 2011 - 22:20:42 - перейти к сообщению
Хорошо, я выложу эти игры.
Про клеточные автоматы: теперь можно сделать, например, игру Жизнь.
Фон в клеточку, если в ячейке массива 0, то нарисовать и закрасить* белый круг (сольется с фоном), если 1 - нарисовать черный. Код примитивный,
http://ru.wikipedia.org/wiki/%D0...3%D1%80%D0%B0%29
Так ка поле ограничено - стенки сделать зеркальные, для граничных элементов код усложняется.
* вот, а я говорил, что не буду использовать команду "закрась"
пригодилась
Про клеточные автоматы: теперь можно сделать, например, игру Жизнь.
Фон в клеточку, если в ячейке массива 0, то нарисовать и закрасить* белый круг (сольется с фоном), если 1 - нарисовать черный. Код примитивный,
http://ru.wikipedia.org/wiki/%D0...3%D1%80%D0%B0%29
Так ка поле ограничено - стенки сделать зеркальные, для граничных элементов код усложняется.
* вот, а я говорил, что не буду использовать команду "закрась"

14. Admin - 07 Июня, 2011 - 22:42:16 - перейти к сообщению
uiouio пишет:
Код примитивный
Будем очень признательны, если Вы напишите программу для игры "Жизнь" Конвея.
Хорошо было бы, если бы уложиться на поле 10х10 (побыстрее будет перерисовываться).
Команда "закрась" не особо нужна.
Гораздо проще использовать толщину пера и команду ТОЧКА
массив M[10,10]
переменная x
переменная y
перо 30
загрузи в M
0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
конец загрузки
повторить для y = 1 до 10 {
повторить для x = 1 до 10 {
если M[x,y] = 0 то цвет 1
если M[x,y] = 1 то цвет 15
точка y*30, x*30
}
}
А я займусь статьей "Войны клеточных автоматов на планете Акватор" по мотивам культовой статьи Дьюдни.
PS' Сочетание Ctrl+Tab делает отступ в редакторе. В ближайшее время будет добавлен нормальный сервис в редакторе, позволяющий быстро и легко работать с кодом.
Клавиша Alt - пауза в момент выполнения программы.
15. uiouio - 08 Июня, 2011 - 12:01:58 - перейти к сообщению
Договорились. Но не быстрее пятницы - хочется совместить это с обучением программированию ребенка.
Кстати, в коде сверху проще состояния клетки отражать не (0;1), а (0;15), тогда без всяких если:
цвет = M[x,y].
Теперь можно сдуть пыль со старой дискетки и переписать на GameLogo 2 вида алгоритмов:
- простые детерминированные условия порождают фракталы очень сложной структуры
- случайные процессы имеют аттракторы в виде геометрически простых фигур
P.S.
Нельзя
спроси A[i]
Приходится
спроси x
A[i] = x
Хотя с этим жить можно.
Кстати, в коде сверху проще состояния клетки отражать не (0;1), а (0;15), тогда без всяких если:
цвет = M[x,y].
Теперь можно сдуть пыль со старой дискетки и переписать на GameLogo 2 вида алгоритмов:
- простые детерминированные условия порождают фракталы очень сложной структуры
- случайные процессы имеют аттракторы в виде геометрически простых фигур
P.S.
Нельзя
спроси A[i]
Приходится
спроси x
A[i] = x
Хотя с этим жить можно.