Учебно-методическое пособие для студентов специальности 1-08 01 01 «Профессиональное обучение


Download 0.99 Mb.
Pdf ko'rish
bet48/103
Sana05.05.2023
Hajmi0.99 Mb.
#1432201
TuriУчебно-методическое пособие
1   ...   44   45   46   47   48   49   50   51   ...   103
Bog'liq
Osnovy algoritmizacii i programmirovaniya

 


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. 


89 
Рис. 6.6 
Пример 7. Напишите программу решения следующей задачи: 
введите две строки, состоящие из цифр, если хотя бы одна из строк 
содержит символы, отличные от цифры, то выдайте соответствую-
щее сообщение, иначе определите сумму введенных чисел и резуль-
тат сцепления двух строк. 
PROGRAM primer_7; 
var S1,S2:string; 
X1,X2,code1,code2:integer; 
BEGIN 
writeln ('Введите первую строку цифр'); 


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.

Download 0.99 Mb.

Do'stlaringiz bilan baham:
1   ...   44   45   46   47   48   49   50   51   ...   103




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling