1.
var N: integer;
var s: string;
begin
write('Введите строку: ');
readln(s);
write('Введите N: ');
readln(N);
if (s.Length>N) then s:=s.Substring(0,N);
writeln('Результат: ',s);
end.
2.1 (С циклом For)
var s: string;
var c: char;
var i,n: integer;
begin
n:=0;
write('Введите строку: ');
readln(s);
write('Введите символ: ');
readln(c);
for i:=1 to s.Length do
if (s[i]=c) then n:=n+1;
writeln('Символ ',c,' встречается в тексте ',n,' раз');
end.
2.2 (С циклом Repeat)
var s: string;
var c: char;
var i,n: integer;
begin
n:=0;
i:=1;
write('Введите строку: ');
readln(s);
write('Введите символ: ');
readln(c);
Repeat begin
if (s[i]=c) then n:=n+1;
i:=i+1;
end;
until i=s.Length+1;
writeln('Символ ',c,' встречается в тексте ',n,' раз');
end.
Дело в уровне сложности и подготовке специалиста. Библиотека pygame написана для языка python. В python программист не задумывается о таких сложных вещах, которые происходят на более базовых языках. То есть он не отчищает оперативную память по окончанию работы программы, ему не нужно задумываться о всеразличных пакетах разрешений, которые могут понадобится ему для выполнения простейших в python операций. Выходит, что программируя на pygame, программист сосредотачивает свое внимание на процессах игры, а не на запросы разрешений и многих прочих вещей.