Решить в тетради задачи:
1. При каком наибольшем введенном числе d после выполнения программы будет напечатано 46?
Паскаль |
Python |
|
var n, s, d: integer;
begin
readln(d);
n := 8;
s := 78;
while s <= 1200 do
begin
s := s + d;
n := n + 2
end;
write(n)
end. |
d = int(input())
n = 8
s = 78
while s <= 1200:
s = s + d
n = n + 2
print(n)
|
|
2. В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 7; 3; 4; 8; 6; 9; 5; 2; 0; 1 соответственно, т.е. A[0]=7; A[1]=3 и т. д. Определите значение переменной j после выполнения следующего фрагмента программы, записанного ниже на разных языках программирования.
Паскаль |
Python |
Си |
j := 0;
for k := 1 to 9 do
begin
if A[k] <= A[1] then begin A[1] := A[k];
j := j + k
end
end;
|
j = 0;
for k in range(1,10):
if A[k] <= A[1]:
A[1] = A[k]
j = j + k
|
j = 0;
for (k = 1; k<= 9; k++)
{
if (A[k] <= A[1])
{
A[1] = A[k];
j = j + k;
}
}
|
3. Ниже записан алгоритм. Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите наименьшее такое (т.е. большее 100) число x, при вводе которого алгоритм печатает 30.
Паскаль |
Python |
Си |
var x, L, M: integer;
begin
readln(x);
L := x - 30;
M := x + 30;
while L <> M do
if L > M then
L := L - M
else
M := M – L;
writeln(M);
end.
|
x = int(input())
L = x - 30
M = x + 30
while L != M:
if L > M:
L = L - M
else:
M = M - L
print(M)
|
#include
<stdio.h>
void main()
{ int x, L, M;
scanf("%d", &x);
L = x - 30;
M = x + 30;
while (L != M)
{ if(L > M)
L = L - M;
else
M = M - L; }
printf("%d", M); }
|
4. Определите, количество чисел K, для которых следующая программа выведет такой же результат, что и для k = 24?
Паскаль |
Python |
Си |
var k, i : longint;
function f(x: longint): longint;
begin
f:= x * x * x;
end;
begin
readln(k);
i := 12;
while (i>0) and (f(i)>k) do
i := i - 1;
writeln(i)
end.
|
def f(x):
return x * x * x
k = int(input())
i = 12
while ( i>0 and f(i)>k ):
i -= 1
print(i)
|
#include
<stdio.h>
long f(long x)
{ return x * x * x;
}
int main()
{ long k, i;
scanf("%ld", &k);
i = 12;
while ( i>0 && f(i)>k ) i--;
printf("%ld", i);
return 0; }
|
|