Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 14.01.2021, 10:01   #1
leonix12
Пользователь
 
Регистрация: 09.04.2016
Сообщений: 11
По умолчанию Дано множество точек. Для каждой даны координаты, найти массу точек

Добрый день, добрые люди! Помогите пожалуйста решить данную задачу. В программировании 0, нужно на информатику.
Буду очень сильно благодарна за любую помощь в столь не простом испытании.
Изображения
Тип файла: png Screenshot_2.png (84.3 Кб, 18 просмотров)
leonix12 вне форума Ответить с цитированием
Старый 14.01.2021, 10:49   #2
ViktorR
Участник клуба
 
Регистрация: 23.10.2010
Сообщений: 1,770
По умолчанию

1. Опиши тип Запись
Код:
type
xym=record
    x: real;
    y: real;
    m: real;
end;
2. Опиши массив данных с этим типом:
Код:
var masXYm[1..10] of xym;   {возможно, что размер массива другой}
Вместе с тем, такой массив может быть и ни к чему, так как координаты читаются из текстового файла.
Если подготовить текстовый файл вида:
Код:
X   Y   M
------------
-2  1 10.1
-1 -3  8.3
...
то можно считывать данные последовательно и обрабатывать без сохранения в массиве.
В этом случае опиши переменную:
Код:
var point: xym;
3. В цикле считываешь строки из файла и подсчитываешь сумму масс точек, которые попадают в заштрихованную область.
Код:
if ((point.x <=0 and point.x*point.x + point.y*point.y < 4) or (point.x > 0 and abs(point.y) <= point.x)) then
      <тут операторы для подсчёта суммы: sum := sum + point.m>;
Если через массив, то, например, вместо point.x пишем XYm[i].x и т.д.


PS: Правило описания записи не помню, но примерно так.
Собственно алгоритм решения и ...


Цитата:
В программировании 0, нужно на информатику.
Печально.
Сегодня это не модно.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 14.01.2021, 11:06   #3
leonix12
Пользователь
 
Регистрация: 09.04.2016
Сообщений: 11
По умолчанию

ViktorR, Воу! Спасибо большое, только как это все в один код сделать)) И еще как программа будет считывать текстовой файл?) Прости, за тупость мою, но просто это программирование не моё походу(.
leonix12 вне форума Ответить с цитированием
Старый 14.01.2021, 20:36   #4
ViktorR
Участник клуба
 
Регистрация: 23.10.2010
Сообщений: 1,770
По умолчанию

Ну вот ещё немного.
Цитата:
И еще как программа будет считывать текстовой файл?
Пусть в папке с программой лежит текстовый файл points.txt со структурой, которая написана ранее:
Код:
X   Y   M
------------
-2  1 10.1
-1 -3  8.3
...
В начале программы описывается несколько переменных:
Код:
var SumM: real; {сумма масс точек}
      fh: text;  {файловая переменная}
...
Часть, которая отвечает за чтение из файла:
Код:
assign(fh,'points.txt');                   {связываем файл с файловой переменной}
                                           {если файл в другом месте, то укажи полный путь, например, 'C:\abc\points.txt'}
reset(fh);                                 {инициируем состояние файловой переменной}
while not EOF(fh) do begin                 {до обнаружения конца файла - EOF(fh)}
   readln(fh, point.x, point.y, point.m);  {читаем строку из файла}
   <код, обрабатывающий точку>;            {обрабатываем полученную точку}
end;
Написанного достаточно, что бы немного напрячься и сделать ...
По Паскалю есть хорошая книга: Т.А. Павловская, Программирование на ЯВУ. Паскаль. Она есть в списке литературы этого раздела. Скачай, почитай.


PS:
Цитата:
Прости, за тупость мою, но просто это программирование не моё походу(.
Не сомневаюсь, что у тебя есть какой либо гаджет или есть машина, необязательно твоя.
Тебе несложно было это осваивать только потому, что было интересно и необходимо.
В данном случае тебе не интересно, а так же и не необходимо программирование.
Заметь - это только сегодня. Завтра, не в смысле завтра, а попозже, осознаешь потребность.
Она будет столь маленькая, что помогут друзья или какой то дядя, возможно за деньги.

Для изучения этого [программирования], нет необходимости напрягаться финансово.
Просто сделай так, что бы у тебя не было другого выхода.
Пройдёт и первое напряжение, и непонимание, но потом, когда начнёт что-то появляться будешь получать удовольствие.

Просто подумай над своими словами. Не настраивай себя против программирования, даже такими малыми фразами.
Информационные технологии и программирование, в частности - это сегодняшнее и будущее общества, в котором тебе быть.
Тебе с этим и жить.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны координаты n точек (xi,yi). Найти координаты вершин одного из квадратов, из заданного множества точек. khariton Visual C++ 0 14.11.2013 08:36
Даны координаты точек n на плоскости. Найти номера двух точек, расстояние между которыми наибольшее. getredtm Помощь студентам 3 01.07.2013 00:47
Даны координаты n точек на плоскости. Найти номера двух точек, расстояние между которыми наибольшее. Viwwna Паскаль, Turbo Pascal, PascalABC.NET 2 19.11.2011 05:33
дано два множества точек.Найти пересечение и разность этих множеств.Координаты точек X и Y вводить с клав Degster Паскаль, Turbo Pascal, PascalABC.NET 1 23.05.2011 15:35
дано два множества точек.Найти пересечение и разность этих множеств.Координаты точек X и Y вводить с клав Degster Паскаль, Turbo Pascal, PascalABC.NET 0 15.05.2011 17:32


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS