Uses graphabc;
procedure vvod(var a,b: integer);
begin
writeln('Введите ширину отступа');
read(a);
writeln('Введите ');
read(b);
end;
procedure squares(r,nachdl: integer);
var x1,y1,x2,y2: integer;
begin
y1:=0;
x1:=0;
x2:=nachdl;
y2:=nachdl;
while x2<windowheight do
begin
drawrectangle(x1,y1,x2,y2);
x2:=x2+r;
y2:=y2+r;
nachdl:=nachdl+r;
end;
end;
var
r,nachdl: integer;
begin
vvod(r,nachdl);
squares(r,nachdl);
<span>end.</span>
<em>// PascalABC.NET 3.2, сборка 1417 от 28.03.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
var se:=a.Where((x,i)->i.IsOdd).Sum;
var pn:=a.Where(x->x<0).Aggregate(BigInteger(1),(p,q)->p*q);
var ko:=a.Where(x->x.IsOdd).Count;
Writeln('Сумма элементов с четными номерами: ',se);
Writeln('Произведение отрицательных элементов: ',pn);
Writeln('Количество нечетных элементов: ',ko)
end.
<u>Пример</u>
n= 17
7 -60 -7 -96 -14 97 7 -68 -89 -87 -50 49 77 -52 -36 -15 99
Сумма элементов с четными номерами: -232
Произведение отрицательных элементов: -417286023598080000
Количество нечетных элементов: 10
begin
var a:=ReadArrInteger('Вводите:',ReadInteger('n='));
a.Println;
a.Transform(x->x<0?abs(x):x>0?x*x:x); a.Println
end.
<u>Пример</u>
n= 17
Вводите: 7 -60 -7 -96 -14 97 7 -68 -89 -87 -50 49 77 -52 -36 -15 99
7 -60 -7 -96 -14 97 7 -68 -89 -87 -50 49 77 -52 -36 -15 99
49 60 7 96 14 9409 49 68 89 87 50 2401 5929 52 36 15 9801
begin
var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
var im:=a.IndexMax;
swap(a[0],a[im]); a.Println;
end.
<u>Пример</u>
n= 16
-73 -46 76 92 -57 -57 81 -96 -92 18 -76 89 13 -83 69 56
92 -46 76 -73 -57 -57 81 -96 -92 18 -76 89 13 -83 69 56
Я бы посоветовал:
1) Если Delphi 7, то могут быть проблемы с русскими наименованиями таблиц/столбцов в БД (у самого так было).
2) Я бы по другому запрос написал, примерно так:
SELECT * FROM infa WHERE familia >= +QuotedStr(help2) (в конце уже не помню как там в делфи надо, чтоб переменную в запрос добавить)
Надеюсь помог, удачи.
//прога на Pascal`e
var
n, sum: int64;
begin
write ('Введите число n: ');
readln (n);
n:=abs (n);
sum:=1;
while n>0 do
begin
sum:=sum*(n mod 10);
n:=n div 10;
end;
write ('Произведение цифр числа n: ', sum);
end.