Первое, что нужно знать, это то, что компилятор выделяет место в зависимости от типа данных, у нас используется тип char, который равен 1 байту. Далее нужно обратить внимание ,что у нас массив и сколько элементов в нем, а так же какая указана размерность.
1) Видим массив типа чар у которого размерность не указана (в [] скобках пусто) но в значении видим символ 1. Это значит, что компилятор выделит 1 байт. Но есть нюанс, когда мы не указываем четкое значение размерности , а просто записываем символы, компилятор сам подсчитывает количество символов и прибавляет к нему 1 символ который мы не видим (терминирующий ноль) и записывает в размерность. И того ответ 2;
2) Тут проще, т.к четко указана размерность [7] и не смотря на то сколько у нас указано символов 1 или 2 или 3, он все равно выделит столько сколько указано в размерности. ответ 7.
Первое, что нужно знать, это то, что компилятор выделяет место в зависимости от типа данных, у нас используется тип char, который равен 1 байту. Далее нужно обратить внимание ,что у нас массив и сколько элементов в нем, а так же какая указана размерность.
1) Видим массив типа чар у которого размерность не указана (в [] скобках пусто) но в значении видим символ 1. Это значит, что компилятор выделит 1 байт. Но есть нюанс, когда мы не указываем четкое значение размерности , а просто записываем символы, компилятор сам подсчитывает количество символов и прибавляет к нему 1 символ который мы не видим (терминирующий ноль) и записывает в размерность. И того ответ 2;
2) Тут проще, т.к четко указана размерность [7] и не смотря на то сколько у нас указано символов 1 или 2 или 3, он все равно выделит столько сколько указано в размерности. ответ 7.
Объяснение:
program Z1;
var
ch, s: integer;
begin
writeln('введите последовательность натуральных чисел, оканчивающихся 0');
readln(ch);
s := 0;
while ch <> 0 do
begin
if odd(ch) and (ch mod 10 = 3) then
s := s + 1;
readln(ch);
end;
writeln('s = ', s);
end.
*****************************************************
var
max, ch: integer;
begin
writeln(' введите последовательность натуральных чисел, оканчивающихся 0');
readln(ch);
max := ch;
while ch <> 0 do
begin
if (ch > max) and (ch <> 0) then
max := ch;
readln(ch);
end;
writeln('max =', max);
end.