Да се напишат функции за работа с масиви, които позволяват следното:
- въвеждане на масив от клавиатурата и връщане като резултат на броят въведени елементи
- намиране на сумата на елементите на част от масива, при подаден начален и краен елемент
- намиране на броят на ненулевите елементи на част от масива, при подаден начален и краен елемент
Самият масив да бъде подаден като глобална променлива.


VAR a:array[1..30] of integer;//Декларираме масив, като глобална променлива function vavejdane:integer;//Въвеждаме елеменрите var n,i:integer; begin write('Broi elementi: '); readln(n); writeln('Vavedi elementite: '); for i:=1 to n do readln(a[i]); result:=n; end; function suma_chast:integer;//Намираме сумата на част от масива var i,y,z,suma:integer; begin write('Nachalo: '); readln(y); write('Krai: '); readln(z); suma:=0; for i:=y to z do suma:=suma+a[i]; result:=suma; end; function nenulevi_elementi:integer;//Намираме броят на ненулежите елементи на част от масива var i,y,z,broi:integer; begin write('Nachalo: '); readln(y); write('Krai: '); readln(z); broi:=0; for i:=y to z do if a[i]=0 then broi:=broi+1; result:=broi; end; BEGIN writeln(vavejdane); writeln(suma_chast); writeln(nenulevi_elementi); readln; END.Калояне, кодът по принцип е верен, но е по-удачно първия и последния елемент да се въведат в главната програма и да се подават като параметри на функциите. Нали помниш как беше в презентацията – онова, което е нужно на функцията и е специфично за нея, се подава като параметри. Което е общо и за други функции, се указва като глобални променливи. А въвеждане от клавиатурата се прави само ако изрично се изисква в условието на програмата. Защото въвеждането прекъсва кода на изпълнението на програмата и например много последователни обработки са невъзможни. Освен това, ако искаме да извършим няколко изчисления с едни и същи начален и краен елемент – какво, всеки път ще въвеждаме ли едни и същи числа ли?