[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Обучение программированию "с начала" 1, 2, 3, 4, 5, 6, 7, ... 9, 10, 11
Автор Сообщение
Михаил Долинский (Online)

Темы: 1987
Сообщений: 47370

Мой профиль


Andrey Logvinenko:


Владислав Макаренко:

ну я додумался только к 10 9 и 8 больше не получается. вот задача:
uses charis;
begin
  rs(n);ds(n);ls(n);us(n);
  rds(n);l;lus(n-1);d;rds(n-2);l;lus(n-3);d;rds(n-4);l;lus(n-5);d;rds(n-6);l;lus(n-7);d;rds(n-8);l;lus(n-9);jz;rd(n);u;
  lus(n-1);r;rds(n-2);u;lus(n-3);r;rds(n-4);u;lus(n-5);r;rds(n-6);u;lus(n-7);r;rds(n-8);l;lus(n-9);
  pause;
end.
 


Вы выходите за пределы Экрана.

Я выкладывал исходник Charis.pas - возьмите его в процедуре prepareSpace вместо dx,dy := 10 присвойте например 70 и 70 - сразу станет понятно что рисуется лишнего.

для N=2:


Все тесты я проверил уже второй раз, там все хорошо. 
Может есть смысл изменить эти числа в самом модуле? Для всех?
Andrey Logvinenko

Темы: 0
Сообщений: 68

Мой профиль


Михаил Долинский :


Все тесты я проверил уже второй раз, там все хорошо. 
Может есть смысл изменить эти числа в самом модуле? Для всех?
 


Там отсутп 10 стоит, по нему уже должно быть видно что пошло смещение в отрицательную плоскость.
Не думаю что стоит - это будет путать на начальном этапе - тех кто не забрался так глубоко.

Вопрос, что можно сделать чтобы Чарис падал при входе в отрицательные координаты. Это можно подумать: чтобы была диагностика на раннем этапе.
Михаил Долинский (Online)

Темы: 1987
Сообщений: 47370

Мой профиль


Andrey Logvinenko:


Михаил Долинский :


Может есть смысл изменить эти числа в самом модуле? Для всех?
 

Там отсутп 10 стоит, по нему уже должно быть видно что пошло смещение в отрицательную плоскость.  

Ну вот он не увидел ..

Не думаю что стоит - это будет путать на начальном этапе - тех кто не забрался так глубоко.
Вопрос, что можно сделать чтобы Чарис падал при входе в отрицательные координаты. Это можно подумать: чтобы была диагностика на раннем этапе. 
Ну да. Только мне бы хотелось, чтобы не падал, а выдавал адекватное сообщение.
Этот ученик - первый и "самый умный".
Но если с курсом будем работать, сюда дойдут и другие.
И мы же не хотим, чтобы все задавали одни и те же вопросы?
Михаил Долинский (Online)

Темы: 1987
Сообщений: 47370

Мой профиль


Andrey Logvinenko:


Владислав Макаренко:


Andrey Logvinenko:

Не понимаю почему это не оказалось очевидным,если не сложно, расскажите ваш ход мыслей. 

Я сначала заметил из вашего рисунка что надо 7 прыжков чтобы можно было писать а потом просто писал  

А точно ли 7? Почему для теста 1- нужно 0, а для 10-нужно 7-мь? 
А вот за такую его ошибку даже мне стыдно, как его учителю Он конечно мог и должен был догадаться сам до этого.
Andrey Logvinenko

Темы: 0
Сообщений: 68

Мой профиль


Михаил Долинский :


А точно ли 7? Почему для теста 1- нужно 0, а для 10-нужно 7-мь? 
А вот за такую его ошибку даже мне стыдно, как его учителю Он конечно мог и должен был догадаться сам до этого. 


Какое-то ощущение что нет понимания, что такое тестирование, что это проверка решения на разных входных данных, как будто когда сдается задача из обычного курса где надо рассчитать x+y - она проверяется магическим образом что возвращает сумму. А не проверка не тестовых воздействиях.

Задача с пальмой - небольшой отход от шаблона. Где f(x) - не линейна. И ощущение что ребята решая одну задачу - передали какие-то знания друг другу и второй кто столкнулся не может преодолеть этот же шаблон мышления.

Меня расстраивает что ребята тратят на эту задачу так много времени, возможно это конечно даст толчек в понимании и выведет на следующий уровень.. но надо смотреть.

Хотелось бы чтобы еще одна независимая команда попробовала решить эту задачу. Мне не оставляет ощущение что этот случай единичный.

ps: и подсказывать не хочется в лоб. Завтра ребята в 14 - будут, когда я подойду? Может посидеть вместе подумать?
Михаил Долинский (Online)

Темы: 1987
Сообщений: 47370

Мой профиль
Какое-то ощущение что нет понимания, что такое тестирование, что это проверка решения на разных входных данных, как будто когда сдается задача из обычного курса где надо рассчитать x+y - она проверяется магическим образом что возвращает сумму. А не проверка не тестовых воздействиях. 
У меня более общее ощущение - нет связывания информации. Пример с таким же школьником. Задача про периметр. Якобы не знает, как решать. Спрашиваю, а ты что не знаешь, что такое периметр?
Отвечает: "Так это же в математике, а тут информатика".

Хотелось бы чтобы еще одна независимая команда попробовала решить эту задачу. Мне не оставляет ощущение что этот случай единичный.  
Ну мы пока решили пройти этот путь до конца, со всеми, кто на этом уровне подготовки и ниже находится, так что ещё многие сюда придут, неизвестно только когда. Но лично я думаю будет ещё и хуже. Это же лучшие из тех, кто курсом занимаются, раз первыми дошли.


ps: и подсказывать не хочется в лоб. Завтра ребята в 14 - будут, когда я подойду? Может посидеть вместе подумать? 
Они будут обязательно - я четверых персонально предупредил о твоём приходе ради них.
Михаил Долинский (Online)

Темы: 1987
Сообщений: 47370

Мой профиль
1

http://dl.gsu.by/Photo/125446.jpg
Andrey Logvinenko

Темы: 0
Сообщений: 68

Мой профиль
С ребятам пообщался - сами нашли решение, понадобилось минут 5. Почему это нельзя было сделать без меня - вопрос. Причем написали оптимальное решение, без условных операторов.

Кстати - не все понимают что можно использовать все возможности паскаля, "А что можно использовать if"?
Данная задача и без if решалась, но...

У меня небольшая идея - попытаться сделать набор задачек в чярисе на условия, и еще один на процедуры. Чтобы ту же пилу они по аналогии делали через вызов.
То есть по ходу чяриса вводить не только новые элементы чяриса но вводить постепенно паскаль.
Михаил Долинский (Online)

Темы: 1987
Сообщений: 47370

Мой профиль


Andrey Logvinenko:

С ребятам пообщался - сами нашли решение, понадобилось минут 5. Почему это нельзя было сделать без меня - вопрос. 
0) Без учителя вообще мало кто любит выходить из тупика - с учителем быстрее и легче
1) Ты сам вызвался с ребятами общаться - тебе интересно было
2) Когда в результате Вашей переписки я понял, в чём у него ошибка, я бы мог с ним это обсудить - но не хотел "переходить тебе дорогу" - к тому времени уже стало известно, что ты придешь с ними общаться.
3) Изначально я принципиально не вникаю/не вмешиваюсь, чтобы обеспечить "чистоту эксперимента" и максимальное количество информации в обратной связи к тебе.
4) У меня принципиально другой подход к технологии обучения. В твоей технологии учитель всё время в контакте с учеником должен быть и работать намного больше чем КАЖДЫЙ ученик. НО
- Это реально возможно, если учишь одного-трёх, а если учишь до трёх десятков и больше одновременно, то нет
- Мой подход к обучению - "научить учиться", и поэтому я стараюсь сделать так, чтобы ученики
.... как можно больше работали самостоятельно
.... и каждый ученик работал намного больше учителя

