Любой из формальных параметров подпрограммы может быть либо параметром-значением, либо параметром-переменной, либо параметром-константой. Если параметры определяются как параметры-переменные, перед ними необходимо ставить зарезервированное слово VAR, например:
procedure p (var a : real); Здесь параметр а - параметр-переменная.
Заголовок процедуры может быть устроен так, что некоторые группы формальныхпараметров не содержат слова VAR. Например:
procedure p (a,b,c:real; var s:real);
Формальные параметры, которые входят в группы, не содержащие слова VAR,называются формальными параметрами-значениями.
Определение формального параметра тем или иным существенно толькодля вызывающей программы: если формальный параметр объявлен как параметр-переменная, то при вызове подпрограммы ему должен соответствовать фактический параметр в виде переменной определенного типа; если формальный параметр объявлен как параметр-значение, то при вызове ему может соответствовать произвольное выражение. Контроль за неукоснительным соблюдением этого правила осуществляет компилятором ТУРБО ПАСКАЛЯ.
Для того чтобы понять, в каких случаях использовать параметры значения, а вкаких - параметры-переменные, рассмотрим, как осуществляется замена формальных параметров на фактические в момент обращения к подпрограмме.
Если параметр определен как параметр-значение, то перед вызовомподпрограммы это значение вычисляется, полученный результат копируется во временную память и передается подпрограмме. Важно учесть, что даже если в качестве фактического параметра указано выражение в виде переменной или константы, все равно подпрограмме будет передана лишь копия переменной (константы). Таким образом, назначение параметра-значения – передача данных из программы в подпрограмму. Если же параметр определен как параметр-переменная, то при вызове подпрограммы передается сама переменная, а не ее копия. Любые возможные изменения в подпрограмме параметра-значения никак не воспринимаются вызывающей программой, так как в этом случае изменяется копия фактического параметра, в то время как изменение параметра-переменной приводит к изменению самого фактического параметра в вызывающей программе. Параметр-константа схож с параметром-переменной: в подпрограмму передается сама константа, но изменение её невозможно. Назначение такого параметра совпадает с назначением параметра-значения. Формальные параметры-константы указываются в заголовке программы после служебного слова const. Его действие рас до ближайшей точки с запятой.
Объяснение:
в емкость в 700 мегабайт влезет 1 019 книг
в емкость 4.7 гб влезет 7 009 книг
теперь решение
всего в этой книге 720 000 символов. то есть 60 символов умножаем на 40 и умножаем на 300, будет 720 000
потом 1 символ равен 8 битам, то есть 720 000 умножаем на 8 будет 5 760 000 бит.
1 байт = 8 бит(ам)
1 клбайт = 1024 байта
1 мгбайт = 1024 клбайта
1 гигабайт = 1024 мгбайта
переводим 5 760 000 / 1024 = 720 00 байт
720 000 байт делим на 1024 получаем 703.125 клбайт
703.125 / 1024 = 0,6866455078125 мегабайт
теперь делим 1,44 на 0,6866455078125 получаем 2.097152 (2 книги)
потом 700 мб делим на 0,6866455078125 получаем 1 019 книг
1 гигабайт равняется 1024 мегабайта, 4.7 умножаем на 1024 получаем 4 812,8 мегабайт, и делим 4 812, 8 мб на 0,6866455078125 и получаем 7 009 книг.