IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Количество клеток внутри окружности
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


Текст задачи:

На клеточной бумаге нарисовали окружность целого радиуса с центром на пересечении линий.
Найти количество клеток, целиком лежащих в этой окружности (напр.: радиус = 3, клеток = 16)

Помогите решить.

Сообщение отредактировано: Dranik7 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


c := 0;
for i := 1 to r - 1 do inc(c, trunc(sqrt(sqr®-sqr(i)));


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


TarasBer, спасибо

Есть ли другие способы решений?
получается кол-во клеток = 2 в степени радиуса
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
Помогите решить.
"Помогите" и "решите за меня"/"дайте готовое решение" - это несколько разные вещи, тебе не кажется? Уже вторая тема, а от тебя НИ ОДНОЙ ПОПЫТКИ что-то сделать самостоятельно. Только стремление нагадить другим (да, да, это я про стиль написания сообщения. Как ты думаешь, какой-то из поисковиков найдет этот пост по запросу на русском языке? Нет. Это называется вредительство. "Сам возьму, а другим - нечего делать").

Возьми и перепечатай заголовок и текст первого сообщения на нормальном русском языке, и использованием ТОЛЬКО русских букв. Иначе ты рискуешь привлечь к себе пристальное внимание администрации...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 9.10.2010 19:39) *

"Помогите" и "решите за меня"/"дайте готовое решение" - это несколько разные вещи, тебе не кажется? Уже вторая тема, а от тебя НИ ОДНОЙ ПОПЫТКИ что-то сделать самостоятельно. Только стремление нагадить другим (да, да, это я про стиль написания сообщения. Как ты думаешь, какой-то из поисковиков найдет этот пост по запросу на русском языке? Нет. Это называется вредительство. "Сам возьму, а другим - нечего делать").

Возьми и перепечатай заголовок и текст первого сообщения на нормальном русском языке, и использованием ТОЛЬКО русских букв. Иначе ты рискуешь привлечь к себе пристальное внимание администрации...


Если вы думаете что я не пытаюсь решить самостоятельно то ошибаетесь. Я сижу над этими задачами немало времени.
А насчет текста извиняюсь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


> получается кол-во клеток = 2 в степени радиуса

Метод неполной математической индукции по первым двум числам, да?
Если тебе непонятно, что ответ должен быть O(r^2), то остаётся только

Изображение


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


Цитата(TarasBer @ 9.10.2010 19:56) *

> получается кол-во клеток = 2 в степени радиуса

Метод неполной математической индукции по первым двум числам, да?
Если тебе непонятно, что ответ должен быть O(r^2), то остаётся только


TarasBer, зачем так строго? мне много чего непонятно и я многого не знаю, так как учусь в 10 классе. А в армию сходить успею. А за решение ещё раз спасибо.

Сообщение отредактировано: Dranik7 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Ты вообще пробовал сам нарисовать окружность на клетчатом листе бумаги?
А то ведь сдашь решение ровно в том виде, в котором я написал...


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


TarasBer, пробовал.

Не сдам, т.к. как кое-что все же я понимаю.

Объясни зачем в этом коде выделенное

c := 0;
for i := 1 to r - 1 do inc(c, trunc(sqrt(sqr®-sqr(i)));
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Оператор inc изучал?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской

Репутация: -  0  +


Цитата(TarasBer @ 10.10.2010 22:19) *

Оператор inc изучал?

Да.

Получается "c" надо сложить с "trunc(sqrt(sqr®-sqr(i)" , а c=0.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Цитата
Получается "c" надо сложить с "trunc(sqrt(sqr®-sqr(i)" , а c=0.


Наоборот, trunc(sqrt(sqr®-sqr(i) нужно сложить с С. То есть, результат будет в С. Эквивалентно с:=c+trunc(sqrt(sqr®-sqr(i).


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Мда, если мы сложим trunc(...) с c, а не наоборот, то куда кладётся результат и в чём смысл данной операции?
Записать код, посмотреть в отладчике хотя бы пробовал?

"В окне автобуса поплыл **аный военкомат..."


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(TarasBer @ 11.10.2010 0:42) *
"В окне автобуса поплыл **аный военкомат..."
Тарас, заканчивай оффтопить, да еще и давить человеку на психику.. mad.gif

Dranik7, обнуление перменной c нужно, чтоб потом ее использовать для накапливания количества подсчитываемых клеток. На каждом проходе цикла добавляем к c количество найденных клеток. Для этого в самом начале в c должен быть 0. Согласен?

TaracBer, приведенный тобой код может неслабо ошибаться.. Сможешь исправить?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


> TarasBer, приведенный тобой код может неслабо ошибаться.. Сможешь исправить?

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


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(TarasBer @ 11.10.2010 9:48) *
Я надеюсь на то, что человек таки догадается сравнить его результаты со своим подсчётом клеточек вручную и умножить результат на нужное число.
А, нет, я не про то.. Это я не заметил smile.gif
Я про другое.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


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


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(TarasBer @ 11.10.2010 11:20) *
Пришлось скопировать этот код себе и запустить.
Оказывается, я забыл одну закрывающуюся скобочку.
Да, смайлофобия даже тут проявилась.
lol.gif lol.gif lol.gif lol.gif lol.gif lol.gif lol.gif lol.gif
бойся нассссс!!! )) (когда люди придумывают себе фобии, их легко третировать))

Кстати, постарайся, чтоб значок "R в кружке" не пролез.

Но я все равно говорил не о том!..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Больше ничего не вижу.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(TarasBer @ 11.10.2010 11:53) *
Больше ничего не вижу.
Я имел в виду вот, что.
sqrt может дать вычислительную ошибку в последнем знаке. Особенно опасно это, когда тройка x,y,r составляет Пифагоровы числа. Ошибка в минус отбросит эту клетку после операции trunc. Это может, грубо говоря, выкинуть половину из таких клеток (нет, меньше половины, но все равно..)


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 1.05.2024 13:17
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name