1. Кіріспе 2. Тармақталу 3. Кү рделі шарттар 4. Циклдер 5. Шартты циклдер 6. Таң дау операторы

Σχετικά έγγραφα
Тақырыбы: Кері функция. Функцияның нүктедегі шегі. Шектің негізгі қасиеттері

Тема: 12 Функциялар Подтема: 01-Функцияның анықтамасы. Функцияның анықталу жəне өзгеру облысы. у =

5 ДИФФЕРЕНЦИАЛДЫҚ ЖӘНЕ ИНТЕГРАЛДЫҚ ЕСЕПТЕУЛЕРДІҢ САНДЫҚ ӘДІСТЕРІ. 5.1 Интегралдарды жуықтап есептеу

САБАҚ ЖОСПАРЫ. Əбдірахманова Күнсая Жамбыл облысы, Тараз қаласы, ФМБ НЗМ, 11-сынып. ҰБТ-ға дайындық үшін геометрия пəнінен тест тапсырмалары

Инерция моменті Инерция тензоры

Математика талапкерге

2 СЫЗЫҚТЫҚ АЛГЕБРАЛЫҚ ТЕҢДЕУЛЕР ЖҮЙЕСІН ШЕШУ ӘДІСТЕРІ

БАҒДАРЛАМАЛАУ ЖƏНЕ ДЕРЕКҚОР НЕГІЗДЕРІ

АЛГОРИТМДЕУ ЖӘНЕ ПРОГРАММАЛАУ НЕГІЗДЕРІі

Каналдағы судың өтімін анықтау

ДЕНЕЛЕРДІҢ ЕРКІН ТҮСУІ

ырыбы: Қатты денелерді ң қасиеттері.

Тема: 23-Көпжақтар. Олардың аудандары мен көлемдері Подтема: 01-Призма. Тік жəне көлбеу призмалар. Куб. Олардың бет аудандары мен көлемдері.

рметті студент! Мамандыты атауы Жауап парағыны 6-9 секторларындағы пəндер реті 5В «Механика» 1. Математикалы талдау I

І. ТАРАУ 1.1. Оператор ұғымы 4 Мат.анализ I. Функция. Функционал анализ I.Оператор амалгер бейнелік f : X Y x X, мұндағы X R,

1-БЛОК: Математика. Бір дрыс жауабы бар тапсырмалар

ПƏННІҢ ОҚУ-ƏДІСТЕМЕЛІК КЕШЕНІ

КИНЕМАТИКАНЫҢ НЕГІЗГІ ҰҒЫМДАРЫ. Кинематика деп денелердің қозғалысын зерттейтін, бірақ қозғалыстың туу себебін қарастырмайтын физиканың бөлімі.

АЛГОРИТМДЕУ ЖƏНЕ ПРОГРАММАЛАУ ТІЛДЕРІ

ӘДІСТЕМЕЛІК НҰСҚАУЛЫҚ

рметті студент! Мамандыты атауы Жауап парағыны 6-9 секторларындағы пəндер реті 1. Алгебра «Математикалы жəне 2. Физика компьютерлік 2.

рметті студент! Мамандыты атауы Жауап парағыны 6-9 секторларындағы пəндер реті 1. Жоғары математика 2. Физика 3. Сызыты автоматты реттеу ж(йелері

Тексерген: Рысжанова Айжан Сайлаухановна Орындаған: Оралғазин Бекнар Болатқазыұлы

әдістемелік нұсқаулар

ЗЕРТХАНАЛЫҚ ЖҰМЫСТАРДЫ ОРЫНДАУҒА ӘДІСТЕМЕЛІК НҰСҚАУЛАР

Қазақстан Республикасының білім және ғылым министрлігі Қарағанды мемлекеттік техникалық университеті

санын айтамыз. Бұл сан екі тік және екі жатық жолдардан тұратын а а

Металдар мен бейметалдар қасиеттері

ДӘРІСТЕР КЕШЕНІ Дәріс 1-2. Тақырыбы: Алгоритм және оның қасиеттері. Алгоритм терминінің тарихы. Алгоритм түрлері

Теллурдың жаңа туындыларының синтезі және қасиеттері

АЛГОРИТМДЕУ ЖƏНЕ ПРОГРАММАЛАУ ТІЛДЕРІ

«Назарбаев Зияткерлік мектептері» ДББҰ Cambridge International Examinations ФОРМУЛАЛАР ТІЗІМІ ЖƏНЕ СТАТИСТИКАЛЫҚ КЕСТЕЛЕР

ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖƏНЕ ҒЫЛЫМ МИНИСТРЛІГІ. М.Өтемісов атындағы Батыс-Қазақстан мемлекеттік университеті ЖҰМЫС ОҚУ БАҒДАРЛАМАСЫ.

МГД- ҚОНДЫРҒЫЛАР ЖӘНЕ ЦИКЛДАРЫ

МАЗМҰНЫ. 13 ерекше (жеке) жағдайда орналасуы 2.6 Түзудегі нүкте. Түзудің ізі Жалпы жағдайда орналасқан түзу кесіндісінің сызбада

А.Байтұрсынов атындағы Қостанай мемлекеттік университеті. Электроэнергетика және физика кафедрасы. Г.Асанова

start осу hp LaserJet 4200L series

Сабақты ң тақырыбы: Күш. Масса. Ньютонны ң екінші заңы. 9 А сыныбы

БӨЖ. ғ Тексерген :Омарбеков Е.О. Орында ан :Сырымова.Б.Е

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ

Криптография. ОРЫНДАҒАН: Сабитов Аманбек ОИН-302 тобы.

Жарық Интерференциясын зерттеу

Әл-Фараби атындағы Қазақ ұлттық университеті МАНАТ. 6D Математика (Қолданбалы математика)

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2014

ιαφάνειες παρουσίασης #7

АЛМАТЫ ЭКОНОМИКА ЖӘНЕ СТАТИСТИКА АКАДЕМИЯСЫ

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

Προγραμματισμός PASCAL

Орындаған: Саматқызы Гүлманат Ақтөбе қаласы Ғ.Ақтаев атындағы 6 ОМ, 10 класс оқушысы

Сабақ жоспары. 1. Теңдеулер жүйесін шешіңдер: x 2 +y 2-6y=0 x 2 -xy+y 2 = Теңсіздіктер жүйесін шешіңдер: x 2 +4x-5>0

ПӘНДІ ОҚЫТУДАҒЫ ӘДІСТЕМЕЛІК НҰСҚАУЛАР

Бір дрыс жауабы бар тапсырмалар

ҚАЗ АҚСТА Н РЕСПУБЛИКАС Ы БІЛІМ Ж ӘН Е ҒЫЛЫМ МИНИСТРЛ ІГІ С ЕМЕЙ ҚАЛАС Ы НЫ Ң Ш ӘК ӘРІМ АТЫ НДА ҒЫ МЕМЛЕКЕТТІК УНИВЕРСИТЕТІ БӨЖ

Γραπτές εξετάσεις στο μάθημα: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Θ) Εισηγητής: Γεωργίου Χρήστος ΘΕΜΑΤΑ & ΑΠΑΝΤΗΣΕΙΣ. Β. Χαρακτήρας(Αλφαριθμητικά)

АЛМАТЫ ЭКОНОМИКА ЖӘНЕ СТАТИСТИКА АКАДЕМИЯСЫ

Απαντήσεις στο μάθημα Δομημένος Προγραμματισμός ΕΠΑΛ

Аннотация. Annotation

рметті студент! Мамандыты атауы Жауап парағыны 6-9 секторларындағы пəндер реті 1. Математикалы анализ 2. Физика

*Стереометрия аксиомалары және олардың қарапайым салдары

ΜΑΘΗΜΑ / ΤΑΞΗ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ / Γ'ΕΠΑΛ ΗΜΕΡΟΜΗΝΙΑ: ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι.ΜΙΧΑΛΕΑΚΟΣ-Α.ΚΑΤΡΑΚΗ-Χ.ΠΑΠΠΑ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α

ιαφάνειες παρουσίασης #3

И Н Ж Е Н Е Р Л І К Г Р А Ф И К А

2 тур Логикалық есеп. 1 тур Бәйге. есеп. Ұтқырлар сайысы. 3 тур Сан қилы. 4 тур Сиқырлы сурет

Қанны ң тамырлар бойымен қозғалысыны гемодинамикалы қ. реологиялы қ қасиеттері.

Қазақстан Республикасының білім және ғылым министрлігі. С.Торайғыров атындағы Павлодар мемлекеттік университеті

Бір дрыс жауабы бар тапсырмалар

Б.Қ. Бұқарбаев, Ж.Ғ. Займолдина, Б.Б. Ораз, О.Ж. Ұлқабай ДЕНЕ ШЫНЫҚТЫРУ ӘДІСТЕМЕЛІК ҚҰРАЛ

ПӘННІҢ ОҚУ-ӘДІСТЕМЕЛІК КЕШЕНІ

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3.

ҚАЗАҚСТАН РЕСПУБЛИКАСЫ ЖОҒАРЫ ОҚУ ОРЫНДАРЫНЫҢ ҚАУЫМДАСТЫҒЫ А. Т.

АВТОМАТТЫ БАСҚАРУ ТЕОРИЯСЫ

Pascal, απλοί τύποι, τελεστές και εκφράσεις

ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖƏНЕ ҒЫЛЫМ МИНИСТРЛІГІ. Еуразиялық нарық институты А.Ə.БАЙМҰХАМЕТОВ, Қ.А.ҚАРАЖАНОВА ЖОҒАРЫ МАТЕМАТИКА

ЖЕРСЕРІКТІК НАВИГАЦИЯЛЫҚ ЖҮЙЕЛЕР