Кстати - не все понимают что можно использовать все возможности паскаля, "А что можно использовать if"? Данная задача и без if решалась, но...  
Я уже писал - это гораздо более общая проблема "связывания информации" ("так то периметр в математике", а здесь "так то if в программах на одномерные массивы")

У меня небольшая идея - попытаться сделать набор задачек в чярисе на условия, и еще один на процедуры. Чтобы ту же пилу они по аналогии делали через вызов. 
Поддерживаю. По-моему мнению, и ввод/вывод, и переменные надо тоже вводить (а не через функции M N как у тебя это изначально было).

То есть по ходу чяриса вводить не только новые элементы чяриса но вводить постепенно паскаль. 
А вот это, по-моему мнению, даже не небольшая идея, а правильная на мой взгляд смена парадигмы обучения. Раньше было - "с помощью Паскаля изучаем "Чертёжник", а теперь будет "С помощью визуализации результатов выполнения изучаем Паскаль. Я бы сказал даже не Паскаль, а разработку и отладку алгоритмов на Паскале. От Паскаля нам только и нужны переменные, ввод-вывод, выражения, if (or,and) for и while.
Andrey Logvinenko

Темы: 0
Сообщений: 68

Мой профиль


Михаил Долинский :

- Мой подход к обучению - "научить учиться", и поэтому я стараюсь сделать так, чтобы ученики
.... как можно больше работали самостоятельно
.... и каждый ученик работал намного больше учителя 

Но для этого надо вложиться в курс, сейчас становление курса идет, поэтому думаю что пока вкладываться мне тоже надо.

Вообще было бы интересно на этом этапе привлечь ребят чтобы каждый предложил по своей задаче. И сделать отдельный подраздел со "своими" задачами - это очень интересный стимул им - увидеть свое имя в авторах задачи, и очень интересный опыт - заставить их думать о том что она вкладывают в задачу.

