![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 09.01.2013
Сообщений: 7
|
![]()
Есть 3 задачи по геометрии...
Задача 1 Дан круг (X0, Y0, R) и точка (X, Y), где X0, Y0, R, X, Y - вещественные числа. Определить, лежит ли эта точка внутри данного круга. Задача 2 Дан треугольник с вершинами (X1, Y1); (X2, Y2); (X3, Y3) и точка (X, Y). Все Xi, Yi - вещественные числа. Определить, лежит ли эта точка внутри данного треугольника. Задача 3 Дан прямоугольник, заданный двумя противоположными вершинами (X1, Y1); (X2, Y2) и точка (X, Y). Все Xi, Yi - вещественные числа. Определить, лежит ли эта точка внутри данного прямоугольника. У меня есть код реализации этих задач на Pascal. Code (Pascal): 1) var X0, Y0, R, X, Y: Real; begin ReadLn (X0, Y0, R, X, Y); WriteLn (Sqr (X - X0) + Sqr (Y - Y0) <= Sqr (R)); end. 2) const eps = 1E-5; var X1, Y1, X2, Y2, X3, Y3, X, Y: Real; S0, S1, S2, S3: Real; function S (X1, Y1, X2, Y2, X3, Y3: Real): Real; var a, b, c, p: Real; begin a := Sqrt (Sqr (X1 - X2) + Sqr (Y1 - Y2)); b := Sqrt (Sqr (X1 - X3) + Sqr (Y1 - Y3)); c := Sqrt (Sqr (X3 - X2) + Sqr (Y3 - Y2)); p := 0.5 * (a + b + c); S := Sqrt (p * (p - a) * (p - b) * (p - c)); end; {func S} begin ReadLn (X1, Y1, X2, Y2, X3, Y3, X, Y); S0 := S (X1, Y1, X2, Y2, X3, Y3); S1 := S (X, Y, X2, Y2, X3, Y3); S2 := S (X1, Y1, X, Y, X3, Y3); S3 := S (X1, Y1, X2, Y2, X, Y); WriteLn (S0 + eps >= S1 + S2 + S3); end. 3) var X1, Y1, X2, Y2, X, Y: Real; begin ReadLn (X1, Y1, X2, Y2, X, Y); WriteLn ((Abs (X1 - X2) = Abs (X1 - X) + Abs (X2 - X)) and (Abs (Y1 - Y2) = Abs (Y1 - Y) + Abs (Y2 - Y))); end. Мне нужно написать начало для этих задач,в котором пользователь бы сначала выбрал фигуру(круг,прямоугольник или треугольник) и в зависимости от его выбора выполнялась одна их этих 3-х программ. Заранее спасибо |
![]() |
![]() |
![]() |
#2 |
Далеко не
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,512
|
![]() Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужно в массиве в слове "Pascal" поменять букву c на k | McToNy | Помощь студентам | 4 | 29.05.2012 17:22 |
Pascal ABC строки - программа, которая каждую встреченную букву "б" заменяет сочетанием "ку" (использовать модули) | Raigo | Помощь студентам | 6 | 17.05.2012 15:35 |
Нужно поле "Загрузить файл" в "новости сайта" | planetary | Помощь студентам | 1 | 24.06.2010 12:26 |
Помогите решить задачки в Pascal "!" | Yondaime | Помощь студентам | 8 | 04.02.2009 02:06 |