Программа составлена правильно, но можно сделать компактнее
Program Chislo;
Uses Crt;
Var x,y,z,p: integer;
Begin
Clrscr;
WriteLn ('Введите первое число');
ReadLn (x);
WriteLn ('Введите второе число');
ReadLn (y);
WriteLn ('Введите третее число');
ReadLn (z);
if x>y then p:=x else p:=y;
if x>z then p:=x else p:=z;
if y>z then p:=y else p:=z;
WriteLn ('Наибольшее число:',p);
End.
Я вырезал
If y>x then p:=y else p:=x;
If z>x then p:=z else p:=x;
If z>y then p:=z else p:=y;
потому что это бесмысленный движения, а так задача работает.
Вопросы, неточности в ЛС
Да, все верно.
Есть только полное ветвление.