У меня небольшая идея - попытаться сделать набор задачек в чярисе на условия, и еще один на процедуры. Чтобы ту же пилу они по аналогии делали через вызов. 
Поддерживаю. По-моему мнению, и ввод/вывод, и переменные надо тоже вводить (а не через функции M N как у тебя это изначально было).
 

Тоже так думаю, вопрос на каком этапе, я думал уже после того как пройдет раздел с циклами.
Владислав Макаренко

Темы: 0
Сообщений: 37

Мой профиль
Объясните пожалуйста мне как в задаче исправить цикл чтобы она могла работать и к нечётным n

ЧЯРис\8. Задачи на заливку\1 - "Создать Квадрат" 193709 Andrey Logvinenko

http://dl.gsu.by/differentialStudy.jsp?dSid=1195

uses charis;
begin
  rs(n);ds(n);ls(n);us(n);

  rds(n);
  for i:=1 to n-n div 2 do begin l;lus(n-i*2+1);d;rds(n-i*2);end;
  jz;rds(n);
  for i:=1 to n-n div 2 do begin u;lus(n-i*2+1);r;rds(n-i*2);end;
  pause;
end.

Ольга Савицкая

Темы: 57
Сообщений: 3243

Мой профиль
Вопрос от нас с Михаилом Семеновичем alogvinenko :
В некоторых названиях задач вы используете слова: "Нарисовать", "Запрограммировать" и "Создать", пример: "Нарисовать Цветочек", "Запрограммировать Окно" и "Создать спираль". Заложен ли в этом какой-то специальный смысл?

В разделе "Задачи на заливку" нет примера реализации заливки, в первой задаче остался пример с пилой. Мне кажется, что там одно из самых сложных мест в курсе, где пример как нигде нужен.
Михаил Долинский (Online)

Темы: 1987
Сообщений: 47370

Мой профиль


Andrey Logvinenko:

Вообще было бы интересно на этом этапе привлечь ребят чтобы каждый предложил по своей задаче. И сделать отдельный подраздел со "своими" задачами - это очень интересный стимул им - увидеть свое имя в авторах задачи, и очень интересный опыт - заставить их думать о том что она вкладывают в задачу. 
Горячо поддерживаю. Как технологически будем делать?
Они должны поставить задачу на DL непосредственно?
Тогда нужна инструкция от тебя и вспомогательные модули.
Лучше на DL положить её и программы тогда, а здесь ссылки.
Andrey Logvinenko

Темы: 0
Сообщений: 68

Мой профиль


Владислав Макаренко:

Объясните пожалуйста мне как в задаче исправить цикл чтобы она могла работать и к нечётным n

ЧЯРис\8. Задачи на заливку\1 - "Создать Квадрат" 193709 Andrey Logvinenko

http://dl.gsu.by/differentialStudy.jsp?dSid=1195

uses charis;
begin
  rs(n);ds(n);ls(n);us(n);

  rds(n);
  for i:=1 to n-n div 2 do begin l;lus(n-i*2+1);d;rds(n-i*2);end;
  jz;rds(n);
  for i:=1 to n-n div 2 do begin u;lus(n-i*2+1);r;rds(n-i*2);end;
  pause;
end.
 


Могу прислать все решения, но интересно ли тебе сдать все решения не думая о том как их сделать?

Как я говорил вчера, у задачи более 5 вариантов решений. Ступор с одним - сделай по другому. А лучше дожми это, разберись что тебе надо с выражении (n-n div 2) и для четных , и, что надо для нечетных. (это легкая подсказка)

От этого решения будет больше пользы позже, чем я тебе, за тебя два символа впишу в задачу. Потому что следующая задача - это развитие этой, и до конца не понимая как ты сделал текущую ты не решишь следующую.

ps: Я в своих решениях не использую jz, это скорее на уровне высшего пилотажа, сделать все без прыжков. (скорее - для развития мозга - головоломка, в свободное время)
Andrey Logvinenko

Темы: 0
Сообщений: 68

Мой профиль


Михаил Долинский :


Они должны поставить задачу на DL непосредственно?
Тогда нужна инструкция от тебя и вспомогательные модули.
Лучше на DL положить её и программы тогда, а здесь ссылки. 

Тут два подхода:
- Они готовят задачу - я выкладываю.
- Учить самим выкладывать в свой курс (но - чтобы что-нибудь не поломали думаю надо этот процесс ставить позже, и инструкцию чтобы они сами написали).

Я думаю надо ити итерационно:

1. Мои условия (в том числе task.cfg) - их решения и тесты. Я публикую. Наилучший вариант обмениваться через google drive.
2. Сами делают условия, и тесты. (задачи с одним тестом, например задача - Нарисуй Имя). Я дополняю вспомогательными файлами tack.cfg и т.п. и публикую.
3. Когда подрастут до 8-9 класса - сами публикуют.

Когда у ребят будет немного свободного времни, после области?
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Обучение программированию "с начала" 1, 2, 3, 4, 5, 6, 7, ... 9, 10, 11
Time:0,047