Нақты орындаушы шешімінің алгоритмін орындау. Информатика және ақпараттық технологиялар. Алгоритмдерді сипаттау тәсілдері

Түйінді сөздер:

  • алгоритм
  • алгоритмнің қасиеттері
    • дискреттілік
    • айқындық
    • сенімділік
    • тиімділігі
    • бұқаралық сипат
  • орындаушы
  • орындаушы сипаттамалары
    • шешілетін міндеттер ауқымы
    • сәрсенбі
    • жұмыс тәртібі
    • командалық жүйе
  • алгоритмнің формальды орындалуы

3.1.1. Алгоритм туралы түсінік

Әрбір адам ішіндегі Күнделікті өмір, оқуда немесе жұмыста әртүрлі күрделіліктегі көптеген мәселелерді шешеді. Күрделі есептер шешімін табу үшін көп ойлануды қажет етеді; Адам қарапайым және таныс тапсырмаларды ойланбастан, автоматты түрде шешеді. Көп жағдайда әрбір мәселені шешуді қарапайым кезеңдерге (қадамдарға) бөлуге болады. Осындай көптеген тапсырмалар үшін (орнату бағдарламалық қамтамасыз ету, шкафты құрастыру, веб-сайт жасау, техникалық құрылғыны пайдалану, интернет арқылы авиабилет сатып алу және т.б.) әзірленіп, ұсынылды. қадамдық нұсқаулар, ол дәйекті түрде орындалған кезде қажетті нәтижеге әкелуі мүмкін.

1-мысал. «Екі санның арифметикалық ортасын тап» есебі үш қадаммен шешіледі:

  • екі санды ойла;
  • есте екі санды қосу;
  • алынған соманы 2-ге бөліңіз.

2-мысал. «Телефон шотына ақша салу» тапсырмасы келесі қадамдарға бөлінеді:

  • төлем терминалына өтіңіз;
  • байланыс операторын таңдау;
  • телефон нөмірін енгізіңіз;
  • енгізілген нөмірдің дұрыстығын тексеріңіз;
  • банкнотты вексель қабылдаушысына салу;
  • шотыңызға ақша түскені туралы хабарламаны күтіңіз;
  • чек алу.

3-мысал. «Көңілді кірпіні сал» есепті шешу кезеңдері графикалық түрде ұсынылған:

Орташа арифметикалық мәнді табу, телефон шотына ақша салу және кірпі салу, бір қарағанда, мүлде басқа процесс. Бірақ олардың ортақ ерекшелігі бар: бұл процестердің әрқайсысы қысқаша нұсқаулар тізбегімен сипатталады, оларды қатаң сақтау қажетті нәтиже алуға мүмкіндік береді. 1-3 мысалдарда келтірілген нұсқаулар тізбегі сәйкес есептерді шешу алгоритмдері болып табылады. Бұл алгоритмдердің орындаушысы адам болып табылады.

Алгоритм есептеулердің белгілі бір тізбегінің сипаттамасы (1-мысал) немесе математикалық емес сипаттағы қадамдар болуы мүмкін (2-3 мысалдар). Бірақ кез келген жағдайда, оның дамуына дейін, The бастапқы шарттар(енгізілген деректер) және не алу керек (нәтиже). Алгоритмді бастапқы мәліметтерден қажетті нәтижеге апаратын есепті шешудегі қадамдар тізбегін сипаттау деп айта аламыз.

Жалпы, алгоритмнің жұмыс диаграммасын келесідей көрсетуге болады (3.1-сурет):

Күріш. 3.1.
Алгоритмнің жалпы схемасы

Алгоритмдер деп мектепте оқытылатын сандарды қосу, азайту, көбейту және бөлу ережелері, грамматикалық ережелер, геометриялық салу ережелері т.б.

