1)function first(k,l,m,n:integer):boolean; begin if (((k mod 2=0) and (l mod 2<>0)) or ((l mod 2=0) and (k mod 2<>0)))=(((m mod 2=0) and (n mod 2<>0)) or ((n mod 2=0) and (m mod 2<>0))) then first:=true else first:=false; end;
2)function second(k,l,m,n:integer):boolean; begin if (k=m) or (l=n) or (((k+1)=m) and ((l+1)=n)) or (((k+2)=m) and ((l+2)=n)) or (((k+3)=m) and ((l+3)=n)) or (((k+4)=m) and ((l+4)=n)) or (((k+5)=m) and ((l+5)=n)) or (((k+6)=m) and ((l+6)=n)) or (((k-1)=m) and ((l-1)=n)) or (((k-2)=m) and ((l-2)=n)) or (((k-3)=m) and ((l-3)=n)) or (((k-4)=m) and ((l-4)=n)) or (((k-5)=m) and ((l-5)=n)) or (((k-6)=m) and ((l-6)=n)) or (((m+1)=k) and ((n+1)=l)) or (((m+2)=k) and ((n+2)=l)) or (((m+3)=k) and ((n+3)=l)) or (((m+4)=k) and ((n+4)=l)) or (((m+5)=k) and ((n+5)=l)) or (((m+6)=k) and ((n+6)=l)) or (((m-1)=k) and ((n-1)=l)) or (((m-2)=k) and ((n-2)=l)) or (((m-3)=k) and ((n-3)=l)) or (((m-4)=k) and ((n-4)=l)) or (((m-5)=k) and ((n-5)=l)) or (((m-6)=k) and ((n-6)=l)) or (((k-1)=m) and ((l+1)=n)) or (((k-2)=m) and ((l+2)=n)) or (((k-3)=m) and ((l+3)=n)) or (((k-4)=m) and ((l+4)=n)) or (((k-5)=m) and ((l+5)=n)) or (((k-6)=m) and ((l+6)=n)) or (((k-1)=m) and ((l+1)=n)) or (((k-2)=m) and ((l+2)=n)) or (((k-3)=m) and ((l+3)=n)) or (((k-4)=m) and ((l+4)=n)) or (((k-5)=m) and ((l+5)=n)) or (((k-6)=m) and ((l+6)=n)) or (((m-1)=k) and ((n+1)=l)) or (((m-2)=k) and ((n+2)=l)) or (((m-3)=k) and ((n+3)=l)) or (((m-4)=k) and ((n+4)=l)) or (((m-5)=k) and ((n+5)=l)) or (((m-6)=k) and ((n+6)=l)) or (((m-1)=k) and ((n+1)=l)) or (((m-2)=k) and ((n+2)=l)) or (((m-3)=k) and ((n+3)=l)) or (((m-4)=k) and ((n+4)=l)) or (((m-5)=k) and ((n+5)=l)) or (((m-6)=k) and ((n+6)=l)) then second:=true else second:=false; end;
У нас есть скорость передачи в кбит/с и мбит/с. Нужно определиться, в каких отношениях находятся кбит/с и бит/с, потому что тут есть две трактовки. Первая предполагает, что кбит/с - это системная единица Си и тогда 1кбит/с = 1000 бит/с. Вторая - что кбит/с, как и Кбайт/с - единица внесистемная, и тогда 1 кбит/с = 1024 бит/с. Правильным является первый вариант при написании по стандарту кбит/с, а во втором варианте надо писать Кбит/с. Именно заглавная буква К (и М в мегабитах, мегабайтах) указывают на внесистемность единицы. Однако, 128 кбит/с кратно степени 2, а не 10, что показывает мнение составителя задачи о том, что 1 кбит = 1024 бита. Условно примем эту версию.
1. Определяем количество фрагментов 350 Мбайт / 10 Мбайт = 35 фрагментов 2. Время отправки запроса на сервер 32 Кбайт / 128 кбит/с = 32 Кбайт / (128/8 Кбайт/с) = 2 с 3. Время приема одного фрагмента 10 Мбайт / 4 Мбит/с = 10 Мбайт / (4/8 Мбайт/с) = 20 с 4. Время отправки подтверждения 16 Кбайт / 128 кбит/с = 16 Кбайт / (128/8 Кбайт/с)= 1с 5. Время на каждый пакет, кроме последнего 2+20+1=23 с 6. Общее время на все пакеты, кроме последнего 23 х 34 = 782 с 7. Время на последний пакет (подтверждение можно не передавать) 2+20 = 22 с 8. Общее время 782+22 = 804 с или 13 минут и 24 секунды
begin
if (((k mod 2=0) and (l mod 2<>0)) or ((l mod 2=0) and (k mod 2<>0)))=(((m mod 2=0) and (n mod 2<>0)) or ((n mod 2=0) and (m mod 2<>0))) then first:=true else first:=false;
end;
2)function second(k,l,m,n:integer):boolean;
begin
if (k=m) or (l=n) or (((k+1)=m) and ((l+1)=n)) or (((k+2)=m) and ((l+2)=n)) or (((k+3)=m) and ((l+3)=n)) or (((k+4)=m) and ((l+4)=n)) or (((k+5)=m) and ((l+5)=n)) or (((k+6)=m) and ((l+6)=n)) or (((k-1)=m) and ((l-1)=n)) or (((k-2)=m) and ((l-2)=n)) or (((k-3)=m) and ((l-3)=n)) or (((k-4)=m) and ((l-4)=n)) or (((k-5)=m) and ((l-5)=n)) or (((k-6)=m) and ((l-6)=n)) or (((m+1)=k) and ((n+1)=l)) or (((m+2)=k) and ((n+2)=l)) or (((m+3)=k) and ((n+3)=l)) or (((m+4)=k) and ((n+4)=l)) or (((m+5)=k) and ((n+5)=l)) or (((m+6)=k) and ((n+6)=l)) or (((m-1)=k) and ((n-1)=l)) or (((m-2)=k) and ((n-2)=l)) or (((m-3)=k) and ((n-3)=l)) or (((m-4)=k) and ((n-4)=l)) or (((m-5)=k) and ((n-5)=l)) or (((m-6)=k) and ((n-6)=l)) or (((k-1)=m) and ((l+1)=n)) or (((k-2)=m) and ((l+2)=n)) or (((k-3)=m) and ((l+3)=n)) or (((k-4)=m) and ((l+4)=n)) or (((k-5)=m) and ((l+5)=n)) or (((k-6)=m) and ((l+6)=n)) or (((k-1)=m) and ((l+1)=n)) or (((k-2)=m) and ((l+2)=n)) or (((k-3)=m) and ((l+3)=n)) or (((k-4)=m) and ((l+4)=n)) or (((k-5)=m) and ((l+5)=n)) or (((k-6)=m) and ((l+6)=n)) or (((m-1)=k) and ((n+1)=l)) or (((m-2)=k) and ((n+2)=l)) or (((m-3)=k) and ((n+3)=l)) or (((m-4)=k) and ((n+4)=l)) or (((m-5)=k) and ((n+5)=l)) or (((m-6)=k) and ((n+6)=l)) or (((m-1)=k) and ((n+1)=l)) or (((m-2)=k) and ((n+2)=l)) or (((m-3)=k) and ((n+3)=l)) or (((m-4)=k) and ((n+4)=l)) or (((m-5)=k) and ((n+5)=l)) or (((m-6)=k) and ((n+6)=l)) then second:=true else second:=false;
end;
Первая предполагает, что кбит/с - это системная единица Си и тогда 1кбит/с = 1000 бит/с. Вторая - что кбит/с, как и Кбайт/с - единица внесистемная, и тогда 1 кбит/с = 1024 бит/с.
Правильным является первый вариант при написании по стандарту кбит/с, а во втором варианте надо писать Кбит/с. Именно заглавная буква К (и М в мегабитах, мегабайтах) указывают на внесистемность единицы.
Однако, 128 кбит/с кратно степени 2, а не 10, что показывает мнение составителя задачи о том, что 1 кбит = 1024 бита. Условно примем эту версию.
1. Определяем количество фрагментов
350 Мбайт / 10 Мбайт = 35 фрагментов
2. Время отправки запроса на сервер
32 Кбайт / 128 кбит/с = 32 Кбайт / (128/8 Кбайт/с) = 2 с
3. Время приема одного фрагмента
10 Мбайт / 4 Мбит/с = 10 Мбайт / (4/8 Мбайт/с) = 20 с
4. Время отправки подтверждения
16 Кбайт / 128 кбит/с = 16 Кбайт / (128/8 Кбайт/с)= 1с
5. Время на каждый пакет, кроме последнего
2+20+1=23 с
6. Общее время на все пакеты, кроме последнего
23 х 34 = 782 с
7. Время на последний пакет (подтверждение можно не передавать)
2+20 = 22 с
8. Общее время
782+22 = 804 с или 13 минут и 24 секунды