//PascalABC.NET 3.1 сборка 1200 begin var n := ReadInteger('n='); var a := MatrixRandom(n, n, -10, 10); println(a);
for var i := a.GetLowerBound(0) to a.GetUpperBound(0) do if a[i, a.GetLowerBound(1)] < 0 then begin var s1 := 0; var s2 := 0; var s3 := 0; for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do if i < j then s1 += a[i, j] else if i = j then s2 += a[i, j] else if i > j then s3 += a[i, j]; writeln(i + ': ' + s1 + ', ' + s2 + ', ' + s3); end; end.
Программа подсчитывает количество слов длиной в 5 символов во введенном тексте. Но работать она не будет, есть ошибки: 1. Встречен repeat но нет until 2. Есть 3 begin, но только 2 end 3. Константа N лишняя. Нигде в программе не используется После исправления ошибок программа с краткими комментариями будет выглядеть так:
program Zinaida; var i, k: integer; inString: String; isize, count: integer; begin write('String: '); readln(inString); //ввод текста k := length(instring); //длина текста if instring[k] = '.' then dec(k); //цикл для поиска пробелов и //слов с длиной 5 символов for i := 1 to k do begin if instring[i] <> ' ' then inc(isize); if (instring[i] = ' ') or (i = k) then begin //если длина слова = 5 то увеличиваем count на 1 if isize = 5 then inc(count); isize := 0; end; end; write('Количество слов из пяти букв', count); end.
begin
var n := ReadInteger('n=');
var a := MatrixRandom(n, n, -10, 10);
println(a);
for var i := a.GetLowerBound(0) to a.GetUpperBound(0) do
if a[i, a.GetLowerBound(1)] < 0 then begin
var s1 := 0;
var s2 := 0;
var s3 := 0;
for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do
if i < j then s1 += a[i, j]
else if i = j then s2 += a[i, j]
else if i > j then s3 += a[i, j];
writeln(i + ': ' + s1 + ', ' + s2 + ', ' + s3);
end;
end.
1. Встречен repeat но нет until
2. Есть 3 begin, но только 2 end
3. Константа N лишняя. Нигде в программе не используется
После исправления ошибок программа с краткими комментариями будет выглядеть так:
program Zinaida;
var
i, k: integer;
inString: String;
isize, count: integer;
begin
write('String: ');
readln(inString); //ввод текста
k := length(instring); //длина текста
if instring[k] = '.' then dec(k);
//цикл для поиска пробелов и
//слов с длиной 5 символов
for i := 1 to k do
begin
if instring[i] <> ' ' then inc(isize);
if (instring[i] = ' ') or (i = k) then
begin
//если длина слова = 5 то увеличиваем count на 1
if isize = 5 then inc(count);
isize := 0;
end;
end;
write('Количество слов из пяти букв', count);
end.