«Алгоритммен жұмыс», «Ең үлкен ортақ бөлгіш», «Ең кіші ортақ еселік» (http://school-collection.edu.ru/) анимациялары орыс тілі мен математика сабақтарында оқылатын кейбір алгоритмдерді есте сақтауға көмектеседі.

4-мысал. Кейбір алгоритм таңбалардың бір тізбегінен келесідей жаңа тізбекті алуға әкеледі:

  1. Таңбалардың бастапқы жолының ұзындығы (таңбалармен) есептеледі.
  2. Егер бастапқы тізбектің ұзындығы тақ болса, онда оң жақтағы бастапқы тізбекке 1 саны қосылады, әйтпесе тізбек өзгермейді.
  3. Таңбалар жұппен ауыстырылады (бірінші - екінші, үшінші - төртінші, бесінші - алтыншы және т.б.).
  4. Алынған тізбектің оң жағына 2 саны қосылады.

Алынған тізбек алгоритмнің нәтижесі болып табылады.

Сонымен, егер бастапқы тізбек A#B болса, онда алгоритм нәтижесі #A1B2 тізбегі болады, ал бастапқы тізбек ABC@ болса, онда алгоритм нәтижесі BA@B2 тізбегі болады.

3.1.2. Алгоритмді орындаушы

Әрбір алгоритм белгілі бір орындаушыға арналған.

Ресми және бейресми орындаушылар бар. Ресми орындаушы әрқашан бірдей команданы бірдей орындайды. Бейресми орындаушы команданы әртүрлі тәсілдермен орындай алады.

Ресми орындаушылардың жиынтығын толығырақ қарастырайық. Формальды орындаушылар өте алуан түрлі, бірақ олардың әрқайсысы үшін келесі сипаттамаларды көрсетуге болады: шешілетін міндеттер ауқымы (мақсаты), қоршаған орта, командалық жүйе және жұмыс режимі.

Шешілетін міндеттер ауқымы. Әрбір орындаушы есептердің белгілі бір ауқымын шешу үшін құрылады – таңбалар тізбегін құру, есептеулерді орындау, жазықтықта сызбаларды салу және т.б.

Суретші ортасы. Орындаушы әрекет ететін аумақ, орта, жағдайлар әдетте берілген орындаушының ортасы деп аталады. Кез келген алгоритмнің бастапқы деректері мен нәтижелері әрқашан алгоритм арналған орындаушының ортасына жатады.

Орындаушы командалар жүйесі. Орындаушыға жеке орындалған әрекетті орындауға арналған нұсқау команда деп аталады. Кейбір орындаушы орындай алатын барлық командалар жиыны осы орындаушы үшін командалар жүйесін құрайды (SKI). Алгоритм нақты орындаушының мүмкіндіктерін ескере отырып, басқаша айтқанда, оны орындайтын орындаушының командалар жүйесінде құрастырылады.

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

Орындаушылардың мысалдарын қарастырайық.

5-мысал. Орындаушы Тасбақа компьютер экранында сызық түрінде із қалдырып қозғалады. Тасбақаның командалық жүйесі екі командадан тұрады:

    Алға n (мұндағы n - бүтін сан) - Тасбақа қозғалыс бағыты бойынша - оның басы мен денесі қараған бағытта n қадам жылжытады;

    Оң жақ m (мұндағы m - бүтін сан) - Тасбақа қозғалыс бағытын сағат тілімен m градусқа өзгертуге әкеледі.

Жазу Қайталау k [<Команда1> <Команда2> ... <Командаn>] жақшадағы командалар тізбегі k рет қайталанатынын білдіреді.

Тасбақа келесі алгоритмді орындағаннан кейін экранда қандай фигура пайда болатынын ойлаңыз.

    12 қайталау [Оңға 4 5 алға 20 оңға 45]

6-мысал. Орындаушы командалар жүйесі Компьютер екі командадан тұрады, оларға нөмірлер беріледі:

    1 - 1-ді алу
    2 - 3-ке көбейту

Оның біріншісі санды 1-ге кемітсе, екіншісі 3 есе көбейтеді. Алгоритмдерді жазу кезінде қысқаша болу үшін тек командалық нөмірлер көрсетіледі. Мысалы, 21212 алгоритмі келесі командалар тізбегін білдіреді:

    3-ке көбейту
    1 шегеріңіз
    3-ке көбейту
    1 шегеріңіз
    3-ке көбейту

Бұл алгоритмді қолдану арқылы 1 саны 15-ке түрлендіріледі: ((1-3-1)-3-1)-3 = 15.

7-мысал. Орындаушы робот шашақты өрісте жұмыс істейді, іргелес ұяшықтардың арасында қабырғалар болуы мүмкін. Робот өріс ұяшықтары бойымен қозғалады және нөмірлер тағайындалған келесі пәрмендерді орындай алады:

    1 - Жоғары
    2 - төмен
    3 - Дұрыс
    4 - солға

Әрбір осындай пәрменді орындаған кезде, робот көрсетілген бағытта көрші ұяшыққа жылжиды. Егер ұяшықтар арасында осы бағытта қабырға болса, онда Робот жойылады. Робот А ұяшығынан қозғала бастайтын 32323 пәрмендер тізбегін орындаса (мұнда сандар команда нөмірлерін көрсетеді) не болады? Қабырғаларға соқтығысқан кезде құламай А ұяшығынан В ұяшығына өту үшін робот қандай командалар тізбегін орындауы керек?

Алгоритм құру кезінде:

  1. мәселеде пайда болатын объектілер анықталады, объектілердің қасиеттері, объектілер арасындағы қатынастар және ықтимал әрекеттеробъектілермен;
  2. бастапқы деректер мен қажетті нәтиже анықталады;
  3. бастапқы деректерден нәтижеге өтуді қамтамасыз ететін орындаушының әрекеттерінің реттілігі анықталады;
  4. әрекеттер тізбегі орындаушының командалық жүйесіне енгізілген командалар арқылы жазылады.

Алгоритмді алгоритмді орындаушының әрекетінің моделі деп айта аламыз.

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

Әрбір нұсқауды, нұсқаулар тізбегін немесе әрекет жоспарын алгоритм деп санауға болмайды. Әрбір алгоритм міндетті түрде келесі қасиеттерге ие болады: дискреттілік, түсініктілік, сенімділік, тиімділік және массалық сипат.

Дискреттілік қасиеті мәселені шешу жолының жеке қадамдарға (әрекеттерге) бөлінуін білдіреді. Әрбір әрекетке сәйкес нұсқау (команда) болады. Бір команданы орындағаннан кейін ғана орындаушы келесі команданы орындауға кірісе алады.

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

Белгілілік қасиеті алгоритмде мағынасын орындаушы екі жақты түсіндіруге болатын командалардың жоқтығын білдіреді; Келесі команданы орындағаннан кейін орындаушыға келесі қадамда қандай пәрменді орындау керектігі түсініксіз болған жағдайларға жол берілмейді.

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

Жаппай өндірістің қасиеті алгоритм есептердің белгілі бір класынан кез келген мәселені шешу үшін оны қолдану мүмкіндігін қамтамасыз етуі керек екенін білдіреді. Мысалы, квадрат теңдеудің түбірлерін табу алгоритмі кез келген квадрат теңдеуге, көшені кесіп өту алгоритмі көшенің кез келген жеріне, дәрі дайындау алгоритмі оның кез келген мөлшерін дайындауға, т.б.

8-мысал. n-ден аспайтын барлық жай сандарды табу әдістерінің бірін қарастырайық. Бұл әдіс «Эратосфен елеуіші» деп аталады, оны ұсынған ежелгі грек ғалымы Эратосфеннің атымен аталады.

Берілген n санынан үлкен емес барлық жай сандарды Эратосфен әдісі бойынша табу үшін келесі әрекеттерді орындау керек:

  1. 2-ден n-ге дейінгі барлық бүтін сандарды қатарға жазу (2, 3, 4, ..., n);
  2. кадр 2 - бірінші жай сан;
  3. тізімнен табылған соңғы жай санға бөлінетін барлық сандарды сызып тастау;
  4. бірінші белгіленбеген санды (белгіленген сандар сызылған сандар немесе жақтауға алынған сандар) тауып, оны кадрға жабыңыз - бұл басқа жай сан болады;
  5. белгіленбеген сандар қалмайынша 3 және 4-қадамдарды қайталаңыз.

Сіз «Эратосфен елегі» (http://school-collection.edu.ru/) анимациясының көмегімен жай сандарды табу әдісі туралы көбірек көрнекі түсінік ала аласыз.

Қарастырылған әрекеттер тізбегі алгоритм болып табылады, өйткені ол келесі қасиеттерді қанағаттандырады:

  • дискреттілік – жай сандарды табу процесі қадамдарға бөлінеді;
  • түсініктілігі – әрбір команда осы алгоритмді орындайтын 9-сынып оқушысына түсінікті;
  • сенімділік – әрбір команданы орындаушы бір мәнді түсіндіреді және орындайды; командаларды орындау тәртібі туралы нұсқаулар бар;
  • тиімділік - белгілі бір қадамдардан кейін нәтижеге қол жеткізіледі;
  • бұқаралық сипат - әрекеттер тізбегі кез келген табиғи n үшін қолданылады.

Алгоритмнің қарастырылған қасиеттері алгоритмге дәлірек анықтама беруге мүмкіндік береді.

3.1.4. Адамның іс-әрекетін автоматтандыру мүмкіндігі

Алгоритм жасау әдетте адамнан терең білімді, тапқырлықты және көп уақытты қажет ететін еңбекті көп қажет ететін жұмыс.

Дайын алгоритмді пайдаланып есепті шешу тек орындаушыдан берілген нұсқауларды қатаң орындауды талап етеді.

9-мысал. Кез келген саны үштен көп нысандары бар үйіндіден екі ойыншы кезекпен әрқайсысы бір немесе екі нысанды алады. Жеңімпаз - келесі қадамында қалған барлық заттарды ала алатын адам.

Алгоритмді қарастырайық, содан кейін бірінші ойыншы жеңіске жетуді қамтамасыз етеді.

  1. Егер үйіндідегі заттардың саны 3-ке еселік болса, онда қарсыласқа жол беріңіз, әйтпесе ойынды бастаңыз.
  2. Келесі қозғалысыңызда қарсыласыңыз алған нысандардың санын 3-ке қосыңыз (қалған нысандардың саны 3-ке еселік болуы керек).

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

  1. есепті шешу процесі қарапайым операциялар тізбегі ретінде ұсынылады;
  2. машина жасалды ( автоматты құрылғы), бұл операцияларды алгоритмде көрсетілген реттілікпен орындауға қабілетті;
  3. адам күнделікті әрекеттерден босатылады, алгоритмді орындау автоматты құрылғыға жүктеледі.

Ең бастысы

Орындаушы – қандай да бір зат (адам, жануар, техникалық құрылғы), белгілі бір командалар жинағын орындауға қабілетті. Ресми орындаушы әрқашан бірдей команданы бірдей орындайды. Әрбір ресми орындаушы үшін мыналарды көрсетуге болады: шешілетін тапсырмалар ауқымы, орта, командалар жүйесі және жұмыс режимі.

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

Орындаушының формальды әрекет ету қабілеті адам қызметін автоматтандыру мүмкіндігін қамтамасыз етеді.

Сұрақтар мен тапсырмалар

  1. Алгоритм қалай аталады?
  2. Рецепт сөзінің синонимдерін табыңыз.
  3. Мектепте оқыған алгоритмдеріңізге мысал келтіріңіз.
  4. Алгоритмнің орындаушысы кім бола алады?
  5. Ресми орындаушыға мысал келтіріңіз. Адам ресми орындаушы ретінде әрекет ететініне мысал келтіріңіз.
  6. Робот қандай командаларды орындауы керек: а) дүкендегі кассир; б) тазалаушы; в) күзетші?
  7. «Компьютер» орындаушысы орындайтын тапсырмалар ауқымын не анықтайды?
  8. Орындаушы ретінде қарастырыңыз мәтіндік процессор, компьютеріңізде қолжетімді. Осы орындаушы және оның ортасы шешетін тапсырмалар ауқымын сипаттаңыз.
  9. Команда, орындаушы командалар жүйесі дегеніміз не?
  10. Алгоритмнің негізгі қасиеттерін көрсетіңіз.
  11. Алгоритмде қандай да бір қасиеттің болмауы неге әкелуі мүмкін? Мысалдар келтір.
  12. Алгоритмді ресми түрде орындай алу неліктен маңызды?
  13. Сандар тізбегі келесі алгоритм бойынша құрастырылады: тізбектің алғашқы екі саны 1-ге тең қабылданады; Тізбектегі әрбір келесі сан алдыңғы екі санның қосындысына тең деп алынады. Осы тізбектің алғашқы 10 мүшесін жазыңыз.
  14. Кейбір алгоритм таңбалардың бір жолынан жаңа тізбекті келесідей алады. Алдымен таңбалардың бастапқы тізбегі жазылады, одан кейін таңбалардың бастапқы тізбегі кері ретпен жазылады, содан кейін түпнұсқа тізбегінде соңғы орында тұрған әріптен кейін орыс алфавитінде келесі әріп жазылады. Егер бастапқы тізбектегі соңғы орын Z әрпі болса, онда келесі әріп ретінде А әрпі жазылады.Нәтижесінде алынған тізбек алгоритмнің нәтижесі болып табылады. Мысалы, егер бастапқы символдар тізбегі DOM болса, онда алгоритмнің нәтижесі DOMMODN тізбегі болады. COM таңбалар жолы берілген. Алгоритмді осы тізбекке қолданып, содан кейін алгоритмді оның жұмысының нәтижесіне қайта қолдансаңыз, таңбалар тізбегінде қанша O әрпі болады?
  15. Интернеттен Эратосфен алгоритмінің қадамдарының анимациясын табыңыз. 50-ден аспайтын барлық жай сандарды табу үшін Эратосфен алгоритмін пайдаланыңыз.
  16. Тасбақаның алгоритмді орындауының нәтижесі қандай болады (5-мысалды қараңыз)?
      8 қайталау [Оңға 45 алға 45]
  17. Калькулятордың орындаушысының алгоритмін жазыңыз (6-мысал), құрамында 5 командадан көп емес:
      а) 3 санынан 16 санын алу;
      б) 1 санынан 25 санын алу.
  18. Орындаушы командалар жүйесі Конструктор екі командадан тұрады, оларға нөмірлер беріледі:
      1 - 2 тағайындау
      2 - 2-ге бөлу

    Олардың біріншісіне сәйкес оң жақтағы санға 2 қосылады, екіншісіне сәйкес сан 2-ге бөлінеді. Орындаушы 22212 алгоритмін орындаса, 8 саны қалай түрленеді? Осы орындаушының командалар жүйесінде алгоритмді құрыңыз, оған сәйкес 1 саны 16 санына түрленеді (алгоритмде 5 командадан көп болмауы керек).

  19. 3241 алгоритмін орындағаннан кейін оған оралу үшін роботты орындаушы (7-мысал) қай ұяшықта орналасуы керек?

