Паскаль. лабораторную доделать. неуспеваю. код рабочий, надо описать значения переменных и по возможности описать сам алгоритм. описание переменных
• a, b –
• midx, midy -
• sum -
• g -
• t -
• x, y –
• m –
• i –
• n -
• s -
описание алгоритма
1.
код программы
uses crt, graphabc;
var a, b: real;
midx, midy: integer;
g: integer;
t: real;
x, y: real;
m: real;
i: integer;
n: integer;
s: string;
begin
hidecursor;
writeln('введите a');
readln(a);
writeln('введите b');
readln(b);
clearwindow;
setwindowtitle ('кривая');
setwindowsize(500,500);
midx : = windowwidth div 2;
midy : = windowheight div 2;
if b> a then
begin
m: =(midx-30)/(2*b);
n: =trunc(2*b)+1;
end
else
begin
m: =(midx-30)/(2*a);
n: =trunc(2*a)+1;
end;
for i: =1 to n do
begin
str(i,s);
textout(midx+round(i*m)+5,midy+10,s);
textout(midx-round(i*m)+5,midy+10,'-'+s);
textout(midx-20,midy+round(i*m),s);
textout(midx-20,midy-round(i*m),'-'+s);
line(midx+round(i*m),0,midx+round(i*m),2*midy);
line(midx-round(i*m),0,midx-round(i*m),2*midy);
line(0,midy+round(i*m),2*midx,midy+round(i*m));
line(0,midy-round(i*m),2*midx,midy-round(i*m));
end;
textout(midx+4,midy+10,'0');
setpenwidth(3);
line(0, midy, windowwidth, midy);
line(midx, 0, midx, windowheight);
setpencolor(clred);
for g : = 0 to 360 do
begin
t : = g * pi / 180;
x : = midx + m*b * sqr(cos(t)) + m*a * cos(t);
y : = midy + m*b * cos(t) * sin(t) + m*a * sin(t);
if g = 0 then moveto(round(x), round(y))
else lineto(round(x), round(y));
end;
end.
using namespace std;
bool isMultiple(int n, int m);
int main() {
setlocale(LC_ALL,"Russian");
int x, p;
cout << "x = ";
cin >> x;
cout << "p = ";
cin >> p;
int check[3] = { 2, 3, p },
l = sizeof(check)/sizeof(*check);
for(size_t i = 0; i < l; ++i) {
if ( isMultiple(x, check[i]) ) {
cout << "x кратное " << check[i] << '\n';
}
else {
cout << "x не кратное " << check[i] << '\n';
}
}
return 0;
}
bool isMultiple(int n, int m) {
if (n % m == 0) {
return true;
}
else {
return false;
}
}
Насчет диапазона я не понял точно, его тебе весь дали или в форме 1-10 или каждое число
крч я пишу общее решение а ты уже подумаешь как в твоей ситуации работать
1. берешь все делители числа
что бы сделать это ты узнаешь число и делишь в цикле от 1 и дальше i++, понятное нужны только такие делители про котором остаток будет 0
т.е делаешь проверку на то что бы (% == 0)
если равно записываешь число(в массив или какт придумаешь), нет - идешь по циклу дальше
проверяешь пока i!=твоему числу (это и нормально цикл намутит и сразу исключит самое число в качестве делителя)
если цикл закончился суммируешь всё что достал и проверяешь равна ли эта сумма твоему числу, если да используешь cout а в нем начальное число если нет идешь ко второму и заново схема
для такой махинации нужен наверно будет еще 1 цикл поверх этого с проверкой на то что твое число не равно конечному в диапазоне/
Надеюсь тебе хотя бы немного.