алгоритмдер

Last updated about 2 years ago
0 questions
Алгоритм ұғымы қашан пайда болды?
Алгоритмнің қасиеттерін қысқаша түрде түсіндір.

Алгоритм

Алгоритм, алгорифм (ағылш.: algorіthm, algorіsmus — Әл-Хорезмидің атынан шыққан) — бастапқы берілген мәліметтермен бір мәнде анықталатын нәтиже алу үшін қай амалды (жұмысты) қандай ретпен орындау қажеттігін белгілейтін есептерді (мәселелерді) шешу (математикалық есеп-қисаптар орындау, техникалық объектілерді жобалау, ғылыми-зерттеу жұмысын жүргізу т.б.) тәсілдерінің дәл сипаттамасы. Алгоритм — математика мен кибернетиканың негізгі ұғымдарының бірі. Алгоритмді орындау алгоритмдік үрдіс деп аталады.
Жалпы Алгоритм деп алдын ала не істеу керек екені дәл көрсетілген есептеу үрдісін айтады. Есептеу үрдісі қандай болса да алғашқы мәндерден бастап, сол арқылы толық анықталған қорытынды шыққанша жүргізіледі. Алгоритм ұғымының алғышартына алгоритмдік үрдіспен қатар мүмкін болатын алғашқы деректер жиынтығының нұсқауы және қорытынды алуға байланысты жүргізілген үрдістің аяқталғандығын көрсететін ереже енеді. Белгілі бір бастапқы деректердің жиынына қолданылған Алгоритм тиянақты қорытындыға келмеуі немесе есептеу барысы аяқталмай тоқталуы мүмкін. Егер есептеу үрдісі белгілі бір қорытынды алумен аяқталса (не аяқталмай қалса), онда Алгоритм мүмкін болатын бастапқы деректерге қолданылады (не қолдануға болмайды) деп ұйғарылады.
Алгоритм — қазіргі математикада, оның ішінде электронды есептеуіш машинада қолданылатын негізгі ұғымдардың бірі. Белгілі бір теңдеу түбірінің жуық мәнін кез келген дәлдікпен табу оған арналған Алгоритммен есептеледі. Компьютердің кең қолданылуына байланысты Алгоритм жаңа мағынаға ие болды. Берілген есепті шешу барысында орындаушыға біртіндеп қандай әрекеттер жасау керектігін түсінікті әрі дәл көрсететін нұсқау да Алгоритм деп аталады. Алгоритмді орындаушы — адам, Компьютер немесе робот. Әрбір нұсқау — бұйрық. Ал орындаушының жүзеге асыра алатын бұйрықтар жиыны бұйрықтар жүйесі деп аталады. Мысалы, у = (ax + b) (cx - d) функциясын есептеу ЭЕМ-да мынадай әрекеттерден құралады:
а-ны x-ке көбейту R1 деп,
оған b-ны қосу нәтижесі R2 деп,
с-ны х-ке көбейту R3 деп,
сх-тан d-ны алу R4 деп,
R2-ні R4-ке көбейту у деп белгіленеді.
Алгоритмнің бұйрықтары бірінен кейін бірі кезекпен орындалады. Бағдарлама Алгоритм тілінде жазу, бейнелеу мағынасын береді. Компьютерде Алгоритмнің сызықты, тармақты, циклді, логикалық, модельдік, параллельдік, тізбекті т.б. түрлері қолданылады.
Алгоритм қасиеттері
Алгоритм ұғымның мәнін аша түсетін оның мынадай қасиеттері бар:
Алгоритм дискретті информациялармен жасалатын әрекеттерді тағайындайды және өрнектейді. Алгоритмге қатысты әрекеттердің бәрі дискретті болады. Алгоритмнің жұмысына қажетті материалдар ретінде символдық мәтіндер және сандар пайдаланылады.
Алгоритм біздің қалауымызға қарай өзгертуге болмайтын нақты нұсқау алгоритмде не істеу керектігі алдын-ала айқын береді. Мысалы, бір есепті шешудің алгоритмі берілсе онда ойланбай-ақ алгоритмде қандай нұсқаулар берілсе, сол нұсқауларды берілу ретімен орындасақ, есеп шығады. Алгоритмнің осы қасиетін оның анықталғандық қасиеті дейміз. Бұл жағдай адам сияқты емес ойлау қабілеті жоқ құрылғылардың мысалы, компьютердің көмегімен есептерді шешу мүмкіндігіне кепілдік берді. Мұндай құрылғылар алгоритмнің жарлықтарын ойланбастан формальды орындайды. Сондықтан алгоритмді есепті шығаруға қажеттінің бәрі бір мәнді анықталу және атқарушыға түсінікті әрі нақты болуы тиіс.
Бір алгоритмнің өзін бірнеше есептің шешімін табу үшін пайдалану мүмкіндігі, яғни бастапқы деректер мәндерінің жиынына пайдаланылу мүмкіндігі бар. Алгоритмнің мұндай қасиетін көпшілікке бірдейлік, басқаша айтқанда, жалпылық қасиеті деп атайды.
Әрбір алгоритм белгілі бір бастапқы деректердің болуын талап етеді және іздеген нәтижені алуға жеткізеді. Мысалы, екі санды қосу алгоритмнде қосылғыштар бастапқы деректерге, ал қосынды нәтижеге жатады. Осылайша, алгоритмдегі әрекеттердің белгілі бір санның орындалуынан кейін қажетті нәтиже алу мүмкіндігі алгоритімнің нәтижелілігі деп аталады.
Алгоритмдердің типтері, берілу ерекшеліктері.

