Помогите решить задачи в паскале. 1)Подсчитать количество предложений в заданном тексте....

0 голосов
31 просмотров

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


Информатика (16 баллов) | 31 просмотров
Дан 1 ответ
0 голосов

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.

(22 баллов)