Разработка программы обработки одномерного массива. в классе 30 учеников. в журнале выставлены их итоговые оценки по информатике за первую четверть. определить средний по предмету и процент успеваемости.
вся заштрихованная область представляет собой решение некоторой системы уравнений. например, i четверть координатной плоскости задается x > 0, y > 0. этот случай относится к тому, что область принадлежит той самой i четверти.
теперь у нас есть два варианта решения: проверить принадлежности x к отрезку (0; 7), а затем разбить на два условия: если точка принадлежит отрезку (0; 5], то координата y должна принадлежать (0; 5). иначе если координата икс в отрезке [5; 7), то координата y должна быть меньше некоторой линейной функции, проходящей через точки (5; 5) и (7; 0)
второй вариант (он будет оптимальнее): сначала проверить принадлежность координаты y в отрезке (0; 5). если это так, то проверить выполнение условия 0 < x < f(y), где f(y) - это некоторая линейная функция.
давайте найдем эту линейную функцию.
если линейная функция задается уравнением y = kx + b, то справедлива система:
от второго отнимаем первое уравнение, получаем 2k = -5, или k = -2.5, а b будет при этом равно 17,5
теперь найдем обратную функцию (решать будем по второму варианту)
теперь, точка считается внутри фигуры, если выполняется:
0 < y < 5
0 < x < 7 - 0.4y
сама программа:
program task;
var x, y: real;
begin
writeln('введите координаты точки х и y: ');
readln(x, y);
if ((y > 0) and (y < 5)) then begin
if ((x > 0) and (x < 7 - 0.4*y)) then writeln('попадает')
else writeln('не попадает')
end;
end.
sredova71121
13.10.2021
// pascalabc.net 3.2, сборка 1370 от 24.12.2016 // внимание! если программа не работает, обновите версию! begin var a: =arrrandomreal(readinteger('n=',50); a.transform(x-> trunc(100*x)/100); // чтобы числа легче было читать)) a.println; var a0: =a[0]; a: =a.select((x,i)-> i.iseven? x/a0: x).toarray; a.println end. пример n= 8 -37.63 0.61 41.54 -46.8 34.42 23.66 13.12 7.64 1 0.61 -1.10390645761361 -46.8 -0.914695721498804 23.66 -0.348657985649747 7.64
объяснение:
немного :
вся заштрихованная область представляет собой решение некоторой системы уравнений. например, i четверть координатной плоскости задается x > 0, y > 0. этот случай относится к тому, что область принадлежит той самой i четверти.
теперь у нас есть два варианта решения: проверить принадлежности x к отрезку (0; 7), а затем разбить на два условия: если точка принадлежит отрезку (0; 5], то координата y должна принадлежать (0; 5). иначе если координата икс в отрезке [5; 7), то координата y должна быть меньше некоторой линейной функции, проходящей через точки (5; 5) и (7; 0)
второй вариант (он будет оптимальнее): сначала проверить принадлежность координаты y в отрезке (0; 5). если это так, то проверить выполнение условия 0 < x < f(y), где f(y) - это некоторая линейная функция.
давайте найдем эту линейную функцию.
если линейная функция задается уравнением y = kx + b, то справедлива система:
от второго отнимаем первое уравнение, получаем 2k = -5, или k = -2.5, а b будет при этом равно 17,5
теперь найдем обратную функцию (решать будем по второму варианту)
теперь, точка считается внутри фигуры, если выполняется:
0 < y < 5
0 < x < 7 - 0.4y
сама программа:
program task;
var x, y: real;
begin
writeln('введите координаты точки х и y: ');
readln(x, y);
if ((y > 0) and (y < 5)) then begin
if ((x > 0) and (x < 7 - 0.4*y)) then writeln('попадает')
else writeln('не попадает')
end;
end.