Алгоритм типтері

Сызықтық алгоритмдер. Сызықтық алгоритм қарапайым командалар тізбегінен тұрады. Әрекеттердің тізбектей орындалуын сипаттайтын алгоритм – сызықтық алгоритм деп аталады.
📷
Тармақталу алгоритмі. Күнделікті өмірде алгоритмдер негізінен тармақтарға бөлінеді. Бұл тармақтардың орындалуы шарттың орындалуына байланысты болады. Тармақталу алгоритмінде біріншіден, арифметикалық теңсіздік түрінде берілген логикалық шарт тексеріледі. Егер шарт орындалса, алгоритм бір тармақ бойынша (1-ші серия), ал егер орындалмаса, екінші тармақ бойынша (2-ші серия) орындалады.
📷
Циклдік алгоритмдер. Көптеген алгоритмдерде белгілі бір әрекеттер бірнеше рет орындалады. Математикада, есеп шығару барысында айнымалы мәні өзгеруіне байланысты бір теңдеудің көмегімен бірнеше рет есептеледі. Алгоритмнің белгілі бір бөлігі бірнеше қайталанатын болса, ондай процессті цикл деп атайды. Қайталанатын бөлігі бар алгоритмдер циклдік алгоритм деп аталады. Циклдік алгоритмдер қолдану арқылы программаны қысқа да нұсқа жазуға болады. Қайталану бөлігіне қайталану (циклдік) командалары қолданады. Қайталану саны белгілі немесе белгісіздігіне байланысты циклдар екі түрге бөлінеді. Қайталану саны белгілі болса, ондай цикл арифметикалық, ал егер белгісіз болса, итерациялық деп аталады.
📷
Алгоритмнің неше түрі бар?
Әр алгоритм түріне мысал келтір?
Алгоритмдерді құрудың негізгі тәсілдері.
Алгоритмді жазудыңмынадай төрт тәсілі бар:
Сөзбен жазылу тәсілі
Алгоритмдік тіл.
Графикалық тәсіл.
Программалау тілі.
Сөзбен жазылу тәсілі. Алгоритмді үйренудің алғашқы кезінде қолданылады да және ол адамның орындауына арналған. Бұл тәсілде жазудың нақты бір ережесі жоқ, түсінікті, анық болса болды.
Алгоритмдік тіл –алгоритмдер мен олардың атқарылуын бірыңғай жәнедәл жазуға арналған белгілермен ережелердің жүйесі. Алг. Тіл бір жағынан әдеттегі тілге жақын. Бұл тілде алгоритмдер әдеттегі текст секілдіоқыла да, жазыла да алады . Екінші жағынан агоритмдік тіл өзіне математикалық символиканы, сандарды, шамалар мен функциялардың белгілерін, операция таңбаларын , жақшаларды т.б.қамтиды.
Алгоритмдіктілдің басқа әрбір тіл секілді өзінің сөздігі бар. Кез-келген алгоритмдегі атарушыныңкомандалар жүйесіне енетін командаларды жазуға қолданылатын сөздер осы сөздіктің негізін құрайды. Мұндай командалар жай командалар деп аталады.
Алгоритмдік тілде мағынасы мен қолдану тәсілі біржола берілген санаулы сөздер ғана пайдаланылады. Бұл сөздер қызметші сөздер деп аталады.
Қызметші сөздер— алдын-ала мағынасы анықталған, тілдің құрамының бір бөлігі болып табылатын сөздер.
Алгоритмдік тілде жазылған алгоритмнің аты болуы керек. Алгоритмнің аты берілген алгоритмнің қандай есептің шшуін сипаттайтыны айқын болатындай етіп таңдалады. Алгоритмнің атын көрсету үшін оның алдына алг деген қызметші сөз жазылады.
Әр алгоритмнің жазылуы оның тақырыбынан басталады. Алгоритм тақырыбының жалпы түрі мынадай:
Алг алг. Аты
Арг аргумент аттары
Нәт нәтижелер аттары
Бірнеше аргумент,бірнеше нәтиже болса, онда олар үтір арқылы ажыратылып жазылады.
Алгоритмнің басы менсоңын көрсету үшін оның командаларыбасы мен соңыдеген қызметші сөздерінің араларына жазылады. Командалар тізбектеліп жазылады. Бір команданы жазу кезінде, егер қажет болса,оны екінші жолғажалғастырып жазуға болады. Егербірнеше команда бір жолға жазылса, онда оларбір-бірінен нүктелі үтір арқылы ажыратылады.
Бағдарламалау тілі
Бағдарламалау тілі дегеніміз адамның ЭЕМ-мен байланысының жасанды тілі, ол мәліметтер мен оларды өңдеу алгоритмдерін  компьютерде сипаттауға арналады.
Егер бағдарламалау тілі нақтылы процессор типіне арналған және оның ерекшеліктерін ескеретін болса, онда ол төмен деңгейлі бағдарламалау тіліне жатады.
Жоғары деңгейлі бағдарламалау тілі компьютерге қарағанда, адамға анағұрлым жақын әрі түсінікті болып келеді.
Жасанды тілді компьютер өзінің машиналық тіліне адамның қатысуынсыз автоматты түрде аударатындай етіп жасайды. Аударуды программа орындайды.
Ондай программаны ағылшын тілінде «транслятор» (аудару) деп атайды, ал аудару процесін «трансляция» дейді.
Компиляция әдісі – алдымен жасанды программа тҥгелдей машиналық тілге аударылады, сонан кейін бҧл программа басынан орындалады.
Интерпретация әдісі – жасанды тілдегі программаның әрбір әрекеті (нұсқау немесе амалы) жеке алдын-ала аударылмастан бірден машиналық тілде орындала бастайды. Яғни, компиляция әдісінде жасанды тілдегі программа тек қана бір рет қарастырылады және аударылған программаны бірнеше рет орындауға болады, ал интерпретация әдісінде әр орындар алдында жасанды тілдегі программаны қайтадан қарастыру қажет.
Функция аты
Математикалық
Бейсик тілінде
Бейсик тілінде
Абсолюттік шама
|x|
ABS(X)
ABS(-5)
Экспонента
ex
EXP(X)
EXP(5)
Натуралдық логарифм
ln x
LOG(X)
LOG(3)
Қалдық (MOD)
-
x MOD y
19 MOD 6.7
Квадраттық түбір
SQR(X)
SQR(4)
Синус
Sin x
SIN(X)
SIN(3.14)
Косинус
Cos x
COS(X)
COS(1)
Тангенс
tg x
TAN(X)
TAN(2)
Арктангенс
arctg x
ATN(X)
ATN(3)
Квадрат теңдеуді шешу алгоритмі мен блок-схемасы және бағдарламасын жазу
ах2+вх+с=о
а,в,с-кез келген сан (а=о)
D<0  - шешімі жоқ
D=0  -бір шешімі бар
D>0  -екі шешімі бар
D=b2-4ac
X1=
📷
X2=
📷
алг (арг нақ а,в,с, нәт нақ х1,х2, у)
басы нақ D
D:=b2-4ac
егер D<0
онда у:=“шешімі жоқ”
әйтпесе    егер D=0
онда x:=-
әйтпесе      х1:=📷
х2:=📷
бітті
бітті
соңы
Алгоритмдің тілге мысал келтір.
Графиктік тәсіл қалай іске асады?
Қандай программалау тілін білесің?