Есептер шығару Есептерді шығаруға нұсқау

43

Есептер шығару

Есептерді шығаруға нұсқау

Прагаммалаушыларға жиі шешуге тура келетін, өте маңызды есеп,бір өлшемді жиын ұғымымен тығыз байланысты,атап айтқанда, оның элементтерін өсуі немесе кемуі бойынша тізімді сұрыптау есебі.

       Егер тізім элементтері сан емес қатары болса, онда оның элементтеріналфалфавиттік немесе дәлірек айтқанда,лексикографикалық  ретпен реттеуге болады.Мысалы: Сейтқұлова, 9 Сейтқұлов , 1999  реттелмеген тізім;

«1999», «9», «Сейтқұлов»,» Сейтқұлова» реттелген тізім.

Сұрыптаудың көптеген алгоритмдері бар.

Ақпаратты іздеудің жеделдетілген әдісі ретінде үлкен жиымдарда сұрыптау пайдланылады.Ақпараттың үлкен жиымын жинау және сақтау, яғни қажетіне қарай керккті ақпаратты алу Реттелмеген жиымға жиі қатынас жасағанда, өнімділігі жоғары компьютерді пайдаланғанның өзінде қажетті ақпаратты іздеуге және алуға өте көп уақыт жұмсалады. Сұрыпталған жиымдарда мұндай іздеулер айтарлықтай тез өтеді.

       а сұрыптау мәселелері және сұрыпталған жиымдардың біріктірілуі программалаушы назарын ақпараттарды компьютерлік өңдеудің бастапқы кезінен – ақ аударды. Ақпараттарды сұрыптаудың бірнеше тәсілдері жасақталды.

       3.1 – есеп. Ендірілген п натурал санның факториалының мәндерін    есептеу.

Шешімі. Есепті мына программалық код шешеді:

Function RecFact (п)

Факториалды рекурсивті есептеу.

If   n = O Then

RecFact=1

Else

RecFact = n * RecFact (n-1)

End If

End Function

Function NonRecFact (n)

Циклдің көмегімен факториалды есептеу.

Dim P

P=1

While (n > 1)

P=n * P

N= n – 1

Wemd

NonRecFact = P

End Function

Private Sub Command 1 _Click ( )

Dim n

n= Cint ( InputBox ( “Натурал санды ендіріңдер”, “п натурал_санның факториалын есептеу:, 0 ))

Number = n

Print:; _RecFact (n)

Print “Рекупсивсіз есептелген фкториал : ; NonRecFact ( n)

End Sub

3.2 – есеп. Екі бүтін санның ең үлкен ортақ бөлгішін ( ЕҮОБ) табу.

Шешімі. Есепті төмендегі прогрпммалық кодпен шешеді:

Function RecNod ( n, m)

‘Екі бүтін санның ең үлкен ортақ бөлгішінрекурсивті

есептеу

If  n= m Then

RecNod=RecNod (n-m, m)

Else

RecNod = RecNod ( n6 m-n)

End If

End Function

Function NonRecNod (n,m)

Екі бүтін санның ең үлкен ортақ бөлгішін цикл арқылы есептеу.

While ( n<>m)

If  n>m Then

Else

m=m – n

E”

 

       3.1 – есеп. Ендірілген п натурал санның факториалының мәндерін    есептеу.

Шешімі. Есепті мына программалық код шешеді:

Function RecFact (п)

‘Факториалды рекурсивті есептеу.

If   n = O Then

RecFact=1

Else

RecFact = n * RecFact (n-1)

End If

End Function

Function NonRecFact (n)

Циклдің көмегімен факториалды есептеу.

Dim P

P=1

While (n > 1)

P=n * P

N= n – 1

Wemd

NonRecFact = P

End Function

Private Sub Command 1 _Click ( )

Dim n

n= Cint ( InputBox ( “Натурал санды ендіріңдер”, “п натурал_санның факториалын есептеу:, 0 ))

Number = n

Print:; _RecFact (n)

Print “Рекупсивсіз есептелген фкториал : ; NonRecFact ( n)

End Sub