Sunday, April 5, 2020

Потпрограми

Што е потпрограма?


•Една иста група на искази (наредби) која се користи во различни делови од програмскиот код во зависност од проблемската ситуација и се запишува како посебен дел од главната програма, се нарекува – потпрограма (субрутина).
Потпрограма е дел од главната програма кој се состои од низа на искази со кои се извршува одредена активност.
•Потпрограмите ја намалуваат должината на програмскиот код, го поедноставуваат неговото пишување и разбирање.
•Потпрограмата има име и може да се повика од каде било во главната програма со одреден исказ.
•Самата потпрограма обично се пишува под главната програма и има одредена структура со почеток и крај.

• Името на потпрограмата не е осетливо на мали/големи букви.

Активност 1: Напиши го следниот пример програмски код со две потпрограми:

TextWindow .Write („Vnesi lozinka:“)
lozinka= TextWindow .Read ()

If lozinka=“JB007“ Then
        yes()
Else
        no()
EndIf

Sub no
    TextWindow . ForegroundColor =“red“
    TextWindow .WriteLine(“Lozinkata ne e tocna!“)
    TextWindow .WriteLine (“Vlezot e zabranet!“)
    Sound . PlayBellRing ()
EndSub

Sub yes
     TextWindow . ForegroundColor =“green“
     TextWindow .WriteLine(“Lozinkata е tocna!“)
     TextWindow .WriteLine (“Vlezot e sloboden!“)
     Sound . PlayChime ()
EndSub

Во примерот разликуваме една главна програма (тоа е првиот дел со внесувањето на лозинката и IF структурата) и две потпрограми yes() и no()
По главната програма се наоѓаат потпрограмите yes и no, и секоја почнува со Sub, а завршува со EndSub.


ВООЧИ!


Структурата за пишување на потпрограма е следна:

Sub ime_na _potprogramata
     Искази
EndSub

Потпрограмата се повикува од главната програма со исказот
ime_na _potprogramata().


Активност2: Пишување на пример програма со потпрограма која користи променливи од главната програма.


TextWindow .WriteLine (“Programa koja crta linii“)
TextWindow . Write (“Kolku linii treba da nacrtam?“)
broj=TextWindow .ReadNumber ()
linii()
Sub linii
For i = 1 To broj
       GraphicsWindow . DrawLine (50+x,50 50+x, 200)
       x=x+20
EndFor

EndSub

Размисли и одговори:
1. Која променлива од главната програма ја користи потпрограмата? 
2. Зошто координатите по x оската мора да се зголемат?

Воочи! Променливите во програмата се глобални, а тоа значи дека ја задржуваат својата вредност и име и во главната програма и во потпрограмата.


Активност3: Пишување на пример програма која повикува потпрограма во циклус


GraphicsWindow.Title =“ANIMACIJA SO TOPCINJA“
GraphicsWindow.Width =“300“
GraphicsWindow.Height =“300“
GraphicsWindow.BackgroundColor =“black“
For br=1 To 1000
  x= Math.GetRandomNumber (300)
  y= Math.GetRandomNumber (300)
  kruznica ()
EndFor
Sub kruznica
      GraphicsWindow.BrushColor = GraphicsWindow.GetRandomColor ()
      GraphicsWindow.FillEllipse (x,y,10,10)
      Program.Delay (10)
EndSub

Размисли и одговори: 
3. Колку пати се повикува потпрограмата во главната програма? 
4. Дали изразот за доделување вредност на координатите x и y може да се внесе во потпрограмата?


Пример програмите изработите ги во Small Basic на вашите компјутери, а прашањата одговорете ги во тетратка.

No comments:

Post a Comment

Програма за цртање PAINT

Преку овој пример, ќе видиме како може во Small Basic да се црта со помош на глувчето, користејќи настани и потпрограми: Воочи: Пр...