Задача 8.1.1. Определите, что будет напечатано в результате выполнения программы, записанной ниже на разных языках программирования.
Бейсик |
Python |
DIM N, S AS INTEGER N = 1 S = 0 WHILE N <= 1000 S = S + 30 N = N * 2 WEND PRINT S |
n = 1 s = 0 while n <= 1000: s = s + 30 n = n * 2 print(s) |
Паскаль |
Алгоритмический язык |
var n, s: integer; begin n := 1; s := 0; while n <= 1000 do begin s := s + 30; n := n * 2 end; write(s) end. |
алг нач цел n, s n := 1 s := 0 нц пока n <= 1000 s := s + 30 n := n * 2 кц вывод s кон |
Си++ |
|
#include <iostream> using namespace std; int main() { int n, s; n = 1; s = 0; while (n <= 1000) { s = s + 30; n = n * 2; } cout « s « endl; } |
Задача 8.1.2. Определите, что будет напечатано в результате работы следующего фрагмента программы:
Бейсик |
Python |
DIM K, S AS INTEGER S = 0 K = 1 WHILE S < 1000 K = K + 3 S = S + K WEND PRINT K |
s = 0 k = 1 while s < 1000: k += 3 s += k print(k) |
Паскаль |
Алгоритмический язык |
var k, s: integer; begin s:=0; k:=1; while s < 66 do begin k:=k+3; s:=s+k; end; write(k); end. |
алг нач цел k, s s := 0 k := 1 нц пока s < 66 k := k + 3 s := s + k кц вывод k кон |
Си++ |
|
#include <iostream> using namespace std; int main() { int s, k; s = 0, k = 1; while (s < 1000) { k = k + 3; s = s + k; } cout << k << endl; return 0; } |
Задача 8.1.3. Определите, что будет напечатано в результате работы следующего фрагмента программы:
Бейсик |
Python |
DIM K, S AS INTEGER S = 0 K = 1 WHILE S < 1000 K = K * 3 S = S + K WEND PRINT K |
s = 0 k = 1 while s < 1000: k *= 3 s += k print(k) |
Паскаль |
Алгоритмический язык |
var k, s: integer; begin s:=0; k:=1; while s < 66 do begin k:=k*3; s:=s+k; end; write(k); end. |
алг нач цел k, s s := 0 k := 1 нц пока s < 66 k := k * 3 s := s + k кц вывод k кон |
Си++ |
|
#include <iostream> using namespace std; int main() { int s, k; s = 0, k = 1; while (s < 1000) { k = k * 3; s = s + k; } cout << k << endl; return 0; } |
Задача 8.1.4. Определите, что будет напечатано в результате работы следующего фрагмента программы:
Бейсик |
Python |
DIM K, S AS INTEGER S = 1 K = 0 WHILE S < 1000 K = K + 1 S = S * K WEND PRINT K |
s = 1 k = 0 while s < 1000: k += 1 s *= k print(k) |
Паскаль |
Алгоритмический язык |
var k, s: integer; begin s:=1; k:=0; while s < 1000 do begin k:=k+1; s:=s*k; end; write(k); end. |
алг нач цел k, s s := 1 k := 0 нц пока s < 1000 k := k + 1 s := s * k кц вывод k кон |
Си++ |
|
#include <iostream> using namespace std; int main() { int s, k; s = 1, k = 0; while (s < 1000) { k = k + 1; s = s * k; } cout << k << endl; return 0; } |
Задача 8.1.5. Определите, что будет напечатано в результате работы следующего фрагмента программы:
Бейсик |
Python |
DIM K, S, p AS INTEGER P = 1 S = 0 K = 0 WHILE S < 100 K = K + 1 P = P * K S = S + P WEND PRINT s |
s = 0 k = 0 p = 1 while s < 100: k += 1 p *= k s += p print(s) |
Паскаль |
Алгоритмический язык |
var k, s: integer; begin s:=0; p:=1; k:=0; while s < 100 do begin k:=k+1; p:=p*k; s:=s+p; end; write(s); end. |
алг нач цел k, s s := 0 k := 0 p := 1 нц пока s < 100 k := k + 1 p := p * k s := s + p кц вывод s кон |
Си++ |
|
#include <iostream> using namespace std; int main() { int s, k, p; s = 0, p = 1, k=0; while (s < 100) { k = k + 1; p = p * k; s = s + p; } cout << s << endl; return 0; } |
Задача 8.1.6. Определите, что будет напечатано в результате работы следующего фрагмента программы:
Бейсик |
Python |
DIM a, b, c, i AS INTEGER a = 1 b = 1 c = 1 i = 2 WHILE i < 10 i = i + 1 a = b + c c = b b = a WEND PRINT a |
a = 1 b = 1 c = 1 i = 2 while i < 10: i += 1 a = b + c c = b b = a print(a) |
Паскаль |
Алгоритмический язык |
var a, b, c, i: integer; begin a := 1 b := 1 c := 1 i := 2 while i < 10 do begin i := i + 1 a := b + c c := b b := a end; write(a); end. |
алг нач цел a, b, c, i a := 1 b := 1 c := 1 i := 2 нц пока i < 10 i := i + 1 a := b + c c := b b := a кц вывод a кон |
Си++ |
|
#include <iostream> using namespace std; int main() { int a, b, c, i; a = 1; b = 1; c = 1; i = 2; while (i < 10) { i = i + 1; a = b + c; c = b; b = a; } cout << a << endl; return 0; } |
Задача 8.1.7. Значения элементов массива A[1..10] задаются с помощью следующего фрагмента программы:
Бейсик |
Паскаль |
A(1) = 1 A(2) = 1 FOR i= 3 TO 10 A(i)=A(i-1)+A(i-2) NEXT i |
A[1]:=1; A[2]:=1; for i:=3 to 10 do A[i] := A[i-1]+A[i-2]; |
Си++ |
Алгоритмический язык |
A[1]=1; A[2]=1; for (i=3;i<=10;i++) { A[i] = A[i-1]+A[i-2]; } |
A[1]:=1 A[2]:=1 нц для i от 3 до 10 A[i] := A[i-1]+A[i-2] кц кц |
Python |
|
A[1]=1 A[2]=1 for i in range(3, 11): A[i] = A[i-1]+A[i-2] |
Чему равно значение А[10] после выполнения фрагмента программы?
Задача 8.1.8. Массив А заполнен одними нулями. Далее значения элементов массива A[1..10] задаются с помощью следующего фрагмента программы:
Бейсик |
Паскаль |
A(1) = 1 FOR i= 1 TO 9 A(i+1)=A(i+1)+A(i) A(i+2)=A(i+2)+A(i) NEXT i |
A[1]:=1; for i:=1 to 9 do begin A[i+1] := A[i+1]+A[i]; A[i+2] := A[i+2]+A[i]; end; |
Си++ |
Алгоритмический язык |
A[1]=1; for (i=1;i<=9;i++) { A[i+1] = A[i+1]+A[i]; A[i+2] = A[i+2]+A[i];
} |
A[1]:=1 нц для i от 1 до 9 A[i+1] := A[i+1]+A[i] A[i+2] := A[i+2]+A[i] кц кц |
Python |
|
A[1]=1 for i in range(1, 10): A[i+1] = A[i+1]+A[i] A[i+2] = A[i+2]+A[i] |
Чему равно значение А[10] после выполнения фрагмента программы?
Задача 8.1.9. Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы, обрабатывающей одномерный целочисленный массив с индексами от 0 до 10.
Бейсик |
Python |
s = 27 n = 10 FOR i = 0 TO n-1 s = s+A(i)-A(i+1)+2 NEXT i |
s = 27 n = 10 for i in range(0,n): s = s + A[i] - A[i+1]+2 |
Алгоритмический язык |
Паскаль |
s := 27 n := 10 нц для i от 0 до n-1 s:=s+A[i]-A[i+1]+2 кц |
s := 27; n := 10; for i:=0 to n-1 do begin s:=s+A[i]-A[i+1]+2 end; |
Си++ |
|
s = 27; n = 10; for (i = 0; i <= n-1; i++) { s=s+A[i]-A[i+1]+2; } |
Известно, что в начале выполнения этого фрагмента в массиве находилась возрастающая последовательность чисел, то есть A[0] < A[1] < … < A[10].
Какое наибольшее значение может иметь переменная s после выполнения данной программы?
Задача 8.1.10. Значения элементов двумерного массива A[1..100,1..100] задаются с помощью следующего фрагмента программы:
Бейсик |
Паскаль |
FOR i= 1 TO 100 FOR k=1 TO 100 IF i > k THEN A(i,k) = i ELSE A(i,k) = -k NEXT k NEXT i |
for i:=1 to 100 do for k:=1 to 100 do if i > k then A[i,k] := i else A[i,k] := -k; |
Си++ |
Алгоритмический язык |
for (i=1;i<=100;i++) { for (k=1;k<=100;k++) { if (i > k) { A[i,k] = i; } else A[i,k] = -k; } } |
нц для i от 1 до 100 нц для k от 1 до 100 если i > k то A[i,k] := i иначе A[i,k] := -k кц кц |
Python |
|
for i in range(1, 101): for k in range(1, 101): if i > k: A[i][k] = i else: A[i][k] = -k |
Задача 8.1.11. Массив А заполнен следующими значениями, как показано в таблице:
Индекс i |
0 |
1 |
2 |
3 |
4 |
5 |
А[i] |
1 |
3 |
5 |
0 |
4 |
2 |
Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы, обрабатывающей этот массив.
Бейсик |
Python |
j=0 FOR i = 1 TO 100 j=a[j] NEXT i |
j=0 for i in range(1,101): j=a[j] |
Алгоритмический язык |
Паскаль |
j=0 нц для i от 1 до 100 j=a[j] кц |
j=0; for i:=1 to 100 do begin j=a[j]; end; |
Си++ |
|
j = 0; for (i = 1; i <= 100; i++) { j=a[j]; } |
Чему равно значение j после выполнения фрагмента программы?
Задача 8.1.12. Массив А заполнен следующими значениями, как показано в табличке:
Индекс i |
0 |
1 |
2 |
3 |
4 |
5 |
А[i] |
1 |
3 |
5 |
0 |
4 |
2 |
Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы, обрабатывающей этот массив.
Бейсик |
Python |
j=0 FOR i = 1 TO 100 j=a[a[a[j]]] NEXT i |
j=0 for i in range(1,101): j=a[a[a[j]]] |
Алгоритмический язык |
Паскаль |
j=0 нц для i от 1 до 100 j=a[a[a[j]]] кц |
j=0; for i:=1 to 100 do begin j=a[a[a[j]]]; end; |
Си++ |
|
j = 0; for (i = 1; i <= 100; i++) { j=a[a[a[j]]]; } |
Чему равно значение j после выполнения фрагмента программы?