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

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

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

> Определить попадание точки в заданный диапазон.
Eduard
сообщение 15.04.2011 6:35
Сообщение #1


Новичок
*

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

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


uses crt;
var a,b,r,x,y,N,z:real;
begin
clrscr;
Write ('Vvedite kol-vo probnyh tochek ');
readln(N);
writeln('Vvedite radius okuzhnosti');
readln ®;
writeln ('Vvedite krainuyuy x pryam.');
readln(a);
writeln ('Vvedite krainuyuy y pryam.');
readln(b);
z:=1;
while z<=N DO
BEGIN
z:=z+1;
Writeln ('Vvedite x i y');
readln(x,y);
END;
writeln;
repeat
begin
z:=z+1;
if (x<0) and (x>(-a)) and (y<0) and (sqrt(sqr(x)+sqr(y))<=r) then
writeln (x:2:2,' ',y:2:2,' ','Popapla')
else
if (x>0) and (x<a) and (y>0) and (sqrt(sqr(x)+sqr(y))>=r) then
writeln (x:2:2,' ',y:2:2,' ','Ne popala')
else writeln (x:2:2,' ',y:2:2,' ','Ne popala');
end;
UNTIL z=N;
readkey;
end.

Второй цикл выполняется только для одной пары x и y. Что неправильно?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Lapp
сообщение 15.04.2011 8:09
Сообщение #2


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

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

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


Вот, я вставил массивы (x и y)
параметр цикла заменил на целую переменную (i)
также, подправил границы циклов

Но у тебя там с логикой швах. Неясно, зачем весь этот наворот:
      if (x[i]>0) and (x[i]<a) and (y[i]>0) and (sqrt(sqr(x[i])+sqr(y[i]))>=r) then
writeln (x[i]:2 :2,' ',y[i]:2 :2,' ','Ne popala')
else writeln (x[i]:2 :2,' ',y[i]:2 :2,' ','Ne popala');
- если в обоих случаях выводится одно и то же.. blink.gif
const
m = 100;
var
a,b,r,N: real;
i: integer;
x,y: array [1..m] of real;
begin
Write ('Vvedite kol-vo probnyh tochek (ne boljshe ',m,'): ');
readln(N);
writeln('Vvedite radius okuzhnosti');
readln ®;
writeln ('Vvedite krainuyuy x pryam.');
readln(a);
writeln ('Vvedite krainuyuy y pryam.');
readln(b);
i:= 0;
while i<N DO BEGIN
i:= i+1;
Writeln ('Vvedite x i y');
readln(x[i],y[i]);
END;
writeln;
i:= 0;
repeat
i:= i+1;
if (x[i]<0) and (x[i]>-a) and (y[i]<0) and (sqrt(sqr(x[i])+sqr(y[i]))<=r) then
writeln (x[i]:2 :2,' ',y[i]:2 :2,' ','Popapla')
else
if (x[i]>0) and (x[i]<a) and (y[i]>0) and (sqrt(sqr(x[i])+sqr(y[i]))>=r) then
writeln (x[i]:2 :2,' ',y[i]2.gif 2,' ','Ne popala')
else writeln (x[i]:2 :2,' ',y[i]:2 :2,' ','Ne popala');
UNTIL i=N;
readln;
end.


Добавлено через 2 мин.
Цитата(Eduard @ 15.04.2011 9:06) *
в ней должна быть возможность выполняться много раз, не перезапускаясь, это я вообще не понял
Ааа... ну, так бы и сказал!! млин..
тогда, конечно, массивы не нужны..

ты бы лучше пришел сюда РАНЬШЕ, тогда, когда тебе было что-то НЕПОНЯТНО, и спросил бы.. а не за час до сдачи..


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


Новичок
*

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

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


Огромное вам спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 15.04.2011 8:13
Сообщение #4


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

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

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


Цитата(Eduard @ 15.04.2011 9:12) *
Огромное вам спасибо!

Пожалуйста, конечно, но это не то, что тебе надо..


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

Сообщений в этой теме


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

 



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