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).
мисс_граффити
16.09.2007 23:19
М
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Что не получается? Свои мысли и попытки решить - в студию.
LexaKazanskij
17.09.2007 0:09
Вопрос по поводу третьего (как найти среднее геометрическое) : Надо каждое положительное перемножить и из этого вычислить корень степени количества положительных?
!
тему переименуй, иначе она будет закрыта
LexaKazanskij
17.09.2007 1:21
Я не понял: это я создал тему?
М
виноват, обращение к автору темы
LexaKazanskij
17.09.2007 1:56
Бывает
K0ndER
21.09.2007 22:01
Правильно я решил?
{Даны числа а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 := 1to 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( 'это не прямая (прямые). ' )
elseif (a1*b2=a2*b1) and (a1*c2=a2*c1) {условие совпадения}then WriteLn( 'прямые совпадают.' )
elseif a1*b2 = a2*b1 {условие параллельности}then WriteLn('прямые параллельны.')
elsebegin 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.
volvo
21.09.2007 22:10
Даже если сам алгоритм и правильный, возникает вопрос: а ты уверен, что сравнение вещественных чисел через "=" даст тебе правильный результат? Я вот не уверен...
K0ndER
21.09.2007 23:27
Ну а как правильно по Вашему?
volvo
21.09.2007 23:33
Правильно - сравнивать вещественные числа с некоторой точностью... Если бы ты соизволил посмотреть на форуме хотя бы несколько тем, посвященных работе с Real/Double, увидел бы, что не так советуют делать:
var a, b: real;
...
if a = b then ...
а вот так:
var a, b: real;
const epsilon = 0.0001;
...
if abs(a - b) < epsilon then ...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.