| § 2.1. Алгоритмдер және орындаушылар

14-сабақ
§ 2.1. Алгоритмдер және орындаушылар

Түйінді сөздер:

Алгоритм
алгоритмнің қасиеттері (дискреттілік; түсініктілік; анықтық; нәтижелілік; массалық сипат)
орындаушы
орындаушының сипаттамалары (шешілетін міндеттер ауқымы; орта; жұмыс режимі; командалар жүйесі
алгоритмнің формальды орындалуы

2.1.1. Алгоритм туралы түсінік

Әрбір адам күнделікті өмірде, оқуда немесе жұмыста әртүрлі күрделіліктегі көптеген мәселелерді шешеді. Күрделі есептер шешімін табу үшін көп ойлануды қажет етеді; Адам қарапайым және таныс тапсырмаларды ойланбастан, автоматты түрде шешеді. Көп жағдайда әрбір мәселені шешуді қарапайым кезеңдерге (қадамдарға) бөлуге болады. Осы тапсырмалардың көпшілігі үшін (бағдарламалық құралдарды орнату, шкафты құрастыру, веб-сайт жасау, техникалық құрылғыны пайдалану, Интернет арқылы авиабилет сатып алу және т. жүзеге асыру қажетті нәтижеге әкелуі мүмкін.

1-мысал.«Екі санның арифметикалық ортасын тап» есебі үш қадаммен шешіледі:

1) екі санды ойла;
2) екі жоспарлы санды қосу;
3) алынған соманы 2-ге бөлу.

2-мысал.«Телефон шотына ақша салу» тапсырмасы келесі қадамдарға бөлінеді:

1) төлем терминалына бару;
2) байланыс операторын таңдау;
3) телефон нөмірін енгізіңіз;
4) енгізілген нөмірдің дұрыстығын тексеру;
5) вексель қабылдаушысына банкнот салуға;
6) шотыңызға ақша түскені туралы хабарламаны күтіңіз;
7) чек алу.

