алинагг
19.12.2021 11:44

Завтра сдавать.
Нужен только ( 2 и 4 номер)
Решение.


Завтра сдавать. Нужен только ( 2 и 4 номер) Решение.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
zvarichevgenija
09.12.2022 01:51
Предлагается хранить типы блоков в массиве. Каждый элемент - 2Б, количество элементов - 2^20 => всего требуется 2МБ.

При перезаписи блока и очередной переоценке необходимо учитывать типы данных в блоке до перезаписи (T0), после перезаписи (T1) и в соседних блоках (TL, TR).

Если T0 = T1, то количество кусков данных не изменяется, т.е. W[i+1] = W[i]
TL = T0 = TR <> T1 -> W[i+1] = W[i] + 2
TL = T1 = TR <> T0 -> W[i+1] = W[i] - 2
TL = TR, T0 <> TL, T1 <> TL -> W[i+1] = W[i]

Далее рассмотрим случаи, когда TL <> TR
(TL = T0, TR = T1) или (TR = T0, TL = T1) -> W[i+1] = W[i]
(TL = T0, TR <> T1) или (TR = T0, TL <> T1) -> W[i+1] = W[i] + 1
(TL = T1, TR <> T0) или (TR = T1, TL <> T0) - > W[i+1] = W[i] - 1

Если все четыре типа не совпадают, то W[i+1] = W[i]
Если перезаписывается блок с адресом 0, считать, что тип TL не совпадает ни с одним из трех других.Аналогично при перезаписи блока с адресом , но для TR.

Вроде все?
0,0(0 оценок)
Ответ:
esedova61p0apim
03.06.2023 07:33

ответ на 1 задачу

Алгоритм выглядит таким образом:

ввести x, y;

если x>y то

s:=(x*y)*2;

иначе

s:=(x+y)/2;

вывод s

конец. (блок-схема прилагается в скриншоте 1)

На паскале выглядит примерно так:

var

x, y, s:real;

begin

readln(x,y);

if x>y then

s:=(x*y)*2;

else

s:=(x+y)/2;

writeln(s:2:2);

end.

ответ на 2 задачу

Тут идентичный алгоритм: вводим 2 переменные x, y, далее создаем условие и возводим в модуль... (скриншот 2 с блок-схемой)

ответ на 3 задачу

Тут тоже.. в условии указываешь просто a<b<c, если условие верно, то выводишь "Верно", иначе "Не верно".

На паскале выглядит примерно так:

var

a, b, c:integer; {если число вещественное}

begin

readln(a, b, c);  

if (a<b<c) then

writeln("Верно");

else

writeln("Неверно");

end.

ответ на 4 задачу

 На паскале:

var

a, b, c, max:integer;

begin

max:=0;

readln(a,b,c);

if max<a then

max:=a;

if max<b then

max:=b;

if max<c then

max:=c;

writeln(max);

end.

 ответ на 5 вопрос

На паскале:

Var

a,b,c:integer;

begin

readln(a,b,c);

if (a<0) then

a:=a*a;

writeln(a);

if (b<0) then

b:=b*b;

writeln(b);

if (c<0) then

c:=c*c;

writeln(c);

end.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота