Вопрос - почему операторы while и do не исполняют программу с вложенным файлом с помощью директивы {$I <имя файла>}
Программа после введения строки S1 и длины L выдает строку S1 длиной L, а далее пробелы.
Не может же Паскаль просто запрещать исполнение лишних операторов!
Или такая маленькая глубина? - но не похоже.
Вот работающая прога
program prog24;
var
S1:string;
Y,i,L:integer;
{$I c:\prog23a}
begin
RightBlank(S1);
end.
function RightBlank(S1:string):integer;
var
{S1:string;}
i,L:integer;
begin
Writeln('Vvedite stroku S1');
readln(S1);
Writeln('Vvedite dlinu stroki L ( chislo do 20)');
readln(L);
{ while i<L}
{do} for i:=1 to L
do Write(S1[i]);
readln;
end;
function RightBlank(S1:string):integer;
var
i,L:integer;
begin
Writeln('Vvedite stroku S1');
readln(S1);
Writeln('Vvedite dlinu stroki L ( chislo do 20)');
readln(L);
while i<L
do for i:=1 to L
do Write(S1[i]);
readln;
end;
Все проще гораздо:
while i<L doТы уверен, что перед While у тебя i < L? Я - нет... Поэтому и не отрабатывает цикл...
for i:=1 to L do
Write(S1[i]);