3-мысал.«Көңілді кірпіні сал» есепті шешу кезеңдері графикалық түрде ұсынылған:


Орташа арифметикалық мәнді табу, телефон шотына ақша салу және кірпі салу, бір қарағанда, мүлде басқа процесс. Бірақ олардың ортақ ерекшелігі бар: бұл процестердің әрқайсысы қысқаша нұсқаулар тізбегімен сипатталады, оларды қатаң сақтау қажетті нәтиже алуға мүмкіндік береді. 1-3 мысалдарда келтірілген нұсқаулар тізбегі сәйкес есептерді шешу алгоритмдері болып табылады. Бұл алгоритмдердің орындаушысы адам болып табылады.

Алгоритм есептеулердің белгілі бір тізбегінің сипаттамасы (1-мысал) немесе математикалық емес сипаттағы қадамдар болуы мүмкін (2-3 мысалдар). Бірақ кез келген жағдайда, оны әзірлеуге дейін бастапқы шарттар (бастапқы деректер) және не алынатындығы (нәтиже) нақты анықталуы керек. Алгоритмді бастапқы мәліметтерден қажетті нәтижеге апаратын есепті шешудегі қадамдар тізбегін сипаттау деп айта аламыз.

Жалпы, алгоритмнің жұмыс диаграммасын келесідей көрсетуге болады (2.1-сурет).

Күріш. 2.1. Алгоритмнің жалпы схемасы

Алгоритмдер мектепте оқытылатын сандарды қосу, азайту, көбейту және бөлу ережелері, көптеген грамматикалық ережелер, геометриялық салу ережелері т.б.

«Алгоритммен жұмыс істеу» (193576), «Ең үлкен ортақ бөлгіш» (170363), «Ең кіші ортақ еселік» (170390) анимациялары орыс тілі мен математика сабақтарында оқылған кейбір алгоритмдерді есте сақтауға көмектеседі (http://sc.edu. ru /).

4-мысал.Кейбір алгоритм таңбалардың бір тізбегінен келесідей жаңа тізбекті алуға әкеледі:

1. Таңбалардың бастапқы жолының ұзындығы (таңбалармен) есептеледі.
2. Егер бастапқы тізбектің ұзындығы тақ болса, онда оң жақтағы бастапқы тізбекке 1 саны қосылады, әйтпесе тізбек өзгермейді.
3. Таңбалар жұппен ауыстырылады (бірінші - екінші, үшінші - төртінші, бесінші - алтыншы, т.б.).
4. Алынған тізбектің оң жағына 2 саны қосылады.

Алынған тізбек алгоритмнің нәтижесі болып табылады.

Сонымен, егер бастапқы тізбек A#B болса, онда алгоритм нәтижесі #A1B2 тізбегі болады, ал бастапқы тізбек ABC@ болса, онда алгоритм нәтижесі BA@B2 тізбегі болады.

2.1.2. Алгоритмді орындаушы

Әрбір алгоритм белгілі бір орындаушыға арналған.

Орындаушы – белгілі бір командалар жиынтығын орындауға қабілетті объект (адам, жануар, техникалық құрылғы).

Айыру формальды және бейресми орындаушылар. Ресми орындаушы әрқашан бірдей команданы бірдей орындайды. Бейресми орындаушы команданы әртүрлі тәсілдермен орындай алады.

Ресми орындаушылардың жиынтығын толығырақ қарастырайық. Формальды орындаушылар өте алуан түрлі, бірақ олардың әрқайсысы үшін келесі сипаттамаларды көрсетуге болады: шешілетін міндеттер ауқымы (мақсаты), қоршаған орта, командалық жүйе және жұмыс режимі.

Шешілетін міндеттер ауқымы. Әрбір орындаушы есептердің белгілі бір ауқымын шешу үшін құрылады – таңбалар тізбегін құру, есептеулерді орындау, жазықтықта сызбаларды салу және т.б.

Суретші ортасы. Орындаушы әрекет ететін аумақ, орта, жағдайлар әдетте берілген орындаушының ортасы деп аталады. Кез келген алгоритмнің бастапқы деректері мен нәтижелері әрқашан алгоритм арналған орындаушының ортасына жатады.

Орындаушы командалар жүйесі. Орындаушыға жеке орындалған әрекетті орындауға арналған нұсқау команда деп аталады. Кейбір орындаушы орындай алатын барлық командалар жиыны осы орындаушы үшін командалар жүйесін құрайды (SKI). Алгоритм нақты орындаушының мүмкіндіктерін ескере отырып, басқаша айтқанда, оны орындайтын орындаушының командалар жүйесінде құрастырылады.

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

Орындаушылардың мысалдарын қарастырайық.

5-мысал.Орындаушы Тасбақа компьютер экранында сызық түрінде із қалдырып қозғалады.

Тасбақа командалық жүйесі келесі пәрмендерден тұрады:

1. Алға n (мұндағы n - бүтін сан) - Тасбақа қозғалыс бағыты бойынша - оның басы мен денесі қараған бағытта n қадам жылжытады;
2. Оң жақ m (мұндағы m – бүтін сан) – Тасбақа қозғалысының бағытын сағат тілімен t градусқа өзгертуге әкеледі.
Жазба Қайталау k [<Команда1> <Команда2> ... <Командаn>] жақшадағы командалар тізбегі k рет қайталанатынын білдіреді.

Тасбақа келесі алгоритмді орындағаннан кейін экранда қандай фигура пайда болатынын ойлаңыз.
12 қайталау [Оңға 45 алға 20 оңға 45]

6-мысал.Орындаушы командалар жүйесі Компьютер екі командадан тұрады, оларға нөмірлер беріледі:

1 - 1-ді алу
2 - 3-ке көбейту

Оның біріншісі санды 1-ге кемітсе, екіншісі 3 есе көбейтеді. Алгоритмдерді жазу кезінде қысқаша болу үшін тек командалық нөмірлер көрсетіледі. Мысалы, 21212 алгоритмі келесі командалар тізбегін білдіреді:

3-ке көбейтіңіз
1 шегеріңіз
3-ке көбейту
1 шегеріңіз
3-ке көбейту

Бұл алгоритмді қолдану арқылы 1 саны 15-ке түрлендіріледі:

((1 3 - 1) 3 - 1) 3 = 15.

7-мысал.Орындаушы робот шашақты өрісте жұмыс істейді, іргелес ұяшықтардың арасында қабырғалар болуы мүмкін. Робот өріс ұяшықтары бойымен қозғалады және нөмірлер тағайындалған келесі пәрмендерді орындай алады:


1 - жоғары
2 - төмен
3 - оң
4 - солға

Әрбір осындай пәрменді орындаған кезде, робот көрсетілген бағытта көрші ұяшыққа жылжиды. Егер ұяшықтар арасында осы бағытта қабырға болса, онда Робот жойылады.

Робот А ұяшығынан қозғала бастайтын 32323 пәрмендер тізбегін орындаса (мұнда сандар команда нөмірлерін көрсетеді) не болады? Қабырғаларға соқтығысқан кезде құламай А ұяшығынан В ұяшығына өту үшін робот қандай командалар тізбегін орындауы керек?

Алгоритм құру кезінде:

1) мәселеде пайда болатын объектілер анықталады, объектілердің қасиеттері, объектілер арасындағы байланыстар және объектілермен мүмкін болатын әрекеттер белгіленеді;
2) бастапқы деректер мен қажетті нәтиже анықталады;
3) бастапқы деректерден нәтижеге өтуді қамтамасыз ететін орындаушының әрекеттерінің реттілігі айқындалады;
4) әрекеттер тізбегі орындаушының командалық жүйесіне енгізілген командалар арқылы жазылады.

