Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде
линии. Чертёжник может выполнять команду сместиться на (а, b), где а, b – целые числа. Эта
команда перемещает Чертёжника из точки с координатами (х, у) в точку с координатами (х + а, у +
b). Например, если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на
(2, -3) переместит Чертёжника в точку (6, -1).
ПОВТОРИ число РАЗ
последовательность команд
КОНЕЦ ПОВТОРИ
означает, что последовательность команд будет выполнена указанное число раз (число должно
быть натуральным).
Чертёжнику был дан для исполнения следующий алгоритм (число повторений и величины
смещения в первой из повторяемых команд неизвестны):
НАЧАЛО
сместиться на (10, -5)
ПОВТОРИ ...РАЗ
сместиться на (..., ...)
сместиться на (-12, 12)
КОНЕЦ ПОВТОРИ
сместиться на (-28, 8)
КОНЕЦ
В результате выполнения этого алгоритма Чертёжник возвращается в исходную точку. Какое
наибольшее число повторений могло быть указано в конструкции «ПОВТОРИ ... РАЗ»?
ответ:.
i, j, n, kolPol, kolOtr, sum, p, ch, k :integer;
a :array of integer;
begin
readln(n);
SetLength(a,n+1);
randomize;
for i:= 1 to n do
a[i]:= random(100)-50;
sum:= 0; p:= 1;
for i:= 1 to n do
begin
if a[i] > 0 then
begin
inc(kolPol);
sum:= sum + a[i];
end;
if a[i] > 0 then
begin
inc(kolOtr);
p:= p * a[i];
end;
end;
writeln('Количество положительных элементов: ',kolPol);
writeln('Сумма положительных элементов: ',sum);
writeln('Количество отрицательных элементов: ',kolOtr);
writeln('Произведение отрицательных элементов: ',p);
i:= 1; p:= 1; ch:= 0;
while (a[i] >= 0) and (i <> n+1) do
begin
p:= p * a[i];
inc(ch);
inc(i);
end;
if ch <> 0 then
writeln('Произведение до первого отрицательного элемента: ',p)
else
writeln('Первый элемент массива отрицательный!');
for i:= 1 to n-1 do
for j:= 1 to n-i do
if a[j] > a[j+1] then
begin
k:= a[j];
a[j]:= a[j+1];
a[j+1]:= k;
end;
writeln('Массив отсортирован по возрастанию:');
for i:= 1 to n do
write(a[i],' ');
end.
#include <math.h>
using namespace std;
int main()
{
float a,b,c;
int d;
float x1, x2;
cout << "ax^2+bx+c=0" << endl;
cout << "Input a:" << endl;
cin >> a;
cout << "Input b:" << endl;
cin >> b;
cout << "Input c:" << endl;
cin >> c;
d= sqrt(b*b-4*a*c);
x1=((-1)*b+d)/(2*a);
x2=((-1)*b-d)/(2*a);
cout << "x1=" << x1 << endl;
cout << "x2=" << x2 << endl;
return 0;
}
Но есть корень из дискриминанта нормально не получится - оно не напишет тебе + √13 допустим, он посчитает корни приблизительно.