УМК ШКОЛА



/// Запишите число, которое будет напечатано в результате выполнения
ОГЭ ЕГЭ - РЕШЕНИЯ ЗАДАНИЙ > ** Программирование и алгоритмизация > /// Запишите число, которое будет напечатано в результате выполнения
 

Страницы:

Задания - решение
№ 5 Ниже на пяти языках программирования записан рекурсивный алгоритм F.

Бейсик

SUB F(n)
IF n > 2 THEN
PRINT n,
F(n - 1)
F(n \ 2)
END IF
END SUB

Python

def F(n):
if n > 2:
print(n)
F(n - 1)
F(n // 2)

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

алг F(цел n)
нач
если n > 2 то
вывод n
F(n - 1)
F(div(n, 2))
все
кон

Паскаль

procedure F(n: integer);
begin
if n > 2 then
begin
write(n);
F(n - 1);
F(n div 2)
end
end;

С++

void F(int n){
if (n > 2){
std::cout << n;
F(n - 1);
F(n / 2);
}
}

Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(7). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

№ 6 Определите, при каком наименьшем введённом значении переменной s программа выведет число 64. Для Вашего удобства программа представлена на четырёх языках программирования.

Паскаль

var s, n: integer;
begin
readln(s);
s := (s – 21) div 10;
n := 1;
while s >= 0 do
begin
n := n * 2;
s := s - n;
end;
writeln(n)
end.

Python

s = int(input())
s = (s – 21) // 10
n = 1
while s >= 0:
n = n * 2
s = s - n
print(n)

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

алг
нач
цел n, s
ввод s
s := div((s – 21), 10)
n := 1
нц пока s >= 0
n := n * 2
s := s - n
кц
вывод n
кон

С++

#include <iostream>
using namespace std;
int main()
{
int s, n;
cin >> s;
s = (s – 21) / 10;
n = 1;
while (s >= 0)
{n = n * 2; s = s - n;}
cout << n << endl;
return 0;
}

№ 7 Ниже на пяти языках программирования записаны две рекурсивные функции (процедуры): F и G.

Бейсик

DECLARE SUB F(n)
DECLARE SUB G(n)
SUB F(n)
IF n > 0 THEN G(n - 1)
END SUB

SUB G(n)
PRINT "*"
IF n > 1 THEN F(n - 3)
END SUB

Python

def F(n):
if n > 0:
G(n - 1)

def G(n):
print("*")
if n > 1:
F(n - 3)

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

алг F(цел n)
нач
если n > 0 то
G(n - 1)
все
кон

алг G(цел n)
нач
вывод "*"
если n > 1 то
F(n - 3)
все
кон


Паскаль

procedure F(n: integer); forward;
procedure G(n: integer); forward;

procedure F(n: integer);
begin
if n > 0 then
G(n - 1);
end;

procedure G(n: integer);
begin
writeln('*');
if n > 1 then
F(n - 3);
end;

Си

void F(int n);
void G(int n);

void F(int n){
if (n > 0)
G(n - 1);
}

void G(int n){
printf("*");
if (n > 1)
F(n - 3);
}

Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(18)?

№ 8 Определите, при каком наибольшем введённом значении переменной s программа выведет число 64. Для Вашего удобства программа представлена на четырёх языках программирования.

Паскаль

var s, n: integer;
begin
readln(s);
n := 1;
while s < 47 do
begin
s := s + 4;
n := n * 2
end;
writeln(n)
end.

Python

s = int(input())
n = 1
while s < 47:
s = s + 4
n = n * 2
print(n)

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

алг
нач
цел n, s
ввод s
n := 1
нц пока s < 47
s := s + 4
n := n * 2
кц
вывод n
кон

С++

#include <iostream>
using namespace std;

int main()
{ int s, n;
cin >> s;
n = 1;
while (s < 47) { s = s + 4; n = n * 2; }
cout << n << endl;
return 0;
}


Страницы:
 
Перейти на другой форум:



Логин: Пароль: Забыли пароль?Регистрация
Сайт сделан на SiNG cms © 2010-2020