Алгоритмді алгоритмді орындаушының әрекетінің моделі деп айта аламыз.

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

Әрбір нұсқауды, нұсқаулар тізбегін немесе әрекет жоспарын алгоритм деп санауға болмайды. Әрбір алгоритм міндетті түрде келесі қасиеттерге ие болады: дискреттілік, түсініктілік, сенімділік, тиімділік және массалық сипат.

Дискретті қасиетмәселені шешу жолының жеке қадамдарға (әрекеттерге) бөлінгенін білдіреді. Әрбір әрекетке сәйкес нұсқау (команда) болады. Бір команданы орындағаннан кейін ғана орындаушы келесі команданы орындауға кірісе алады.

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

Сенімділік қасиетіалгоритмде мағынасын орындаушы екі жақты түсіндіруге болатын командалардың жоқтығын білдіреді; Келесі команданы орындағаннан кейін орындаушыға келесі пәрменді орындау түсініксіз болған жағдайларға жол берілмейді. Осының арқасында алгоритмнің нәтижесі бастапқы деректер жиынтығымен бірегей түрде анықталады: егер алгоритм бір бастапқы деректер жиынына бірнеше рет қолданылса, онда нәтиже әрқашан бірдей нәтиже береді.

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

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

8-мысал.Кейбір натурал n санынан аспайтын барлық жай сандарды табу әдістерінің бірін қарастырайық. Бұл әдісті ұсынған ежелгі грек ғалымы Эратосфеннің (б.з.б. 3 ғ.) атымен «Эратосфен елеуіші» деп аталады.

Берілген n санынан үлкен емес барлық жай сандарды Эратосфен әдісі бойынша табу үшін келесі әрекеттерді орындау керек:

1) 2-ден n-ге дейінгі барлық натурал сандарды қатарға жазу (2, 3, 4, ..., n);
2) 2-кадр – бірінші жай сан;
3) тізімнен табылған соңғы жай санға бөлінетін барлық сандарды сызып тастау;
4) бірінші таңбаланбаған санды (белгіленген сандар сызылған сандар немесе жақтауға алынған сандар) табу және оны кадрға салу - бұл басқа жай сан болады;
5) белгіленбеген сандар қалмайынша 3 және 4-қадамдарды қайталаңыз.

Сіз сандық білім беру ресурстарының бірыңғай жинағында жарияланған «Эратосфен елеуіші» (180279) анимациясының көмегімен жай сандарды табу әдісі туралы көбірек көрнекі түсінік ала аласыз.

Қарастырылған әрекеттер тізбегі алгоритм болып табылады, өйткені ол келесі қасиеттерді қанағаттандырады:

дискреттілік- жай сандарды табу процесі қадамдарға бөлінеді;
түсініктілігі- әрбір команда осы алгоритмді орындайтын 8-сынып оқушысына түсінікті;
сенімділік- әрбір пәрменді орындаушы бір мағыналы түсіндіріп, орындайды; командаларды орындау тәртібі туралы нұсқаулар бар;
тиімділігі- белгілі бір қадамдардан кейін нәтижеге қол жеткізіледі;
бұқаралық сипат- әрекеттер тізбегі кез келген натурал n санына қолданылады.

Алгоритмнің қарастырылған қасиеттері алгоритмге дәлірек анықтама беруге мүмкіндік береді.

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

2.1.4. Адамның іс-әрекетін автоматтандыру мүмкіндігі

Алгоритм жасау әдетте адамнан терең білімді, тапқырлықты және көп уақытты қажет ететін еңбекті көп қажет ететін жұмыс.

Дайын алгоритмді пайдаланып есепті шешу тек орындаушыдан берілген нұсқауларды қатаң орындауды талап етеді.

9-мысал.Кез келген саны үштен көп нысандары бар үйіндіден екі ойыншы кезекпен әрқайсысы бір немесе екі нысанды алады. Жеңімпаз - келесі қадамында қалған барлық заттарды ала алатын адам.

Алгоритмді қарастырайық, содан кейін бірінші ойыншы жеңіске жетуді қамтамасыз етеді.

1. Егер үйіндідегі заттардың саны 3-ке еселік болса, онда қарсыласына жол беріңіз, әйтпесе қалған заттардың саны 3-ке еселік болатындай етіп 1 немесе 2 затты алып ойынды бастаңыз.
2. Келесі қозғалыста қарсыласыңыз алған нысандардың санын 3-ке қосыңыз (қалған нысандардың саны 3-ке еселік болуы керек).

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

1) есепті шешу процесі қарапайым операциялар тізбегі ретінде ұсынылады;
2) осы операцияларды алгоритмде көрсетілген реттілікпен орындауға қабілетті машина (автоматты құрылғы) жасалады;
3) адам күнделікті жұмыстардан босатылады, алгоритмді орындау автоматты құрылғыға жүктеледі.

ЕҢ БАСТЫСЫ

Орындаушы- белгілі бір командалар жиынтығын орындауға қабілетті кейбір объект (адам, жануар, техникалық құрылғы).

Ресми орындаушы әрқашан бірдей команданы бірдей орындайды. Әрбір ресми орындаушы үшін мыналарды көрсетуге болады: шешілетін міндеттер ауқымы, қоршаған орта, командалық жүйе және жұмыс режимі.

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

Орындаушының әрекет ету қабілеті ресми түрдеадамның іс-әрекетін автоматтандыру мүмкіндігін қамтамасыз етеді.

Сұрақтар мен тапсырмалар

1. Параграфтағы презентация материалдарын оқыңыз электрондық өтінішоқулыққа. Презентация абзац мәтініндегі ақпаратты толықтыра ма? Презентацияңызды толықтыру үшін қандай слайдтарды пайдалана аласыз?

2. Алгоритм деп нені айтады?

3. Рецепт сөзінің синонимдерін таңдаңыз.

4. Мектепте оқыған алгоритмдеріңізге мысалдар келтіріңіз.

5. Алгоритмнің орындаушысы кім бола алады?

