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

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

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

> программа с графиком
Solymr
сообщение 31.05.2007 14:56
Сообщение #1


Новичок
*

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

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


есть задание, получилась такая программа.
program figura;
const dx=0.5;
dy=0.4;
var x,y: real;
obl1,obl2,obl3,obl4: boolean;
count: integer;
begin
x:=-3.5;
count:=0;
while x<2.5 do
begin
y:=-3.6;
while y<2.4 do
begin
obl1:=(x>=-3) and (x<=-1)and (y<-x-2) and (y>-3);
obl2:=(x>-1) and (x<=0) and (y>-3) and (y<x);
obl3:=(x>=0) and (x<=1) and (y<1) and (y>-sqrt(4-sqr(x)));
obl4:=(x<=2) and (x>1) and (y<x) and (y>-sqrt(4-sqr(x)));
if obl1 or obl2 or obl3 or obl4 then
begin
write('(',x:2:1,',',y:2:1,')',';');
inc(count);
if not odd(count) then
writeln;
end;

y:=y+dy;
end;
x:=x+dx;
end;
readln;
end.
но правильные точки не выводятся, что не так, кто подскажет?


Прикрепленные файлы
Прикрепленный файл  Document1.rar ( 40.84 килобайт ) Кол-во скачиваний: 158
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 8)
Ozzя
сообщение 31.05.2007 15:04
Сообщение #2


Гуру
*****

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

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


if obl1 or obl2 or obl3 or obl4 then
А ПОЧЕМУ or?
and не пробовал поставить?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Solymr
сообщение 31.05.2007 15:32
Сообщение #3


Новичок
*

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

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


если ставлю and вообще ничего не выходит
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 31.05.2007 15:51
Сообщение #4


Гость






Цитата
правильные точки не выводятся

А вот так?

program figura;
const
dx=0.5;
dy=0.4;

var
x,y: real;
obl1,obl2,obl3,obl4, obl5: boolean;
count: integer;

begin
x := -3.5;
count := 0;
while x < 2.5 do begin
y := -3.6;
while y < 2.4 do begin

obl1 := (x >= -3) and (x <= 0) and (y < (-x-2)) and (y >= -3);
obl2 := (x >= -1) and (x <= 0) and (y >= -3) and (y <= x);
obl3 := (x >= 0) and (x <= 1) and (y >= 0) and (y <= 1) and (y >= x);
obl4 := (x >= 0) and (x <= 2) and (y >= 0) and (y <= x);
obl5 := (x >= 0) and (x <= 2) and (y <= 0 ) and (y >= -2) and (sqr(x) + sqr(y) <= 4);

if obl1 or obl2 or obl3 or obl4 or obl5 then begin
write('(',x:2:1,',',y:2:1,')',';');
inc(count);
if not odd(count) then writeln;
end;

y:=y+dy;
end;

x:=x+dx;
end;
readln;
end.
 К началу страницы 
+ Ответить 
Solymr
сообщение 31.05.2007 16:04
Сообщение #5


Новичок
*

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

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


все равно не те координаты выводит. Может в самой программе что-то не так, а не в областях?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 31.05.2007 16:11
Сообщение #6


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Цитата
А ПОЧЕМУ or?

Потому что достаточно попадания в одну из областей.


КАКИЕ точки не вывелись, хотя должны были? Можно КОНКРЕТНЫЕ координаты?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Solymr
сообщение 31.05.2007 16:27
Сообщение #7


Новичок
*

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

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


(-3;0);(-3;-3);(-1,4;-1,4);(-2;0);(-1;-1);(0;-3);(-3;1);(0;0);(0;1);(1;1);(2;2);(1,4;1,4)
вот эти не знаю как вывести
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 31.05.2007 16:40
Сообщение #8


Гость






Цитата
вот эти не знаю как вывести
Никак ты их с заданным тобой шагом не выведешь... Думать разучился совсем? Что , если ты начинаешь от -3.6 и шаг = 0.4, то у тебя есть шанс попасть в -3.0?

P.S. Если ты запускал мою программу, то должен был видеть, что все, куда можно добраться, например, (-3, 0), она печатает...

Сообщение отредактировано: volvo - 31.05.2007 16:50
 К началу страницы 
+ Ответить 
Solymr
сообщение 31.05.2007 20:53
Сообщение #9


Новичок
*

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

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


да, спасибо, че-то я сглупил.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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