4. Исполнитель Робот движется по клетчатой доске. У Робота есть 4 команды перемещения:
вверх
вниз
вправо
влево
При выполнении любой из этих команд Робот перемещается на одну клетку вверх, вниз, вправо, влево соответственно. Робот выполнил программу:
вправо
вверх
вправо
вверх
влево
влево
Какое наименьшее количество команд должен выполнить Робот, чтобы вернуться в исходную точку
var
s: string[6];
n: integer;
begin
s := 'отлично';
n := length(s);
writeln(length('отлично'));
writeln(n);
end.
Изначально выставлен тип string[6], значит если присвоить строку больше, то ее обрежет по 6 символов, вот и весь прикол
ответ 6
2) рисунок
3)var
s, s1: string;
n: integer;
begin
s := 'информатика';
s1 := copy(s, 3, 5);
n := pos(s, s1);
writeln('s=', s);
writeln('s1=', s1);
writeln('n=', n);
end.
Вывод
s=информатика
s1=форма
n=0
Все верно, в s1 не содержится s, а наоборот
var
x, y, a, b, c, D, x1, x2: real;
inp: string;
inp_arr: array of string;
begin
writeln('a b c');
readln(inp);
inp_arr := inp.split(' ');
a := StrToFloat(inp_arr[0]);
b := StrToFloat(inp_arr[1]);
c := StrToFloat(inp_arr[2]);
D := b*b - 4 * a * c;
x1 := (-b + sqrt(D)) / 2*a;
x2 := (-b - sqrt(D)) / 2*a;
if x1 > x2 then x := x1
else x := x2;
if x < 0 then y:= (1 / (x + (sin(x)/(x*x+1
else y:= (x*x-1)*sin(x)/(x*x*x);
write('a:', a, ' b:', b, ' c:', c, ' x:', x, ' y:', y);
end.