6. Ресми орындаушыға мысал келтіріңіз. Адам ресми орындаушы ретінде әрекет ететініне мысал келтіріңіз.

7. «Компьютер» орындаушысының орындайтын жұмыс ауқымы немен анықталады?

8. Орындаушы ретінде компьютердегі мәтіндік процессорды қарастырыңыз. Осы орындаушы және оның ортасы шешетін тапсырмалар ауқымын сипаттаңыз.

9. Команда, орындаушы командалар жүйесі дегеніміз не?

10. Робот келесі функцияларды қандай командаларды орындауы керек?

а) дүкендегі кассир;
б) тазалаушы;
в) күзетші?

11. Алгоритмнің негізгі қасиеттерін көрсетіңіз.

12. Алгоритмде қандай да бір қасиеттің болмауы неге әкелуі мүмкін? Мысалдар келтір.

13. Алгоритмді формальды түрде орындай білудің маңызы қандай?

14. Сандар тізбегі келесі алгоритм бойынша құрастырылады: тізбектің алғашқы екі саны 1-ге тең қабылданады; Тізбектегі әрбір келесі сан алдыңғы екі санның қосындысына тең деп алынады. Осы тізбектің алғашқы 10 мүшесін жазыңыз. Бұл реттілік қалай аталатынын табыңыз.

15. Белгілі бір алгоритм символдардың бір жолынан жаңа тізбекті келесідей алады. Алдымен таңбалардың бастапқы тізбегі жазылады, одан кейін таңбалардың бастапқы тізбегі кері ретпен жазылады, содан кейін түпнұсқа тізбегінде соңғы орында тұрған әріптен кейін орыс алфавитінде келесі әріп жазылады. Егер «I» әрпі бастапқы тізбекте соңғы орында тұрса, «А» әрпі келесі әріп ретінде жазылады. Алынған тізбек алгоритмнің нәтижесі болып табылады. Мысалы, егер бастапқы символдар тізбегі «HOUSE» болса, онда алгоритмнің нәтижесі «DOMMODN» тізбегі болады. «COM» таңбалар жолы берілген. Алгоритмді осы тізбекке қолдансаңыз, содан кейін алгоритмді оның жұмысының нәтижесіне қайта қолдансаңыз, таңбалар тізбегінде қанша «O» әрпі болады?

16. Интернеттен Эратосфен алгоритмінің қадамдарының анимациясын табыңыз. 50-ден аспайтын барлық жай сандарды табу үшін Эратосфен алгоритмін пайдаланыңыз.

17. Тасбақаның алгоритмді орындауының нәтижесі қандай болады (5 мысалды қараңыз)?

18. Калькулятордың орындаушысының алгоритмін жазыңыз (6 мысалды қараңыз), құрамында 5 командадан көп емес:

а) 3 санынан 16 санын алу;
б) 1 санынан 25 санын алу.

19. Орындаушы командалар жүйесі Конструктор екі командадан тұрады, оларға нөмірлер тағайындалады:

1 - 2 тағайындау
2 - 2-ге бөлу

Олардың біріншісіне сәйкес оң жақтағы санға 2 қосылады, екіншісіне сәйкес сан 2-ге бөлінеді. Орындаушы 22212 алгоритмін орындаса, 8 саны қалай түрленеді? Осы орындаушының командалар жүйесінде алгоритмді құрыңыз, оған сәйкес 1 саны 16 санына түрленеді (алгоритмде 5 командадан көп болмауы керек).

20. 3241 алгоритмін орындағаннан кейін оған оралу үшін роботты орындаушы (7-мысал) қай ұяшықта орналасуы керек?

Тегін бағдарламалық қамтамасыз ету:

KuMir жүйесі - Білім беру әлемдерінің жиынтығы (бағдарлама мұрағатын веб-сайттан жүктеп алыңыз) немесе KuMir бетіне кіріңіз ((http://www.niisi.ru/kumir/)

Осы сайтта AdBlock қызметін тоқтата тұруыңызды өтінеміз.

Бұл сабақта біз бағдарламалау түсінігін ресімдейтін кейбір теориялық түсініктерді қарастырамыз. Бұл ретте біз сіздің жаттығуларыңыздың негізгі міндетін нақтырақ тұжырымдаймыз.

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

1-сурет code.org сайтындағы ойын өрісінің скриншоты

Сіз үшін бәрі сәтті болды деп үміттенемін. Енді осы мысалды пайдалана отырып, біз бірнеше негізгі ұғымдарды сипаттаймыз:

  • орындаушы;
  • орындаушы командалар жүйесі;
  • алгоритм.

Ойыншықта біз қызыл құсты басқарамыз. Әр кезеңнің мақсаты - құсты шошқаға жеткізу. Құс белгілі бір командаларды орындай алады, мысалы: алға жылжу, солға бұрылу, оңға бұрылу және т.б.

Кейбір командаларды орындай алатын адам, машина немесе құрылғы орындаушы деп аталады. Бұл ойыншықта орындаушы құс екені анық. Орындаушы түсінетін және орындай алатын командалар жиынтығы деп аталады орындаушы командалар жүйесі.

Есепті шешу үшін орындаушы орындауға тиісті командалар тізбегі алгоритм деп аталады.

Бірнеше тармаққа назар аудару қажет.

Орындаушы өзінің командалық жүйесіне кіретін командаларды ғана орындай алады.

Бұл, мысалы, құс орындаушысына: «Шошқаға бар!» деп жаза алмайтыныңызды білдіреді. Сіз оны дәлірек жаза аласыз, бірақ ештеңе болмайды, өйткені ... мұндай командаларды орындаушы білмейді.

Қолжетімді пәрмендерді дұрыс деп санайтын кез келген ретпен жазуға болады. Сіздің бағдарламашы ретіндегі міндетіңіз - үлкен күрделі тапсырманы әрқайсысы орындаушыға түсінікті болатын шағын жеке қадамдарға бөлу. «Бөл және билей бер» қағидасы қайтадан жұмыс істейді.

Орындаушы алгоритмнің айтқанын дәл орындайды.

Құс орындаушысы өте сенімді. Ол сіздің бағдарламада не жазғаныңызға күмән келтірмейді. Егер сіз, мысалы, құсты бұруды ұмытып қалсаңыз, ол қабырғаға соғылады. Сондықтан сіз бәрін өзіңіз бақылауыңыз керек.

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

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

Бағдарламалау негіздерін оқытудағы негізгі мақсат қандай? Алгоритмдік ойлау дағдысын меңгеру. Яғни, әртүрлі есептердің шешімін белгілі бір орындаушыға (біздің жағдайда компьютер) алгоритм түрінде жазып үйрену.

Сонымен, қорытындылау үшін:

Компьютерлік бағдарлама– программалау тілінде жазылған есепті шешу алгоритмі.

Алгоритм - бұл орындаушының есепті шешу үшін орындауы керек әрекеттер ретінің нақты сипаттамасы.

Орындаушы - белгілі бір командалар жинағын түсінетін және орындай алатын адам немесе кейбір құрылғы.

«Алгоритм» сөзі арифметикалық амалдарды орындау ережелерін тұжырымдаған 9 ғасырдағы араб математигі әл-Хорезмидің атынан шыққан.

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

Мысалдар: күн тәртібі, тамақ дайындау тәртібі, нұсқаулар, т.б.)

Алгоритмді орындаушы– бұл алгоритмді орындайтын адам (адам, жануар, машина, компьютер).

Орындаушы командалар жүйесі- бұл орындаушы қалай орындау керектігін білетін (түсінетін) командалардың бүкіл жиынтығы. Алгоритмді орындаушы командалар жүйесіне кіретін командалардан ғана құрастыруға болады.

Мысалы, орындаушы Робот алға, артқа, солға, оңға, бояу командаларын орындай алады. Ол қабырғамен шектелген және қабырғалары бар ұяшық өрісі арқылы қозғалады. Робот қабырғадан өте алмайды.

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

1.Өнімділік (аяқ)– бастапқы деректерден ақырғы қадамдар санымен нәтиже алу мүмкіндігі. (Мысалы, 2 санды қосу алгоритмін орындау кезінде қосындыны алу керек).

2.Бұқаралық сипатта– әртүрлі бастапқы деректердің үлкен санына алгоритмді қолдану мүмкіндігі. (Мысалы, қосу алгоритмін біле отырып, кез келген 2 санды қосуға болады.)

3.Детерминизм(сенімділік, дәлдік) – әрбір команда орындаушының әрекетін бірегей түрде анықтауы керек.

4.Түсініктілік– команда компьютерге түсінікті тілде жазылуы керек.

5.Дискреттілік– алгоритмді жеке командаларға бөлу.

Алгоритмді жазу тәсілдері:

1) Табиғи тілде – адамға түсінікті тілде жеке командалар түрінде жазу.

