//PascalABC.NET
//Дан целочисленный массив из 40 элементов. Элементы массива могут
//принимать значения от -10000 до 10000. Написать алгоритм, который
//находит и выводит среднее арифметическое всех отрицательных элементов
//массива, оканчивающихся цифрой 7. Гарантируется, что хотя бы один
//такой элемент в массиве есть. Исходные данные объявлены так, как
//показано ниже. Запрещается использовать переменные, не описанные
//ниже, но разрешается не использовать часть из них.
const
N = 40;
var
//a : array[1..N] of integer;
i, s, r, x : integer;
sr: real;
begin
//Для любителей заполнять вручную:
//for i := 1 to 40 do readln(a[i]);
//Заполним массив 40-ка случайными значениями
var a := ArrRandomInteger(N+1, -10000, 10000);
//Гарантировано разместим число, оканчивающееся на 7
a[Random(0,40)] := -10 * Random(0,999) - 7;
//Уберем лишний элемент, созданный автоматически
a[0] := 0;
//Напечатаем массив
a.println;
writeln('----------------');
//Просмотрим весь массив и найдя отрицательное, оканчивающееся на 7
//число, учтём его
foreach i in a do
if (i < 0) and (i mod 10 = -7) then begin
r += i; s += 1; write(i,' ')
end;
//Выведем среднее арифметическое
writeln('Ср.ар: ',r/s)
end.
Ответ:
7.A)
8.D)
Объяснение:Я изучаю программирование можете не сомневаться!
Для упрощения задачи не будем рассматривать вырожденные варианты, т.е. решаем её для случая, когда все три точки являются вершинами некоторого треугольника. Тогда эти точки и есть точки пересечения линий, на которых лежат стороны треугольника.
Воспользуемся известным уравнением прямой, проходящей через две точки с координатами (x₁;y₁) и (x₂;y₂):
Ax+By+C=0, где A=y₂-y₁, B=x₁-x₂, C=y₁x₂-x₁y₂
procedure Equation(x1,y1,x2,y2:real; var A,B,C:real);
begin
A:=y2-y1;
B:=x1-x2;
C:=y1*x2-x1*y2
end;
var
x,y,a,b,c:array[1..3] of real;
i:integer;
begin
Writeln('Введите парами чисел x,y координаты трех точек');
for i:=1 to 3 do begin
Write('Точка ',i,': '); Read(x[i],y[i])
end;
Equation(x[1],y[1],x[2],y[2],a[1],b[1],c[1]);
Equation(x[1],y[1],x[3],y[3],a[2],b[2],c[2]);
Equation(x[2],y[2],x[3],y[3],a[3],b[3],c[3]);
{ получены коэффициенты уравнений }
for i:=1 to 3 do begin
Write(a[i],'*x');
if b[i]>=0 then Write('+');
Write(b[i],'*y');
if c[i]>=0 then Write('+');
Writeln(c[i],'=0')
end
end.
<em><u>Тестовое решение:</u></em>
Введите парами чисел x,y координаты трех точек
Точка 1: 1 5
Точка 2: 5 6
Точка 3: 4 2
1*x-4*y+19=0
-3*x-3*y+18=0
-4*x+1*y+14=0
1. Клавиатура
2. Процессор
3. Монитор
4. Память
5. Мышь
6. Джойстик
7. Винчестер
8. Принтер
Слово: Компьютер