Автор работы: Пользователь скрыл имя, 22 Ноября 2012 в 20:30, реферат
Егер сіз берілген есепті шешу үшін қандай да бір программалау тілінде программа жазғыңыз келсе, онда алдымен есепті шешудің алгоритмін құруыңыз керек. Алгоритм – математикадағы ең бір іргелі ұғымдардың бірі. Алгоритм сөзі ІХ ғасырда өмір сүрген, адамдардың квадрат теңдеулерді жүйелей құрып оны шеше білуге үйреткен ұлы математик Әл- Хорезмидің атының латынша жазылуы algorithmi сөзінен алынған.
30 REM CD
40 INPUT C,D
50 REM Z
60 Z=(FNY(C)-FNY(D))/FNY(C+D)^3
70 PRINT “Z=”; Z
80 END
60-операторда көрсетілген FNY функциясының аргументтері шын аргументтер деп аталады. Олар 20-оператордағы формальды аргументтердің орындарына қойылатын нақты сандық мәндерді береді. Пайдаланушы анықтайтын, яғни стандартты емес функцияларды программалауда пайдаланғанда ескерілуге тиісті бір қатар ерекшеліктерді атап өтейік.
Формальды
аргументтер, аргументтерді
.
20 DEF FNC (X,Y)=SQR (X^2+Y^2)
.
50 DEF FND(X)=SIN (X)/X
.
80 LET Z=Y+B*3
.
FNC жєне
FND функцияларын анықтаудағы х
аргументі өзара байланысты
Пайдаланушының
анықтайтын функциясы бүтін,
Мына төменде пайдаланушының анықтайтын функциясын пайдаланудың мысалдары келтірілген:
20 DEF FNA % (X,Y,R%)=X*K% +Y*10*K%
20 DEF DNB% (A$,L)=SWG (A$,I,L)+”A”
20 DEF FNC (X)=SIN (X) /X
М±нда:
Пайдаланушы
функцияны анықтауда
20 DEF FNB (X)=2*X/SQR (X)
30 PRINT FNB (5,2)
орындалуының
нәтижесінде экранға
Мысалдар келтірейік:
50 DEF FNB (X,Y)=FNA (X)+(CJS(Y)^2-1
55 X=2.5
60 Z=FNB (4.7124,3.I4I6)*EXP (X)
70 PRINT Z
Бұл программа үзіндісі орындалғанда мына төмендегідей нәтиже алынады:
Z=(| sin 4.7124| + cos2 3.1416-1).e2.5= 12.1825
және
екі функцияны анықтау керек және олардың мәні х=5 мәнінде есептелсін.
10 DEF FNY (x) =LOG (x+SQP(x^2+1)
20 DEF FNY =B^2 (((X-A)^2+B^2
30 A=2: B=3
40 X=5
50 Y=FNY (X): F=FNF (X)
60 PRINT X,Y,F
70 END
Бұл программада 30-қатарда А және В-ның мәндері анықталған, олай болмаған жағдайда f(x) функциясының мәні есептелінбейді. 40-қатарда х-тың мәні, ал 50-қатарда у және F-тің мәндері есептеледі.
Массивтер және оларды өңдеу.
Массив ұғымы
BASIC тілінде бірыңғай шамаларды массивке біріктіруге болады. Жалпы аты бар бірыңғай элементтердің реттелген жиыны массив болып табылады. Ол математикада вектор ұғымына, ал мектептік алгоритмдік тілде сызықтық кестеге сәйкес келеді. Массивтің аты жай айнымалының атын құрғандағы ережелерге сүйеніп құрылады.
Массивтің әрбір элементіне соңынан индексі келетін массивтің аты меншіктеледі. Сондыќтан да массив элементтерін индексті айырмалар деп те атайды.
Ұйымдастыру тәсілдері бойынша BASIC тілінде бір өлшемді екі өлшемді және көп өлшемді массивтер пайдаланылады. Бір өлшемді массивтің элементі массивтегі элементтің реттік нөмірін анықтайтын бір индекспен көрсетіледі. Мысалы:
Осылайша, индекстер массивінің атынан соң жақша ішіне орналасады.
Енді
екі өлшемді массивке алып
келетін мынадай есепті
Айталық,
11-мөлтек ауданда тұратын
Бұл есепті шешуде екі өлшемді массивті пайдалану ыңғайлы. Біз бірінші айнымалы ретінде үйдің нөмірін, екінші айнымалы ретінде пәтер нөмірін пайдаланамыз. Егер ол құрылып қойылған болса, онда біздің сұрақтарымыздың жауабы ретінде А[22,3] мәні баспаға шығарылады. Мұнда алғашқы индекс үй нөмірін, екіншісі пәтер нөмірін білдіреді. Ал егер А[22,3]=4 мәнін меншіктесе, онда бұл үйде 4 адам тұратын болғаны.
Екі
өлшемді массивке математикада
матрица, алгоритмдік тілде
Сонымен,
екі өлшемді массивтердің
DIM операторы
Егер индексті өрнек ретінде формула пайдаланатын болса, онда оның мәні есептеліп болғаннан соң бүтін санға дөңгелектенеді. Егер программада массив пайдаланылатын болса, онда олар алдын ала сипатталған болуы тиіс. Бұл компьютерге массивтің құрылымы және өлшемі туралы информация берілуі керек деген сөз. Осы информацияны қабылдау арқылы компьютер өзінің жадында массив элементтерін орналастыру үшін қажетті орын қалдырады. Массивтерді сипаттау үшін DIM (dimension-өлшемділік) операторы қолданылады.
Оператордың жазылу пішімі:
k DIM m1(m1-ң шек.), m2(m2-ң шек.),…, mN(mN-шек)
мұнда k-қатар нөмірі; DIM-оператордың аты; m1, m2,…, mN-массивтің аттары; m1-шек., m2-шек., mN-шек.,…, mN-шек. - m1, m2,…, mN-ге сәйкес массивтің шекаралары. Мұнда массивтің тек жоғарғы шекаралары көрсетілген, өйткені төменгі шекаралары 1-ге тең деп қабылданады.
Егер
массив бір өлшемді болса, “m
шек.” сол массивтің
Мысалы, мына оператор 10 DIM С(5), D(1,2) С массивінің С(0), С(1), С(2), С(3), С(4) элементтерден тұратын бір өлшемді массив екендігін және D массивінің
D(0,0) D(0,1) D(0,2)
D(1,0) D(1,1) D(1,2)
элементтерден тұратын, екі қатары және үш бағаны бар екі өлшемді массив екендігін білдіреді.
DIM операторы массивке сілтеме жасамастан бұрын программаның басында орналасқаны жөн.
Индекстің ең кіші мәні нөл, ең үлкен мәні DIM операторында хабарланған мәннен асып кетпеуі керек. Егер индекстің мәні бұл шекарадан асып кетсе, онда программаны орындауда қателік кеткендігі жөнінде хабар экранға шығады. Бір өлшемді массивті цикл ішінде FOR және NEXT операторларын қолданып өңдеген ыңғайлы.
Бұл жағдайда цикл параметрі циклдің саны, санау қызметін атқарады және массив элементтерінің индексін белгілеуде қолданылады.
DIM операторында массивтің атынан соң дөңгелек жақша ішінде массив өлшемінің көрсеткіші ретінде мәндері алдын ала анықталған, ендірілген немесе есептелген тұраќты (бүтін типі), әйтпесе айнымалының аты (арифметикалық өрнек) пайдаланылуы мүмкін. Мысалы,
10 INPUT K,L,M
20 DIM D(K), E(L), F(L+M)
Бұл жағдайда D массивіне жадтың К+1 ұясы, Е массивіне (L+M)+1 ұясы бөлінеді.
Программада пайдаланылатын массивтер DIM операторында тек бір рет хабарланады.
Массивті қайталап хабарлаған жағдайда “redimensione arry” (“Массивті екінші рет хабарлау”) хабары экранға шығады. Мысалы, программаның мына төмендегі үзіндісінде:
10 DIM А(10), В(10), С(20)
20 DIM В(30), D(20)
.
.
.
В массиві екі рет хабарланған.
Бірақ массивті ERASE операторын пайдаланып қайтадан хабарлауға да болады. ERASE операторында жойылуға тиісті массивтің аты көрсетіледі. Мысалы, 15 ERASE В операторы В массивін қайта хабарлайды.
Массивтің жеке элементтерімен орындалатын операциялар. Массивтерді ендіру – шығару
BASIC тілінде массивтерді өңдейтін арнайы операциялар жоқ, сондықтан массивті оның элементтері бойынша өңдейді. Қарапайым айнымалылармен қандай амалдар орындауға болатын болса, массивтің элементтерімен де дәл сондай амалдар орындауға болады. Бұл жағдайда меншіктеу немесе шартты өту операторларында массив элементтерін пайдаланғанда массив атынан соң жақша ішінде мәні анықталуға тиісті индекстің тұрғандығына барлық уақытта ерекше назар аударуға тиіспіз.
Мысалы, мәндері
А(1) |
А(2) |
А(3) |
А(4) |
А(5) |
-8 |
3.2 |
4 |
15 |
18 |
Бес элементтен тұратын массив үшін А(2)=3.2 екінші элементті 8.3 санына ауыстыру операцияясы мынадай болып жазылады:
•
•
•
30 А(2)=8.3
Мына программа үзіндісінің
•
•
•
80 J=1
90 I=3
100 A (4)=27