2) Графика – геометриялық фигураларды (сопақ, тіктөртбұрыш, параллелограмм, ромб) пайдалана отырып, блок-схема тілінде.

3) Алгоритмдік тілде – программалауды оқытуға арналған алгоритмдерді жазу тілі. Командалар орыс тілінде жазылады.

4) Бағдарламалау тілінде – программа. Бағдарламалау тілдері: Basic, Pascal, C, Visual Basic.

B7.Негізгі алгоритмдік құрылымдар: келесі, тармақталу, цикл; блок-схемалардағы сурет. Тапсырмаларды ішкі тапсырмаларға бөлу. Көмекші алгоритмдер.

Алгоритмдік конструкциялар.Алгоритмдердің ішінде ішкі құрылымы бойынша ерекшеленетін қадамдар топтарын – алгоритмдік конструкцияларды ажыратуға болады.

Негізгі алгоритмдік конструкцияларқадамдардың сызықтық тізбегі (немесе келесі), тармақталу және цикл.

Командалар бірінен соң бірі ретімен орындалатын алгоритм деп аталады сызықтық алгоритм.

Блок-схема тілінде сызықтық алгоритм осылай көрінеді:

Мысал: компьютерді қосу алгоритмі:

  1. Компьютерді қосыңыз (қосу түймесін басыңыз кернеуден қорғағыш).
  2. Монитор мен принтерді қосыңыз.
  3. басыңыз Қуат түймесіқосулы жүйелік блок.
  4. Жүктеуді күтіңіз операциялық жүйежәне Жұмыс үстелінің пайда болуы.
  5. Жұмысқа кірісу.

Бұл алгоритмде барлық әрекеттер бірінен соң бірі орындалуы керек: қуат немесе монитор қосылмаған болса, жұмыс істей алмайсыз.

Алгоритмдік құрылымға» тармақталу» енгізілген жағдай, шарттың ақиқаттығына байланысты сол немесе басқа командалар тізбегі (қатар) орындалады.

Шарт – ақиқат немесе жалған болуы мүмкін мәлімдеме. Шартта екі сан, екі жол, екі айнымалы немесе жолдық өрнектер салыстыру операторлары арқылы бір-бірімен салыстырылады (>,<, =, >=, <=).

Алгоритмдік тілде жазу: IfCondition then 1 серия (Егер Шартрас, сосын рас Эпизод 1, Егер Шартжалған болса, онда ештеңе орындалмайды). Мысалы: Егер бүгін жексенбі болса, онда мектепке барудың қажеті жоқ. Тармақтанудың толық формасы

Алгоритмдік құрылымдарда цикл бірнеше рет орындалатын командалар қатарын қамтиды. Бұл командалар тізбегі деп аталады цикл денесі.

Циклдік алгоритмдік құрылымдардың екі түрі бар:

  • қарсы ілмектер, онда цикл денесі белгілі бір рет орындалады;
  • шартты циклдар, онда шарт орындалғанша цикл денесі орындалады.

Есептегішпен цикл– цикл денесінің қанша қайталануын орындау қажет екені алдын ала белгілі болған кезде қолданылады.

Алгоритм және оның қасиеттері.

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

Алгоритмді орындаушы- бұл алгоритм басқаруға арналған объект немесе субъект.

Орындаушының командалық жүйесі (SCS) - орындаушы орындай алатын командалардың бүкіл жиынтығы.

Алгоритмнің қасиеттері: түсініктілігі, дәлдігі, шектілігі.

Айқындық:алгоритм тек орындаушының SKI құрамына кіретін командалардан тұрады.

Дәлдігі:Басқару алгоритмінің әрбір командасы орындаушының бір мәнді әрекетін анықтайды.

Аяқтау (немесе өнімділік):алгоритмнің орындалуы ақырғы қадамдар санымен нәтижеге әкелуі керек.

Орындаушының ортасы: орындаушы әрекет ететін орта.

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

Толық деректер жинағы:тапсырманы шешу үшін қажетті және жеткілікті деректер жиынтығы (қажетті нәтиже алу).

Алгоритмдерді жазу әдістері.

Ең көп таралған әдістер: графика, ауызшажәне түрінде компьютерлік бағдарламалар.

Графикалық әдісбелгілі бір графикалық символдарды – блоктарды қолдануды көздейді.

Блок атауы Блокты белгілеу Мазмұны
Процесс
Мәліметтерді өңдеу
Шешім қабылдау
Белгілі бір шарттың ақиқаттығын немесе жалғандығын тексеруге арналған логикалық блок
Деректерді тасымалдау
Ақпаратты енгізу немесе шығару
Бастау, тоқтату
Бағдарламаның басталуы немесе аяқталуы
Өзгерту
Циклдік процесті ұйымдастыру – цикл тақырыбы

Блоктардың жинағы деп аталатындарды құрайды алгоритм блок-схемасы.

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

Алгоритмдерді формада жазу кезінде бағдарламаларкомпьютерлер бағдарламалау тілдерін пайдаланады - нұсқауларды және оларды пайдалану ережелерін кодтау жүйелері. Алгоритмдерді программа түрінде жазу формализацияның жоғары дәрежесімен сипатталады.

