tatsawi
17.11.2022 12:27

Задание 2. Упорядочите значения двух переменных аль по возрастанию. Постановка задачи: если для исходных значений пере менных справедливо отношение a b (например, а = 10, b то оставить их значения без изменения; если же a>b (например 20, Б 10), то выполнить обмен значениями. Для обмена значений необходимо использование третьей, вс переменной c. В алгоритме решения данной задачи использу 10,0 - 20), a - ется неполное ветвление с

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Evas2007
10.03.2022 07:58
// PascalABC.NET 3.0, сборка 1073
var
  c:char;
begin
  Write('Введите римскую цифру (I,V,X,L,C,D,M): '); Readln(c);
  case c of
  'I':Writeln('1');
  'V':Writeln('5');
  'X':Writeln('10');
  'L':Writeln('50');
  'C':Writeln('100');
  'D':Writeln('500');
  'M':Writeln('1000');
  else Writeln('Вы ошиблись')
  end
end.

// PascalABC.NET 3.0, сборка 1073
var
  n:byte;
  x,y:real;
begin
  Write('Введите номер варианта (1-5): '); Readln(n);
  case n of
  1:begin
    Write('Выражение x^2+y^2, введите x,y: '); Read(x,y);
    Writeln('Результат: ',sqr(x)+sqr(y))
    end;
  2:begin
    Write('Выражение (a+b)^2, введите a,b: '); Read(x,y);
    Writeln('Результат: ',sqr(x+y))
    end;
  3:begin
    Write('Выражение (c-d)^2, введите c,d: '); Read(x,y);
    Writeln('Результат: ',sqr(x-y))
    end;
  4:begin
    Write('Выражение |sin(x)|, введите x: '); Read(x);
    Writeln('Результат: ',abs(sin(x)))
    end;
  5:begin
    Write('Выражение sqrt(a^2+b^2), введите a,b: '); Read(x,y);
    Writeln('Результат: ',sqrt(sqr(x)+sqr(y)))
    end;
  else Writeln('Вы ошиблись')
  end
end.
0,0(0 оценок)
Ответ:
babohka1
21.08.2021 08:06
1. В "реальном мире" это решается примерно так:

// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
begin
  var a:=ArrRandom(ReadInteger('n='),0,2); a.Println;
  a.Sorted.Println
end.

Тестовое решение:
n= 15
1 2 0 2 2 0 2 0 2 0 0 1 0 0 2
0 0 0 0 0 0 0 1 1 2 2 2 2 2 2

2. Но, поскольку считается, что школьникам больше заняться нечем, их заставляют писать примерно в таком стиле (и время займет, и ощибок понаделают):

// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
const
  nn=100;
var
  i,j,n,t:integer;
  a:array[1..nn] of integer;
begin
  Write('n='); Read(n);
  Randomize;
  for i:=1 to n do begin
    a[i]:=Random(3);
    Write(a[i],' ')
    end;
  Writeln;
  for i:=1 to n-1 do
    for j:=1 to n-1 do
      if a[j]>a[j+1] then begin
        t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t
        end;
  for i:=1 to n do Write(a[i],' ');
  Writeln;
end.

Тестовое решение:
n=15
0 1 1 0 2 1 0 2 1 2 1 0 0 2 0
0 0 0 0 0 0 1 1 1 1 1 2 2 2 2
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота