Алгоритм және оның қасиеттері. Программалау және программа туралы түсінік

Автор: Пользователь скрыл имя, 10 Марта 2013 в 07:13, реферат

Описание работы

Алгоритм атауы атақты шығыс математигі абу Жафар Мұхаммед ибн Мұса әл-Хорезми (763-850 ж. ) есімінің латынша Algorіthmі (Алгоритми) болып жазылуынан шыққан. Ол санаудың ондық жүйесінде көпорынды сандармен арифметикалық амалдардың орындалу ережесін ұсынған. Бұл ережелер қосынды мен көбейтіндіні табуға арналған амалдарды орындауға қажетті тізбектен құрылған. Сол ереже осы күнге дейін қолданылып келеді.

Работа содержит 1 файл

1-Дәрісі.doc

— 203.50 Кб (Скачать)

 

 

 

 

Алгоритм және оның қасиеттері. Программалау және программа туралы түсінік. С, С++ тілінің элементтері. Айнымалылар типтері. Мәліметтерді түрлендіру.

 

1-ші дәріс

 

 

 

 

Алгоритм туралы ұғым

 

  • Алгоритм атауы атақты шығыс математигі абу Жафар Мұхаммед ибн Мұса әл-Хорезми (763-850 ж. ) есімінің латынша Algorіthmі (Алгоритми) болып жазылуынан шыққан. Ол санаудың ондық жүйесінде көпорынды сандармен арифметикалық амалдардың орындалу ережесін ұсынған. Бұл ережелер қосынды мен көбейтіндіні табуға арналған амалдарды орындауға қажетті тізбектен құрылған. Сол ереже осы күнге дейін қолданылып келеді.

 

 

 

 

  • Алгоритм – берілген есептің шығару жолын
  • реттелген амалдар тізбегі түріне келтіру.
  • Алгоритмді орындаушының рөлін негізінен адам
  • немесе компьютер, робот т. б. атқарады. Мысалы, y =
  • (ax+b)(cx-d) функциясын есептеу төмендегі қарапайым іс-әрекеттерден тұрады:
  • • 1) а-ны х-ке көбейту, оны R1 деп белгілеу;
  • • 2) оған b-ны қосу, нәтижесін R2 деп белгілеу;
  • • 3) с-ны х-ке көбейту, оны R3 деп белгілеу;
  • • 4) одан d-ны алу, оны R4 деп белгілеу;
  • • 5) R2-ні R4-ке көбейту, оны y деп белгілеу.

 

 

 

 

  • Техникалық құрылғыларды дұрыс пайдалану үшін есептің шешу жолы, яғни орындалатын әрекеттердің тізбегі әрі түсінікті, әрі дәл болуы қажет. Берілген мәселенің шешу жолдарының түсініктілігін оның алгоритмінің түсініктілігі деп қарастырады. Алгоритмде алдыңғы әрекеттің нәтижесі келесі әрекетте пайдаланылады.
  • Алға қойған мақсатқа жету немесе берілген есепті шешу бағытында атқарушыға біртіндеп қандай әрекеттер жасау қажеттігін әрі түсінікті, әрі дәл етіп көрсететін нұсқаулар тобын агоритм деп атайды.

 

 

 

 

Программа туралы түсінік

 

  • Алгоритмді компьютерде орындау үшін оны программа түрінде жазып шығу керек. Программа – алгоритмді машинаға түсінікті нұсқаулар тізімі ретінде жазу. Программа машинаға түсінікті командалардан тұрады. Осы командалар тізбегі орындалу барысында есептің нәтижесі шығады. Әрбір компьютер алдын ала жазылған программамен істейді.
  • Программа дегеніміз – белгілі бір нәтиже алу үшін орындалатын командалдардың айқындалған тізбегі. Процессор программаның құрамындағы командаларды кезекпен орындап отырады. Командалар тізбегін программа деп қарастыруға болады.

 

 

 

 

  • Команда бір ғана қарапайым амалды орындау үшін берілген бұйрық ретінде беріледі.Командалар: арифметикалық немесе логикалық амал; ақпаратты тасымалдау командасы; берілген сандарды салыстыру командасы; нәтижені экранға, қағазға басып шығару командасы; келесі командаларға көшу тәртібін орындау т.с.с.
  • Компьютердің жұмысы программалық принципке негізделген, яғни ол өзінің жадында сақталатын командалар тізбегін автоматты түрде орындау арқылы есеп шығарады.

 

 

 

 

  • Компьютер берілген тапсырманы орындауға дайын тұрған техникалық аспап болғандықтан, әрбір тапсырманы түсінікті түрде қысқаша жаза білу қажет. Тапсырма жоғарыда айтылған жекеленген командалардан тұрады. Машинаға түсінікті түрде жазылған тапсырмаларды немесе командалар жиынын да программа деп атауға болады.
  • Программа – арнайы мәтін арқылы компьютерге тапсырманың ретті кезегін хабарлайтын ережелер мен нұсқаулар тізбегі.

 

 

 

 

Алгоритм қасиеттері

 

  • Алгоритмнің мәнін ашатын негізгі қасиеттерінен немесе оған қойылатын талаптардан қысқаша мағлұматтар келтірейік. Компьютерде орындалуға тиіс алгоритмдерге мынадай талаптар қойылады:
  • 1) алгоритм анық, әрі дәл өрнектелуі тиіс – детерминділік қасиеті;
  • 2) оның модульдік (бөлікке бөліну) қасиеті, яғни алгоритмді шағын бөліктерге бөлу мүмкіндігі болуы қажет;
  • 3) алгоритм шектелген уақыттан соң нәтиже беруі тиіс, яғни алгоритм қадамдарының саны шексіз болмауы керек – нәтижелілік (шектеулілік) қасиеті;
  • 4) бір типтегі (біртектес) есептерге жалпы бір ғана алгоритм қолданылуы тиіс – жалпылық қасиеті.

 

 

 

 

Алгоритмнің өрнектелу 
жолдары

 

  • Алгоритмдерді компьютерде орындау үшін оларды алдын ала жазып алу керек, яғни ол белгілі бір заңдылықпен өрнектелуі тиіс. Жалпы алгоритмді өрнектеу түрлеріне:
  • •1) табиғи тіл арқылы жазу;
  • •2) белгілі бір түйінді сөздер – терминдер (псевдокодтар - жалған кодтар) арқылы қысқаша тізбекті түрде жазу, мұны қарапайым алгоритмдік тіл деп те айтады;
  • •3) график жолымен (блок-схема арқылы) жазу;
  • •4) программалау тілдерінде жазу жолдарын жатқызуға болады.

 

 

 

 

  • Кез келген алгоритмді (программаны) блоктардың өзара байланысуына қарай төмендегідей үш түрлі басқару құрылымын пайдалану арқылы жазып шығуға болатындығы дәлелденген:
  • • сызықтық құрылым немесе әрекеттер тізбегі;
  • • тармақты құрылым немесе шартты тексеру;
  • • қайталау немесе циклдік құрылым.

 

 

 

 

  • Осындай негізгі (канондық) құрылымдардан тұратын алгоритмді регулярлық алгоритм (программа) деп атайды, олардың бір ғана кіру нүктесі мен бір ғана шығу нүктесі болады. Осы үшеуі құрылым- дық программалаудың негізгі конструкциялары, яғни құраушылары болып саналады.
  • Программадағы кез келген әрекетті (операторды) оның кіру нүктесі арқылы тауып орындауға болады (осы тәсілмен табылмайтын операторлар және шексіз циклдер болмауы тиіс). Мұндай алгоритмді – программаны басқару ісі жоғарыдан төмен қарай жүргізіледі. Түсініктеме мәтін (комментарий) қосылған осындай программалар оқуға және түсінуге жеңіл болып есептеледі.

 

 

 

 

  • Оператор – тілдің қарапайым сөйлемі, ол белгілі бір әрекет немесе амал орындап, ; таңбасымен аяқталады.
  • Сызықтық құрылым бірінен кейін бірі орындалып тізбектеле орналасқан бірнеше операторлардан тұрады.
  • Тармақты – шартқа байланысты екі оператордың бірінің орындалуы
  • Цикл – операторлар бөлігінің бірнеше рет қайталана орындалуы.

 

 

 

 

Си және Си++ тілдері

 

  • Бұл тілдерде жазылған программаны компьютерде орындау кезінде ол алдымен трансляция сатысынан өтіп (машина тіліне аударылып), объектілік программа түріне ауысады да, сонан кейін барып орындалады. Осы сəтте компьютерде программаның екі нұсқасы болады, оның біріншісі – Cи++ тіліндегі алғашқы нұсқасы, ал екіншісі – объектілік кодтағы машина тілінде жазылған программа. Есептің нəтижесін тек машиналық кодта жазылған программа арқылы аламыз, ал программаны түзету қажет болғанда оның алғашқы нұсқасы өңделіп, оны қайта түрлендіру сатысы жүзеге асырылады.

 

 

 

 

  • Кез келген Си (Си++)-программа бір немесе бірнеше функциялардан тұрады. Олар программа құруға керекті негізгі модульдер болып табылады. Си программасы бірнеше функциялардан құралады, олардың ішінде міндетті түрде main() болуы қажет. Функция мəтіні оның тақырыбы мен тұлғасынан (денесінен) тұрады.

 

 

 

 

  • Си++ тіліндегі программа жеке-жеке жолдардан тұрады. Оларды теру, түзету арнайы мəтіндік редакторлар арқылы атқарылады. Программа қатарларының алдындағы азат жол немесе бос орындар саны өз қалауымызша алынады.
  • Бір қатарға бірнеше командалар немесе операторлар орналаса алады, олар бір бірінен нүктелі үтір (;) арқылы ажыратылып жазылады, бірақ бір жолда бір ғана оператор тұрғаны дұрыс, əрі түзетуге жеңіл, əрі ыңғайлы болып саналады.

 

 

 

 

