Определить сумму ASCII-кодов символов, составляющих строку - Turbo Pascal
Формулировка задачи:
Добрый день! Дана задача: Определить сумму ASCII-кодов символов,составляющих строку a$. Вывести полученное значение и строку b$,состоящую из символов,ASCII-коды которых на заданное число n больше соответствующих
символов строки a$.
Буду безмерно благодарен за любую помощь!
Решение задачи: «Определить сумму ASCII-кодов символов, составляющих строку»
textual
Листинг программы
uses crt;
var a,b:string;
n,i,s:integer;
begin
clrscr;
writeln('Введите строку a');
readln(a);
write('Введите n=');
readln(n);
s:=0;
b:='';
for i:=1 to length(a) do
begin
s:=s+ord(a[i]);
b:=b+chr((ord(a[i])+n)mod 256);
end;
writeln('Сумма кодов=',s);
writeln('Строка b');
write(b);
readln
end.
Объяснение кода листинга программы
- В первой строке кода используется библиотека crt, которая является стандартной для языка Turbo Pascal и используется для ввода-вывода данных.
- Далее объявляются переменные a, b, n и i. Переменная a является строкой, переменная b также является строкой, переменная n - целым числом, а переменная i - целым числом.
- Строка
clrscrиспользуется для очистки экрана перед вводом данных. - Затем выводится сообщение
Введите строку a, после чего происходит чтение строки a с помощью функции readln. - Выводится сообщение
Введите n=и происходит чтение значения n с помощью функции readln. - Инициализируется переменная s значением 0 и переменной b значением пустой строки.
- Запускается цикл for, который выполняется от 1 до длины строки a.
- Внутри цикла переменная s увеличивается на сумму ASCII-кода текущего символа строки a с помощью функции ord и переменной n.
- Переменная b увеличивается на сумму ASCII-кода текущего символа строки a с помощью функции ord и оператора mod 256, чтобы получить символ, который будет добавлен в конец строки b.
- После завершения цикла выводится сообщение
Сумма кодов=и значение переменной s. - Выводится сообщение
Строка bи значение переменной b. - Код завершается с помощью оператора readln.