Помогите решить задачи в паскале. 1) Подсчитать количество предложений в заданном тексте. 2) Найти сумму цифр в целой и в дробной части числа, введенного в виде текстовой строки.

Вопрос от пользователя: Гошуля

Помогите решить задачи в паскале. 1) Подсчитать количество предложений в заданном тексте. 2) Найти сумму цифр в целой и в дробной части числа, введенного в виде текстовой строки.

Ответ: Фетинья

1) тк не уточнила загружаем из файла, или вводим с клавиатуры, получай с этими двумя функциями. в каталоге с программой должен быть файлик. txt

var a, filename:string[255];

chk, i, res:integer;

f1:Text;

begin

res:=0;

chk:=0;

Writeln (‘1. Input line’);

Writeln (‘2. Load from file’);

Readln (chk);

if chk=1 then

begin

Writeln (‘Input line: ‘);

Readln (a);

for i:=1 to Length (a) do

if a[i]=’.’ then

res:=res+1;

Writeln (‘Result: ‘, res);

end;

if chk=2 then

begin

writeln (‘Input name of file: ‘);

Readln (filename);

filename:=filename+’. txt’;

Assign (f1, filename);

Reset (f1);

while not eof (f1) do

begin

readln (f1, a);

writeln (a);

for i:=1 to Length (a) do

if a[i]=’.’ then

res:=res+1;

end;

Writeln (‘Result: ‘, res);

Close (f1);

end;

readln;

end.

2) вводим не запятую, а точку, как разделитель частей числа

var a, substr:string[100];

x, res, i:integer;

begin

writeln (‘Input number:’);

Readln (a);

substr:=’.’;

x:=Pos (substr, a);

for i:=1 to x-1 do

res:=res+strtoint (a[i]);

Writeln (‘Result of first part: ‘, res);

res:=0;

for i:=x+1 to Length (a) do

res:=res+StrToInt (a[i]);

Writeln (‘Result of second part: ‘, res);

readln;

end.

Беликова Ирина

Учитель физики, информатики и вычислительной техники. Победитель конкурса лучших учителей Российской Федерации в рамках Приоритетного Национального Проекта "Образование".

Оцените автора
Добавить комментарий