1. Изберите эквивалент последующего объявления:"var a:array[20] of byte;"а) var
1. Выберите эквивалент следующего объявления:
"var a:array[20] of byte;"
а) var a:array[0..20] of byte;
б) var a:array[1..20] of byte;
в) синтаксическая ошибка - такое объявление неприемлимо
2. Что выведет последующий кусок кода:
"n:= 2; p:[email160;protected]; p^:=1; Writeln('n=', n);?
а) n=1
б) n=2
в) ничего не выйдет
1 ответ
Элина Коляйчева
1
var a:array[20] of byte; - это объявление неприемлимо.
По синтаксису языка в [...] указывается тип данных частей массива.
20 - это не тип.
ответ в)
2
n:=2;
p:[email protected];
p^:=1;
Writeln('n=', n);
Это тема, которую в Паскале разумеют не очень многие - работа с указателями.
n:=2 - здесь все понятно. Константа 2 засылается в область памяти, которую именовали n.
P:[email protected]; - тут использована операция @, нарекаемая "взятие адреса". Т.е. @n - это не значение n (которое у нас равно 2) , а тот самый адресок области памяти, где это значение расположено. И этот адрес будет помещен в переменную с именем p.
p^:=1; - если операция @ дает адресок, то операция ^ дает доступ к содержимому, находящемуся по указанному адресу. Мы записали в p адрес области памяти, в котором расположено содержимое n (оно равно 2), а сейчас при подмоги р^ получаем доступ к этому содержимому и меняем его на 1.
Вся эта "кухня равнозначна тому, что мы записали в n единичку. Она и будет выведена. Поточнее будет выведена строчка n=1.
Ответ a)
var a:array[20] of byte; - это объявление неприемлимо.
По синтаксису языка в [...] указывается тип данных частей массива.
20 - это не тип.
ответ в)
2
n:=2;
p:[email protected];
p^:=1;
Writeln('n=', n);
Это тема, которую в Паскале разумеют не очень многие - работа с указателями.
n:=2 - здесь все понятно. Константа 2 засылается в область памяти, которую именовали n.
P:[email protected]; - тут использована операция @, нарекаемая "взятие адреса". Т.е. @n - это не значение n (которое у нас равно 2) , а тот самый адресок области памяти, где это значение расположено. И этот адрес будет помещен в переменную с именем p.
p^:=1; - если операция @ дает адресок, то операция ^ дает доступ к содержимому, находящемуся по указанному адресу. Мы записали в p адрес области памяти, в котором расположено содержимое n (оно равно 2), а сейчас при подмоги р^ получаем доступ к этому содержимому и меняем его на 1.
Вся эта "кухня равнозначна тому, что мы записали в n единичку. Она и будет выведена. Поточнее будет выведена строчка n=1.
Ответ a)
Timur Andrushevskij
Спасибо!
Слава Хлюхлин
Пожалуйста. А вообще, здесь "спасибо" выражают обычным кликом по красному сердцу.
Варвара Григаренко
посмотрите мою задачу)
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Составить монолог от имени дневника двоечника 7-10 предложений
Русский язык.
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных
Разные вопросы.
Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей
Математика.
Облако тегов