Dim k as integer ' Объявляем глобальную переменную Sub Prog_Summa() Dim S as long, i as long S = 0 ' В переменной S накапливается сумма простых чисел for i=256 to 16384 ' цикл по всем числам, которые надо проверить k=1 ' признак простого числа Prost(i) ' В функции проверяем, что число i простое if k = 1 then S = S + i ' если i - простое, прибавляем его к S next i print S ' Выводим сумму S end sub
Function Prost(x) Dim i as long, Q as long Prost = 0 ' Значение функции пока равно 0 Q = int(sqrt(x)) ' Q=[√(x)] - предел проверки числа x на простоту for i = 2 to Q if int(x/i) = x/i then k=0 ' если х делится на i, то оно составное next i if k = 1 then Prost = x ' если x простое, то функция равна x ' Если x - составное, то функция остается равной 0 End Function
uses GraphABC; Var a,h,x,y:integer; c:char; begin writeln('Read or random? n/r'); repeat readln(c); until (c='n') or (c='r'); if c='r' then begin a:=random(200); writeln('Длина ребра=',a,', Объём=',power(a,3)); end else begin readln(a); writeln('Объём=',power(a,3)); end; x:=windowwidth div 2; y:=round(windowheight*1/3); line(x,y,x,y+a); line(x+a,y,x+a,y+a); line(x,y+a,x+a,y+a); line(x+a div 2,y+a div 2,x+a div 2+a,y+a div 2); line(x,y,x+a,y); line(x+a div 2,y+a div 2,x+a div 2,y-a div 2); line(x,y,x+a div 2, y-a div 2); line(x,y+a,x+a div 2, y+a div 2); line(x+a div 2, y-a div 2,x+a div 2+a,y-a div 2); line(x+a div 2+a, y-a div 2,x+a,y); line(x+a div 2+a,y-a div 2,x+a div 2+a,y-a div 2+a); line(x+a div 2+a, y-a div 2+a,x+a,y+a); end.
Пример ввода: n 16 Пример вывода: Объём=4096
//2
Var X,P:integer; beginwrite('X:'); readln(X); write('P:'); readln(P); if not(odd(X)) then writeln('Кратно 2'); if X mod 3=0 then writeln('Кратно 3'); if X mod P=0 then writeln('Кратно ',P); end.
Пример ввода: 18 6 Пример вывода: Кратно 2 Кратно 3 Кратно 6
Sub Prog_Summa()
Dim S as long, i as long
S = 0 ' В переменной S накапливается сумма простых чисел
for i=256 to 16384 ' цикл по всем числам, которые надо проверить
k=1 ' признак простого числа
Prost(i) ' В функции проверяем, что число i простое
if k = 1 then S = S + i ' если i - простое, прибавляем его к S
next i
print S ' Выводим сумму S
end sub
Function Prost(x)
Dim i as long, Q as long
Prost = 0 ' Значение функции пока равно 0
Q = int(sqrt(x)) ' Q=[√(x)] - предел проверки числа x на простоту
for i = 2 to Q
if int(x/i) = x/i then k=0 ' если х делится на i, то оно составное
next i
if k = 1 then Prost = x ' если x простое, то функция равна x
' Если x - составное, то функция остается равной 0
End Function
//1
uses
GraphABC;
Var
a,h,x,y:integer;
c:char;
begin
writeln('Read or random? n/r');
repeat
readln(c);
until (c='n') or (c='r');
if c='r' then
begin
a:=random(200);
writeln('Длина ребра=',a,', Объём=',power(a,3));
end
else
begin
readln(a);
writeln('Объём=',power(a,3));
end;
x:=windowwidth div 2;
y:=round(windowheight*1/3);
line(x,y,x,y+a);
line(x+a,y,x+a,y+a);
line(x,y+a,x+a,y+a);
line(x+a div 2,y+a div 2,x+a div 2+a,y+a div 2);
line(x,y,x+a,y);
line(x+a div 2,y+a div 2,x+a div 2,y-a div 2);
line(x,y,x+a div 2, y-a div 2);
line(x,y+a,x+a div 2, y+a div 2);
line(x+a div 2, y-a div 2,x+a div 2+a,y-a div 2);
line(x+a div 2+a, y-a div 2,x+a,y);
line(x+a div 2+a,y-a div 2,x+a div 2+a,y-a div 2+a);
line(x+a div 2+a, y-a div 2+a,x+a,y+a);
end.
Пример ввода:
n
16
Пример вывода:
Объём=4096
//2
Var
X,P:integer;
beginwrite('X:');
readln(X);
write('P:');
readln(P);
if not(odd(X)) then writeln('Кратно 2');
if X mod 3=0 then writeln('Кратно 3');
if X mod P=0 then writeln('Кратно ',P);
end.
Пример ввода:
18
6
Пример вывода:
Кратно 2
Кратно 3
Кратно 6