komarov-dmitriy
?>

Отметить причины по которым иногда требуется сжимать файл 1)файл занимает много места на диске 2)файлы нужно перенести на другой компьютер 3)файлы часто используются 4)необходимо защитить данные от просмотра 5)файлы надо передать через интернет

Информатика

Ответы

salesrawtogo
Скорее  всего  1)файл занимает много места на диске   5)файлы надо передать через интернет
plio67380

сначала рассмотрим такую : “имеется некоторое количество рыб. определить, возможен ли дележ рыб между тремя рыбаками в соответствии с условием дирака”[1] .

в программе решения этой используем следующие величины:

k0 - общее количество пойманных рыб;

k - количество рыб, оставшееся тому или иному рыбаку;

take - количество рыб, которые взял тот или иной рыбак;

i - номер рыбака;

partit - величина логического типа, определяющая возможность дележа (взятия каждым рыбаком трети оставшегося количества рыб).

на */школьном алгоритмическом языке /*соответствующая программа имеет вид:

_алг_ available_partition

_нач_ _цел_ k0, k, take, i,   _лог_ partit

¦ _вывод_ _нс_, "введите количество рыб"

¦ _ввод_ k0

¦ k: =k0

¦ i: =1

¦ _нц_           |цикл “действий” каждого рыбака

¦ ¦ k: =k-1             | осталось после выбрасывания одной рыбы

¦ ¦ _если_ mod(k,n)=0

¦ ¦ ¦_то_                   | i-й рыбак может взять треть оставшихся рыб

¦ ¦ ¦   partit: =_да_

¦ ¦ ¦   take: =div(k,3) | берет i-й рыбак

¦ ¦ ¦   k: =k- take       | оставшееся количество рыб

¦ ¦ ¦_иначе_

¦ ¦ ¦ partit: =_нет_         | при k0 рыбах дележ невозможен

¦ ¦ _все_

¦ ¦   i: =i+1

¦ i> n _или_ _не_ partit

¦ _если_ partit

¦ ¦_то_

¦ ¦ _вывод_ _нс_, "при таком количестве рыб дележ возможен"

¦ ¦_иначе_

¦ ¦ _вывод_ _нс_, "при таком количестве рыб дележ невозможен"

¦ _все_

_кон_

после этого программа нахождения минимального количества рыб, удовлетворяющего условию дирака, может быть оформлена кратко:

_алг_

_нач_ _цел_ k0

¦ k0: =0                 |начальное значение диапазона поиска

¦ _нц_ _пока_ _не_ avail_partit (k0)

¦ ¦ k0: =k0+1         |очередное значение

¦ _кц_

¦ _вывод_ _нс_, "наименьшее количество рыб,"

¦ _вывод_ "удовлетворяющее условию : ", k0

_кон_

где avail_partit(k0) - функция логического типа, определяющая возможность дележа k0/ /рыб в соответствии с условием , составленная на основе программы, чуть выше:

алг_ _лог_ avail_partit (_арг_ _цел_ k0)

_нач_ _цел_ k, take, i,   _лог_ partit

¦ k: =k0

¦ i: =1

¦ _нц_

¦ ¦ k: =k-1

¦ ¦ _если_ mod(k,3)=0

¦ ¦ ¦_то_

¦ ¦ ¦   partit: =_да_

¦ ¦ ¦   take: =div(k,3)

¦ ¦ ¦   k: =k- take

¦ ¦ ¦ _иначе_

¦ ¦ ¦   partit: =_нет_

¦ ¦ _все_

¦ ¦   i: =i+1

¦ i> 3 _или_ _не_ partit

¦ _знач_: = partit | значение функции

_кон_

соответствующая программа на паскале:

{ “рыбаки и рыбки”}

var

k0: integer;

function avail_partit (k0: integer): boolean;

var

k, take, i: integer;

partit: boolean;

begin

k: =k0;

i: =1;

repeat               {цикл “действий” каждого рыбака}

k: =k-1;         {осталось после выбрасывания одной рыбы}

if k mod 3 = 0 then

{i-й рыбак может взять треть оставшихся рыб}

begin

partit: =true;

take: =k div 3; {берет i-й рыбак}

k: =k - take       {оставшееся количество рыб}

end

else

partit: =false;     {дележ невозможен}

i: =i+1

until (i> 3) or not partit;

avail_partit: = partit       {значение функции}

end;

begin       {основной программы}

k0: =0;         {начальное значение диапазона поиска}

while not avail_partit(k0) do

k0: =k0+1;         {очередное значение}

write('наименьшее количество рыб, ');

writeln('удовлетворяющее условию : ', k0)

end.

выполнив программу, можно увидеть, что минимальное количество рыб, удовлетворяющее условию , равно 25. имеются и большие значения (52, 79, 106,

имеется и другой способ решения . можно, так сказать, идти не от общего количества пойманных рыб, а от числа рыб, доставшихся третьему рыбаку. если эту величину обозначить take3, то можно записать, что количество рыб, оставшееся тому или иному рыбаку, равно:

1) третьему рыбаку: k3 = 3* take3 + 1;

2) второму: k2 = 3*k3 + 1;

3) первому (то есть общее количество пойманных рыб[2]): k1 = 3*k2 + 1.

перебирая значения k3, равные 1, 2, 3, …, можно найти такое минимальное число, при котором значения величин k2 и k1 есть целые числа.

программа, реализующая такой подход к решению , имеет вид:

{ "рыбаки и рыбки"}

var

take3, k3: word;

k2, k1:   real;

begin

take3: =1;

repeat

k3: =3* take3+1;

k2: =k3*3/2+1;

k1: =k2*3/2+1;

take3: = take3+1

until   (trunc(k2)=k2) and (trunc(k1)=k1);

write('наименьшее количество рыб, ');

writeln('удовлетворяющее условию : ', trunc(k1))

end.

рассмотренную можно решать и при другом числе рыбаков. соответствующие результаты представлены в таблице (естественно, что некоторые из них являются условными).

число рыбаков

4

5

6

7

искомое количество рыб

253

3121

46651

823537

pelagia-kola2658

переменным вещественного типа можно присваивать значения целого типа, но наоборот нельзя. почему? наверное потому, что множество целых чисел является подмножеством множества действительных. теперь смотрим.

a) y: =y+2 - так можно, вещественное плюс целое = вещественное

b) n: =n/2 - нельзя, потому что результат n/2 это вещественное число

c) n: =y*10 - нельзя, то же самое

d) n: =n-3 - можно, результат целое число

e) n: =sqrt(9) - нельзя, функция sqrt возвращает вещественное число

f) y: =sqr(n) - можно, функция sqr возвращает значение целого или вещественного типа, в зависимости от значения выражения аргумента, в данном случае результат целое число

g) y: =y mod 2 - нельзя, операция mod применима только к целым

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Отметить причины по которым иногда требуется сжимать файл 1)файл занимает много места на диске 2)файлы нужно перенести на другой компьютер 3)файлы часто используются 4)необходимо защитить данные от просмотра 5)файлы надо передать через интернет
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

fhf3624
ashkiperova6
Olgera1
beglovatatiyana
Golovinskii_Sirotkina1944
beaevgen711
Vladimirovna
fedorenkoroman
Ананян Иван1281
skalegin68
Yarovitsin
LidiyaBorzikh
aromastil88
romolga3580
bikemaster