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

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

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

> Число точек, находящихся внутри круга, (использовать функции)
HuKTO
сообщение 11.04.2005 0:58
Сообщение #1


Гость






Цитата
Подсчитать число точек, находящихся внутри круга, радиусом R с центром в начале координат, координаты заданы массивами x(100), y(100).


Никак не врублюсь в паскаль. Вроде задача не трудная, а как сделать - хз. Сам алгоритм вроде просматривается, но формулу по которой будут точки считаться внутри круга где брать... без понятия. Вообщем помогите пжл с этой нелегкой(для меня) задачей. Можно с коментариями неболишими..может чего-нибудь да пойму.
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов
Atos
сообщение 11.04.2005 12:50
Сообщение #2


Прогрессор
****

Группа: Модераторы
Сообщений: 602
Пол: Мужской
Реальное имя: Михаил

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


Мда... Ладно. Поясняю. В каком случае точка лежит внутри круга? Тогда, когда расстояние от точки до начала координат меньше радиуса круга. Как вычисляется это расстояние? Его квадрат равен сумме квадратов координат точки по x и по y (ТЕОРЕМА ПИФАГОРА!!). Следовательно, формула звучит так:
"если квадрат расстояния до центра координат меньше квадрата радиуса круга"

Вот код...
Код
type Arr=array[1..100] of integer;

var i,t,n:byte;
   R:word;
   x,y:Arr;
begin
t:=0;
write('Vvedite radius kruga '); readln(R);
write('Vvedite colichestvo tochek '); readln(n);

for i:=1 to n do
 begin
 write(i,' tochka: x= '); read(x[i]); write(' y= '); readln(y[i]);
 end;
for i:=1 to n do if x[i]*x[i]+y[i]*y[i] < R*R then inc(t);
writeln('Colichestvo tochek vnutri kruga ravno ',t);
readln;
end.


Вообще же лучше самостоятельно начать разбираться в Паскале: видимо, у тебя с этим проблемы. Пойми, что все программы за тебя вряд ли напишут, а если и напишут, то не гарантированно без ошибок. На самом деле программирование - очень интересная вещь! и вовсе не страшная :D и в жизни всегда пригодится. Если захочешь разобраться в нём не только ради сдачи зачёта, здесь всегда будут рады помочь тебе и дать совет.

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

З.Ы. О, пока писал,volvo меня уже опередил с ответом smile.gif

Сообщение отредактировано: Atos - 11.04.2005 12:53
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Guest
сообщение 11.04.2005 23:28
Сообщение #3


Гость






Цитата(Atos @ 11.04.05 12:50)
Мда... Ладно. Поясняю.

Насчет программы:
Мне нужно именно с использованием функции (function). И в твоей задаче получается, что надо каждую точку вводить собственноручно.
На счет программирования вообще: да нет, мне как раз программирование интересно. Иначе бы не пошел на такую специальность. В прошлом году в ку бэсике и визуал бэсике вообще проблем не было(хоть и программа конечно другая была, полегче...но всеже), да и Php мне когда-то очень нравился...очень удобная штука, но сайтами я больше не увлекаюсь довольно давно...так что и оттуда все забыл. А паскаль не знаю не дается и все. Щас, кстати, ещё тему создам... новая задача...тоже вообще не понял. И с этой ещё разобратся надо(надеюсь на вашу помощь).
 К началу страницы 
+ Ответить 

Сообщений в этой теме
HuKTO   Число точек, находящихся внутри круга   11.04.2005 0:58
Atos   если x[i]*x[i]+y[i]*y[i]< R*R, то i-я точка ле...   11.04.2005 5:27
HuKTo   Спасибо за формулу, я правда все-равно не понял к...   11.04.2005 11:41
volvo   Вот функция, проверяющая лежит ли i-я точка внутри...   11.04.2005 12:29
HuKTO   Да сам не знаю где проблема...наверное в моей гол...   11.04.2005 23:20
Atos   Мда... Ладно. Поясняю. В каком случае точка лежит ...   11.04.2005 12:50
Guest   Насчет программы: Мне нужно именно с использовани...   11.04.2005 23:28
volvo   HuKTO, смотри что происходит: Ты описываешь функци...   12.04.2005 0:03
HuKTO   Странно, но опять эта ошибка - "Integer or re...   12.04.2005 0:26
volvo   Да, это мой глюк. :( Поменяй строку в функции во...   12.04.2005 8:29
HuKTO   2Volvo: Смотри, у тебя в задачи I обозначена получ...   12.04.2005 10:49
volvo   Так в том-то и дело, что если одна и та же переме...   12.04.2005 11:10
HuKTO   2Volvo: Наконец добрался до сюда. Спасибо за совет...   18.04.2005 13:04
volvo   А вот если бы зарегистрировался, тебе был бы дост...   18.04.2005 13:30
unFair   Все учел, зарегился. Можно продолжить обсуждение ...   18.04.2005 20:01
volvo   Читай мой предыдущий ответ внимательно... Здесь об...   18.04.2005 20:03


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

 



- Текстовая версия 21.07.2025 20:33
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"