Вниманию тех, кто знает Паскаль (АВС): 4. Задан массив Х [ 1 ... N ] . Какое условие надо поставить вместо многоточия, чтобы найти в переменной S сумму элементов массива, десятичная запись которых заканчивается на 4?
S : = 0;
for k : = 1 to N do begin
if then
S : = S + X [ k ]
end ;
5. Задан тот же массив. Какое условие надо поставить вместо многоточия, чтобы найти в переменной S количество чётных элементов массива?
S : = 0 ;
for k : = 1 to N do begin
if then
S : = S + 1
end ;
6. Задан тот же массив. Какое условие надо поставить вместо многоточия, чтобы найти в переменной S количество элементов массива, делящихся на 3?
S : = 0 ;
for k : = 1 to N begin
if then
S : = S + 1
end ;
function ris(x,y,r,n:integer):integer;
begin
if n=0 then ris:=0
else
begin
circle(x,y,r);
dec(n);
ris:=ris(x+round((r-r/3)*cos(pi/3)),y-round((r-r/3)*sin(pi/3)),r div 3,n); ris:=ris(x+round((r-r/3)*cos(2*pi/3)),y-round((r-r/3)*sin(2*pi/3)),r div 3,n); ris:=ris(x+round((r-r/3)*cos(pi)),y-round((r-r/3)*sin(pi)),r div 3,n)
ris:=ris(x+round((r-r/3)*cos(4*pi/3)),y-round((r-r/3)*sin(4*pi/3)),r div 3,n); ris:=ris(x+round((r-r/3)*cos(5*pi/3)),y-round((r-r/3)*sin(5*pi/3)),r div 3,n); ris:=ris(x+round((r-r/3)*cos(2*pi)),y-round((r-r/3)*sin(2*pi)),r div 3,n);
end
end;
var x,y:integer;
begin
x:=windowwidth div 2;
y:=windowheight div 2;
ris(x,y,200,5);
end.
1. 20.To(35).Print(Chr(10));
2. 10.To(ReadInteger).Select(x -> x*x).Print(Chr(10));
3. ReadInteger.To(50).Select(x -> x*x*x).Print(Chr(10));
4. ReadInteger.To(ReadInteger).Print(Chr(10));
a.to(b) возвращает последовательность чисел от a до b, Select позволяет получить новую последовательность из старой (например, x -> x*x из x делает x в квадрате, то есть это функция, возводящая число в квадрат), Print(delim) выводит элементы последовательности с разделителем delim, chr(10) - символ перевода строки.