0 дауыс
757 көрілді

Бағдарламаларда есептеулерге арналған арнайы операторларды, форматтық шығаруды, кездейсоқ сандардың генераторын, eval() функциясын қолдануды үйрену туралы.

1 жауап

0 дауыс
 
Жақсы жауап

Қысқаша теориялық мәлімет
Python тіліндегі бағдарламаларда қолданылатын мәліметтердің негізгі типтері:

• int – бүтін мәндер;

• float – нақты мәндер (бөлшек болуы да мүмкін);

Осы типтердің айнымалылары мен сандарына келесі арифметикалық амалдар қолданылауы мүмкін:
1.3 кесте. Арифметикалық амалдар

Оператор
Сипаттамасы
+
Қосу операторы. Сандардың қосындысын есептейді
-
Азайту операторы. Сандардың айырмасын есептейді
*
Көбейту операторы. Сандардың көбейтіндісін есептейді
/
Бөлу операторы. Сандардың қатынасын есептейді
//
Бүтін санды бөлу операторы. Бір санды екіншісіне бөлген кезде бүтін бөлігін есептейді.
%
Санды бөлуден қалатын қалдықты есептейтін оператор. Бір санды екіншісіне бөлген кезде қалдық бөлікті есептейді.
**
Дәрежені есептеу операторы.

Арифетикалық өрнектер сандардан, айнымалылар атауларынан, арифметикалық амалдардың белгілерінен, дөңгелек жақшалардан (әрекеттер ретін өзгерту үшін) және функцияларды шақырудан тұруы мүмкін. Мысалы,

a =(c + 5 - 1) / 2*d

Егер ұзын өрнектің жазбасы экранның бір қатарына сыймаса, оны «\» (оны «кері слэш» деп атайды) белгісінің көмегімен келесі қатарға орналастыруға болады:

a =(c + 5 - 1) \

/ 2*d

Python тілінде (Си тілінде секілді) көптік меншіктеуді қолдануға болады.
a = b = 0

жазбасы


b = 0

a = b

операторлардың жұбына тең

Сонымен қатар, Си тілінде секілді, арифметикалық амалдардың қысқартылған жазбасын жиі қолданылады:

қысқартылған жазба толық жазба

a += b a = a + b

a -= b a = a - b

a *= b a = a * b

a /= b a = a / b

Егер өрнекке әр түрлі типтердің айнымалылар кірса, кейбір жағдайларда автоматты түрде аса «үлкен» типке келеді. Мысалы, бүтін санның нақты санға көбейту нәтижесі – бұл нақты сан. «Кіші» типке өту автоматты түрде орындалмайды. Бөлу («/» амалының) нәтижесі – бұл нақты сан, тіпті бөлінді мен бөлгіш – бүтін сандар және бір біріне бүтін бөлінсе де.

Бүтін сандарды бөлуден бүтін және қалдық сандарды алу жиі керек болады. Бұл жағдайда «//» және «%» операторларын қолданады:
1 мысал.

d = 85

a = d // 10 # = 8

b = d % 10 # = 5

Форматтық шығару жиі қолданылады: енгізуге қажетті барлық мәліметтерді алдымен format функциясының көмегімен символдық қатарға өзгертеді:

2 мысал.

a = 1/3

print ( "{:7.3f}".format(a) )

Бұл жағдайда «7.3f» форматы қолданылған, бұл бөлшек бөлікті 7 позицияда үш белгімен бекітілген үтір арқылы (от англ. fixed – бекітілген) санның шығуын анықтайды:

0.333

Бұл жазба 5 позицияны (ал оған 7 белгіленген) алатындықтан, санның алдына «» белгісімен белгіленген екі бос орын қосылады. Бірден бірнеше мәндер үшін форматтық шығаруды қолдануға болады (бұл мәндердің тізімі дөңгелек жақшаларға жазылады):

3 мысал.

a = 1/3

b = 1/9

print ( "{:7.3f} {:7.3f}".format(a, b) )

«%e» жазбасы экспоненциалдық форматты білдіреді:

print ( "{:10.3e} {:10.3e}".format(a, b) )

мұндағы 10 мен 3 сандары – бұл белгіленген бөліктің жазбасындағы ондық нүктеден кейінгі белгілердің саны мен позициялардың жалпы саны:

