Задания
Версия для печати и копирования в MS Word
Тип Д18 № 806
i

Опре­де­ли­те зна­че­ние пе­ре­мен­ной с после вы­пол­не­ния сле­ду­ю­ще­го фраг­мен­та про­грам­мы:

 

Бэй­сикПас­каль

a = 6*12 + 3

b = a \ 10 + 5

a = b MOD 10 + 1

c = a*a + b*b – a / 2 * b

a := 6*12 + 3;

b := a div 10 + 5;

a := b mod 10 + 1;

c := a*a + b*b – a / 2 * b;

Си++Ал­го­рит­ми­че­ский язык

a = 6*12 + 3;

b = a / 10 + 5;

a = b % 10 + 1;

c = a*a + b*b – a / 2.0 * b;

a := 6*12 + 3

b := div(a, 10) + 5

a := mod(b, 10) + 1

c := a*a + b*b – a / 2 * b

Python

a = 6*12 + 3

b = a // 10 + 5

a = b % 10 + 1

c = a*a + b*b – a / 2 * b

Спрятать решение

Ре­ше­ние.

При вы­пол­не­нии про­грам­мы не­об­хо­ди­мо пом­нить, что при­о­ри­тет дей­ствий таков: сна­ча­ла вы­пол­ня­ют­ся дей­ствия в скоб­ках, затем воз­ве­де­ние в сте­пень, после умно­же­ние и де­ле­ние, а при­о­ри­тет сло­же­ния и вы­чи­та­ния самый низ­кий. Таким об­ра­зом, сле­ду­ет от­ли­чать за­пись 2*a/3*b от 2*a/(3*b). В пер­вом слу­чае сна­ча­ла двой­ка умно­жа­ет­ся на a, затем ре­зуль­тат де­лит­ся на 3, после чего про­ис­хо­дит умно­же­ние на пе­ре­мен­ную b. Во вто­ром слу­чае сна­ча­ла 3 умно­жа­ет­ся на b, затем 2 умно­жа­ет­ся на a и ре­зуль­тат де­лит­ся на про­из­ве­де­ние 3*b.

 

Опе­ра­ция div делит число с от­бра­сы­ва­ни­ем остат­ка.

Опе­ра­ция mod остав­ля­ет толь­ко оста­ток от де­ле­ния числа.

 

a := 6*12 + 3 = 72 + 3 = 75;

b := a div 10 + 5 = 7 + 5 = 12;

a := b mod 10 + 1 = 2 + 1 = 3;

c := a*a + b*b – a / 2 * b = 9 + 144 - 18 = 135;