<u>PascalABC.NET 3.3.5, сборка 1648 от 31.03.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var (x,y):=ReadReal2('x,y=');
Writeln((Sin(x)+cos(y))/(Cos(x)-Sin(y))*Tan(x*y))
end.
//Pascal ABC.NET v3.1 сборка 1172
var
NA, NB, NC: integer;
function minim(ar: array of real; n: integer): real;
var
i: integer;
min: real;
begin
min := MaxReal;
for i := 0 to n - 1 do //динамические массивы индексируются с 0
if min > ar[i] then min := ar[i];
minim := min;
end;
begin
randomize;
write('NA:');readln(NA); //ввод размерностей
write('NB:');readln(NB);
write('NC:');readln(NC);
var a := ArrRandomReal(NA, 1, NA); //инициализация динамических массивов
var b := ArrRandomReal(NB, 1, NB);
var c := ArrRandomReal(NC, 1, NC);
a.println(' ');
writeln('Min:', minim(a, NA));
b.println(' ');
writeln('Min:', minim(b, NB));
c.println(' ');
writeln('Min:', minim(c, NC));
end.
Пример ввода:
NA:3
NB:4
NC:5
Пример вывода:
2.45183664907321 2.12786289357015 2.8286734511278
Min:2.12786289357015
3.47355249453036 1.03827733129183 2.42042394141686 2.17556424353996
Min:1.03827733129183
3.9204495134393 3.64103751938838 3.57791954771519 4.31033914690387 4.13624760282051
Min:3.57791954771519
Program Project1;
var a, P, S, d :real;
begin
readln(d); a:= d/sqrt(2); S:= sqr(a); P:= 4*a; writeln('Сторона: ',a); writeln('Площадь: ',S); writeln('Периметр: ',P);
end.<span>
</span>
Задачка интересная, исследуем её.
Понятно, что программ будет 8. Но в задаче спрашивается, сколько разных чисел получится из двойки, поэтому нужно исследовать каждую программу
1. +++ (((2 +2) +2) +2 = 8
2. ++* (((2 +2) +2) *3 = 18
3. +*+ (((2 +2) *3) +2 = 14
4. *++ (((2 *3) +2) +2 = 10
5. *** (((2 *3) *3) *3 = 54
6. **+ (((2 *3) *3) +2 = 20
7. *+* (((2 *3) +2) *3 = 24
8. +** (((2 +2) *3) *3 = 36
Вот только теперь можно сказать что из 2 можно получить 8 разных чисел.
PS Арифметику проверь, писал напрямую в экран, мог допустить неточность.