1) Для оптимизации кода. Если у вас один и тот же код повторяется много-много раз, то это не есть хорошо. Поэтому люди придумали процедуры/функции, которые выполняют повторяющийся функционал. Процедуры, очень грубо говоря - это мини-программа в программе.
2) Их иначе не создать. Языки программирования переводят наши в компьютерный язык, чтобы на ПК понимал, что мы от него хотим. Языки программирование - некие переводчики между нашим языком и языком ПК.
3) Оптимизирует код. Удобно при использование. Выглядит красиво. Можно не писать один и тот же код по 100 раз, в таком случае - у нас было бы очень-очень много одинаковых блоков-кода в программе.
Объяснение:
В программировании отдельные части большой программы могут выполняться либо по очереди друг за другом, то есть последовательно, либо одновременно друг с другом, то есть параллельно. Во втором случае говорят о многопоточности, то есть каждый скрипт работает в своем потоке, а разные потоки текут во времени одновременно.
Когда для каждого спрайта одного проекта вы добавляете свою конструкцию блоков, которая начинается с команды "когда флажок нажат", то как только игра запускается, оба героя начинают параллельно независимо друг от друга выполнять свои команды. Это пример одновременного выполнения скриптов.
Более того, один и тот же спрайт может содержать два независимых скрипта, каждый из которых будет выполняться в своем потоке. Рассмотрим пример. Пусть кот ходит по сцене и при этом меняет свой костюм.
a:array[1..1000]of integer;
i,n,m,k:integer;
begin
m:=0;
k:=0;
Writeln('введите числа:');
For i:=1 to 100 do
Readln (a[i]);
for i:=1 to 100 do
begin
if(a[i]mod 7=0) then
k:=k+1;
end;
writeln (k);
end.
Вот держи выводит количество цифр