Begin18. Даны три точки $$A$$, $$B$$, $$C$$ на числовой оси. Точка $$C$$ расположена между точками $$A$$ и $$B$$. Найти произведение длин отрезков $$AC$$ и $$BC$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
program Begin18; var A,B,C,AC,BC,product: Real; begin Write(‘Введите значение точки A: ‘); Readln(A); Write(‘Введите значение точки B: ‘); Readln(B); Write(‘Введите значение точки C: ‘); Readln(C); AC:=Abs(A–C); Writeln(‘Расстояние отрезка AC равно: ‘,AC); BC:=Abs(C–B); Writeln(‘Расстояние отрезка BC равно: ‘,BC); product:=AC*BC; Writeln(‘Произведение отрезков AC и BC равно: ‘,product); end. |
Другие задачи из раздела Begin можно посмотреть здесь.
A PHP Error was encountered
Severity: Warning
Message: fopen(/var/www/u944000/data/mod-tmp/ci_session34ce9263757086278044b8fcfa2d0200a8881bd1): failed to open stream: Disk quota exceeded
Filename: drivers/Session_files_driver.php
Line Number: 174
Backtrace:
File: /var/www/u944000/data/www/mycod.net/application/core/MY_Controller.php
Line: 9
Function: __construct
File: /var/www/u944000/data/www/mycod.net/application/controllers/Abramyancatalog.php
Line: 8
Function: __construct
File: /var/www/u944000/data/www/mycod.net/index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: session_start(): Failed to read session data: user (path: /var/www/u944000/data/mod-tmp)
Filename: Session/Session.php
Line Number: 143
Backtrace:
File: /var/www/u944000/data/www/mycod.net/application/core/MY_Controller.php
Line: 9
Function: __construct
File: /var/www/u944000/data/www/mycod.net/application/controllers/Abramyancatalog.php
Line: 8
Function: __construct
File: /var/www/u944000/data/www/mycod.net/index.php
Line: 315
Function: require_once
Вопрос по DCOMPermissions.psm1
19th April, 17:09
180
0
Некорректный скрипт для закрытия блока
14th April, 18:33
167
0
Doesn’t show model window
14th March, 22:20
159
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
173
0
Пишу BAS-скрипты на запросах для несложных сайтов и Android-приложений.
9th February, 17:04
418
0
Помогите пожалуйста решить задачи
24th November, 23:53
994
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
402
0
Пишу скрипты для BAS только на запросах
8th November, 10:38
461
0
Как поднять свой VPN на Android?
4th November, 17:09
475
1
Нужно решить задачу по программированию на массивы
27th October, 18:01
619
0
Метода Крамера С++
23rd October, 11:55
500
0
помогите решить задачу на C++
22nd October, 17:31
519
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
640
0
Generate Additional Engagement Image Masking Service
5th July, 07:34
732
0
Join Us Today Ghost Mannequin Effect Service
5th July, 07:10
912
0
Python с нуля
18th June, 13:58
807
0
Its Urban Malaysia Phone Number List Exceeds
21st April, 08:09
934
1
橱柜并烤 手机号码 了一个纸杯蛋糕之后
6th April, 13:05
571
0
Все вопросы
По разделам
Даны три точки A, B, C на числовой оси. Точка C расположена
между точками A и B. Найти произведение длин отрезков AC и BC.
Сегодня мы с вами продолжаем решать задачи Begin11-20. В этой статье не будет блок-схем вообще. «Почему?» — спросите вы. Потому что на данном этапе задачи настолько просты, и настолько дублируют друг друга, что смысла в подробном разборе просто нет.
Begin11. Даны два ненулевых числа. Найти сумму, разность, произведение и частное их модулей.
Для того, чтобы решить данную задачу вы должны вспомнитьвстроенную в Паскаль функцию. Эта функция — abs. Кроме того, хотелось бы рассказать еще об одной интересной фишке. Наверняка, во время тестирования какой-либо программы вы сталкивались с проблемой типа Real. Считая корни, синусы, косинусы и прочее получается примерно такое число — 0.784674838737. Как избежать этого? Для этого после переменной прописываются определенные параметры. Например, write(a:5:2), где 5 — ширина поля вывода, а 2 количество знаков после запятой.
program Begin11; var a, b, summ, razn, proizv, chast: real; begin write('Введите два числа: '); read(a, b); a := abs(a); {используем функцию} b := abs(b); summ := a + b; proizv := a * b; chast := a / b; razn := a - b; writeln('Сумма модулей -- ', summ:5:2); writeln('Разность модулей -- ', razn:5:2); writeln('Частное модулей -- ', chast:5:2); writeln('Произведение модулей -- ', proizv:5:2); end.
Begin12. Даны катеты прямоугольного треугольника a и b.
Найти его гипотенузу c и периметр P: c = √(a2 + b2), P = a + b + c.
Ничего сложного в этой задаче нет.
program Begin12; var a, b, c, p: real; begin write('Введите два катета прямоугольного треугольника: '); read(a, b); c := sqrt(sqr(a) + sqr(b)); p := a + b + c; writeln('Периметр -- ', p:5:2); writeln('Гипотенуза -- ', c:5:2); end.
Begin13. Даны два круга с общим центром и радиусами R1 и R2 (R1 > R2). Найти площади этих кругов S1 и S2, а также площадь S3 кольца, внешний радиус которого равен R1, а внутренний радиус равен R2. S1 = π·(R1)2, S2 = π·(R2)2, S3 = S1 – S2. В качестве значения π использовать 3.14.
Не забываем указывать pi, как константу.
program Begin13; const pi = 3.14; var R1, R2, S1, S2, S3: real; begin write('Введите два радиуса: '); read(R1, R2); S1 := pi * sqr(R1); S2 := pi * sqr(R2); S3 := S1 - S2; writeln('Площадь большего круга -- ', S1:5:2); writeln('Площадь меньшего круга -- ', S2:5:2); writeln('Площадь кольца -- ', S3:5:2); end.
Begin14. Дана длина L окружности. Найти ее радиус R и площадь S круга, ограниченного этой окружностью, учитывая, что L = 2·π·R, S = π·R2. В качестве значения π использовать 3.14.
program Begin14; const pi = 3.14; var L, S, R: real; begin write('Введите длину окружности: '); read(L); R := L / (2 * pi); S := pi * sqr(R); writeln('Площадь круга -- ', S:5:2); writeln('Радиус круга -- ', R:5:2); end.
Begin15. Дана площадь S круга. Найти его диаметр D и длину L окружности,ограничивающей этот круг, учитывая, что L = π·D, S = π·D2/4. В качестве значения π использовать 3.14.
program Begin15; const pi = 3.14; var L, S, D: real; begin write('Введите площадь окружности: '); read(S); D := sqrt(4 * S / pi); L := D * pi; writeln('Длина круга -- ', L:5:2); writeln('Диаметр круга -- ', D:5:2); end.
Begin16. Найти расстояние между двумя точками с заданными координатами x1 и x2 на числовой оси: |x2 – x1|.
На самом деле непонятно, почему именно х2-х1. Ведь число в модуле будет одинаковым. Что 8 — 9, что 9 -8 равняются единице.
program Begin16; const pi = 3.14; var X1, X2, Rast: real; begin write('Введите координаты двух точек на оси x: '); read(X1, X2); Rast := abs(X2 - X1); writeln('Расстояние между двумя точками -- ', Rast:5:2); end.
Begin17. Даны три точки A, B, C на числовой оси. Найти длины отрезков AC и BC и их сумму.
Иногда, если не понимаешь условие задачи, полезно составить рисунок к задаче.
program Begin17; var X1, X2, X3: real; begin write('Введите координаты трех точек на оси x: '); read(X1, X2, X3); writeln('AC = ', abs(X3-X1)); writeln('BC = ', abs(X3-X2)); writeln('AC + BC = ', abs(X3-X1)+ abs(X3-X2)); end.
Begin18. Даны три точки A, B, C на числовой оси. Точка C расположена между точками A и B. Найти произведение длин отрезков AC и BC.
Посмотрев на рисунок, мы понимаем, что нахождение длины отрезков не меняется. Кстати, попробуйте составить эту программу, используя только три переменных!
program Begin18; var X1, X2, X3: real; begin write('Введите координаты трех точек A, B, C : '); read(X1, X2, X3); writeln('AC = ', abs(X3-X1)); writeln('BC = ', abs(X3-X2)); writeln('AC * BC = ', abs(X3-X1)* abs(X3-X2)); end.
Begin19.Даны координаты двух противоположных вершин прямоугольника: (x1, y1), (x2, y2). Стороны прямоугольника параллельны осям координат. Найти периметр и площадь данного прямоугольника.
Для того, чтобы наглядно увидеть что от нас требуется, составим такой прямоугольник на листе бумаге. И увидим, что на что надо умножать.
program Begin19; var X1, X2, Y1, Y2, P, S, a, b: real; begin write('Введите координаты двух точек х1 у1 х2 у2 : '); read(X1, Y1, X2, Y2); a := abs(X2 - X1); b := abs(Y2 - Y1); P := 2 * (a + b); S := a * b; writeln('Периметр прямоугольника -- ', P:5:2); writeln('Площадь прямоугольника -- ', S:5:2); end.
Begin20. Найти расстояние между двумя точками с заданными координатами (x1, y1) и (x2, y2) на плоскости.
Расстояние вычисляется по формуле √(x2 — x1)2+(y2 — y1)2.
program Begin20; var a, x1, x2, y1, y2: real; begin write('Введите x1, y1: '); readln(x1, y1); write('Введите x2, y2: '); readln(x2, y2); a := sqrt(sqr(x2 - x1) + sqr(y2 - y1)); writeln('Расстояние между точками -- ', a:5:2); end.
На сегодня все. С Новым Годом!
Поиграем? Кто поймает кота? 🙂
Автор | Сообщение | ||
---|---|---|---|
Заголовок сообщения: Деление и умножение отрезка на отрезок Добавлено: 29 мар 2017, 11:25 |
|||
|
Кто, что знает, поделитесь пожалуйста.
|
||
Вернуться к началу |
|
||
Andy |
Заголовок сообщения: Re: Деление и умножение отрезка на отрезок Добавлено: 29 мар 2017, 12:15 |
Race писал(а): Кто, что знает, поделитесь пожалуйста. Что представляют собой отрезки и операции их деления и умножения в данном случае?
|
|
Вернуться к началу |
|
Booker48 |
Заголовок сообщения: Re: Деление и умножение отрезка на отрезок Добавлено: 29 мар 2017, 12:40 |
Race писал(а): Andy, получение отрезка c=a*b и c=a/b. Student Studentovich, вы совершенно правы, меня интересует более простой вариант, а именно существует ли способ получение произведения, либо деления отрезков если не известен единичный отрезок. А как он может существовать? Вот поделили вы два отрезка, получили 2. Если единичного отрезка нет, то 2 чего? Фута, парсека, ангстрёма?
|
|
Вернуться к началу |
|
За это сообщение пользователю Booker48 “Спасибо” сказали: Race |
|
Race |
Заголовок сообщения: Re: Деление и умножение отрезка на отрезок Добавлено: 29 мар 2017, 12:44 |
Booker48, эх, а так хотелось верить в мечту. В нечто сказочное, волшебное. О, за то теперь понятно как построить отрезкок [math]c=frac{ asqrt{a^{2}+b^{2} } }{ sqrt{a^{2}-b^{2} } }[/math], действительно, размерность сохраняется и единичный отрезок не нужен.
|
|
Вернуться к началу |
|
Выбрать другой вопрос
Смотреть ответ
Перейти к выбору ответа
Вопрос посетителя
Даны три точки A, B, C на числовой оси. Точка C расположена между точками A и B. Найти произведение длин отрезков AC и BC.
Ответ эксперта
var
x1, x2, x3, AC, BC: real;
begin
writeln(‘Введите координаты точек A, B, C: ‘);
readln(x1, x2, x3);
AC := abs(x3 — x1); { <– расстояние между точками A и C }
BC := abs(x3 — x2); { <– расстояние между точками B и C }
writeln(‘ AC * BC = ‘, AC * BC);
readln
end.
Скачать ответРаспечатать решение