Сумма 10 000 рублей положена в сберегательный банк, при этом прирост составляет 3% годовых. Составьте алгоритм, определяющий, через какой промежуток времени первоначальная сумма увеличится в три раза.
// PascalABC.NET 3.0, сборка 1128 begin var k:=ReadInteger('Укажите номер записи k:'); var a:=ReadLines('T1.txt').Select(x->Length(x)). Where(x->x<>0).ToArray; var n:=a.Length; if k>n then Writeln('В файле записей меньше, чем ',k) else Writeln('Сумма равна ',a.Min+a[n-k+1]) end.
А теперь "школьный вариант" // PascalABC.NET 3.0, сборка 1128 var t:text; min,l,m,n,k:integer; s:string; begin k:=2; // вторая от конца запись Assign(t,'T1.txt'); Reset(t); min:=1000; m:=0; while not Eof(t) do begin ReadLn(t,s); Inc(m); l:=Length(s); if (l>0) and (l<min) then min:=l end; Close(t); Reset(t); k:=m-k+1; if k<1 then Writeln('В файле нет стольких строк') else begin m:=0; while m<>k do begin Readln(t,s); Inc(m) end; Writeln('Сумма равна ',min+Length(s)) end; Close(t) end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Сумма 10 000 рублей положена в сберегательный банк, при этом прирост составляет 3% годовых. Составьте алгоритм, определяющий, через какой промежуток времени первоначальная сумма увеличится в три раза.
begin
var k:=ReadInteger('Укажите номер записи k:');
var a:=ReadLines('T1.txt').Select(x->Length(x)).
Where(x->x<>0).ToArray;
var n:=a.Length;
if k>n then Writeln('В файле записей меньше, чем ',k)
else Writeln('Сумма равна ',a.Min+a[n-k+1])
end.
А теперь "школьный вариант"
// PascalABC.NET 3.0, сборка 1128
var
t:text;
min,l,m,n,k:integer;
s:string;
begin
k:=2; // вторая от конца запись
Assign(t,'T1.txt'); Reset(t);
min:=1000; m:=0;
while not Eof(t) do begin
ReadLn(t,s); Inc(m);
l:=Length(s);
if (l>0) and (l<min) then min:=l
end;
Close(t); Reset(t);
k:=m-k+1;
if k<1 then Writeln('В файле нет стольких строк')
else begin
m:=0;
while m<>k do begin Readln(t,s); Inc(m) end;
Writeln('Сумма равна ',min+Length(s))
end;
Close(t)
end.