PascalABC.NET 3.4.0, сборка 1670 от 23.05.2018 Внимание! Если программа не работает, обновите версию!
1. Самое простое "арифметическое" решение
begin var n:=Abs(ReadInteger('n=')); // защита от отрицательных чисел Writeln(n div 100,',',(n div 10) mod 10,',',n mod 10) end.
Пример n= 318 3,1,8
2. "Арифметическое" решение с циклом, цифры в обратном порядке
begin var n:=Abs(ReadInteger('n=')); // защита от отрицательных чисел while n>10 do begin Write(n mod 10,','); n:=n div 10 end; Writeln(n mod 10) end.
Пример n= 318 8,1,3
3. "Арифметическое" решение с массивом
begin var n:=Abs(ReadInteger('n=')); // защита от отрицательных чисел var a:array[1..3] of integer; var i:=3; while n>0 do begin a[i]:=n mod 10; i-=1; n:=n div 10 end; Writeln(a[1],',',a[2],',',a[3]) end.
Пример n= 318 3,1,8
4. Решение с символьной строкой
begin Abs(ReadInteger('n=')).ToString.ToCharArray.Println(',') end.
begin writeln('Сколько тебе лет?:'); readln(b); if b > 17 then begin writeln('В каком институте ты учишься?:'); readln(a); writeln(a, ' хороший институт'); writeln('До следующей встречи!'); end else if b <= 17 then begin writeln('В какой школе ты учишься?'); readln(a); writeln(a, ' не плохая школа'); writeln('До следующей встречи!'); end; end.
Тексты вводятся в память компьютера с клавиатуры. На клавишах написаны привычные нам буквы, цифры, знаки препинания и другие символы. В оперативную память они попадают в двоичном коде. Это значит, что каждый символ представляется 8-разрядным двоичным кодом.
Кодирование заключается в том, что каждому символу ставится в соответствие уникальный десятичный код от 0 до 255 или соответствующий ему двоичный код от 00000000 до 11111111. Таким образом, человек различает символы по их начертанию, а компьютер - по их коду.
Удобство побайтового кодирования символов очевидно, поскольку байт - наименьшая адресуемая часть памяти и, следовательно, процессор может обратиться к каждому символу отдельно, выполняя обработку текста. С другой стороны, 256 символов – это вполне достаточное количество для представления самой разнообразной символьной информации.
Теперь возникает вопрос, какой именно восьмиразрядный двоичный код поставить в соответствие каждому символу.
Понятно, что это дело условное, можно придумать множество кодировки.
Все символы компьютерного алфавита пронумерованы от 0 до 255. Каждому номеру соответствует восьмиразрядный двоичный код от 00000000 до 11111111. Этот код просто порядковый номер символа в двоичной системе счисления.
Внимание! Если программа не работает, обновите версию!
1. Самое простое "арифметическое" решение
begin
var n:=Abs(ReadInteger('n=')); // защита от отрицательных чисел
Writeln(n div 100,',',(n div 10) mod 10,',',n mod 10)
end.
Пример
n= 318
3,1,8
2. "Арифметическое" решение с циклом, цифры в обратном порядке
begin
var n:=Abs(ReadInteger('n=')); // защита от отрицательных чисел
while n>10 do begin
Write(n mod 10,',');
n:=n div 10
end;
Writeln(n mod 10)
end.
Пример
n= 318
8,1,3
3. "Арифметическое" решение с массивом
begin
var n:=Abs(ReadInteger('n=')); // защита от отрицательных чисел
var a:array[1..3] of integer;
var i:=3;
while n>0 do begin
a[i]:=n mod 10;
i-=1;
n:=n div 10
end;
Writeln(a[1],',',a[2],',',a[3])
end.
Пример
n= 318
3,1,8
4. Решение с символьной строкой
begin
Abs(ReadInteger('n=')).ToString.ToCharArray.Println(',')
end.
Пример
n= 318
3,1,8