Си++ тілінің алфавиті

 

  • Тілдің алфавиті программаның элементтерін құруда қолдануға болатын символдар жиынынан тұрады. Оған əріптер, цифрлар жəне арнайы белгілер кіреді. Тіл ерекшеліктеріне қарай символдар тобын шартты түрде төмендегі топтарға жіктеуге болады, олар

- атау (идентификатор) ретінде қолданылатын

-символдар ( a,b,c,…,z  жəне цифрлар );

-цифрлар ( 0,1,2,…,9  ) ;

-айыру белгілері ( : ; “ );

-арнайы символдар ( @, $, #, &, *…).

 

 

 

 

  • Əріп ретінде латын алфавитінің бас жəне кіші əріптері қолданылады, олар:
  • A B C D E F G H І J K L M N O P Q R S T U V W XYZ
  • a b c d e f g h і j k l m n o p q r s t u v w x y z
  • жəне астын сызу таңбасы (_) əріпке саналады;
  • Бас əріптер мен кіші əріптер бірдей болып саналмайды, мысалы, Х пен х екі айнымалы атауы, дəл сол сияқты ALFA1, aLfA1 жəне alfa1 де əр түрлі атаулар түрлері болып саналады. Атауларда əріптер цифрлармен араласып жазыла береді, бірақ атаудың алғашқы символы міндетті түрде əріп болуы тиіс, мысалы, VES1, SALMAK2, Baga5, cena7, T7S25, ART25var8,т.с.с.

 

 

 

 

  • Ұлттық əріптер (қазақ, орыс, араб т.с.с.) атау ретінде қолданылмайды, олар тек тырнақшаға (“) алынған тұрақты сөз тіркестері немесе /* жəне */ таңбаларымен қоршалған түсініктеме ретінде ғана кездеседі /* бұл түсініктеме */.

Ондық цифрлар: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 тəрізді сан таңбалары. Он алтылық цифрлар ондық цифрлардан жəне A-дан F-қа (немесе a-дан f-қа) дейінгі латын əріптерінен тұрады.

 

 

 

 

  • Арнайы символдарға пунктуациялау жəне операциялар (амалдар) белгілері жатады.

Арифметикалық амалдардың белгілері:

+ - қосу; * - көбейту;

– - алу; / - бөлу; % - қалдық табу;

10 % 3 - нəтижесі 1;

Логикалық амалдардың белгілері:

- жəне - &&  (екі шарт қатар орындалады);

- немесе - ( екі шарттың бірі орындалады);

- емес - ! (шартқа кері -  терістеу амалы);

 

 

 

 

  • Айыру белгілеріне бос орын, ЕNTER (келесі жолға көшіру) пернесін басу белгісі жəне үтір, нүктелі үтір таңбалары жатады. Айыру белгілері атауларды, сандарды, түйінді сөздерді бір-бірінен бөліп тұрады. Түсініктеме // таңбасынан кейін жол соңына немесе /* жəне */ белгілерімен қоршалып, солардың ішіне жазылады, соңғысы – бір немесе бірнеше жолдардан тұруы мүмкін. Сонымен, айыру белгілері: _ (бос орын), , (үтір), . (нүкте), : (қос нүкте), ; (нүктелі үтір), ' апостроф), “ қостырнақша, (,),[,],{,} таңбалары жатады.

 

 

 

 

  • Қатынас таңбалары немесе салыстыру белгілері:

= (тең), != (тең емес), < (кіші), > (үлкен), < =  (үлкен емес таңбасының орнына),  >= (кіші емес таңбасының орнына).

  • Əрбір символдың өзінің реттік нөміріне сəйкес белгіленген коды болады, ол стандарт түрінде бекітілген. Əр елдің стандарттары негізінде америкалық кодтар стандарты жатады (Amerіcan Standart Code for Іnformatіon Іnterchange - ASCІІ), компьютерде жұмыс істеу кезеңінде оларды да білген абзал.

 

 

 

 

  • Си+ тілінің түйінді сөздері – программада алдын ала анықталған белгілі бір мағынасы бар сөз тіркестері.
  • Си+ тілінің түйінді сөздері (служебные или ключевые слова) мəліметтер типтері, операторлар мен стандартты функциялар атаулары, жады кластары, модификаторлар (толықтырғыштар), т.с.с., олардың тілдің əр түрлі нұсқаларында аздап айырмашылықтары болуы мүмкін.

Информация о работе Алгоритм және оның қасиеттері. Программалау және программа туралы түсінік