Fokus123123
30.12.2022 18:44

. Нужно разработать программу на языке TurboPascal, которая вычесляет математическое выражение. Переменные a и b задаются пользователем. ​


. Нужно разработать программу на языке TurboPascal, которая вычесляет математическое выражение. Пере

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
шуберт678
24.03.2022 04:13

ответ:

uses graphabc;

var xx,yy,u: integer;

procedure growl(x,y,r: integer);

var i: byte;

begin

for i: =1 to r do

    begin

    circle(x,y,i);

    sleep(5);

    end;

end;

procedure growr(x,y: integer);

var i: byte;

begin

for i: =1 to 20 do

    begin

    ellipse(x-5,y-(i),x-(i*3),y+(i));

    ellipse(x+5,y-(i),x+(i*3),y+(i));

    ellipse(x-(i),y-5,x+(i),y-(i*3));

    ellipse(x-(i),y+5,x+(i),y+(i*3));

    sleep(3);

    end;

end;

procedure fall;

var r,prer,i: byte;

    x,y: integer;

begin

for i: =1 to 10 do

    begin

x: =random(160)-80+windowwidth div 2;

prer: =0;

r: =random(10)+10;

for y: =80+windowheight div 2 to windowheight+30 do

    begin

    setpencolor(clwhite);

    circle(x,y-1,prer);

    setpencolor(clblack);

    circle(x,y,r);

    prer: =r;

    sleep(3);

    end;

    end;

end;

procedure growd (x,y: integer);

var i: byte;

begin

for i: =20 downto 5 do

    begin

    clearwindow;

    setbrushcolor(clgreen);

    ellipse(x-5,y-(20),x-(60),y+(20));

    ellipse(x+5,y-(20),x+(60),y+(20));

    ellipse(x-(20),y-5,x+(20),y-(60));

    ellipse(x-(20),y+5,x+(20),y+(60));

    setbrushcolor(rgb(255,255-((20-i)*10),255-((20-i)*;

    circle(x-i,y-i,i);

    circle(x+i,y-i,i);

    circle(x+i,y+i,i);

    circle(x-i,y+i,i);

    sleep(5);

    end;

end;

var j: integer;

begin

repeat

setbrushcolor(clgreen);

growr(windowwidth div 2,windowheight div 2);

setbrushcolor(clwhite);

for j: =1 to 360 do

    if j mod 10=0 then

    begin

        xx: =round(windowwidth div 2+20*cos(pi*(u+(j*10))/180));

        yy: =round(windowheight div 2+20*sin(pi*(u+(j*10))/180));

    growl(xx,-j) div 10));

    end;

sleep(100);

fall;

growd (windowwidth div 2,windowheight div 2);

sleep(100);

until false;

end.

объяснение:

0,0(0 оценок)
Ответ:
ketgalyschko
21.01.2021 13:19

Лично я подобные задачки решаю на компьютере. Тут требуется элементарная по простоте программка.

Например на бейсике она может выглядеть так:

s = 0

For x = 100 To 999

s = s + x

Next x

Print s

Если её запустить, получается результат: 494550.

Стал я смотреть дальше на закономерности, учитывая ручной сложения по два.

И пришёл к интересным выводам.

Если наш диапазон чисел 900. Это числа: 100,101,...,999. Всего их 900. (999-100+1=900 )

Это 899 чисел (от 101 до 999) и 900 - е число - это число 100.

То если решать методом сумм по 2, то нужно 450 сложений.

Число 450 получается из числа 900: 900/2=450.

Теперь получается интересный эффект.

Если попробовать поделить полученный результат 494550 на наше число 450, то получается число 1099.

А что такое число 1099?

Это сумма чисел из нашего условия: 100+999=1099.

Получается, зная это с самого начала, не нужно было бы делать 450 сложений.

Нужно просто перемножить 450 на 1099 и получишь 494550.

Получается вот такая формула для решения данной задачки:

Summa =(100+999)*(999-100+1)/2=1099*450=494550.

Не знаю, насколько годится данная формула для решения других задачек (особенно для нечётного диапазона чисел), это ещё надо проверять, но результат получился интересный.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота