mirogall
?>

Объясните решение этой var n, s: integer; begin n : = 0; s : = 0; while s < = 60 do begin n : = n + 2; s : = s + 5; end; write(n) end.

Информатика

Ответы

zakaz1

после цикла выводим переменную n, она ровна 26

Объяснение:

Данный цикл довольно сложен для новичка, прикол в том что цикл будет идти пока переменная s не будет ровна 60

при этом с каждой итерацией цикла к переменной s прибавляется 5

dmitzu8594

скрин

Объяснение:

7.

пока условие i <= 6 истинное (да) цикл выполняет действия:

S = S + i

i = i + 1

когда условие i <= 6 становится ложным (нет) цикл прекращается

S = 0     i = 0

i <= 6 (0 <= 6, да)

S = 0 + 0 = 0

i = 0 + 1 = 1

S = 0     i = 1

i <= 6 (1 <= 6, да)

S = 0 + 1 = 1

i = 1 + 1 = 2

S = 1     i = 2

i <= 6 (2 <= 6, да)

S = 1 + 2 = 3

i = 2 + 1 = 3

S = 3     i = 3

i <= 6 (3 <= 6, да)

S = 3 + 3 = 6

i = 3 + 1 = 4

S = 6     i = 4

i <= 6 (4 <= 6, да)

S = 6 + 4 = 10

i = 4 + 1 = 5

S = 10     i = 5

i <= 6 (5 <= 6, да)

S = 10 + 5 = 15

i = 5 + 1 = 6

S = 15     i = 6

i <= 6 (6 <= 6, да)

S = 15 + 6 = 21

i = 6 + 1 = 7

S = 21     i = 7

i <= 6 (7 <= 6, нет) - цикл прекращается

8.

цикл выполняет действия:

P = P * i

i = i + 2 (шаг равен 2 по условию)

пока условие i <= n истинное (да)

когда условие i <= n становится ложным (нет) цикл прекращается

n = 5     i = 1     P = 1

P = 1 * 1 = 1

i = 1 + 2 = 3

i <= n (3 <= 5 да)

n = 5     i = 3     P = 1

P = 1 * 3 = 3

i = 3 + 2 = 5

i <= n (5 <= 5 да)

n = 5     i = 5     P = 3

P = 3 * 5 = 15

i = 5 + 2 = 7

i <= n (7 <= 5 нет) - цикл прекращается

n = 5     i = 7     P = 15


7. Заполните трассировочную таблицу8. Заполните трассировочную таблицу, если шаг равен 2
moscow053988

Ах ты ж мелкий, сам КБО написать не можешь?) - это приговор.

Объяснение:

#include <bits/stdc++.h>

 

using namespace std;

 

int cnt[30], kol;

 

string s;

 

bool check (int mid) {

 int x[30]{}, y = 0;

 for (int i = 0; i < mid; i++) {

   x[s[i] - 'a' + 1]++;

   if (x[s[i] - 'a' + 1] == 1)

     y++;

 }

 int l, r = mid - 1;

 for (l = 0; r < s.size();) {

   if (y == kol)

     return true;

   if (x[s[l] - 'a' + 1] == 1)

     y--;

   x[s[l] - 'a' + 1]--;

   l++;

   r++;

   if (x[s[r] - 'a' + 1] == 0)

     y++;

   x[s[r] - 'a' + 1]++;

 }

 return false;

}

 

int main()

{

 ios::sync_with_stdio(0);

 cin.tie(0);

 cin >> s;

 for (auto it : s)

   cnt[it - 'a' + 1]++;

 for (int i = 1; i <= 26; i++) {

   if (cnt[i] > 0)

     kol++;

 }

 int l = 0, r = s.size();

 while (r - l > 1) {

   int mid = l + (r - l) / 2;

   if (check (mid))

     r = mid;

   else

     l = mid;

 }

 cout << r;

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Объясните решение этой var n, s: integer; begin n : = 0; s : = 0; while s < = 60 do begin n : = n + 2; s : = s + 5; end; write(n) end.
Ваше имя (никнейм)*
Email*
Комментарий*