Консультация № 109395
14.11.2007, 15:39
0.00 руб.
0 1 1
Добрый день, уже обращалась к Вам с вопросом № 109199, ответ не поступил (если вопрос не по теме или не соотв. высокому уровню знаний экспертов, прошу сообщить, чтобы зря не ждала). Очень прошу проверить то что написала уже сама:
1. Проверить лежит ли точка М (х;у) на отрезке, заданном неравенствами у – х <=2 y-x>=-1
2 . Составить программу для вычисления площади фигуры, огранич. линиями Х1=0, х2=Pi/2 y1=0 y2=cosx
Методом правых прямоугольниковсогласно ф-ле
S= hсумма от і до п (у2і-у1і) если п=20, h=(х2-x1)/n
Yi=y(x1+hi)
3. Координаты десяти точек на пл-ти заданы двумя массивами
Х= (4, 3, -2,5, 0,5, 1,5, 6, -5 5, -4,5, 3,5)
У= (-3, -2, 6,5, 5, -4, 3,5, -2 6, 2,5, -4,5)
Указать точку наиболее отдаленную от геом. центра массива Xc, Yc.
Решения:
Program 2_if_algorithm;

Var
x,y: integer;

Begin
Write(‘x=’);
Readln(x);
Write(‘y=’);
Readln(y);
if ( ((y-x)<=2) and ((y-x)>=-1)) then WriteLn(‘M(‘,x,’,’y,’) enter line’)
else WriteLn(‘error’);
End.

Program 3_cycle;
Const
X1=0;
X2=3.14/2;
Y1=0;
n=20

Var
S, Sum, x, h: real;
i: integer;

Begin
i:=1;
x:=0;
h:=(X2-X1)/n;
Sum:= cos(x)-Y1;
While i<=20 do begin
Sum:=Sum+(cos(x+h)-Y1);
inc(i);
inc(x,h);
end;

S:=h*Sum;
WriteLn(‘square’, S);

End.

Program 4_array;
Var
X,Y: array[1..10] of real;
Xc,Yc: real; {координаты серединной точки}
Xud, Yud: real; {координаты максимально удаленной точки}
V, Vmax: real; {величина удаления от серединной точки}
i: integer;

Begin
X[1]:=4; X[2]:=3; X[3]:=-2,5; X[4]:=0,5; X[5]:=1,5; X[6]:=6; X[7]:= -5; X[8]:=5; X[9]:=-4,5; X[10]:=3,5;
Y[1]:=-3; Y[2]:=-2; Y[3]:=6,5; Y[4]:=5; Y[5]:=-4; Y[6]:=3,5; Y[7]:=-2; Y[8]:=6; Y[9]:=2,5; Y[10]:=-4,5;
Xc:=0; Yc:=0;

{вычисляем координаты серединной точки}
For i:=1 to 10 do begin
Xc:=Xc+X[i];
Yc:=Yc+Y[i];
end;
Xc:=Xc/10; Yc:=Yc/10;

{находим максимально удаленную от середины точку}
Vmax:=0;
Xud:=0; Yud:=0;
For i=1 to 10 do begin
V:=sqrt(sqr(X[i]-Xc)+sqr(Y[i]-Yc));
If V>Vmax then begin
Vmax:=V; Xud:=X[i]; Yud:=Y[i];
end;
end;
WriteLn(‘max move away from center point without coordinates (’, Xud,‘,’,Yud,’)’);
End.

Обсуждение

Неизвестный
14.11.2007, 18:15
общий
это ответ
Здравствуйте, Дроздова Елена Владимировна!
На первый взгляд, кроме синтаксических ошибок Ваши программы работают верно. Ошибки были следующие:
1. В Паскале идентификаторы не могут начинаться с цифры, поэтому заголовок программы не может быть Program <b>2_if_algorithm</b>, а может быть только, например, <b>Program if_algorithm_2</b>.
2. Символьные константы (строки) надо писать в одинарных кавычках, у Вас всместо них почему-то С и Т.
3. Действительные числа надо писать не, например, 3,5, а 3.5 (не , разделитель, а .).
В остальном всё вроде бы хорошо (не могу только сказать насчёт последней задачи - честно говоря, не знаю, что такое "геометрический центр массива", но результат вроде похож на мои представления об этом понятии). Исправленный код привожу в приложении.
На будущее, такие вопросы лучше писать в специализированную рассылку по Паскалю.
Удачи!

Приложение:
Program if_algorithm_2;Varx,y: integer;BeginWrite(‘x= ‘);Readln(x);Write(‘y= ‘);Readln(y);if ( ((y-x)<=2) and ((y-x)>=-1)) then WriteLn(‘M(‘,x,‘,‘y,‘) enter line‘)else WriteLn(‘error‘);End.Program cycle_3;ConstX1=0;X2=3.14/2;Y1=0;n=20;VarS, Sum, x, h: real;i: integer;Begini:=1;x:=0;h:=(X2-X1)/n;Sum:= cos(x)-Y1;While i<=20 do beginSum:=Sum+(cos(x+h)-Y1);inc(i);x:= x+h;end;S:=h*Sum;WriteLn(‘square‘, S);End.Program array_4;VarX,Y: array[1..10] of real;Xc,Yc: real; {координаты серединной точки}Xud, Yud: real; {координаты максимально удаленной точки}V, Vmax: real; {величина удаления от серединной точки}i: integer;BeginX[1]:=4; X[2]:=3; X[3]:=-2.5; X[4]:=0.5; X[5]:=1.5; X[6]:=6; X[7]:= -5; X[8]:=5; X[9]:=-4.5; X[10]:=3.5;Y[1]:=-3; Y[2]:=-2; Y[3]:=6.5; Y[4]:=5; Y[5]:=-4; Y[6]:=3.5; Y[7]:=-2; Y[8]:=6; Y[9]:=2.5; Y[10]:=-4.5;Xc:=0; Yc:=0;{вычисляем координаты серединной точки}For i:=1 to 10 do beginXc:=Xc+X[i];Yc:=Yc+Y[i];end;Xc:=Xc/10; Yc:=Yc/10;{находим максимально удаленную от середины точку}Vmax:=0;Xud:=0; Yud:=0;For i:=1 to 10 do beginV:=sqrt(sqr(X[i]-Xc)+sqr(Y[i]-Yc));If V>Vmax then beginVmax:=V; Xud:=X[i]; Yud:=Y[i];end;end;WriteLn(‘max move away from center point without coordinates (‘, Xud,‘,‘,Yud,‘)‘);End.
Форма ответа