Разработка многомодульной программы с использованием нескольких процедур
Вложений: 1
Доброго времени суток.
Прошу вас о помощи. Разработать программу из двух модулей: Unit и Program. Самостоятельно выделить в задаче процедуры и функции, разместив их в отдельном модуле (Unit) для использования в головном модуле (Program). Если все заданные точки плоскости принадлежат первому квадранту, определить координаты точки, наиболее удаленной от начала координат, иначе определить координаты точек, не попавших в первый квадрант. Впервые сталкиваюсь с такой программой, даже не знаю что такое квадрант. Не умею работать с модулем Unit. Есть схема-"подсказка", но мне она ничего не подсказывает tehno014 Почитав в интернете про это, я понял только то, что имя файла.pas должно соответствовать имени модуля Unit tehno015 Это моя последняя программа, завершающая курс информатики, прошу вас помочь мне в последний раз) Заранее спасибо! |
Мать-перемать, трам-тарарам - язык какой?!!!!
(Не, ну сколько можно просить - ВСЕГДА указывать ЯП! Зла прям не хватает!). А квадрант - это очень просто. Представьте себе бесконечную плоскость, в которой проведены горизонтальная (X) и вертикальная (Y) координатные прямые, обе идут от -∞ до +∞, разделяя плоскость на 4 квадранта, соприкасающихся углами при х=у=0. Стандартная нумерация квадрантов (идем против часовой стрелки): Первый - правый верхний, x≥0; y≥0 Второй - левый верхний, x≤0; y≥0 Третий - левый нижний, x≤0; y≤0 Четвертый - правый нижний, x≥0; y≤0. |
Ладно, вот. Если, конечно, устроит Паскаль. Правда, боюсь, смысл этой "схемы-подсказки" навсегда останется тайной ее составителя, я попроще сделал. И не вижу, куда бы тут впихнуть "много модулей" и даже "несколько процедур". ВАЖНО: модуль сохранить под именем My_Unit.pas (ну или под другим, но тогда, соответственно, меняйте и первую строку), программу называйте, как хотите.
Модуль: Код:
Unit My_Unit; Код:
Uses My_Unit; |
Ой, прошу прощения, да паскаль, СПАСИБО БОЛЬШОЕ!=))
|
Прошу прощения, а как написать так, чтобы выводились координаты точек, не вошедших в квадрант примерно в таком виде:
Координаты точек не вошедших в квадрант: (-1.00 ; -2.00) , (-2.00 ; 3.00) или так как есть только без рандома, а через матрицу или 2 массива. Как лучше прописывать? Двумя массивами (1-ый это Х, 2-ой это У) или матрицей 2хN ? Не получается работать с таким типом. |
Цитата:
Цитата:
Цитата:
|
Я с ума сойду tehno035, не получается вообще. Помогите мне :kapitul:
Не могу я написать так чтобы выводились координаты всех не вошедших после того как все точки введены. Получается либо сразу после ввода 1 точки, или выводит только последнюю точку если она не вошла.... Вот так мне кажется больше похоже на то что надо, но не работает, не знаю как правильно написать. PHP код:
PHP код:
|
Вложений: 1
Цитата:
Вложение 187665Знаете, был такой анекдот: - Подсудимый, ваше последнее слово! - Ну вы, блин, даёте... Ведь вот дана была хорошая, отлаженная программка - нет, хочу по-своему! Прекрасно. Вообще-то заслуживает всяческого уважения, куда большего, чем "ничего не знаю, дайте - я скатаю". Но всё-таки надо же представлять себе смысл простейших операторов языка! Вот вы решили вместо массива записей (как у меня), каждая из которых содержит полную информацию о координатах одной точки, сделать единую запись с полями-массивами. Чудесно (хотя, по-моему, это доставание правого уха через-под левое колено, поскольку смысла в такой записи при наличии массивов координат - ровно ноль, ну да Вам виднее - можно и так). И что Вы делаете дальше? Вместо того, чтобы проверять истинность утверждения о том, что конкретная точка сидит в первом квадранте, Вы в функцию First_Quadr за каким-то хреном врабатываете цикл ПО ВСЕМ ТОЧКАМ, причем, вопреки всем правилам и здравому смыслу, используете один и тот же идентификатор (i) и как формальный параметр функции, и как переменную внутреннего цикла! Бедный Паскаль... Даже если он и продерётся через такую конструкцию, то в итоге на выходе функции появится информация о принадлежности к первому квадранту ТОЛЬКО ПОСЛЕДНЕЙ ТОЧКИ! Короче говоря, первое, что нужно - выкинуть цикл из функции: нечего ему там делать!!! Должно быть как-то так: Код:
Function First_Quadr(i:integer; z:Coord):boolean; Код:
Point.x:=x; Поехали дальше. Постановка операторных скобок begin..end внутри программы имеет смысл только тогда, когда ими выделяется тело какого-либо оператора. Выделение просто куска (блока) программы - бессмысленно. Поэтому "begin" после b:=true; и соответствующий ему "end" нужно убрать. Далее. Ну зачем же при наличии точек вне первого квадранта выводить заголовок 'Координаты точек не попавших в первый квадрант: ' перед выводом координат КАЖДОЙ из этих точек?! Некрасиво. Кроме того, вывод самих координат следует, естественно, сделать форматным. Опять же для красоты. Я тут нарисовал тестовый вариант без модуля (лень было с ним дрызгаться). Советую взять за основу. Код:
Const |
Спасибо большое=)
PHP код:
PHP код:
|
Часовой пояс GMT +4, время: 12:07. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.