![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
K0ndER |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
1. Даны числа а,b,с,d,e,f. Напечатать координаты точки пересечения прямых, описываемых уравнениями a*х+b*y=c и d*х+e*y=f, либо сообщить, что эти прямые совпадают, не пересекаются или вовсе не существуют.
2. Дана функция x=a*sin(k*t+2)*cos(k*t). Составить алгоритм для расчета этой функции, если а изменяется от 5 до 7 с шагом 0.12, t изменяется от 4.2 до 6.2 с шагом 0.17 а k=1,2,3,...,12. 3. Найти среднее геометрическое положительных элементов каждого столбца матрицы А(10,15). |
мисс_граффити |
![]()
Сообщение
#2
|
|||
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
2. Что не получается? Свои мысли и попытки решить - в студию. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
|||
LexaKazanskij |
![]()
Сообщение
#3
|
|||
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Алексий Репутация: ![]() ![]() ![]() |
Вопрос по поводу третьего (как найти среднее геометрическое) :
Надо каждое положительное перемножить и из этого вычислить корень степени количества положительных? ![]()
Сообщение отредактировано: klem4 - |
|||
LexaKazanskij |
![]()
Сообщение
#4
|
|||
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Алексий Репутация: ![]() ![]() ![]() |
Я не понял: это я создал тему?
![]()
Сообщение отредактировано: klem4 - |
|||
LexaKazanskij |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Алексий Репутация: ![]() ![]() ![]() |
Бывает
![]() |
K0ndER |
![]()
Сообщение
#6
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
Правильно я решил?
{Даны числа а1,b1,с1,а2,b2,с2. Напечатать координаты точки пересечения прямых, описываемых уравнениями a1*х+b1*y=c1 и a2*х+b2*y=c2, либо сообщить, что эти прямые совпадают, не пересекаются или вовсе не существуют.}
Program Intersection;
Uses Crt;
Var a1, b1, c1, {коэффициенты уравнения первой прямой}
a2, b2, c2, {коэффициенты уравнения второй прямой}
x, y : Real; {координаты точки пересечения }
Test, NTest : Integer;
BEGIN
ClrScr; {очистка экрана}
Write('Введите количество тестов : ');
ReadLn(NTest);
For Test := 1 to NTest do {цикл по всем тестам задачи}
begin
Write('Тест ', Test, '. Введите a1, b1, c1 : ');
ReadLn( a1, b1, c1);
Write(' Введите a2, b2, c2 : ');
ReadLn( a2, b2, c2);
WriteLn; Write('О т в е т : ');
If ( (a1=0) and (b1=0) ) or ( (a2=0) and (b2=0) )
then WriteLn( 'это не прямая (прямые). ' )
else
if (a1*b2=a2*b1) and (a1*c2=a2*c1) {условие совпадения}
then WriteLn( 'прямые совпадают.' )
else
if a1*b2 = a2*b1 {условие параллельности}
then WriteLn('прямые параллельны.')
else begin x:=(c1*b2-c2*b1)/(b1*a2-b2*a1);
y:=(c2*a1-c1*a2)/(b1*a2-b2*a1);
WriteLn('координаты точки пересечения :',
' x = ', x : 5 : 2 , ', y = ', y : 5 : 2);
end; WriteLn
end;
ReadLn
END.
Сообщение отредактировано: K0ndER - |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Даже если сам алгоритм и правильный, возникает вопрос: а ты уверен, что сравнение вещественных чисел через "=" даст тебе правильный результат? Я вот не уверен...
Сообщение отредактировано: volvo - |
K0ndER |
![]()
Сообщение
#8
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну а как правильно по Вашему?
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Правильно - сравнивать вещественные числа с некоторой точностью... Если бы ты соизволил посмотреть на форуме хотя бы несколько тем, посвященных работе с Real/Double, увидел бы, что не так советуют делать:
var a, b: real;
...
if a = b then ...
а вот так: var a, b: real;
const epsilon = 0.0001;
...
if abs(a - b) < epsilon then ...
|
![]() ![]() |
![]() |
Текстовая версия | 21.04.2025 16:04 |