Α3. Να γράψετε τους αριθμούς 1, 2, 3, 4, 5 από τη Στήλη Α και δίπλα το γράμμα α, β, γ, δ, ε, στ από τη Στήλη Β που δίνει τη σωστή αντιστοιχία.

Иондаушы сәулелердің затпен әсерлесуі

Пайдаланушы нұсқаулығы

ΑΠΑΝΤΗΣΕΙΣ. α- Σωστό β- Σωστό γ- Λάθος δ- Λάθος ε- Σωστό στ- Σωστό

МАТЕМАТИКАЛЫҚ ФИЗИКА ТЕҢДЕУЛЕРІ

ιαφάνειες παρουσίασης #6

М. Өтемісұлы атындағы Батыс Қазақстан мемлекеттік университеті

Register your product and get support at series Нұсқаулық 55PUS PUS8601

Қазақстан Республикасының Білім және ғылым министрлігі. Д.СЕРІКБАЕВ атындағы ШЫҒЫС ҚАЗАҚСТАН МЕМЛЕКЕТ ТЕХНИКАЛЫҚ УНИВЕРСИТЕТІ

Αλγόριθμοι. Α. Υπολογιστικά Προβλήματα. Β. Εισαγωγή στους Αλγόριθμους. Γ. ομή Αλγόριθμων. Δ. ομές εδομένων

Тақырыбы: 11 сынып оқушыларын ҰБТ-ге математика және физика пәндерінен дайындаудың кейбір тиімді әдістері.

Αποτελέσματα προόδου

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

АВТОМАТИКА ЖӘНЕ ТЕЛЕМЕХАНИКА ЖҮЙЕЛЕРІН ЖОБАЛАУ

МАЗМҰНЫ ЭЕМ-НІҢ НЕГІЗГІ ФУНКЦИОНАЛДЫҚ ЭЛЕМЕНТТЕРІ, I БӨЛІМ... ЭЕМ-НІҢ НЕГІЗГІ ФУНКЦИОНАЛДЫ ЭЛЕМЕНТТЕРІ, II БӨЛІМ... АРИФМЕТИКАЛЫҚ-ЛОГИКАЛЫҚ ҚҰРЫЛҒЫ...

«Полиметалл» Қызыл жобасы Экологиялық және әлеуметтік іс-шаралар жоспары (ESAP) Талап етілетін жұмсалымдар /Ресурстар/ Жауапкершілік

Курстың мақсаты: - Математикалық физика теориясының іргелі ұғымдарымен таныстыру, негізгі әдістерді үйрету және оларды қолдану білуге дайындау, әр

Қолданушының нұсқасы. Өнімді мына жерде тіркеп, оған қолдау алыңыз: Portable speaker SB500

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

Жарық жылдамдығын өлшеудің лабороториялық әдістері.

факторлары келесі формулалармен анықталады

Register your product and get support at series Нұсқаулық 48PUS PUS PUS7600

ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖƏНЕ ҒЫЛЫМ МИНИСТРЛІГІ. Қ. И. Сəтбаев атындағы Қазақ ұлттық техникалық университеті. Өнеркəсіптік инженерия институты

МҰНАЙ КЕН ОРЫНДАРЫН ИГЕРУ

Μαζέρας Αχιλλέας. Οι εντολές επανάληψης στην Pascal (While) Φυσικός Αυτοματιστής M.Sc. Νοέµβριος 2009

Transcript:

1 Паскаль тілінде программалау 1. Кіріспе 2. Тармақталу 3. Кү рделі шарттар 4. Циклдер 5. Шартты циклдер 6. Таң дау операторы 7. Графика 8. Функциялардың графигі 9. Процедуралар 10. Рекурсия 11. Анимация 12. Кездейсоқ сандар 13. Функциялар

2 Паскаль тілінде программалау Тақырып 1. Кіріспе

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

Программа 4 Программа дегеніміз - қандай да бір программалау тілінде жазылған алгоритм компьютерге қажетті командаларды ң жиынтығы Команда компьютер орындауға міндетті әрекетті ң өрнектелуі. алғашқы мәліметтерді қайдан алу керек? олармен қандай амалдар орындау керек?

Программалау тілдері Машинағ а бейімделген (төменгі деңгейлі) - әрбір команда процессорды ң бір командасына сәйкес келеді (ассемблер) Жоғарғы дең гейлі тілдер кәдімгі табиғи тілге(ағылшын тіліне) ұқсайды, адамны ң түсінуіне оңай, бір ғана компьютерге тәуелді болмайды. Жаңадан ү йренушілерге: Бейсик, ЛОГО, Паскаль Кә сіби: Си, Фортран, Паскаль Жасанды интеллект тапсырмалары ү шін: Пролог, ЛИСП Интернет ү шін: JavaScript, Java, Perl, PHP, ASP 5

Паскаль тілі 6 1970 Никлаус Вирт (Швейцария) студенттерді оқытуға арналған тіл «жоғарыдан төменге қарай» программаларын жасау Есеп Бағыныңқы есеп1 Бағыныңқы есеп2 Бағыныңқы есеп3 1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2 3.3 берілгендерді ң әр түрлі құрылымдары(массивтер, құрылымдар, жиымдар)

Программа қандай бөліктерден тұрады? 7 program <программаны ң аты >; const ;{т ұ ра қ тылар } var ; {айнымалылар} { процедуралар мен функциялар } begin {негізгі программа} end. фигуралы қ жа қ шаны ң ішінде орналас қ ан т ү сініктемелер программамен өң делмейді

Программа қандай бөліктерден тұрады? 8 Тұрақ ты өз атауы болатын, өзгермейтін шама,. Айнымалы өз атауы (жад ұяшығы)болатын, өзгеретін шама. Процедура кейбір әрекеттерді сипаттайтын қосалқы алгоритм (мысалға шеңберді салу). Функция есептеулерді орындайтын қосалқы алгоритм (квадрат түбірді табу, sin).

Программалар, тұрақтылар, айнымалылар атауы Атауларды сипаттағанда латын әріптерін ( A-Z) 9 Бас ә ріптер мен кіші ә ріптерді ң арасында айырмашылы қ болмайды сандарды Атаулар санмен басталмауы керек астын сызу белгісін _ қолдануға болады Атауларды сипаттағанда орыс, қаза қ әріптерін бос орындарды жақ шаларды, +, =,!,? белгілерін және т.б. қолдануға болмайды ай атаулар д рыс жазыл ан? Қ ұ ғ AXby R&B 4Wheel Вася PesBarbos TU154 [QuQu] _ABBA A+B

Тұрақтылар 10 const i2 = 45; { б ү тін сан } pi = 3.14; { на қ ты сан } б ү тін ж ә не б ө лшек б ө ліктері н ү ктемен ажыратылады qq = 'Вася'; { символдар қ атары } орыс, қ аза қ ә ріптерін қ олдану ғ а болады! L = True; { логикалы қ шама } екі м ә н қ абылдай алады: True (а қ и қ ат, «и ә» ) False (жал ғ ан, «жо қ»)

Айнымалылар 11 Айнымалы аты, типі және мәні болатын шама. Айнымалыны ң мәнін программаны ң жұмысы кезінде өзгертіп отыруға болады. Айнымалыларды ң типі: integer { бү тін } real { нақ ты } char { бір символ } string { символды қ тіркес } boolean { логикалы қ } Айнымалыларды сипаттау (жад бө лу): var a, b: integer; Q: real; s1, s2: string;

Айнымалыны ң мәнін қалай өзгертуге болады? Оператор жоғары деңгейлі программалау тіліні ң командасы. Меншіктеу операторы айнымалыны ң мәнін өзгерту үшін қолданылады. Мысал: program qq; var a, b: integer; begin a := 5; b := a + 2; a := (a + 2)*(b 3); end. a? 5 5 b? 7 5+2 a 28 5 7*4 12

Меншіктеу операторы 13 Жалпы құрылымы: <айнымалы атауы> := < ө рнек >; Арифметикалы қ өрнекті ң құрамында тұрақтылар айнымалы атаулары арифметикалы қ амалдар белгілері: + - * / div mod к ө бейту б ө лу функцияларды шақыру жақ шалар ( ) б ү тінді б ү тінге б ө лу б ө луден қ ал ғ ан қ алды қ

Қай операторлар дұрыс жазылмаған? 14 program qq; var a, b: integer; x, y: real; begin a := 5; 10 := x; y := 7,8; b := 2.5; x := 2*(a + y); a := b + x; end. айнымалы атауы := белгісіні ң сол жа ғ ында болуы керек б ү тін мен б ө лшекті ң арасы н ү ктемен ажыратылуы керек на қ ты м ә нді б ү тін айнымалы ғ а меншіктеуге болмайды

Амалдарды орындау тәртібі 15 жақша ішіндегі өрнекті есептеу солдан оңға қ арай к бейту, б лу, солдан оңға қарай қосу және алу 2 3 5 4 1 7 8 6 9 z := (5*a*c+3*(c-d))/a*(b-c)/ b; a 2 5c 2 d( a b) x ( c d)( d 2 a ) ө ө div, mod z 5ac 3( c ab d) ( b c) 2 6 3 4 7 5 1 12 8 11 10 9 x:=(a*a+5*c*c-d*(a+b))/((c+d)*(d-2*a));

Екі санды қосу 16 Есеп. Екі бүтін санды қосып, қосындысын экранда шығару. Шығарылуы: program qq; var a, b, c: integer; begin read ( a, b ); c := a + b; writeln ( c ); end.

Енгізу операторы 17 read ( a ); { а айнымалысыны ң мәнін енгізу} read ( a, b ); { а және b айнымалыларыны ң мәндерін енгізу} Екі санды қалай енгізуге болады? бос орын арқылы: Enter арқ ылы: 25 30 25 30 25 30 a b 25 30 a b

Шығару операторы 18 write ( a ); { a айнымалысыны ң мәнін шығ ару} writeln ( a ); {a айнымалысыны ң мәнін шығарып, келесі жолға кө шу} writeln ( Салем!' ); { мәтінді шығ ару} writeln ( Жауап: ', c ); { мә тінді және c айнымалысыны ң мәнін шығ ару} writeln ( a, '+', b, '=', c );

Шығару форматтары 19 program qq; var i: integer; x: real; begin барлы қ i := 15; символдар саны writeln ( '>', i, '<' ); >15< writeln ( '>', i:5, '<' ); x := 12.345678; > 15< writeln ( '>', x, '<' ); writeln ( '>', x:10, '<' ); >1.234568E+001< > 1.23E+001< writeln ( '>', x:7:2, '<' ); > 12.35< end. барлы қ символдар саны б ө лшек б ө лігіндегі символдар саны

Толы қ шығарылуы 20 program qq; var a, b, c: integer; begin writeln( Екі б ү тін сан енгізі ң із '); read ( a, b ); c := a + b; writeln ( a, '+', b, '=', c ); end. Протокол: Екі бүтін сан енгізіңіз 25 30 25+30=55 б ұ ны компьютер шы ғ арады б ұ ны программа жазушы ө зі енгізеді

Сызықты қ алгоритмны ң блок-схемасы 21 басы «басы» блогі енгізу a, b «енгізу» блогі c := a + b; «процесс» блогі шығару c «шы ғ ару» блогі соңы «со ң ы» блогі

Тапсырмалар "4": Үш сан енгізіп,оларды ң қосындысын және көбейтіндісін табу. Мысал: Үш сан енгіз: 4 5 7 4+5+7=16 4*5*7=140 22 "5": Үш сан енгізіп, оларды ң қосындысын, көбейтіндісін және арифметикалы қ ортасын табу. Мысал: Үш сан енгіз: 4 5 7 4+5+7=16 4*5*7=140 (4+5+7)/3=5.33

23 Паскаль тілінде программалау Тақырып 2. Тармақталу

Тармақталу алгоритмдері 24 Есеп. Екі бүтін сан енгізіп,экранға оларды ң үлкенін шығару. Шығару амалы: бірінші сан екінші саннан үлкен болса, біріншісін, ал егер кіші болса екіншісін экранға шығару. Ерекшелігі: атқарушыны ң әрекеті кейбір шарттарды ң орындалуына байланысты болады (егер ә йтпесе ). Қ адамдарды ң тізбектеп орындалуы кейбір шарттар ғ а байланысты болатын алгоритмдерді тарма қ талу алгоритмдері деп атайды.

Нұсқа 1. Блок-схема 25 иә басы енгізу a,b a > b? «та ң дау» блогі жоқ Тарма қ талуды ң толымды т ү рі max:= a; max:= b; шығару max соңы? Егер a = b?

Нұсқа 1. Программа 26 program qq; var a, b, max: integer; begin writeln( Екі бү тін сан енгіз'); read ( a, b ); if a > b then begin max := a; end else begin max := b; шартты операторды ң толымды т ү рі end; writeln ( Екі санны ң ү лкені', max); end.

Шартты оператор 27 if <шарт> then begin {егер шарт орындалса, не істеу керек} end else begin {егер шарт орындалмаса, не істеу керек} end; Ерекшеліктері: else-ті ң алдында нүктелі үтір болмауы керек екінші бөлікті ң ( else ) болмауы да мүмкін (толымсыз түрі) егер блокта бір ғана оператор болса, begin мен end сөздерін жазбауға да болады

Қай жері дұрыс емес? 28 if a > b then begin a := b; end else begin b := a; end; if a > b then begin a := b; end else begin b := a; end; if a > b then begin a := b; end else b begin > a begin b := a; end; if a > b then begin a := b; end; else begin b := a; end;

Нұсқа 2. Блок-схема басы енгізу a,b 29 иә max:= a; b > a? жоқ тарма қ талуды ң толымсыз т ү рі max:= b; шығару max соңы

Нұсқа 2. Программа 30 program qq; var a, b, max: integer; begin writeln( Екі бү тін сан енгіз'); read ( a, b ); шартты max := a; операторды ң ү if b > a then max := b; толымсыз т рі writeln ( Екі санны ң ү лкені', max); end.

Нұсқа 2Б. Программа 31 program qq; var a, b, max: integer; begin writeln('екі бү тін сан енгіз'); read ( a, b ); max := b; if a??? > b then max???:= a; writeln ('Екі санны ң ү лкені', max); end.

Қай жері дұрыс емес? 32 if a > b then begin a := b; else b := a; if a > b then begin a := b; end; else b := a; if a > b then a := b; b else b := a; end; if a > b then else if b begin >= a then b b := := a; a; end;

Тапсырмалар 33 "4": Үш сан енгізіп оларды ң үлкенін табу. Мысал: Үш сан енгіз: 4 15 9 Е ң үлкен сан 15 "5": Бес сан енгізіп оларды ң үлкенін табу. Мысал: Бес сан енгіз: 4 15 9 56 4 Е ң үлкен сан 56

34 Паскаль тілінде программалау Тақырып 3. Күрделі шарттар

Күрделі шарттар 35 Есеп. Фирма 25 пен 40 жас арасындағы қызметкерлерді жұмысқа алуда. Адамны ң жасын енгізіп, оны фирмаға алуға болатындығы немесе болмайтындығы туралы мәлімет шығару («болады» немесе «болмайды» деген жауап шығ ару). Ерекшелігі: екі шартты ң бір мезгілде орындалатынын немесе орындалмайтынын тексеру.? Белгілі ә дістермен шешуге бола ма?

Нұсқа 1. Алгоритм 36 басы енгізу x иә x >= 25? жоқ иә x <= 40? жоқ болады' 'болмайды' болмайды' жоқ

Нұсқа 1. Программа program qq; var x: integer; begin writeln( Жасты енгіз'); read ( x ); if x >= 25 then if x <= 40 then writeln ( Болады') else writeln ( Болмайды') else writeln ( Болмайды'); end. 37

Нұсқа 2. Алгоритм 38 басы енгізу x иә болады' x >= 25 және x <= 40? жоқ 'болмайды' соңы

Вариант 2. Программа 39 program qq; var x: integer; begin writeln( Жасты енгіз'); read ( x ); if (x >= 25) and (x <= 40) then writeln ('Болады') else writeln ('Болмайды') end. к ү рделі шарт

Күрделі шарттар 40 Кү рделі шарт бір-бірімен логикалы қ операцияларды ң көмегімен байланысатын бірнеше қарапайым шарттардан ( қатынастардан) тұрады: not ЕМЕС (терістеу, инверсия) and ЖӘ қ ө НЕ (логикалы к бейту, конъюнкция, шарттарды ң бір мезгілде орындалуы) or НЕМЕСЕ (логикалы қ қосу, дизъюнкция, е ң болмағанда бір шартты ң орындалуы) xor арифметикалық НЕМЕСЕ (екі шартты ң екеуін емес, біреуін ғана орындау) Қарапайым шарттар ( қатынастар) тең те ң емес < <= > >= = <>

Күрделі шарттар 41 Орындау тәртібі жақша ішіндегі өрнектер not and or, xor <, <=, >, >=, =, <> Ерекшелігі қарапайым шарттарды ң әрқайсысын жақшамен жабу. Мысал: 4 1 6 2 5 3 if not (a > b) or (c <> d) and (b <> a) then begin... end

Күрделі шарттар 42 a := 2; b := 3; c := 4; болған жағдайда ақиқат немесе жалған: not (a > b) True True (a < b) and (b < c) True not (a >= b) or (c = d) (a < c) or (b < c) and (b < a) (a < b) xor not (b > c) x-ті ң қандай мәндерінде шарт ақиқ ат болады: (x < 6) and (x < 10) (x < 6) and (x > 10) (x > 6) and (x < 10) (x > 6) and (x > 10) (x < 6) or (x < 10) (x < 6) or (x > 10) (x > 6) or (x < 10) (x > 6) or (x > 10) (-, 6) (6, 10) (10, ) (-, 10) (-, 6) (10, ) (-, ) (6, ) True FALSE x < 6 x > 10 x < 10 x > 6

Тапсырмалар 43 "4": Айды ң нөмірін енгізу арқ ылы, жыл мезгіліні ң атауын шығару. Мысал: Ай нөмірін енгіз: 4 көктем

44 Паскаль тілінде программалау Тақырып 4. Циклдер

Циклдер 45 Цикл белгілі бір әрекеттер тізбегіні ң бірнеше рет қайталанып орындалуы. қадамдар саны белгілі цикл қадамдар саны белгісіз цикл (шартты цикл) Есеп. 1-ден 8-ге дейінгі бүтін сандарды ң квадраттары мен кубтарын есептеп шығару ( a-дан b-ғ а дейін). Ерекшелігі: бірдей амалдар 8 рет орындалады.? Белгілі ә дістермен шешуге бола ма?

Алгоритм 46 басы i := 1; i <= 8? иә i2 := i * i; i3 := i2 * i; i, i2, i3 i := i + 1; жоқ цикл айнымалысыны ң бастап қ ы м ә нін к ө рсету барлы ғ ы да ат қ арылды ма? соны тексеру соңы квадрат пен куб-ты есептейміз н ә тижесін шы ғ ару келесі i-ге ө ту

Алгоритм ("цикл" блогімен) 47 басы «цикл»блогі i := 1,8 соңы i2 := i * i; i3 := i2 * i; цикл денесі i, i2, i3

Программа 48 program qq; var i, i2, i3: integer; begin бастап қ ы м ә н цикл айнымалысы е ң со ңғ ы м ә н for i:=1 to 8 do begin i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end; end.

Айнымалысы кеміп отыратын цикл 49 Есеп. 8-ден 1-ге дейінгі бүтін сандарды ң квадраттары мен кубтарын есептеп шығару (кері қарай есептеу). Ерекшелігі: цикл айнымалысы кеміп отыруы керек. Шығарылуы: for i:=8 downto 1 do begin i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end;

Айнымалысы бар цикл 50 Айнымалыны ң 1-ге артуы: for <айнымалы> := <ал ғ аш қ ы м ә н > to <е ң со ңғ ы м ә н > do begin {цикл денесі} end; Айнымалыны ң 1-ге кемуі: for <айнымалы> := <ал ғ аш қ ы м ә н > downto <е ң со ңғ ы м ә н > do begin {цикл денесі} end;

Айнымалысы бар цикл 51 Ерекшеліктері: цикл айнымалысыны ң мәні бүтін болуы керек ( integer) цикл айнымалысыны ң өзгеру қадамы қашанда 1-ге ( to) немесе -1-ге (downto) тең егер цикл денесінде бір ғана оператор болса, begin мен end сө здерін жазбай кетуге болады: for i:=1 to 8 do writeln('привет'); егер соңғы мән алғашқы мәннен кіші болса, ( to) циклы бірде бір рет орындалмайды (шартты циклды ң басында тексеру, шартты алдын ала тексеретін цикл)

Айнымалысы бар цикл 52 Ерекшеліктері: Цикл денесінде цикл айнымалысын өзгертуге рұқсат етілмейді (неліктен?) Алғашқы және соңғы мәндер өзгертілгенімен цикл ішіндегі қадамдар саны өзгермейді: n := 8; for i:=1 to n do begin writeln('салем'); n := n + 1; end; м ү діріп қ алу жо қ

Цикл неше рет орындалған? 53 a := 1; for i:=1 to 3 do a := a+1; a := 1; for i:=3 to 1 do a := a+1; a := 1; for i:=1 downto 3 do a := a+1; a = 4 a = 1 a = 1 a := 1; for i:=3 downto 1 do a := a+1; a = 4

Қадамдарды қалай өзгертуге болады? 54 Есеп. Экранға 1-ден 9-ға дейінгі та қ сандарды ң квадраттары мен кубтарын есептеп шығару. Ерекшелігі: цикл айнымалысы 2-ге артып отыру керек. Мәселе: Паскальде қадамдар саны 1 немесе -1 болуы мүмкін. Шығfor арылуы: Тек қ ана та қ i:=1 to 9 do begin i-лермен if i mod??? 2 = 1 then begin орындалады i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end; end;

Қадамдарды қалай өзгертуге болады? II 55 Идея: Тек 5 санды ғана шығару керек, k айнымалысы 1-ден 5-ке дейін ө згереді. i-ді ң бастапқы мә ні 1-ге тең, циклды ң әр қадамы сайын i 2-ге артып отырады. Шығарылуы:??? i := 1; for k:=1 to 5 do begin i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4);??? i := i + 2; end;

Қадамдарды қалай өзгертуге болады? III Идея: Тек 5 санды ғана шығару керек, k айнымылысы 1-ден 5-ке дейін ө згереді. k-ны біле отырып, i-ді есептеу қ ажет. k 1 2 3 4 5 i 1 3 5 7 9 i = 2k-1 56 Шығ арылуы: for k:=1 to 5 do begin i??? := 2*k 1; i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end;

Тапсырмалар 57 "4": a мен b-ны енгізіп, осы екеуіні ң арасындағы сандарды ң квадраттары мен кубтарын есептеп шығ ару. Мысал: Интервал шекараларын енгіз: 4 6 4 16 64 5 25 125 6 36 216 "5": 1, 2, 4, 7, 11, 16, тәртібімен орналасқан 10 санны ң квадраттары мен кубтарын есептеп шығару Мысал: 1 1 1 2 4 8 4 16 64... 46 2116 97336

58 Паскаль тілінде программалау Тақырып 5. Шартты циклдер

Қадамдар саны белгісіз цикл 59 Мысал: Бөренеден ағашты ң бұтағын кесіп алу керек. Қолараны әрі-бері неше рет қозғалтуымыз керек,.? Есеп: (<2000000) бүтін сан енгізіп, ондағы цифрларды ң санын анық тау. Шығару амалы: Е ң соңғы орналасқан цифрларды кезекпен алып тастай отырып, санаушыны арттырамыз. n count 123 0 12 1 1 2 0 3 Мәселе: неше қадам жасау керектігі белгісіз. n = 0 бол анда то тау керек Шығарылуы: ғ қ, я ни " болғ анша орындай беру керек. ғ n <> 0"

Алгоритм 60 басы енгізу n count := 0; n <> 0? жоқ цифрларды ң санаушысын н ө лге те ң естіру n <> 0 бол ғ анша орындай беру иә count := count + 1; n := n div 10; count соңы

Программа 61 program qq; var n, count:, integer; n1: integer; begin writeln( Б ү тін сан енгіз ); read(n); n1 := n; count := 0; "n <> 0 бол ғ анша орындай беру while n <> 0 do begin count := := count + + 1; 1; n n := := n n div div 10; 10; end; end; writeln( n1, cанында,count, цифр табылды ); end.

Шартты цикл 62 while <шарт> do begin {цикл денесі} end; Ерекшеліктері: күрделі шарттарды қолдануға болады: while (a<b) and (b<c) do begin {цикл денесі} end; егер цикл денесінде бір ғана оператор болса, begin мен end сө здерін жазбай кетуге болады: while a < b do a := a + 1;

Шартты цикл Ерекшеліктері: циклге кірген сайын шарт есептеліп отырады егер шарт циклге кіруде жалған болса, цикл бірде-бір рет орындалмайды 63 a := 4; b := 6; while a > b do a := a b; егер шарт түбінде жалған болмайтын болса, программаны ң жұмысы дағдарысқа ұшырайды (тоқтаусыз орындала береді) a := 4; b := 6; while a < b do d := a + b;

Цикл неше рет орындалғ ан? 64 a := 4; b := 6; while a < b do a := a + 1; a := 4; b := 6; while a < b do a := a + b; a := 4; b := 6; while a > b do a := a + 1; a := 4; b := 6; while a < b do b := a - b; a := 4; b := 6; while a < b do a := a - 1; 2 рет a = 6 1 рет a = 10 0 рет a = 4 1 рет b = -2 да ғ дарыс қ а ұшырау

For-ны while-ғ а ауыстыру және керісінше for i:=1 to 10 do begin {цикл денесі} end; i := 1; while i <= 10 do begin {цикл денесі} i := i + 1; end; 65 for i:=a downto b do begin {цикл денесі} end; i := a; while i >= b do begin {цикл денесі} i := i - 1; end; for-ны while ауыстыруға қ ашанда болады. while-ды for-ғ а, циклдегі қадамдар саны алдын ала белгілі болған жағ дайда ғана ауыстыруға болады.

Тапсырмалар 66 "4": Бүтін сан енгізіп, ондағы цифрларды ң қосындысын табу. Мысал: Бүтін сан енгіз: 1234 1234 санындағы цифрларды ң қосындысы 10-ға те ң. "5": Бүтін сан енгізіп, оны ң жазылуында бірдей цифрларларды ң бар-жоғын анықтау. Мысал: Бү тін сан енгіз: Бү тін сан енгіз: 1234 1224 Жо қ. Бар.

Тізбектер 67 Мысалдар: 1, 2, 3, 4, 5, 1, 2, 4, 7, 11, 16, a n = n a 1 = 1, a n+1 = a n +1 a 1 = 1, a n+1 = a n + n 1, 2, 4, 8, 16, 32, a n = 2 n-1 a 1 = 1, a n+1 = 2a n 1 1 3 1 5,,,,,... 2 2 8 4 32 1, 2 2, 4 3, 8 4, 16 5,... 32 b an c n n b 1 = 1, b n+1 = b n +1 c 1 = 2, c n+1 = 2c n

Тізбектер 68 Есеп: модулі бойынша 0,001-ден асып тү сетін 1 2 3 4 1,,,,, 2 4 8 16 тізбектегі барлы қ элементтерді ң қосындысын табу: 5 32,... 1 2 3 4 5 S 1... 2 4 8 16 32 Тізбек элементтері ( 2-ден бастап ): a z b c n 1 2 3 4 5... b 1 2 3 4 5... c 2 4 8 16 32... b := b+1; c := 2*c; z -1 1-1 1-1... z := -z;

Алгоритм 69 басы S := 0; b := 1; c := 2; z := -1; a := 1; бастап қ ы м ә ндер бірінші элемент a > 0.001? жоқ жа ң а элемент өзгеріс иә S := S + a; a := z*b/c; b := b + 1; c := 2*c; z := -z; S соңы? Қайта қою керек пе?

Программа 70 program qq; var b, c, z: integer; S, a: real; begin S := 0; z := -1; b := 1; c := 2; a := 1; while abs(a) > 0.001 do begin S := S + a; a := z * b / c; z := - z; b := b + 1; c := c * 2; end; writeln('s =', S:10:3); end. бастап қ ы м ә ндер қ осындыны ң артуы тізбек элементін есепке алу келесі қ осыл ғ ыш қ а өту

Тапсырмалар 71 "4": Тізбектегі элементтерді ң қосындысын 0,001 дәлдікпен табу : S 2 4 6 8 1... 3 3 5 9 7 27 9 81 Жауап: S = 1.157 "5": Тізбектегі элементтерді ң қосындысын 0,001 дә лдікпен табу : 2 4 6 8 10 S 1... 2 3 3 9 5 27 8 81 13 243 Жауап: S = 1.220

Соңғышартты цикл 72 Есеп: Бүтін оң сан енгізіп(<2000000), ондағы цифрларды ң санын анық тау. Мәселе: Теріс санны ң немесе нөлді ң енгізілмеуін қалай қадағалауға болады? Шығарылуы: Егер бұрыс сан енгізілсе,берілгендерді енгізу үшін кері оралу (цикл!). Ерекшелігі: Цикл денесі кемінде бір рет орындалады. => шартын тексеруді циклды ң соңында орындау керек. (соңғ ышартты цикл). Со ңғ ышартты цикл шартты ң тексерілуі циклды ң со соң ында орындалатын цикл т ү рін айтады.

Соңғышартты цикл: алгоритм 73 басы жоқ енгізу n n > 0? иә цикл денесі ШЫ Ғ УДЫ Ң шарты негізгі алгоритм соңы «типтік процесс» блогі

Программа 74 program qq; var n: integer; begin repeat writeln( О writeln('введите ң сан енгіз положительное '); число'); read(n); ШЫ Ғ УДЫ Ң until n > 0; шарты... { негізгі алгоритм } end. Ерекшеліктері: цикл денесі кемінде бір рет орындалады until (" болмайынша") сөзінен кейін циклдан ШЫҒУДЫҢ шарты қойылады

Цикл неше рет орындалғ ан? 75 a := 4; b := 6; repeat a := a + 1; until a > b; a := 4; b := 6; repeat a := a + b; until a > b; a := 4; b := 6; repeat a := a + b; until a < b; a := 4; b := 6; repeat b := a - b; until a < b; a := 4; b := 6; repeat a := a + 2; until a < b; 3 рет a = 7 1 рет a = 10 М ү діріп қ алу 2 рет b = 6 М ү діріп қалу

Тапсырмалар (бұрыс енгізуден қорғау) 76 "4": Натурал сан енгізіп, сол сандағы цифрларды ң қосындысы 10-ға те ң екендігіні ң дұрыстығын анықтау. Мысал: >= 0 сан енгіз: >= 0 сан енгіз: -234 1233 О ң сан енгізу керек. Жоқ >= 0 сан енгіз: 1234 И ә "5": Натурал сан енгізіп, қандай цифрларды ң бірнеше рет кездесетіндігін анықтау. Мысал: >= 0 сан енгіз: >= 0 сан енгіз: 2323 1234 2, 3 қайталанады Қайталану жо қ.

77 Паскаль тілінде программалау Тақырып 6. Таңдау операторы

Таңдау операторы 78 Есеп: Ай нөмірін енгізіп, осы айдағы күндерді ң санын шығару. Шығарылуы: Айдағы күндер саны 28 кү н 2 (ақпан) 30 кү н 4 (сәуір), 6 (маусым), 9 ( қыркүйек), 11 ( қараша) 31 кү н 1 ( қаңтар), 3 (наурыз), 5 (мамыр), 7 (шілде), 8 (тамыз), 10 ( қазан), 12 (желтоқсан) Ерекшелігі: Екі нұсқаны ң емес, айды ң нөміріне сәйкес бірнеше нұсқаны ң бірін таңдау.? Бұған дейінгі қолданған әдістермен шешуге бола ма?

Алгоритм 79 басы енгізу M M = 1? иә D := 31; жоқ иә M = 2? D := 28; жоқ та ң дау операторы ешбір н ұ с қ асы с ә йкес келген жоқ иә M = 12? D := 31; жоқ қате соңы шығ ару D

Программа 80 program qq; var M, D: integer; begin writeln( Айды ң н ө мірін енгіз :'); read ( M ); case M of 2: begin D := 28; end; 4,6,9,11: begin D := 30; end; 1,3,5,7,8,10,12: D := 31; else D := -1; ешбір н ұ с қ асы end; с ә йкес келген жо қ if D > 0 then writeln( Б ұ л айда ', D, ' к ү н.') else writeln('айды ң н ө мірі д ұ рыс емес '); end.

Таңдау операторы 81 Ерекшеліктері: case-тен кейін айнымалы атауы немесе бүтін типті (integer) арифметикалы қ өрнек case i+3 of 1: begin a := b; end; 2: begin a := c; end; end; немесе символды қ типті (char) арифметикалы қ өрнек var c: char;... case c of 'а': writeln( Б ө кен '); 'б': writeln('борсық'); else writeln( Білмеймін'); end; болуы мүмкін

Таңдау операторы 82 Ерекшеліктері: егер бір ғана операторды орындау керек болса, ө begin мен end с здерін жазбай кетуге болады case i+3 of 1: a := b; 2: a := c; end; бірдей екі мәнді қоюға болмайды case i+3 of 1: a := b; 1: a := c; end;

Таңдау операторы 83 Ерекшеліктері: бірдей әрекеттер орындалатын кезде қолданылатын мәндерді топтастыру қажет тізбелеп санап шы ғ у диапазон аралас case i of 1: a := b; 2,4,6: a := c; 10..15: a := d; 20,21,25..30: a := e; else writeln( Қ ате '); end;

Қай жері дұ рыс емес? 84 case a of 2: begin a := b; 4: a := c; end; case a of 2: a := b 4: a := c end; ; case a of 2..5: a := b; 4: a := c; end; case a+c/2 of 2: a := b; 4: a := c; end; case a of 0..2: a := b; 6..3: 3..6: a := c; end; begin case a of 2: a := b; d := 0; end; 4: a := c; end;

Тапсырмалар (бұрыс енгізуден қорғаумен) "4": Айды ң нөмірін енгізе отырып, осы айдағы күндерді ң санын және енгізу кезінде жіберілген қателерді ң санын есептеп шығару. Мысал: Ай нө мірін енгіз: Ай нөмірін енгіз: -2 2 Ай нө мірін енгіз: Бұл айда 28 күн бар. 11 Сіз 0 рет қате енгіздіңіз. Бұл айда 30 күн бар. Сіз 1 рет қате енгіздіңіз. 85 "5": Айды ң нөмірі мен күнні ң нөмірін енгізіп, Жаңа жылға дейін қалған күндерді ң санын анықтау. Мысал: Ай нөмірін енгіз: 12 Күнді енгіз: 25 Жаңа жылға дейін 6 күн бар.

86 Паскаль тілінде программалау Тақырып 7. Графика

Координаталар жүйесі 87 (0,0) X y x (x,y) Y

Түстерді басқару 88 Cызықты ң түсі мен қалыңдығ ы, нүктелерді ң түсі: Pen ( 1, 255, 0, 0 ); сызы қ ты ң қ алы ң ды ғ ы R(red) 0..255 G(green) 0..255 Бояуды ң түсі мен стилі: Brush ( 1, 0, 255, 0 ); 0 ө шіру 1 - қ осу R G B Мәтін түсі: TextColor ( 0, 0, 255 ); R G B B(blue) 0..255

Нүктелер, кесінділер және қисы қ сызықтар 89 (x 1, y 1 ) (x, y) Pen (1, 0, 0, 255); Point (x, y); (x 2, y 2 ) Pen (1, 0, 255, 0); Line (x1, y1, x2, y2); (x 1, y 1 ) (x 2, y 2 ) (x 5, y 5 ) (x 3, y 3 ) (x 4, y 4 ) Pen (1, 255, 0, 0); MoveTo (x1, y1); LineTo (x2, y2); LineTo (x3, y3); LineTo (x4, y4); LineTo (x5, y5);

Фигураларды ң ішін бояу 90 (x 1, y 1 ) (x 1, y 1 ) (x 2, y 2 ) (x 2, y 2 ) Pen (1, 0, 0, 255); Brush (1, 255, 255, 0); Rectangle (x1, y1, x2, y2); Pen (1, 255, 0, 0); Brush (1, 0, 255, 0); Ellipse (x1, y1, x2, y2); (x, y) Brush (1, 100, 200, 255); Fill (x, y);

Мәтін 91 (x, y) Салем! 30 о TextColor (0, 0, 255); Brush (1, 255, 255, 0); Font (20, 30, 600); өлшемі айналу қ аны қ тылы қ : 10 пиксель б ұ рышы 400 қ алыпты 600 қ алы ң MoveTo (x, y); writeln ( Салем!');

Мысал 92 (100, 100) (200, 50) (300, 200) program qq; begin Pen(2, 255, 0, 255); Brush(1, 0, 0, 255); Rectangle(100, 100, 300, 200); MoveTo(100, 100); LineTo(200, 50); LineTo(300, 100); Brush(1, 255, 255, 0); Fill(200, 75); Pen(2, 255, 255, 255); Brush(1, 0, 255, 0); Ellipse(150, 100, 250, 200); end.

Тапсырмалар 93 "4": «Бақ а" "5": «Тә ж"

Штрихтер салу 94 (x 1, y 1 ) N сызық (N=5) h x2 x N 1 1 h (x 2, y 2 ) Rectangle (x1, y1, x2, y2); Line( x1+h, y1, x1+h, y2); Line( x1+2*h, y1, x1+2*h, y2); Line( x1+3*h, y1, x1+3*h, y2);... x x h := (x2 x1) / (N + 1); Rectangle (x1, y1, x2, y2); x := x1 + h; for i:=1 to N do begin Line( round(x), y1, round(x), y2); x := x + h; end; var x, h: real; жа қ ын орналас қ ан б ү тін сан ғ а дейін д өң гелектеу

Түсті қалай өзгертуге болады? 95 (x 1, y 1 ) x с ұ р: R = G = B (x-1, y 1 +1) Brush ( 1, c, c, c ); Fill (???,??? ); (x 2, y 2 ) Өзгеру қадамы c: h c 255 N 1 hc := 255 div (N + 1); c := 0; for i:=1 to N+1 do begin Line (round(x), y1, round(x), y2); Brush (1, c, c, c); Fill (round(x)-1, y1+1); x := x + h; c := c + hc; end; var c, hc: integer;

Штрихтер салу 96 a (x 1, y 1 ) (x 3 +a, y 1 ) a x 1 x 2 h x3 x N 1 2 (x 2, y 2 ) (x 3, y 2 ) h Line( x1+h, y1, x1+h-a, y2); Line( x1+2*h, y1, x1+2*h-a, y2); Line( x1+3*h, y1, x1+3*h-a, y2);... x h := (x3 x2) / (N + 1); a := x1 x2; x := x1 + h; for i:=1 to N do begin Line( round(x), y1, round(x-a), y2); x := x + h; end; x-a

Штрихтер салу 97 (x 1, y 1 ) h x x2 x N 1 y y N 1 2 h x h y 11 h y (x 2, y 2 ) Line( x1, y1+hy, y1+hy) ; x1+hx, Line( x1, y1+2*hy, x1+2*hx, y1+2*hy); Line( x1, y1+3*hy, y x1+3*hx, x y y1+3*hy); hx :=... (x2 x1) / (N + 1); hy := (y2 y1) / (N + 1); x := x1 + hx; y := y1 + hy; for i:=1 to N do begin Line( x1, round(y), round(x), round(y)); x := x + hx; y := y + hy; end;

Тапсырмалар 98 "4": Пернетақтадан штрих сызықтарыны ң санын енгізе отырып фигура салу және оны ң ішін әр түрлі түстермен бояу. "5": Пернетақтадан шеңберлерді ң санын енгізу арқылы шеңберді ң суретін салу және оны ң ішіндегі әр шеңберді әр түрлі түске бояу.

99 Паскаль тілінде программалау Тақырып 8. Функцияларды ң графигі

Функция графиктерін құру 100 Есеп: 0 мен 2π интервалы арасындағы функциясыны ң графигін құ ру. y = 3 sin(x) Анализ: x = π/2 болғ анда максималды мә н y max = 3 x = 3π/2 болғ анда минималды мә н y min = -3 Мәселе: функция координаларды ң математикалы қ жүйесінде көрсетілген, ал графикті координаталарын пиксельдермен көрсете отырып компьютер экранында шығ ару керек.

Координаталарды ң түрленуі 101 Y Координаталарды ң математикалы қ жүйесі (0,0) a Координаталарды ң экранды қ жүйесі (пиксельдер) (0,0) x y (x,y) X b x э y э (x э,y э ) k масштаб (экрандағы жекелеген кесінді кескініні ң ұзындығы) x э = a + kx y э = b - ky

Программа 102 экранда графикті ң құрылу циклі program qq; const a = 50; b = 200; k = 50; xmin = 0; xmax = 6.2832; var x, y, h: real; xe, ye, w: integer; begin w := round((xmax - xmin)*k); Line(a-10, b, a+w, b); Line(a, 0, a, 2*b); x := xmin; h := 0.05; while x <= xmax do begin y := 3*sin(x); xe := a + round(k*x); ye := b - round(k*y); Point (xe, ye); x := x + h; end; 2π h x-ті ң ө згеру қадамы w ОХ осіні ң ұ зынды ғ ы(пиксельдер саны) координаталар осі? end. Кемшілігі?

Нүктелерді қалай біріктіруге болады? 103 Алгоритм: Егер бірінші н ү кте болса (x э,y э ) н ү ктесіне ө ту әйтпесе (x э,y э ) н ү ктесіне кесінді ә рекеттерді ң н ұ с қ асын та ң дау Программа: var first: boolean;... begin... first := True; логикалы қ айнымалы бастап қ ы м ә н while x <= xmax do begin... if first then begin MoveTo(xe, ye); first := False; end else LineTo(xe, ye);... end; end.

Тапсырмалар 104 "4": [-3,3] интервалы арасында y = x 2 функциясыны ң графигін құ ру. "5": Функция графигін құру (эллипс) x 2 16 2 y 9 1

105 Паскаль тілінде программалау Тақырып 9. Процедуралар

Процедуралар 106 Есеп: Мына фигураны құру:? Белгілі ә дістермен шешуге бола ма? Ерекшелігі: Үш ұқсас фигура. жалпы: өлшемдері, айналу бұрышы айырмашылық тары: координаталары, түстері? Неше координата белгілеу керек?

Процедуралар 107 Процедура кейбір әрекеттерді орындау үшін қолданылатын көмекші. Қолданылуы: программаны ң әр жерінде орналасқан бірдей әрекеттерді орындау программаны түсіну оңай болу үшін оны бірнеше қосалқы бөліктерге бөлу Негізгі есеп Көмекші есеп1 Көмекші есеп2 Көмекші есеп3 1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2 3.3

Процедуралар 108 Есепті орындау тәртібі: бірдей немесе ұқсас әрекеттерді ерекшелеп алу ( үш фигура) оларды ң ұқсас жерлері ( өлшемі, пішіні, айналу бұрышы) мен айырмашылық тарын (координаталары, түсі) табу айырмашықтарын белгісіз айнымалылар түрінде өрнектеу, осы айнымалылар процедураны ң параметрлері болады (x, y-60) 60 (x+100, y) (x, y) 100 процедура т ұ л ғ асы та қ ырыбы параметрлер procedure Tr( x, y, r, g, b: integer); begin MoveTo(x, y); т ү с LineTo(x, y-60); LineTo(x+100, y); LineTo(x, y); Brush(1, r, g, b); Fill(x+20, y-20); end; координаталар

Программа 109 формальды параметрлер 60 (100,100) 100 процедураны ша қ ырулар program qq; procedure Tr( x, y, r, g, b: integer); begin... end; begin Pen(1, 255, 0, 255); Tr(100, 100, 0, 0, 255); процедура Tr(200, 100, 0, 255, 0); Tr(200, 160, 255, 0, 0); end. на қ тылы параметрлер

Процедуралар 110 Ерекшеліктері: барлы қ процедуралар негізгі программаны ң үстінде орналасқан процедураны ң тақырыбында формальды параметрлер жазылады, олар кейде өзгеріп отыратындықтан атаулармен белгіленеді procedure Tr( x, y, r, g, b: integer); процедураны шақыру кезінде жақша ішінде нақ тылы параметрлер(сандар немесе арифметикалы қ өрнектер) көрсетіледі Tr (200, 100, 0, 255, 0); x y r g b

Процедуралар 111 Ерекшеліктері: әрбір формалды параметрді ң қос нүктеден кейін типі көрсетілуі қажет procedure A (x: real; y: integer; z: real); егер типтері бірдей параметрлер бірінен кейін бірі орналасса, оларды ң арасы үтірмен ажыратылады procedure A (x, z: real; y, k, l: integer); процедураны ң ішіндегі параметрлер айнымалылар секілді қолданылады

Процедуралар 112 Ерекшеліктері: процедурада қосымша айнымалы ретінде жергілікті(локальді) айнымалыларды пайдалануға болады, басқа процедуралар оған қатынай алмайды program qq; procedure A(x, y: integer); var a, a, b: b: real; begin a a := :=(x(x + + y)/6;... end; begin... end. локальді айнымалылар

Параметр-айнымалылар 113 Есеп: екі айнымалы мәндеріні ң орындарын ауыстыратын процедураны құру. Ерекшеліктері: Процедурада жасалған өзгертулер шақырушы программаға белгілі болуы қажет. program qq; var x, y: integer; procedure Exchange ( a, b: integer ); var c: integer; begin c := a; a := b; b := c; end; begin x := 1; y := 2; Exchange ( x, y ); writeln ( x =, x, y =, y ); end; мына процедура параметрлерді ң к ө шірмесімен ж ұ мыс істейді x = 1 y = 2

Параметр-айнымалылар 114 параметрлер ө згере алады procedure Exchange ( var a, b: integer ); var c: integer; begin c := a; a := b; b := c; end; Қолданылуы: процедура(және функция) осындай әдіс арқылы бірнеше мән бере алады. Шақыртуды ң тыйым салынған нұсқалары Exchange ( 2, 3 ); { сандар } Exchange ( x+z, y+2 ); { ө рнектер }

Тапсырмалар 115 "4": Процедураларды пайдалана отырып, мына фигураны құ растыру. Те ң қабырғалы үшбұрыш a a 0,866 a "5": Процедураларды пайдалана отырып, мына фигураны құ растыру. a

116 Паскаль тілінде программалау Тақырып 10. Рекурсия

Рекурсивті объектілер 117 Мысалдар: Рекурсияланған сурет: Факториал: 1, N! N ( N N! N ( N егер N 1, 1)!, егер N 1. 1! 1, 2! 2 1! 2 1, 3! 3 2! 3 2 1 4! 4 3! 4 3 2 1 1) 2 1 Рекурсивті объект деп - бір объект немесе дәл осындай бірнеше объект арқылы анықталатын объектіні айтады.

Пифагор ағашы 118 N деңгейлі Пифагор ағ ашы бұл ағашты ң діңгегі мен осы діңгектен симметриялы түрде өсіп шыққан N-деңгейлі екі Пифагор ағ ашы, бұл ағаштарды ң бағаныны ң ұзындығы 2 есе кем және оларды ң арасындағы бұрыш 90 o -қа тең. 6 деңгей:? Бұны ң рекурсивті фигура екенін қалай дәлелдеуге болады?

Пифагор ағашы 119 Ерекшеліктері: қашан тоқтау керек? ағаштарды ң иілу бұрышы әр түрлі Қ ал ғ ан де ң гейлерді ң саны н ө лге те ң бол ғ анда! (x 1, y 1 ) L (x 0, y 0 ) α+45 o α-45 o α x 1 = x 0 + L cos(α) y 1 = y 0 L sin(α) Еншілес ағаштарды ң иілу бұрышы α + π/4 α π/4

Процедура α б ұ рышы ба ғ ан ұ зынды ғ ы 120 procedure Pifagor(x0, y0, a, L: real; N: integer); const k = 0.6; { ұзындықты ң ө згеруі } var x1, y1: real; { жергілікті айнымалылар } begin қ if N > 0 then begin x1 := x0 + L*cos(a); y1 := y0 - L*sin(a); рекурсивті Line (round(x0), round(y0), ша қ ырулар round(x1), round(y1)); end; end; егер N=0 болса, ая тау Pifagor (x1, y1, a+pi/4, L*k, N-1); Pifagor (x1, y1, a-pi/4, L*k, N-1); Рекурсивті процедура деп ө зін ө зі ша қ ыратын процедураны айтады

Программа 121 program qq; procedure Pifagor(x0, y0, a, L: real; N: integer);... ба ғ ан α б ұ рышы end; ұ зынды ғ ы begin Pifagor (250, 400, pi/2, 150, 8); end; x 0 y 0 ң де гейлер саны? o Ағашты 30 оңға қалай ең кейтуге болады? Pifagor (250, 400, 2*pi/3, 150, 8);

Задания 122 "4": Рекурсивті процедураны қ олдана отырып, мына фигураны құрастыру: "5": Рекурсивті процедураны қ олдана отырып, мына фигураларды құрастыру:

123 Паскаль тілінде программалау Тақырып 11. Анимация

Анимация Анимация (ағылш. animation) экрандағы кескінге жан бітіру. 124 Есеп: 400х400 пиксельді көк квадратты ң ішімен 20х20 пиксельді сары квадрат солдан оңға қарай жылжып келеді. Программа өз жұмысын Esc пернесін басқанда немесе сары квадрат көк квадратты ң о ң жа қ жетіне жеткен кезде тоқ татады. Проблема: объектіні ң экранда қозғалуын қалай кескіндеуге болады? Қ осымша: объектіні ң қозғ алысы (x,y) координаталарымен белгіленеді Анимация қағидасы: 1. объектіні (x,y) нүктесінде саламыз 2. бірнеше миллисекундқа кідіру 3. объектіні өшіреміз 4. (x,y) координаталарын ө згертеміз

«Пернелерді шертуді» қалай іске асыруға болады? 125 Оқиғ а деп қандай да бір объектіні ң қалпында өзгерісті ң болуын немесе пайдаланушыны ң ә рекетін айтады. (пернені басу, тышқанды шерту). IsEvent қолданушы тарапынан қандай да бір әрекетті ң болған-болмағандығын анықтайтын логикалы қ функция. Event нақты қандай оқиғаны ң болғандығын анықтайтын процедура. if IsEvent then begin var k, x, y: integer; Event(k, x, y); if k = 1 then writeln( Коды бар перне ', x) else { k = 2 } writeln( Тыш қ ан : x=', x, ' y=', y); end;

Esc пернесін басып циклдан қалай шығуғ а болады? 126 program qq; var stop: boolean; k,code,i: integer; begin stop := False; repeat if IsEvent then begin Event(k, code, i); if (k = 1) and (code = 27) then stop := True; end;... until stop; end; егер то қ тау қ ажет болса, True циклді іске қ осу егер бір н ә рсе бола қалса... қ андай о қ и ғ а болды? егер коды 27 (Esc) болатын перне басылса, онда стоп

Процедура (сурет салу және өшіру) 127 (x, y) (x+20, y+20) Идеялар бір процедура суретті салады және өшіреді өшіру = фонны ң түсімен бояу квадратты ң шекарасын өшіріп тастау (негізгі программада) сурет салу (True) немесе салмау (False)? procedure Draw(x, y: integer; flag: boolean); begin сурет саламыз: қ ыл қ аламны ң if flag then т ү сі сары Brush(1, 255, 255, 0) else т ү сі к ө к Brush(1, 0, 0, 255); Rectangle(x, y, x+20, y+20); end; суретті ө шіреміз: қ ыл қ аламны ң тек қ ана құ ю!

Толы қ программасы 128 program qq; var x, y, k, code, i: integer; stop: boolean; procedure Draw(x,y: integer; flag: Boolean); begin... end; begin Brush(1, 0, 0, 255); Rectangle(10, 10, 400, 400); Pen(0, 0, 0, 255); x := 10; y := 200; stop := false; repeat if IsEvent then begin... end; Draw(x, y, True); Delay(10); Draw(x, y, False); x := x + 1; 10 мс к ү теміз if x >= 400-20 then stop := true; until stop; end. к ө к фон шекараны ө шіріп тастау процедура Esc пернесімен шы ғ у шекара ғ а та қ ал ғ ан кезде шы ғ у бастап қ ы жа ғ дайлары

Тапсырмалар 129 "4": Екі квадрат бір біріне қарама-қарсы бағытта қозғалады: "5": Екі квадрат бір біріне қарама-қарсы бағытта қозғалады және көк квадратты ң қабырғасына соқтығысып кері бағытта жылжиды:

Пернелермен басқару 130 Есеп: көк квадратты ң ішінде орналасқан сары квадрат бағыттаушы пернелермен басқарылатындай болуы керек. Пернелерді ң коды: солға 37 жоғары 38 Esc 27 оңға 39 төмен 40 Проблема: қозғалыс бағытын қалай өзгертуге болады? Шығ арылуы: if {о қ и IsEvent ғ а болды } then begin if Event {перне ( k, басулы} code, i); then begin if {перненің k = 1 then кодын begin алу - code} case if code code = of 37 then x := x 1; if 37: code x := = 38 x then 1; 38: y := y y := y 1; 1; if 39: code x := = 39 x + then 1; 40: x := y x := + y 1; + 1; if 27: code stop = 40 := then True; y := y + 1; end; if code = 27 then stop := True; end; end; егер перне басыл ғ ан болса,

Программасы 131 program qq; var x, y, k, code, i: integer; процедура stop: boolean; procedure Draw(x,y: integer; flag: Boolean); begin... end; begin... негізгі цикл repeat Draw(x, y, True); Delay(20); Draw(x, y, False); if IsEvent then begin... end; until stop; end. о қ и ғ аларды өңдеу? Кемшілігі?

Жыпылықтауды қалай кетіруге болады? 132 Проблема: ешбір перне басылмағанны ң өзінде де квадрат әр 20 мс сайын басқа түске боялып тұрады(жыпылықтау!) Бізге қ ажеттісі: ешқандай оқиға болмаса квадратты басқа түстерге боямау (жыпылықтатпау) Шығ арылуы: квадратты бояп тастап, оқиғаны Жаң а проблема: оқиғаны қалай кү теміз? Жаңа проблеманы ң шығ арылуы: бос цикл «оқиға болмайынша ештеме істеме": while not IsEvent do; күту

Программасы 133 program qq; var x, y, k, code, i: integer; процедура stop: boolean; procedure Draw(x,y: integer; flag: Boolean); begin... end; begin... квадратты ң суретін саламыз repeat о қ и ғ аны к ү теміз Draw(x, y, True); while not IsEvent do; енді ө шіруге болады Draw(x, y, False); Event(k, code, i);... until stop; end.? Нені жақсартуға болады?

Тапсырмалар 134 "4": Квадрат бағыттауыш пернелерді басқан бағытта жылжып отырады, алайда көк квадратты ң шекарасынан асып кете алмайды: "5": Квадрат үздіксіз қозғалып отырады, бағыттауыш пернелер басылған кезде өз бағытын өзгертеді және көк квадратты ң қабырғаларына соқтығысып кері жылжып отырады:

Айналу 135 Есеп: Жерді ң Күнді айналу моделін бейнелеу. Проблема: шеңбер бойымен айналу, координаталарды қалай өзгертіп отыруға болады? Шығ арылуы: тәуелсіз айнымалы ретінде бұрышын қолдану (циклде өзгерту) α ны ң айналу L α (x, y) x = x 0 + L cos(α) y = y 0 L sin(α) (x 0, y 0 )

Процедура сурет салу (True) немесе салмау (False)? 136 procedure Draw(x, y: integer; flag: boolean); const r = 10; Жерді ң радиусы begin қ қ if flag then т ү сі к ө гілдір Brush(1, 100, 100, 255) else ө қ қ Brush(1, 0, 0, 0); т ү сі қ ара Ellipse(x-r, y-r, x+r, y+r); end; (x-r, y-r) (x,y) суретін саламыз: ыл алам суретті шіреміз: ыл алам тек қ ана құ ю! (x+r, y+r)

Тұрақтылар мен айнымалылар 137 program qq; const rsun = 60; { К ү нні ң радиусы } L = 150; { Жер орбитасыны ң радиусы } x0 = 200; { К ү н центріні ң координаталары } y0 = 200; var x, y, { Жерді ң координаталары } k, code, i: integer; { Event ү шін } a, ha: real; { айналу б ұ рышы, қ адам } stop: boolean; { программаны то қ тату белгісі } procedure Draw(x, y: integer; flag: Boolean); begin... end; begin... end.

Негізгі программа 138 program qq;... фонды қ ара т ү ске бояу begin Brush(1, 0, 0, 0); Fill(1,1); К ү нні ң суретін саламыз Brush(1, 255, 255, 0); Ellipse(x0-rSun, y0-rsun, x0+rsun, y0+rsun); a := 0; ha := 1*pi/180;{ бастап қ ы б ұ рыш, 100 мс-та 1 o қ адам } stop := false; Pen(0,0,0,0); { контурларды ө шіріп тастаймыз } repeat x := round(x0 + L*cos(a)); жа ң а координаталар y := round(y0 - L*sin(a)); Draw(x, y, True); Delay(100); 100 мс к ү теміз Draw(x, y, False); if IsEvent then begin Event(k, code, i); if (k = 1) and (code = 27) then stop := true; end; a := a + ha; ha б ұ рышына б ұ рылу until stop; end.

Тапсырмалар 139 "4": Күнді айналып жүрген екі планетаны ң моделін бейнелеу, планеталар бірбіріне қарама-қарсы бағытта қозғалатын болсын: "5": Күн-Жер-Ай жүйесіні ң моделін бейнелеу:

140 Паскаль тілінде программалау Тақырып 12. Кездейсо қ сандар

Кездейсо қ сандар 141 Кездейсо қ кө ріністер: барлы қ жерде тиынды лақтыру ("орел" немесе "решка") қарды ң түсуі броунды қ қозғалыс телефон байланысында болатын ақаулар радиоэфирді ң шуы Кездейсо қ сандар бұған дейінгі сандарды ң ретін біліп отырса қ та, келесі санны ң қандай екені белгісіз болатын сандарды ң тізбегін айтады. Проблема: компьютерде осыны қалай алуға болады? Мү мкін болатын шешімдері: шу ақауларыны ң сыртқы көздерін пайдалану математикалы қ түрлендірулерді пайдалану

Жалған кездейсо қ сандар 142 Жалған кездейсо қ сандар бойында кездейсо қ сандарды ң қасиеті бар, біра қ әрбір келесі сан алдын ала берілген формула бойынша есептелетін сандарды ң тізбегін айтады. Мысалдар: 1. Кездейсо қ бү тін сандар [0,m) (сызықты конгруэнтті әдіс) x n ( a x 1 c) n mod m a, c, m - б ү тін сандар x n ( 16807 x n 1 12345) mod 1073741823 жай сан 2 30-1 2. Кездейсо қ нақ ты сандар [0,1] x ) n ( x n 1 k мысал, k = 5 санны ң б ө лшек б ө лігі

Кездейсо қ сандарды ң орналасуы 143 Модель: түседі қар бұршақ тары [a,b] кесіндісіні ң аралығына орналасуы бірқалыпты бірқалыпты емес a b a b? Әр түрлі орналастыруларды ң саны қанша болуы мү мкін?

Кездейсо қ сандарды ң орналасуы 144 Ерекшеліктері: орналасу бұл бір ғана санны ң емес бүкіл тізбектің сипаттамасы бірқалыпсыздарды ң саны көп кез келген бірқалыпсыз орналасуды бірқалыпты орналасуды ң көмегімен алуға болады. a x x 1 x 2 2 b бір қ алыпты орналасу x a x b 1 x2 x12 12 бір қ алыпсыз орналасу

Паскальдегі кездейсо қ сандарды ң генераторы 145 [0,N] интервалындағы бүтін сандар: var x: integer;... x := random ( 100 ); { интервал [0,99] } [0,1] интервалындағы бүтін сандар: var x: real;... x := random; { интервал [0,1] }

Кездейсо қ сандар 146 Есеп: 400х300 пиксельді тіктөртбұрышты ң ішін түстері кездейсо қ нүктелермен бірқалыпты етіп толтыру. Нүктені ң кездейсо қ координаталарын қалай алуға болады? x := random ( 400 ); y := random ( 300 ); Бірқалыптылықты қалай алуғ а болады? random функциясы қолданылса автоматты түрде қамтамасыз етіледі Кездейсо т стерді алай алу а болады? қ ү қ ғ Pen (1, random(256), random(256), random(256)); Point ( x, y );

Программа 147 program qq; var x, y, k, code, i: integer; stop: boolean; begin кездейсо қ координаталар stop := False; repeat x := random(400); кездейсо қ т ү с y := random(300); Pen(1, random(256), random(256), random(256)); Point(x, y ); Esc пернесін басып шы ғ ып if IsEvent then begin кету Event(k, code, i); if (k = 1) and (code = 27) then stop := True; end; until stop; end.

Тапсырмалар "4": Пернетақтадан тіктөртбұрыш бұрыштарыны ң координаталарын енгізіп, тіктөртбұрышты ң ішін түстері кездейсо қ нүктелермен толтыру керек. (100,100) (300,200) 148 "5": Үшбұрышты ң ішін түстері кездейсо қ болатын нүктелермен толтыру. (бірқалыпты немесе бірқалыпты емес). о Қосымша кө мек: бұрышы 45 болатын теңбүйірлі үшбұ рышты алу керек.

149 Паскаль тілінде программалау Тақырып 13. Функциялар

Функциялар 150 Функция нәтижесі қандай да бір мәнге ие болатын көмекші алгоритм ( қосалқы программа). Мысалдар: sin x cos x,, есептеу өрнектерді күрделі формулалармен есептеу сұраққа жауап (жай сан ба, әлде жай сан емес пе?) Неліктен? x программаны ң әр жерінде орналасқан бірдей есептеулерді орындау үшін функцияларды ң жалпыға бірдей кітапханаларын құру үшін? Процедурадан айырмашылығ ы неде?

Функциялар 151 Есеп: екі санны ң үлкенін анықтайтын функция құру және оны қолдануға мысал келтіру Функция: формальды параметрлер function Max (a, b: integer): integer; begin if a > b then Max := a else Max := b; end. б ұ л функцияны н ә тижесі

Функциялар 152 Ерекшеліктері: тақырыбы function сөзімен басталады function Max (a, b: integer): integer; функцияда формальды параметрлер процедурадағыдай сипатталады function qq( a, b: integer; x: real ): real; айнымалы параметрлерді пайдалануға болады function Max ( var a, b: integer): integer; тақырыпты ң соңында қоснүктеден кейін нәтижені ң типі көрсетіледі function Max (a, b: integer): integer ; функциялар негізгі программадан ЖОҒ АРЫ орналасады

Функциялар 153 Ерекшеліктері: жергілікті айнымалыларды жариялауға және пайдалануға болады function qq (a, b: integer): float; var x, y: float; begin... end; нәтиже болатын мән - аты функцияны ң атымен сәйкес келетін айнымалыға жазылады; оны жариялауды ң ҚАЖЕТІ ЖОҚ: function Max (a, b: integer): integer; begin... Max := a; end;! Delphi-де: Result := a;

Программа 154 program qq; var a, b, max: c integer; function Max (a, b: integer): integer; begin... end; begin writeln( Екі сан енгіз'); read(a, b); max c := Max ( a, b ); writeln( Санны ң ү лкені ', max c); end. на қ ты параметрлер функцияны ша қ ыру! Айнымалыларды ң, функцияларды ң және процедураларды ң аттары бірдей болмауы керек!

Логикалы қ функциялар 155 Есеп: енгізілген санны ң - жай сан екендігін анықтайтын функция құру. Ерекшеліктері: жауабы логикалы қ мән ( True немесе False) функцияны ң нәтижесін if, while шарттарында логикалы қ шама ретінде қолдануға болады Алгоритм: 2-ден N-1-ге дейінгі аралықтағы бөлгіштерді ң санын есептейміз, егер оларды ң саны нөлге те ң болмаса енгізілген санны ң - құрама сан болғ аны. count := 0; for i := 2 to N-1 do if N mod i = 0 then count := count + 1; if count = 0 then { N саны жай сан } else { N саны құ рама сан } алай жа сарту а Қ қ ғ? болады?

Логикалы қ функциялар 156 program qq; var N: integer; н ә тижесі логикалы қ м ә н function Prime (N: integer): boolean; var count, i: integer; begin та ң дап алу тек N -ге дейін i := 2; count := 0; while i*i <= N do if N mod i = 0 then count := count + 1; i := i + 1; end; Prime := (count = 0); end; begin шарт дегеніміз логикалы қ м ә н writeln( Б ү тін сан енгіз '); read(n); if Prime(N) then функцияны ша қ ыру writeln(n, ' жай сан') else writeln(n, ' құ рама сан '); end.

Тапсырмалар 157 "4": 1-ден N-ге дейінгі сандарды ң қосындысын анық тайтын функция құру және оны қолдануғ а мысал келтіру. Мысал: Сан енгіз: 100 қосынды = 5050 "5": Шахматты ойлап шығарған адамны ң N-ші торға неше бидайды ң қоюын сұрағанын анықтайтын функция құру. ( 1-шісіне 1 дән, 2-шісіне 2 дән, 3-шісіне 4 бидай дәнін, ) Мысал: Торды ң нөмірін енгіз: 28 28-шісі торда 134217728 бидай дәні.

Тапсырмалар (2-нұсқа) 158 "4": Екі натурал санны ң е ң үлкен орта қ бөлгішін анықтайтын функция құру және оны қолдануға мысал келтіру. Мысал: Екі сан енгіз: 14 21 ЕҮОБ(14,21)=7 "5": Синус функциясын қатарды ң қосындысы секілді есептейтін функция құру. (0.001 дәлдікпен) 3 5 7 x x x sin x x 3! 5! 7! Мысал: x радиан т ү рінде! Градус түріндегі бұрышты енгіз: 45 sin(45) = 0.707

Фильмні ң соңы 159