3.333e-01 1.111e-01

Стандартты функциялар

Python тілінің кітапханасы бағдарламадан шақыруға болатын дайын функциялардан тұрады. Кейбір функциялар тілдің ядросына енгізілген, мысалы, санның модулін есептеу үшін abs функциясы қолданылады:

print ( abs(-1.2) )

Нақты сандардан бүтін сандарға өтуге арналған енгізілген функциялар бар:

• int(x) нақты санды бүтін санға келтіру, бөлшек бөлікті алып тастау;

• round(x) – нақты санды жақын бүтінге дөңгелектеу.

Python тілінің көптеген стандартты функциялары қызметі бойынша топтарға бөлінеді және әрбір топ модуль деп аталатын жеке файлға жазылады. Математикалық функциялар math модуліне жинақталған:


  • sqrt(x) – санының квадраттық түбірі ;

  • sin(x) – радианмен берілген бұрышының синусы;

  • cos(x) – радианмен берілген бұрышының косинусы;

  • exp(x) – санының экспоненті;

  • log(x) – санының натурал логарифмі.


Осы модульді қосу үшін импорттау (модульді жүктеу) командасы қолданылады:

import math

Сосын функцияларды шақыру үшін нүктелік жазба деп аталатын команда қолданылады: модульдің аты және сосын нүктеден кейін функцияның атауы көрсетіледі:



print ( math.sqrt(x) )

Басқаша орындауға да болады: модульдің барлық функцияларын жұмыс кеңістігіне жүктеуге болады:

from math import *

Енді math модулінің функцияларын енгізілген функциялардағы секілді шақыруға болады:

print ( sqrt(x) )

Бұл тәсілдің айтарлықтай кемшілігі бар: жұмыс алаңында көптеген қосымша атаулар пайда болады, яғни басқа модульдерде хабарланған функциялардың атауларымен сәйкес келуі мүмкін. Сондықан қажеттілік болмаса, олай істеудің керегі шамалы.

Үшінші нұсқа – тек қажетті функцияларды жүктеу.

from math import sqrt, sin, cos

Бұл жағдайда аталғандардан басқа (sqrtsincos), math модулінің барлық функциялары қолжетімсіз болады.

Псевдокездейсоқ сандармен жұмыс істеу функциялары random модуліне жинақталған. Берілген аралықта псевдокейздейсоқ сандарды алу үшін функцияларды қолданады:

• random() – жартылай интервалдағы [0,1) кейдейсоқ нақты сан;

• randint(a,b) – [a,b] кездейсоқ бүтін сан.

4 мысал. 1 ден 6 дейінгі аралықта (кубикті лакқтыру нәтижесі) айнымалыға кездейсоқ санды жазу үшін төмендегідей операторларды қолдануға болады:

from random import randint

n = randint(1,6)

print(‘Выпало число ’,n)

5 мысал. 5 пен 12 (12 қоспағанда) жартылай интервалдағы нақты кездейсоқ сан мынандай болады:

from random import random

x = 7*random() + 5

print(‘х= ’, х)

eval ( ) функциясы мәтіндік форматта берілген өрнектерді есептеуге мүмкіндік береді. Мысалы, егер Python тілінің синтакисінің ережелеріне сәйкес жазылған кейбір алгебралық өрнекті екілік тырнақшаға алсақ, онда мәтін пайда болады. Егер осы мәтінді рrint ( ) функциясының аргументімен көрсететін болсақ, онда экранда сәйкес алгебралық өрнек пайда болады. Егер дәл осы мәтінді (алгебралық өрнекпен) eval () функциясының аргументімен беретін болсақонда сәйкес алгебралық өрнек есептелетін болады.

6 мысал.

а="(5+2)**2-3*2"

b=''6 - 5/2"

с="10//4+1 0%3"

рrint ("Результаты вычислений :")

print (a+" =" , eval (a) )

print (b+" =" , eval (b) )

print (c+" =" , eval (c) ).

Осы бағдарламалық кодты орындау нәтижесінде алатынымыз:

Есептеулер нәтижелері:

(5+ 2) **2-3*2 = 43

6-5/2 = 3.5

10//4+10%3 = 3

Толығырақ: https://melimde.com/algoritmder-jene-programmalau-peninen-zerthanali-sabatarin-otk.html?page=3

...