88
Пример 6. Составьте блок-схему (рис. 6.6) и напишите программу
решения следующей задачи: с клавиатуры
вводится длинное целое
число, не менее 50 цифр. Определите сумму цифр данного числа.
PROGRAM primer_6;
Var
t,x :String[30];
{t – исходный текст, x – один символ из текста}
l,s,z,I,cod:Integer;
{l –
длина текста,
S – сумма цифр исходного числа,
Z – число, в которое
переводится один символ текста,
I – переменная цикла,
Cod – переменная для процедуры VAL}
BEGIN
{Введем
число как текст, т.е. набор символов-цифр}
Writeln('Ввести текст');
Readln(t);
l:=Length(t); {Определение длины текста}
{Будем выделять по одному символу из текста,
переводить этот
символ в цифру и прибавлять ее к сумме}
s:=0;
For i:=1 to l do
Begin
x:=Copy(t,I,1); {Выделение одного символа из текста}
Val(x, z,
cod
); {Перевод символа х в цифру z}
If cod=0 {Если
перевод прошел без ошибок, то переменная cod
принимает значение 0}
Then s:=s+z {Нахождение суммы цифр}
Else Writeln(’При переводе ‘,I,’ символа обнаружена ошибка’);
End;
Writeln(‘Сумма цифр исходного числа =’,s);
END.
90
readln (s1);
writeln (''Введите вторую строку цифр ');
readln (s2);
val (s1,x1, code1);
val (s2,x2, code2);
if code1<>0 then writeln ('Ошибка в первой строке цифр');
if code2<>0 then writeln ('Ошибка во второй строке цифр');
if (code1=0) and (code2=0) then
begin
writeln('Результат сцепления строк->',Concat(s1,s2));
writeln ('Сумма введенных чисел->', x1+x2);
end;
END.
Do'stlaringiz bilan baham: