Автор |
Сообщение |
16.12.2015 11:19:39
Тема: Re:ЧЯРис
|
Andrey Logvinenko
Темы: 0
Сообщений: 68
Мой профиль
|
Владислав Макаренко:
http://dl.gsu.by/differentialStudy.jsp?dSid=1195
ЧЯРис\8. Задачи на заливку\1 - "Создать Квадрат" 193709 Andrey Logvinenko
Подумаю как изменить условие чтобы задача стала более прозрачной. Штриховка должна быть с интервалом в одну клетку.
Пример для N=5
Посмотрите свое решение на нечетных входных данных - вам станет понятно что у вас не так.
А как решить: несложная задача на циклы, будем разбивать на подзадачи:
Первая итерация: Отрисовка контура и штриховка.
Отрисовка контура была в задачах ранее - там все понятно.
Задачу штриховки разбить на две подзадачи:
- штриховка до главной диагонали и
- штриховка после главной диагонали.
Штриховка - нарисовать N диагональных линий по возрастанию длины. Банальный цикл.
Далее подзадачи становятся тривиальными по отрисовке линии нужной длины.
ps: Желаю удачи на задаче со штриховкой прямоугольника. Там аналогичная задача, но с нюансами разных длин (больше не скажу, будет интереснее самим найти все нюансы).
|
16.12.2015 12:18:23
Тема: Re:ЧЯРис
|
Andrey Logvinenko
Темы: 0
Сообщений: 68
Мой профиль
|
Владислав Макаренко:
Я отправил задачу, не прошло вот решение:
uses charis;
begin
js(3);rd;ru;d;ru;rs(2);rd;d;l;lu;ld;rd;d;lu;l;ds(n);
//..содержимое выкушено чтобы не могли другие сдать задачу скопировав..
pause;
end.
Берем решение, запускаем на N=10 M=10, считаем количество "травинок" 14-ть... а должно быть 2xM
И... как получить чтобы их было на экране 20-ть?
|
16.12.2015 12:37:30
Тема: Re:ЧЯРис
|
Владислав Макаренко
Темы: 0
Сообщений: 37
Мой профиль
|
ну я додумался только к 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.
|
16.12.2015 12:40:07
Тема: Re:ЧЯРис
|
Владислав Макаренко
Темы: 0
Сообщений: 37
Мой профиль
|
подвинуть в лево
\Не получилось (я нажал вместо js(3); js(9);) говорит не правильно хотя колчество того и того совпадаета чтобы совпадало место я не знаю как
извинете но вы можите пожалуйста рисунок пальмы 10 на 10
который должен получится
|
16.12.2015 13:23:18
Тема: Re:ЧЯРис
|
Владислав Макаренко
Темы: 0
Сообщений: 37
Мой профиль
|
Дайте нам пожалуйста получившиеся изображение при M равном 10 и N равном 10
чтобы мы могли видеть получившееся изображение и могли понять направление травинок и где они должны находится
просто без картинки очень трудно это узнать
|
16.12.2015 14:12:53
Тема: Re:ЧЯРис
|
Andrey Logvinenko
Темы: 0
Сообщений: 68
Мой профиль
|
Незнаю получиться ли без инета:
Картинка с оригинального решения.
|
16.12.2015 14:20:08
Тема: Re:ЧЯРис
|
Andrey Logvinenko
Темы: 0
Сообщений: 68
Мой профиль
|
Не понимаю почему это не оказалось очевидным,если не сложно, расскажите ваш ход мыслей.
|
16.12.2015 14:25:47
Тема: Re:ЧЯРис
|
Владислав Макаренко
Темы: 0
Сообщений: 37
Мой профиль
|
Andrey Logvinenko:
Незнаю получиться ли без инета:
Картинка с оригинального решения.
Спасибо вам за изображение но задача всё ровно не работает хотя у меня в pascal рисунок тот же что и на ихображении (во всяком случае я так считаю)
uses charis;
begin
js(7);rs(2);rd;ru;d;ru;rs(2);rd;d;l;lu;ld;rd;d;lu;l;jz;
js(7);ld;d;r;ru;rd;ld;d;ru;r;ds(n);us(n);j;ds(n);
for i:=1 to m do begin ru;d;end;
ls(m+1+m);
for i:=1 to m do begin u;rd;end;ls(m);
pause;
end.
|
16.12.2015 15:01:42
Тема: Re:ЧЯРис
|
Владислав Макаренко
Темы: 0
Сообщений: 37
Мой профиль
|
Andrey Logvinenko:
Не понимаю почему это не оказалось очевидным,если не сложно, расскажите ваш ход мыслей.
Я сначала заметил из вашего рисунка что надо 7 прыжков чтобы можно было писать а потом просто писал
|
16.12.2015 15:11:16
Тема: Re:ЧЯРис
|
Михаил Долинский
(Online)
Темы: 2072
Сообщений: 49900
Мой профиль
|
А ещё ЧЯРис-программы можно писать так
uses charis;
begin
draw('WJJJJJDLLLDLLRRDRRRDURURRDUUDLLUL');
end.
Выделять диагонали скобками (RD).
Например ромб 2x2, три отображения:
draw("J2(RD)2(LD)2(LU)2(RU)2");
Js(2);RDs(2);LDs(2);LUs(2);RUs(2);
J;J;RD;RD;LD;LD;LU;LU;RU;RU;
|
16.12.2015 16:22:22
Тема: Re:ЧЯРис
|
Andrey Logvinenko
Темы: 0
Сообщений: 68
Мой профиль
|
Владислав Макаренко:
ну я додумался только к 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:
Все тесты я проверил уже второй раз, там все хорошо.
|
16.12.2015 16:24:11
Тема: Re:ЧЯРис
|
Andrey Logvinenko
Темы: 0
Сообщений: 68
Мой профиль
|
Владислав Макаренко:
Andrey Logvinenko:
Не понимаю почему это не оказалось очевидным,если не сложно, расскажите ваш ход мыслей.
Я сначала заметил из вашего рисунка что надо 7 прыжков чтобы можно было писать а потом просто писал
А точно ли 7? Почему для теста 1- нужно 0, а для 10-нужно 7-мь?
|
16.12.2015 16:27:24
Тема: Re:ЧЯРис
|
Andrey Logvinenko
Темы: 0
Сообщений: 68
Мой профиль
|
Владислав Макаренко:
Спасибо вам за изображение но задача всё ровно не работает хотя у меня в pascal рисунок тот же что и на ихображении (во всяком случае я так считаю)
Да, это решение подходит к 10-му тесту, но никак не к 1-му который есть в примере. Посмотрите в чем разница, и в каком случае эта разница начинает проявляться. Реально в вашей программе не хватает 2-х символов чтобы все сошлось.
|
16.12.2015 16:37:51
Тема: Re:ЧЯРис
|
Andrey Logvinenko
Темы: 0
Сообщений: 68
Мой профиль
|
Кстати, для гиков ЧЯРиса:
Чарис разрабатывался для двух исполнителей Червяк (рисует тонкую линию) и черепаха - закрашивает квадраты.
Возможности по закрашиванию квадратов заложены, но в учебном курсе не используются, и скорее не будут использоваться.
Включить режим Черепахи - команда Turttle, переключить назад в режим Червяка - комманда Worm;
Например программа:
Turttle;
J;J;J;D;R;R;L;L;
Ds(4);
L;D;L;U;L;R;U;R;
Рисует Ноту.
Еще примеры:
T;D;D;D;R;R;U;U;U;D;D;D;D;L;R;D;D;D;U;U;R;U;R;D;R;U;R;U;D;D;D;R;D; - Заяц
draw("TJRRDRRRDDDDUUULDLULDDDUUULLUDDDL") - Слоненок
draw("TJRD4U2L2UD3") - А
TJJRRRR(RD)LL(LD)U(LD)D(LU)(RU)LL(LD)D(RD)R(RD)(RU)D(R)DDLLR(RU)UURUURD - ? кто нарисует тот узнает что здесь
|
16.12.2015 17:16:35
Тема: Re:ЧЯРис
|
Михаил Долинский
(Online)
Темы: 2072
Сообщений: 49900
Мой профиль
|
Как 5А работал в ЧЯРис без компьютеров
(в школе сборы Гомеля к областной олимпиаде по информатике)
Ольга Савицкая:
На втором уроке работали за партами, минус нашего кабинета был в том, что в кабинете оказалась маленькая доска, которая была завешена картой, не смогли пользоваться полностью доской.
Начали второй урок с того, что получили задания в соответствии с результатами прошлых уроков. На первом ряду те, кто прошел только 4 основные команды (верх, низ, право, лево) + те, кто только начал. На третьем те, кто уже изучил команду с окружностью. На втором ряду все остальные.
Заранее разбила задания на три группы (получилось у 1го ряда - 30 заданий, у второго - 30, у третьего - 20). Второй урок мы перерисовывали задания с листиков и разобрали вместе несколько заданий. На третьем уроке мы работали самостоятельно каждый в своей тетради и начали проверять задания: Ученик один записывает задачу у доски - его все проверяют, если задача большая, то ученик диктует свои команды, а все остальные пытаются нарисовать у себя в тетради получившееся (было достаточно шумно, каждый хотел сказать про ошибки).
На четвертом уроке продолжали такую же работу. В конце решили попробовать придумать самостоятельно свои уникальные картинки и обменяться. На этом этапе началось баловство и мы стремительно прекратили эксперимент, и продолжили работать каждый в своей тетради.
|
|