Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 21.04.2018
Сообщений: 8

Определить количество заданных точек (x,y), попавших в указанную область, включая ее границы

31.05.2018, 23:46. Показов 2322. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, не особо понимаю как это сделать. Алгоритм сделал, а записать это на паскале не получается.

Определить количество заданных точек (x,y), попавших в указанную область,
включая ее границы,
где x = x0 + ih;
y = y0 + ih;
x0 = 0,5; y0 = 1,5;
h = 0,1; i = 1(1)10.
Миниатюры
Определить количество заданных точек (x,y), попавших в указанную область, включая ее границы  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.05.2018, 23:46
Ответы с готовыми решениями:

Определить количество точек, попавших в заданную область и сформировать массив из их координат
Координаты n точек заданы в текстовом файле. Определить количество точек, попавших в заданную область и сформировать массив из их координат

Задано N точек на плоскости: подсчитать количество точек попавших в заданную область
1. Записать логическое выражение соответствующие заданной области истинности 2. Составить программу для: а) подсчета количества...

Количество точек, попавших в заданную область
помогите решить) Задано N точек на плоскости. записать логическое выражение, соответствующее заданной области истинности. составить...

6
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
01.06.2018, 07:43
Ну, дык, показывайте ваш алгоритм!

Не по теме:

Особенно удивляет видимая невооруженным глазом диспропорция приведённой картинки!

0
0 / 0 / 0
Регистрация: 21.04.2018
Сообщений: 8
05.06.2018, 13:54  [ТС]
Получилось нечто такое:
Code
1
2
3
4
5
6
7
8
9
10
  в цикле по i от 1 до N
  начало цикла i
  в цикле по j от 1 до M
  начало цикла по j
    x = x+ i*h //координаты меняются как положено
     y = y+j*h
  if(x<2)and(0<x)and(-2<y)and(y<2) then count:=count +1;//считаем точки по-одной
  конец цикла по j
  конец цикла по i
  выводим ответ Print(count)
Помогите перевести этот код, в код pascal, спасибо
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.06.2018, 14:00
Pascal
1
2
3
4
5
6
7
8
for i:=1 to n do
for j:=1 to m do
  begin
   x:=x+i*h;
   y:=y+j*h;
   if (x>0)and(x<2)and(y>-2)and(y<2) then count:=count+1;
 end;
write(count);
1
Модератор
10451 / 5741 / 3409
Регистрация: 17.08.2012
Сообщений: 17,474
05.06.2018, 22:00
Не следует по одному и тому же вопросу создавать разные темы, так как теряется контекст обсуждения. Темы объединены. AlexMi98, "благодаря" Вашим несуразным и, возможно, паническим, действиям, Puporev дал неверный ответ. Правильно так:
Pascal
6
   if (y>=0)and(y<=2)and(x>=-2)and(x<=2) then count:=count+1;
или
Pascal
6
   if (y>=0)and(y<=2)and(abs(x)<=2) then count:=count+1;
Вы перепутали координаты, а также строгие неравенства с нестрогими.
0
0 / 0 / 0
Регистрация: 21.04.2018
Сообщений: 8
05.06.2018, 22:11  [ТС]
Спасибо, извините.

При компиляции у меня происходит значение 0, всегда, не корректно работает, не знаю из-за чего.

Компилирую так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Begin
var x,y,h: real;
var j,i,n,m,count: integer;
y:=1.5;
x:=0.5;
h:=0.1;
count:=0;
for i:=1 to n do
for j:=1 to m do
  begin
   x:=x+i*h;
   y:=y+j*h;
   if (y>=0)and(y<=2)and(x>=-2)and(x<=2) then count:=count+1;
 end;
write(count);
end.
0
Модератор
10451 / 5741 / 3409
Регистрация: 17.08.2012
Сообщений: 17,474
05.06.2018, 23:19
AlexMi98, прочитайте хотя бы с полсотни страниц любой книжки по паскалю. Переменные n и m у Вас не инициализированы, и, так как они глобальные, то по умолчанию содержат нули. Поэтому циклы не выполняются ни разу, и значение count как было нулём, так нулём и остаётся.

Добавьте в программу ввод n и m.

Правда, ерунда программа получится. Что-то мне кажется, что Вашу программу нужно выбросить в Ганг и написать новую... С вводом общего количества точек и с последующим вводом их координат.

Добавлено через 25 минут
В PABC.NET, что ли, кстати, компилируете? В классическом паскале секция var внутри begin..end недопустима. Если точно по заданию, то так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const
  n = 10;
  y0 = 1.5;
  x0 = 0.5;
  h = 0.1;
 
var x, y: real;
    i, count: integer;
 
begin
  count:=0;
  for i:=1 to n do
    begin
      x := x0 + i * h;
      y := y0 + i * h;
      if (y >= 0) and (y <= 2) and (x >= -2) and (x <= 2) then inc(count)
    end;
  write('count = ', count);
  readln
end.
Эта программа тоже вполне подходит для метания её в Ганг.

Только вот ещё чудится мне, что в задании должно быть

x = x0 + ih;
y = y0 + jh;
(...)
i, j = 1(1)10

Тогда циклов будет два, как у Вас. Подрихтуйте, если надо. Не забудьте вычисление x вынести из внутреннего цикла, незачем его j раз вычислять.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.06.2018, 23:19
Помогаю со студенческими работами здесь

Определить, что точка с координатами x и y попадает в заштрихованную область (включая ее границы)
правильно ли мое решение? x = random.random()*10.0 - 10.0 y = random.random()*10.0 - 10.0 print x, y, if y &lt;= ( -1.5*y + 1.0 )...

Задано N точек на плоскости. Составить программу для подсчета количества точек, попавших в заданную область
Задано N точек на плоскости. Составить программу для подсчета количества точек, попавших в заданную область.

Определить, попадает ли каждая из точек в указанную область, и найти площадь указанной области
пусть задана область на плоскости(вот так показанно на рисунке на координатной плоскости закрашены первая и четвёртая части круга),...

Определить количество точек, попавших внутрь верхней части круга
Определить количество точек, попавших внутрь верхней части круга радиусом R = 4 и с центром в начале координат. Координаты точек ввести...

Определить количество точек, попавших в кольцо, образованное двумя заданными окружностями
Определить количество точек, попавших в кольцо, образованное двумя заданными окружностями. Решение задачи отобразить на холсте. По...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru