Переменная chp должна быть типа integer. И нужно исправить строку<em> s[1]:=chp; </em>на строку <em>s[1]:=s[chp];</em>
uses crt;
var a,n,code,chp:integer;
var s:string;
var ch1:char;
begin
writeln('Введи число, первые и последние цифры поменяются местами');
readln(a);
str(a,s);
ch1:=s[1];
chp:=length(s);
s[1]:=s[chp];
s[chp]:=ch1;
val(s,n,code);
writeln('Из числа ',a,' получилось число ',n);
end.
Var
a,b,d,K,kp:integer;
P:boolean;
Begin
kp:=0;
ReadLn(a,b);
if (a = 1)or(a = 2) then
Begin
kp:=2;
Write(2,' ',3)
end
else if a = 3 then
Begin
kp:=1;
Write(3);
End;
if a < 5 then a:=5
else if a mod 2 = 0 then a:=a+1;
While a<=b do
Begin
K:=Trunc(Sqrt(A));
d:=3;
P:=true;
While d <= K do
Begin
if A mod d = 0 then P:=false;
d:=d+2
End;
if P then
Begin
kp:=kp+1;
Write(' ',a);
End;
a:=a+2
End;
if kp = 0 then Write(0)
End.
Вот пример правильной трассировочной таблицы. Впредь делайте именно так.
Из таблицы видно, что в момент завершения программы переменная с будет иметь значение 2.
// PascalABC.NET 3.3, сборка 1547 от 07.10.2017
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrGen(10,i->2*(i+1)+1); a.Println
end.
№1
var a,b,c,sr_arf: real;
begin
writeln('Введите значение a: ');
readln(a);
writeln('Введите значение b: ');
readln(b);
writeln('Введите значение c: ');
readln(c);
sr_arf:=(a+b+c)/3;
writeln('Среднее арифметическое чисел = ',sr_arf);
end.
№2
a=a + \frac{b}{c}
b= \frac{4}{2a - |b| + 5}
c= \sqrt{ {a}^{2} + b \times b }