Var n, sum, p: integer; begin sum := 0; p := 1; repeat write('Введите число (для завершения программы введите 0000): '); readln(n); if n <> 0 then begin if n >= 0 then sum := sum + n; if n < 0 then p := p * n; end else writeln('ИТОГ'); writeln( 'Сумма положительных: ', sum, ' | Произведение отрицательных: ', p); writeln(); until n = 0000; end.
Тексты вводятся в память компьютера с клавиатуры. На клавишах написаны привычные нам буквы, цифры, знаки препинания и другие символы. В оперативную память они попадают в двоичном коде. Это значит, что каждый символ представляется 8-разрядным двоичным кодом.
Кодирование заключается в том, что каждому символу ставится в соответствие уникальный десятичный код от 0 до 255 или соответствующий ему двоичный код от 00000000 до 11111111. Таким образом, человек различает символы по их начертанию, а компьютер - по их коду.
Удобство побайтового кодирования символов очевидно, поскольку байт - наименьшая адресуемая часть памяти и, следовательно, процессор может обратиться к каждому символу отдельно, выполняя обработку текста. С другой стороны, 256 символов – это вполне достаточное количество для представления самой разнообразной символьной информации.
Теперь возникает вопрос, какой именно восьмиразрядный двоичный код поставить в соответствие каждому символу.
Понятно, что это дело условное, можно придумать множество кодировки.
Все символы компьютерного алфавита пронумерованы от 0 до 255. Каждому номеру соответствует восьмиразрядный двоичный код от 00000000 до 11111111. Этот код просто порядковый номер символа в двоичной системе счисления.
begin
sum := 0;
p := 1;
repeat
write('Введите число (для завершения программы введите 0000): ');
readln(n);
if n <> 0 then begin
if n >= 0 then sum := sum + n;
if n < 0 then p := p * n;
end
else writeln('ИТОГ');
writeln( 'Сумма положительных: ', sum, ' | Произведение отрицательных: ', p);
writeln();
until n = 0000;
end.