1) Если имя переменной в себе содержит больше одного слова, то оно всё равно целиком должно быть написано слитно, иначе SyntaxError
birth day -> BirthDay или birthDay или birth_day
2) # Step 3: if * > **: age = year - birth_year then:
- Переменная birth_year ранее не объявлена
- как интерпретатор должен осознать значение выражения " if * > ** " ?
- Откуда там взялся then: ?
3) print("Your age: {a} years, {b} months, {c} days"):
- Перед форматированной строкой должен стоять флаг f:
print(f' value: {value}')
Вывод: Изучите основы синтаксиса Python
- В нескольких местах в процедурах не описаны переменные i,j
- В циклах неверно указано условие окончание цикла
- Неправильно описаны переменные в заголовке процедур
2. После исправления ошибок и добавления процедуры P4 (вторая часть задания) код программы будет таким:
Program Prim;
Type vector=array[1..4] of integer;
matr=array[1..3] of vector ;
Var x:matr;
{Процедура ввода в режиме диалога}
Procedure wwod(var a:matr; Name:char);
var i,j:integer;
Begin
for i:=1 to 3 do
for j:=1 to 4 do
begin
write(Name,'[',i,',', j,']=');
readln(a[i,j]);
end;
End;
{Процедура вывода}
Procedure wywod(var a:Matr);
Var i,j:integer;
Begin
for i:=1 to 3 do
begin
for j:=1 to 4 do
write(a[i,j]);
writeln;
end;
End;
{каждый элемент массива увеличивается на 4}
Procedure p4(var a:Matr);
Var i,j:integer;
Begin
for i:=1 to 3 do
begin
for j:=1 to 4 do
a[i,j]:=a[i,j]+4;
end;
End;
{основная программа}
Begin
wwod(x, 'X');
writeln ('Ввод окончен.');
writeln ('Вывод: ');
wywod(x);
p4(x);
wywod(x);
end.
Тестовое решение:
X[1,1]=2
X[1,2]=2
X[1,3]=2
X[1,4]=2
X[2,1]=2
X[2,2]=2
X[2,3]=2
X[2,4]=2
X[3,1]=2
X[3,2]=2
X[3,3]=2
X[3,4]=2
Ввод окончен.
Вывод:
2222
2222
2222
6666
6666
6666