В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История

Составить программу вычисления стоимости покупки с учётом скидки. скидка в 10% предоставляется, если сумма покупки больше 1000 рублей.

Показать ответ
Ответ:
Mariyam005
Mariyam005
04.08.2022 05:24
// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
// Внимание! Если программа не работает, обновите версию!

type
  Point=record
    x,y:real;
    name:char
  end;
  Vector=record
    x,y,l:real;
  end;

function CreatePoint(px,py:real):Point;
begin
  With Result do begin
    x:=px;
    y:=py;
  end
end;

function CreateVector(A,B:Point):Vector;
begin
  With Result do begin
    x:=B.x-A.x;
    y:=B.y-A.y;
    l:=Sqrt(x*x+y*y)
  end
end;
 
function IsNormal(A,B:Vector):=Abs(B.x*A.x+B.y*A.y)<=1e-6;

begin
  var x,y:real;
  Write('Введите координаты x и y точки A: '); Read(x,y);
  var A:=CreatePoint(x,y);
  Write('Введите координаты x и y точки B: '); Read(x,y);
  var B:=CreatePoint(x,y);
  var AB:=CreateVector(A,B);
  Write('Введите координаты x и y точки C: '); Read(x,y);
  var C:=CreatePoint(x,y);
  var BC:=CreateVector(B,C);
  if Abs(AB.l-BC.l)>1e-6 then begin
    Writeln('Стороны AB и BC не равны');
    Exit
    end;
  if not IsNormal(AB,BC) then begin
    Writeln('Стороны AB и BC не перпендикулярны');
    Exit
    end;
  Write('Введите координаты x и y точки D: '); Read(x,y);
  var D:=CreatePoint(x,y);
  var CD:=CreateVector(C,D);
  if Abs(AB.l-CD.l)>1e-6 then begin
    Writeln('Стороны AB и CD не равны');
    Exit
    end;
  var AD:=CreateVector(D,A);
  if Abs(AB.l-AD.l)>1e-6 then Writeln('Стороны AB и ADC не равны')
  else Writeln('Точки образуют квадрат с точностью не ниже 0.000001')
end.

Пример
Здесь заданы координаты квадрата, сдвинутого относительно осей координат и повернутого на угол 30 градусов против часовой стрелки. Поэтому числа такие "некруглые".

Введите координаты x и y точки A: -0.4641 -4.4641
Введите координаты x и y точки B: 3.5359 2.4641
Введите координаты x и y точки C: 10.4641 -1.5359
Введите координаты x и y точки D: 6.4641 -8.4641
Точки образуют квадрат с точностью не ниже 0.000001
0,0(0 оценок)
Ответ:
LIZA555666777
LIZA555666777
02.07.2020 22:25
  program proga_25_1;
 Var
A: text;     
i,j,n,m : byte;     
 d: string;     
Sim:char;
 Begin             
write('Введите имя текстового файла   ');  {Например: "test" он создастся там где находится сама программа }               
read(d);                                       
 Assign(A,d);               
 rewrite(A);                   
 write('Введите количество строк: N= ');                        
readln(n);                   
 write('Введите количество символов в строке: M= ');                     
  readln(m);                                     
for I:=1 to n do                   
 begin                         
 Sim:=Chr(Ord('1')+I-1);                         
  For J:=1 to m do                             
  write(A,Sim);                               
 writeln(A);                 
  end;                         
  close(A);
end.     
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота