Алексеевич949
?>

Программирование. паскаль. даны координаты концов двух отрезков. найти длины этих отрезков и сравнить , какой отрезок длинее. напишите, , все подробно

Информатика

Ответы

Tsibrova
Var 
  r1, r2, x1, y1, x2, y2, x3, y3, x4, y4 :real;
begin
  read(x1,y1,x2,y2,x3,y3,x4,y4);
  if x1>x2 then r1:=(x1-x2)*(x1-x2)
  else r1:=(x2-x1)*(x2-x1);
  if y1>y2 then r1+=(y1-y2)*(y1-y2)
  else r1+=(y2-y1)*(y2-y1);
  if x3>x4 then r2:=(x3-x4)*(x3-x4)
  else r2:=(x4-x3)*(x4-x3);
  if y3>y4 then r2+=(y3-y4)*(y3-y4)
  else r2+=(y4-y3)*(y4-y3);
  if r1>r2 then writeln('Первый длинней второго') 
  else
    if r1=r2 then writeln('Они равны') 
    else
    writeln('Второй длинней первого');
end.
Дмитрий_Владимирович1162
Что касается конкретной программы
1. Описываем нужные нам переменные - это будут стороны прямоугольника a и b. Поскольку нигде ничего о размерах сторон не сказано, придется предположить, что они не обязательно будут целыми , мы опишем эти переменные, как вещественные (real), что позволит работать и с нецелыми значениями.
2. Из геометрии нам известны формулы периметра прямоугольника P=2 x (a+b) и площади прямоугольника S=a x b. Можно описать переменные P, S (тоже real), но смысла в этом нет, поскольку значения P и S нужны только для вывода результатов, так что проще написать нужные выражения непосредственно в операторе вывода.
3. Итак, с описанием переменных закончили, можно начинать основную программу ключевым словом begin. И сразу же пишем к нему завершающий end с точкой на конце - таковы правила языка Паскаль. Вся программа размещается между двумя этими ключевыми словами.
4. Сначала организуем ввод. Это два оператора. Первый оператор выводит так называемое "приглашение" - сообщает о том, что нужно ввести. Второй оператор - это сам ввод.
5. А теперь, как было сказано выше, организуем вывод результатов. Все это сделает один оператор вывода. Программа готова!

var
  a, b: real;

begin
  Write('Введите стороны прямоугольника: '); Readln(a, b);
  Writeln('Периметр равен ', 2 * (a + b), ', площадь равна ', a * b)
end.

Тестовое решение:
Введите стороны прямоугольника: 4 3.16
Периметр равен 14.32, площадь равна 12.64
akinin95
Const a=10;
type mas=array[1..a] of integer;
     mas1=array[1..3] of byte;
var R, Q, P:mas;
    X:mas1;
    i:byte;

procedure Form(var R, Q, P:mas);
var sr, sq, sp:byte;
begin
sr:=0;
sq:=0;
sp:=0;
for i:=1 to a do
 begin
 if (R[i]>=2) and (R[i]<=4) then sr:=sr+R[i];
 if (Q[i]>=2) and (R[i]<=4) then sq:=sq+R[i];
 if (P[i]>=2) and (R[i]<=4) then sp:=sp+R[i];
 end;
x[1]:=sr;
x[2]:=sq;
x[3]:=sp;
writeln('Massiv x');
for i:=1 to 3 do
write(x[i]:3);

end;

begin
randomize;
for i:=1 to a do
 begin
 R[i]:=random(10);
 Q[i]:=random(10);
 P[i]:=random(10);
 end;
writeln('Massiv r');
for i:=1 to a do
write(R[i]:3);
writeln;
writeln('Massiv Q');
for i:=1 to a do
write(Q[i]:3);
writeln;
writeln('Massiv P');
for i:=1 to a do
write(P[i]:3);
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Программирование. паскаль. даны координаты концов двух отрезков. найти длины этих отрезков и сравнить , какой отрезок длинее. напишите, , все подробно
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

zolotayaoxana1982
misie1974
dima-pashkovec
nzaripova313
Лилия-Карпухина337
teregorka1977205
vis-lyubov8832
yuda12
sodrugestvo48
misspodvigina
Марина_Мария
Valentina
Иванович621
dddandmvd5210
Бегун-Марина