Шамалармен жұмыс істеу алгоритмдері. Негізгі алгоритмдік құрылымдар.

Шама – аты, мәні және түрі бар біртұтас ақпараттық объект.

Шамалармен жұмыс істеу алгоритмдерін орындаушы адам немесе компьютер сияқты арнайы техникалық құрылғы болуы мүмкін. Мұндай орындаушы болуы керек жадымөлшерлерді сақтауға арналған.

Шамалар тұрақты немесе айнымалы болуы мүмкін.

Тұрақты мән (тұрақты)алгоритмді орындау барысында оның мәнін өзгертпейді. Тұрақтыны өз мәнімен (10, 3.5 сандары) немесе символдық атаумен (сан) белгілеуге болады.

Айнымалы мәналгоритмді орындау барысында мәнді өзгерте алады. Айнымалы әрқашан символдық атаумен белгіленеді (X, A, R5, т.б.).

Саны түрімән қабылдай алатын мәндер жиынын және сол мәнмен орындауға болатын әрекеттер жинағын анықтайды. Шамалардың негізгі түрлері: бүтін, нақты, символдық, логикалық.

Өрнек- шамалар бойынша әрекеттер ретін анықтайтын жазба. Өрнекте тұрақтылар, айнымалылар, операция белгілері және функциялар болуы мүмкін. Мысалы:

A + B; 2*X-Y; K + L - sin(X)

Тағайындау пәрмені - айнымалының жаңа мән алуына әкелетін орындаушының командасы. Пәрмен пішімі:

айнымалы аты>:=өрнек>

Тағайындау командасы келесі ретпен орындалады: алдымен ол есептеледі, содан кейін алынған мән айнымалыға тағайындалады.

Мысал.А айнымалысы 6 мәніне ие болсын. А айнымалысы команданы орындағаннан кейін қандай мән алады: A:= 2 * A - 1?
Шешім. 2*A - 1 өрнегін A=6 арқылы есептегенде 11 саны шығады. Бұл А айнымалысының жаңа мәні 11-ге тең болатынын білдіреді.

Келесіде бұл болжанады шамалармен жұмыс істеу алгоритмдерін орындаушы компьютер болып табылады. Кез келген алгоритмді командалардан құрастыруға болады тапсырмалар, енгізу, шығару, тармақталуЖәне цикл.

Енгізу пәрмені- айнымалы мәндер енгізу құрылғылары (мысалы, пернетақта) арқылы орнатылатын команда.

Мысалы: енгізуА – компьютер пернетақтасынан А айнымалысының мәнін енгізу.

Шығару пәрмені: компьютердің шығыс құрылғысында (мысалы, монитор) шаманың мәнін көрсететін команда.

Мысалы: қорытынды X – экранда Х айнымалысының мәні көрсетіледі.

Филиал командасы- қандай да бір шартқа байланысты алгоритмді екі жолға бөледі; содан кейін алгоритмнің орындалуы жалпы жалғасуға өтеді. Тармақталу толық немесе толық емес болуы мүмкін. Блок-схемаларда және алгоритмдік тілде тармақталудың сипаттамасы:

Мұндағы қатар бір немесе бірнеше ретті командаларды білдіреді; кв – тармақталудың соңы.

Цикл командасықандай да бір шарт негізінде командалар тізбегін (цикл денесі) қайталап орындауды қамтамасыз етеді.

Алғы шарты бар цикл- цикл шарты ақиқат болғанша орындалуы қайталанатын цикл:

Параметрі бар цикл- бүтін параметр бастапқыдан (In) соңғы (Ik) дейінгі барлық мәндер жиыны арқылы өтетін кезде цикл денесінің қайталануы:

Мысал.Екі жай бөлшек берілген. Оларды бөлудің нәтижесі болатын бөлшекті алу алгоритмін құрыңыз.
Шешім.Алгебралық түрде есептің шешімі келесідей болады:
a/b: c/d = a*d/b*c = m/n
Бастапқы деректер төрт бүтін шама: a, b, c, d. Нәтижесінде m және n екі бүтін сандар шығады.

алгбөлшектерді бөлу
бүтін a, b, c, d, m, n
енгізуді бастауа б С Д
m:=a*d
n:=b*c
шығыс «Нұмератор=", м
шығыс "Деноминатор=", n
кои

Мәтінді (кез келген таңбалар тізбегін) шығару үшін оны пәрмендегі тырнақшаға жазу керек екенін ескеріңіз қорытынды.

  1. Ефимова О., Морозов В., Угринович Н. Информатика негіздерімен компьютерлік технология курсы. Оқу құралыорта мектеп үшін. - М.: «АСТ баспасы» ЖШС; ABF, 2000 ж
  2. Информатикадан проблемалық кітап-практикум. 2 томда/ред. И.Семакина, Э.Хеннер. - М.: Негізгі білім зертханасы, 2001 ж.
  3. Угринович Н. Информатика және ақпараттық технологиялар. 10-11 сынып – М.: Негізгі білім зертханасы, «Мәскеу оқулықтары» АҚ, 2001 ж.

«Алгоритмдер және орындаушылар» тақырыбы бойынша тапсырмалар мен тесттер

  • Суретші менеджментінің суретшісі - Алгоритмдер 6 сынып

    Сабақтар: 4 Тапсырмалар: 9 Тесттер: 1

  • 2 Тапсырма: 9 Тест тапсырмалары: 1

Құрметті студент!

«Алгоритмдер және орындаушылар» Тақырыбын білу, ең алдымен, бағдарламалауды одан әрі оқу үшін қажет. Бағдарламалауды оқу үшін негіз ретінде QBasic бағдарламалау тілі таңдалды. Біз курсымызға Visual Basic немесе кез келген басқа объектілі-бағытталған бағдарламалау тілін қосу идеясын тастадық, өйткені бұл тәсіл Ресей Федерациясының көптеген орта мектептерінде әлі кеңінен қолданылмаған. Сонымен қатар объектілі-бағытталған программалау классикалық Dos программалау принциптеріне негізделген.

Біздің курс жалпы білім беру бағдарламасына арналған. ЖОО-ға ақпараттық технологиялар бойынша түсу емтихандарына дайындалу кезінде сіз белгілі бір университетте бағдарламалауды оқу ерекшеліктерімен танысуыңыз керек. Кейбір жағдайларда бірқатар тақырыптарды тереңдетіп зерттеу қажет, мысалы, «Массивтер». Бағдарламалау әдебиетін оқығанда осыған назар аудару керек, мүмкін пайдалану керек әдістемелік ұсыныстарЕмтихандарға дайындық туралы, қазіргі уақытта көптеген жоғары оқу орындарында жарияланған.

Қорытындылай келе, бағдарламалауда «аэробатикаға» жету тек тұрақты жаттығулар мен нақты қолданбалы мәселелерді шешу арқылы мүмкін болатынын атап өтеміз.




Жоғарғы