Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Паскаль тілінде программалау негіздері бойынша презентация. Pascal тілінде программалау

Содержание

Паскаль тілінде программалауТақырып 1. Кіріспе
Паскаль тілінде программалауКіріспеТармақталуКүрделіКүрделі шарттарЦиклдерШартты циклдерТаңдау операторыГрафикаФункциялардың графигіПроцедураларРекурсияАнимацияКездейсоқ сандарФункциялар Паскаль тілінде программалауТақырып 1. Кіріспе АлгоритмАлгоритм қасиеттерідискреттілік: жекелеген қадамдардан(командалардан) тұрадыайқындылық: атқарушыға түсінікті болатын командалардан тұруы керекбелгілілік: бастапқы ПрограммаПрограмма дегеніміз - қандай да бір программалау тілінде жазылған алгоритмкомпьютерге қажетті командалардың Программалау тілдеріМашинаға бейімделген (төменгі деңгейлі) - әрбір команда процессордың бір командасына сәйкес Паскаль тілі1970 – Никлаус Вирт (Швейцария) студенттерді оқытуға арналған тіл «жоғарыдан төменге Программа қандай бөліктерден тұрады?program ;const …;{тұрақтылар}var …; {айнымалылар}begin … {негізгі программа}end.{ процедуралар Программа қандай бөліктерден тұрады?Тұрақты – өз атауы болатын, өзгермейтін шама .Айнымалы – Программалар, тұрақтылар, айнымалылар атауыАтауларды сипаттағандалатын әріптерін (A-Z)сандардыастын сызу белгісін _ Тұрақтыларconst 	  	i2 = 45; { бүтін сан }	pi = 3.14; АйнымалыларАйнымалы – аты, типі және мәні болатын шама. Айнымалының мәнін программаның жұмысы Айнымалының мәнін қалай өзгертуге болады?Оператор – жоғары деңгейлі программалау тілінің командасы.Меншіктеу операторы Меншіктеу операторыЖалпы құрылымы:Арифметикалық өрнектің құрамындатұрақтыларайнымалы атауларыарифметикалық амалдар белгілері:	 	 + - program qq;	var a, b: integer;		 x, y: real; 	begin	 a := 5; Амалдарды орындау тәртібіжақша ішіндегі өрнекті есептеусолдан оңға қарай көбейту, бөлу, div, modсолдан Екі санды қосуЕсеп. Екі бүтін санды қосып, қосындысын экранда шығару.Шығарылуы:	program qq;	var a, Енгізу операторыread ( a );  { а айнымалысының мәнін енгізу}read ( Шығару операторыwrite ( a );  { a айнымалысының мәнін шығару}writeln ( Шығару форматтарыprogram qq;var i: integer;  x: real;begin i := 15; writeln Толық шығарылуы	program qq;	var a, b, c: integer;	begin  writeln(‘Екі бүтін сан енгізіңіз'); Сызықтық алгоритмның блок-схемасыбасысоңыc := a + b;енгізу a, bшығару c«басы» блогі«енгізу» блогі«процесс» блогі«шығару» блогі«соңы» блогі Тапсырмалар Паскаль тілінде программалауТақырып 2. Тармақталу Тармақталу алгоритмдеріЕсеп. Екі бүтін сан енгізіп,экранға олардың үлкенін шығару.Шығару амалы: бірінші сан Нұсқа 1. Блок-схемаТармақталудың толымды түрі«таңдау» блогі Нұсқа 1. Программа	max := a;max := b;шартты оператордың толымды түрі	program qq;	var a, Шартты оператор	if then begin  {егер шарт орындалса, не істеу керек} Қай жері дұрыс емес?	if a > b then begin  a := Нұсқа 2. Блок-схематармақталудың толымсыз түрі Нұсқа 2. Программа		program qq;	var a, b, max: integer;	begin  writeln(‘Екі бүтін сан Нұсқа 2Б. Программа	program qq;	var a, b, max: integer;	begin  writeln('Екі бүтін сан Қай жері дұрыс емес?	if a > b then begin   a Тапсырмалар Паскаль тілінде программалауТақырып 3. Күрделі шарттар Күрделі шарттарЕсеп. Фирма 25 пен 40 жас арасындағы қызметкерлерді жұмысқа алуда. Адамның Нұсқа 1. Алгоритмбасыенгізу x‘болады'жоқиәжоқx >= 25?иәжоқx Нұсқа 1. Программа		program qq;	var x: integer;	begin  writeln(‘Жасты енгіз');  read ( Нұсқа 2. Алгоритмбасыенгізу x‘болады'иәжоқx >= 25  жәнеx Вариант 2. Программакүрделі шарт	program qq;	var x: integer;	begin  writeln(‘Жасты енгіз');  read Күрделі шарттарКүрделі шарт – бір-бірімен логикалық операциялардың көмегімен байланысатын бірнеше қарапайым шарттардан Күрделі шарттарОрындау тәртібіжақша ішіндегі өрнектерnotandor, xor=, =, Ерекшелігі – қарапайым шарттардың әрқайсысын a := 2; b := 3; c := 4; болған жағдайда ақиқат Тапсырмалар Паскаль тілінде программалауТақырып 4. Циклдер ЦиклдерЦикл – белгілі бір әрекеттер тізбегінің бірнеше рет қайталанып орындалуы.қадамдар саны белгілі Алгоритмбасыi, i2, i3соңыжоқиәi Алгоритм ( Программаprogram qq;var i, i2, i3: integer;begin  for i:=1 to 8 do Айнымалысы кеміп отыратын циклЕсеп. 8-ден 1-ге дейінгі бүтін сандардың квадраттары мен кубтарын Айнымалысы бар цикл	for := to   do begin  {цикл денесі} Айнымалысы бар циклЕрекшеліктері:цикл айнымалысының мәні бүтін болуы керек (integer)цикл айнымалысының өзгеру қадамы Айнымалысы бар циклЕрекшеліктері:Цикл денесінде цикл айнымалысын өзгертуге рұқсат етілмейді (неліктен?)Алғашқы және соңғы Цикл неше рет орындалған?a := 1;for i:=1 to 3 do a := for i:=1 to 9 do begin  if   ??? Қадамдарды қалай өзгертуге болады? – IIИдея: Тек 5 санды ғана шығару керек, Қадамдарды қалай өзгертуге болады? – IIIИдея: Тек 5 санды ғана шығару керек, Тапсырмалар Паскаль тілінде программалауТақырып 5. Шартты циклдер Қадамдар саны белгісіз циклМысал: Бөренеден ағаштың бұтағын кесіп алу керек. Қолараны әрі-бері Алгоритмбасыcountсоңыжоқиәn 0?count := 0;count := count + 1;  n := n Программаprogram qq;var n, count: integer;begin writeln(’Бүтін сан енгіз’); read(n); count := 0; Шартты цикл	while do begin  {цикл денесі}    end;Ерекшеліктері:күрделі шарттарды Шартты циклЕрекшеліктері:циклге кірген сайын шарт есептеліп отырадыегер шарт циклге кіруде жалған болса, Цикл неше рет орындалған?a := 4; b := 6;while a < b For-ны while-ға ауыстыру және керісіншеfor i:=1 to 10 do begin {цикл денесі}end;i Тапсырмалар ТізбектерМысалдар:1, 2, 3, 4, 5, …1, 2, 4, 7, 11, 16, …1, ТізбектерЕсеп: модулі бойынша 0,001-ден асып түсетін тізбектегі барлық элементтердің қосындысын  табу: АлгоритмбасыSсоңыжоқиә|a| > 0.001?S := S + a;S := 0; b := 1; Программаprogram qq;var b, c, z: integer;  S, a: real;begin  S Тапсырмалар Соңғышартты циклЕсеп: Бүтін оң сан енгізіп( шартын тексеруді циклдың соңында орындау керек. Соңғышартты цикл: алгоритм басысоңыиәжоқn > 0?цикл денесіШЫҒУДЫҢ шарты«типтік процесс» блогіенгізу nнегізгі  алгоритм Программаprogram qq;var n: integer;begin  repeat   writeln('Введите положительное число'); Цикл неше рет орындалған?a := 4; b := 6;repeat a := a Тапсырмалар (бұрыс енгізуден қорғау) Паскаль тілінде программалауТақырып 6. Таңдау операторы Таңдау операторыЕсеп: Ай нөмірін енгізіп, осы айдағы күндердің санын  шығару. Шығарылуы: Алгоритмбасысоңытаңдау операторыешбір нұсқасы сәйкес келген жоқенгізу MиәжоқM = 1?D := 31;жоқM = Программаprogram qq;var M, D: integer;begin  writeln(‘Айдың нөмірін енгіз:');  read ( Таңдау операторыЕрекшеліктері: case-тен кейін айнымалы атауы немесе бүтін типті (integer) арифметикалық өрнек Таңдау операторыЕрекшеліктері:егер бір ғана операторды орындау керек болса, begin мен end сөздерін Таңдау операторыЕрекшеліктері:бірдей әрекеттер орындалатын кезде қолданылатын мәндерді топтастыру қажетcase i of 1: Қай жері дұрыс емес?case a of 2: begin a := b; 4: Тапсырмалар (бұрыс енгізуден қорғаумен) Паскаль тілінде программалауТақырып 7. Графика Координаталар жүйесі (0,0)(x,y)XYxy Түстерді басқаруCызықтың түсі мен қалыңдығы, нүктелердің түсі:   Pen ( 1, Нүктелер, кесінділер және қисық сызықтарPen (1, 0, 255, 0); Line (x1, y1, Фигуралардың ішін бояу Pen (1, 0, 0, 255);Brush (1, 255, 255, 0);Rectangle МәтінTextColor (0, 0, 255);Brush (1, 255, 255, 0);Font (20, 30, 600);MoveTo (x, Мысал(200, 50)(100, 100)(300, 200)program qq;begin  Pen(2, 255, 0, 255);  Brush(1, Тапсырмалар Штрихтер салу(x1, y1)(x2, y2)N сызық (N=5)hRectangle (x1, y1, x2, y2);Line( x1+h, Түсті қалай өзгертуге болады?(x1, y1)(x2, y2)Brush ( 1, c, c, c );Fill Штрихтер салу(x1, y1)(x2, y2)(x3, y2)ah(x3+a, y1)Line( x1+h,  y1, x1+h-a,  y2);Line( Штрихтер салу(x1, y1)(x2, y2)hxhyyxyLine( x1, y1+hy,  x1+hx,  y1+hy) ;Line( x1, Тапсырмалар Паскаль тілінде программалауТақырып 8. Функциялардың графигі Функция графиктерін құруЕсеп: 0 мен 2π интервалы арасындағы y = 3 sin(x) Координаталардың түрленуі(x,y)XYxyКоординаталардың математикалық жүйесіКоординаталардың экрандық жүйесі (пиксельдер)(xэ,yэ)xэyэ(0,0)(0,0)abk – масштаб (экрандағы жекелеген кесінді Программа2πh – x-тің өзгеру қадамыw – ОХ осінің ұзындығы(пиксельдер саны)экрандакоординаталар осіграфиктің құрылу Нүктелерді қалай біріктіруге болады?Алгоритм:Егер бірінші нүкте болса  (xэ,yэ) нүктесіне өтуәйтпесе Тапсырмалар Паскаль тілінде программалауТақырып 9. Процедуралар ПроцедураларЕсеп: Мына фигураны құру:Ерекшелігі: Үш ұқсас фигура.жалпы:  өлшемдері, айналу бұрышыайырмашылықтары: координаталары, түстері ПроцедураларПроцедура – кейбір әрекеттерді орындау үшін қолданылатын көмекші.Қолданылуы:программаның әр жерінде орналасқан бірдей ПроцедураларЕсепті орындау тәртібі:бірдей немесе ұқсас әрекеттерді ерекшелеп алу (үш фигура)олардың ұқсас жерлері Программаprogram qq;begin  Pen(1, 255, 0, 255);  Tr(100, 100, 0, 0, ПроцедураларЕрекшеліктері:барлық процедуралар негізгі программаның үстінде орналасқанпроцедураның тақырыбында формальды параметрлер жазылады, олар кейде ПроцедураларЕрекшеліктері:әрбір формалды параметрдің қос нүктеден кейін типі көрсетілуі қажетегер типтері бірдей параметрлер ПроцедураларЕрекшеліктері:процедурада қосымша айнымалы ретінде жергілікті(локальді) айнымалыларды пайдалануға болады, басқа процедуралар оған қатынай Параметр-айнымалыларЕсеп: екі айнымалы мәндерінің орындарын ауыстыратын процедураны құру.Ерекшеліктері: Процедурада жасалған өзгертулер шақырушы Параметр-айнымалыларҚолданылуы:  процедура(және функция) осындай әдіс арқылы бірнеше мән бере алады.Шақыртудың тыйым Тапсырмалар Паскаль тілінде программалауТақырып 10. Рекурсия Рекурсивті объектілерРекурсивті объект деп - бір объект немесе дәл осындай бірнеше объект Пифагор ағашыN деңгейлі Пифагор ағашы – бұл ағаштың діңгегі мен осы діңгектен Пифагор ағашыЕрекшеліктері:қашан тоқтау керек?ағаштардың иілу бұрышы әр түрліҚалған деңгейлердің саны нөлге тең Процедураα бұрышыбаған ұзындығыprocedure Pifagor(x0, y0, a, L: real; Программаprogram qq; procedure Pifagor(x0, y0, a, L: real; Паскаль тілінде программалауТақырып 11. Анимация АнимацияАнимация (ағылш. animation) – экрандағы кескінге жан бітіру.Есеп: 400х400 пиксельді көк квадраттың «Пернелерді шертуді» қалай іске асыруға болады?Оқиға деп қандай да бір объектінің қалпында Esc пернесін басып циклдан қалай шығуға болады?program qq;var stop: boolean; Процедура (сурет салу және өшіру)procedure Draw(x, y: integer; flag: boolean);begin if flag Толық программасыprogram qq;var x, y, k, code, i: integer;  stop: boolean; Пернелермен басқаруЕсеп: көк квадраттың ішінде орналасқан сары квадрат бағыттаушы пернелермен басқарылатындай болуы Программасыprogram qq;var x, y, k, code, i: integer;  stop: boolean;begin ... Жыпылықтауды қалай кетіруге болады?Проблема: ешбір перне басылмағанның өзінде де квадрат әр 20 Программасыprogram qq;var x, y, k, code, i: integer;  stop: boolean;begin ... АйналуЕсеп: Жердің Күнді айналу моделін бейнелеу.Проблема: шеңбер бойымен айналу, координаталарды қалай өзгертіп Процедураprocedure Draw(x, y: integer; flag: boolean);const r = 10;begin if flag then Тұрақтылар мен айнымалыларprogram qq;const rSun = 60;  { Күннің радиусы } Негізгі программаprogram qq;...begin Brush(1, 0, 0, 0); Fill(1,1); Brush(1, 255, 255, 0); Паскаль тілінде программалауТақырып 12. Кездейсоқ сандар Кездейсоқ сандарКездейсоқ көріністер: барлық жерде…тиынды лақтыру ( Жалған кездейсоқ сандарЖалған кездейсоқ сандар – бойында кездейсоқ сандардың қасиеті бар, бірақ Кездейсоқ сандардың орналасуыМодель: қар бұршақтары [a,b] кесіндісінің аралығына түседіорналасуыбірқалыптыбірқалыпты емес Кездейсоқ сандардың орналасуыЕрекшеліктері: орналасу – бұл бір ғана санның емес бүкіл тізбектің Паскальдегі кездейсоқ сандардың генераторы [0,N] интервалындағы бүтін сандар: var x: integer; ... Кездейсоқ сандарЕсеп: 400х300 пиксельді тіктөртбұрыштың Программаprogram qq;var x, y, k, code, i: integer;  stop: boolean;begin stop Паскаль тілінде программалауТақырып 13. Функциялар ФункцияларФункция – нәтижесі қандай да бір мәнге ие болатын көмекші алгоритм (қосалқы ФункцияларЕсеп: екі санның үлкенін анықтайтын функция  құру және оны қолдануға мысал ФункцияларЕрекшеліктері:тақырыбы function сөзімен басталадыфункцияда формальды параметрлер процедурадағыдай сипатталадыайнымалы параметрлерді пайдалануға боладытақырыптың соңында ФункцияларЕрекшеліктері:жергілікті айнымалыларды жариялауға және пайдалануға боладынәтиже болатын мән - аты функцияның атымен Программаprogram qq;var a, b, max: integer;begin writeln(‘Екі сан енгіз'); read(a, b); max Логикалық функцияларЕсеп: енгізілген санның - жай сан екендігін анықтайтын функция құру.Ерекшеліктері:жауабы – Логикалық функцияларprogram qq;var N: integer;begin writeln(‘Бүтін сан енгіз'); read(N); if Prime(N) then Тапсырмалар Тапсырмалар (2-нұсқа) Фильмнің соңы
Слайды презентации

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

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

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

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

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

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

Алгоритм – атқарушы орындайтын амалдардың тиянақты жоспары.


Слайд 4
Программа
Программа дегеніміз -
қандай да бір программалау тілінде

ПрограммаПрограмма дегеніміз - қандай да бір программалау тілінде жазылған алгоритмкомпьютерге қажетті

жазылған алгоритм
компьютерге қажетті командалардың жиынтығы
Команда – компьютер орындауға міндетті

әрекеттің өрнектелуі.
алғашқы мәліметтерді қайдан алу керек?
олармен қандай амалдар орындау керек?

Слайд 5
Программалау тілдері
Машинаға бейімделген (төменгі деңгейлі) - әрбір команда

Программалау тілдеріМашинаға бейімделген (төменгі деңгейлі) - әрбір команда процессордың бір командасына

процессордың бір командасына сәйкес келеді (ассемблер)
Жоғарғы деңгейлі тілдер –

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

Слайд 6
Паскаль тілі
1970 – Никлаус Вирт (Швейцария)
студенттерді оқытуға

Паскаль тілі1970 – Никлаус Вирт (Швейцария) студенттерді оқытуға арналған тіл «жоғарыдан

арналған тіл
«жоғарыдан төменге қарай» программаларын жасау






берілгендердің

әр түрлі құрылымдары(массивтер, құрылымдар, жиымдар)

Слайд 7
Программа қандай бөліктерден тұрады?
program ;
const …;{тұрақтылар}
var …;

Программа қандай бөліктерден тұрады?program ;const …;{тұрақтылар}var …; {айнымалылар}begin … {негізгі программа}end.{

{айнымалылар}

begin
… {негізгі программа}
end.
{ процедуралар мен функциялар }
фигуралық жақшаның

ішінде орналасқан түсініктемелер программамен өңделмейді

Слайд 8
Программа қандай бөліктерден тұрады?
Тұрақты – өз атауы болатын,

Программа қандай бөліктерден тұрады?Тұрақты – өз атауы болатын, өзгермейтін шама .Айнымалы

өзгермейтін шама .
Айнымалы – өз атауы (жад ұяшығы)болатын,

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

Слайд 9
Программалар, тұрақтылар, айнымалылар атауы
Атауларды сипаттағанда
латын әріптерін (A-Z)


сандарды


астын сызу

Программалар, тұрақтылар, айнымалылар атауыАтауларды сипаттағандалатын әріптерін (A-Z)сандардыастын сызу белгісін _

белгісін _

қолдануға болады

Бас әріптер мен кіші әріптердің арасында айырмашылық болмайды

Атауларды сипаттағанда
орыс, қазақ әріптерін
бос орындарды
жақшаларды, +, =, !, ? белгілерін және т.б.
қолдануға болмайды

Атаулар санмен басталмауы керек

Қай атаулар дұрыс жазылған?
AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+B


Слайд 10
Тұрақтылар
const
i2 = 45; { бүтін

Тұрақтыларconst 	 	i2 = 45; { бүтін сан }	pi = 3.14;

сан }
pi = 3.14; { нақты сан }

qq =

'Вася'; { символдар қатары }

L = True; { логикалық шама }

бүтін және бөлшек бөліктері нүктемен ажыратылады

орыс, қазақ әріптерін қолдануға болады!

екі мән қабылдай алады:
True (ақиқат, «иә»)
False (жалған, «жоқ»)


Слайд 11
Айнымалылар
Айнымалы – аты, типі және мәні болатын шама.

АйнымалыларАйнымалы – аты, типі және мәні болатын шама. Айнымалының мәнін программаның

Айнымалының мәнін программаның жұмысы кезінде өзгертіп отыруға болады.
Айнымалылардың типі:
integer {

бүтін }
real { нақты }
char { бір символ }
string { символдық тіркес }
boolean { логикалық }

Айнымалыларды сипаттау (жад бөлу):

var a, b: integer;
Q: real;
s1, s2: string;


Слайд 12
Айнымалының мәнін қалай өзгертуге болады?
Оператор – жоғары деңгейлі

Айнымалының мәнін қалай өзгертуге болады?Оператор – жоғары деңгейлі программалау тілінің командасы.Меншіктеу

программалау тілінің командасы.
Меншіктеу операторы айнымалының мәнін өзгерту үшін қолданылады.
program

qq;
var a, b: integer;
begin
a := 5;
b := a + 2;
a := (a + 2)*(b – 3);
end.


a

?

5

5


b

?

5+2

7


a

5

7*4

28

Мысал:


Слайд 13
Меншіктеу операторы
Жалпы құрылымы:
Арифметикалық өрнектің құрамында
тұрақтылар
айнымалы атаулары
арифметикалық амалдар белгілері:

Меншіктеу операторыЖалпы құрылымы:Арифметикалық өрнектің құрамындатұрақтыларайнымалы атауларыарифметикалық амалдар белгілері:	 	 + -

+ - * /

div mod


функцияларды шақыру
жақшалар ( )

көбейту

бөлу

бүтінді бүтінге бөлу

бөлуден қалған қалдық

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


Слайд 14 program qq;
var a, b: integer;
x, y: real;

program qq;	var a, b: integer;		 x, y: real; 	begin	 a :=


begin
a := 5;
10 :=

x;
y := 7,8;
b := 2.5;
x := 2*(a + y);
a := b + x;
end.


Қай операторлар дұрыс жазылмаған?

айнымалы атауы := белгісінің сол жағында болуы керек

бүтін мен бөлшектің арасы нүктемен ажыратылуы керек

нақты мәнді бүтін айнымалыға меншіктеуге болмайды



Слайд 15
Амалдарды орындау тәртібі
жақша ішіндегі өрнекті есептеу
солдан оңға қарай

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

көбейту, бөлу, div, mod
солдан оңға қарай қосу және алу
z

:= (5*a*c+3*(c-d))/a*(b-c)/ b;

x:=(a*a+5*c*c-d*(a+b))/((c+d)*(d-2*a));



2 3 5 4 1 7 8 6 9

2 6 3 4 7 5 1 12 8 11 10 9


Слайд 16
Екі санды қосу
Есеп. Екі бүтін санды қосып, қосындысын

Екі санды қосуЕсеп. Екі бүтін санды қосып, қосындысын экранда шығару.Шығарылуы:	program qq;	var

экранда шығару.
Шығарылуы:
program qq;
var a, b, c: integer;
begin
read

( a, b );
c := a + b;
writeln ( c );
end.

Слайд 17
Енгізу операторы
read ( a ); { а

Енгізу операторыread ( a ); { а айнымалысының мәнін енгізу}read (

айнымалысының мәнін енгізу}
read ( a, b ); { а

және b айнымалыларының мәндерін енгізу}

Екі санды қалай енгізуге болады?
бос орын арқылы:
25 30
Enter арқылы:
25
30


Слайд 18
Шығару операторы
write ( a ); { a

Шығару операторыwrite ( a ); { a айнымалысының мәнін шығару}writeln (

айнымалысының мәнін шығару}
writeln ( a ); {a айнымалысының мәнін

шығарып,келесі жолға көшу}

writeln ( ‘Салем!' ); { мәтінді шығару}

writeln ( ‘Жауап: ', c ); { мәтінді және c айнымалысының мәнін шығару}

writeln ( a, '+', b, '=', c );


Слайд 19
Шығару форматтары
program qq;
var i: integer;
x: real;
begin

Шығару форматтарыprogram qq;var i: integer; x: real;begin i := 15; writeln

i := 15;
writeln ( '>', i, '

writeln ( '>', i:5, '<' );
x := 12.345678;
writeln ( '>', x, '<' );
writeln ( '>', x:10, '<' );
writeln ( '>', x:7:2, '<' );
end.

>15<
> 15<

>1.234568E+001<
> 1.23E+001<
> 12.35<

барлық символдар саны

барлық символдар саны

бөлшек бөлігіндегі символдар саны


Слайд 20
Толық шығарылуы
program qq;
var a, b, c: integer;
begin

Толық шығарылуы	program qq;	var a, b, c: integer;	begin writeln(‘Екі бүтін сан енгізіңіз');

writeln(‘Екі бүтін сан енгізіңіз');
read ( a, b

);
c := a + b;
writeln ( a, '+', b, '=', c );
end.

Протокол:
Екі бүтін сан енгізіңіз
25 30
25+30=55

бұны компьютер шығарады

бұны программа жазушы өзі енгізеді


Слайд 21
Сызықтық алгоритмның блок-схемасы
басы
соңы
c := a + b;
енгізу a,

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

b
шығару c
«басы» блогі
«енгізу» блогі
«процесс» блогі
«шығару» блогі
«соңы» блогі


Слайд 22
Тапсырмалар
"4": Үш сан енгізіп,олардың қосындысын және көбейтіндісін табу.

Тапсырмалар

Мысал:
Үш сан енгіз:
4 5

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

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

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

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

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

шығару.
Шығару амалы: бірінші сан екінші саннан үлкен болса, біріншісін,

ал егер кіші болса екіншісін экранға шығару.
Ерекшелігі: атқарушының әрекеті кейбір шарттардың орындалуына байланысты болады (егер …әйтпесе …).

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


Слайд 25
Нұсқа 1. Блок-схема

Тармақталудың толымды түрі
«таңдау» блогі

Нұсқа 1. Блок-схемаТармақталудың толымды түрі«таңдау» блогі

Слайд 26
Нұсқа 1. Программа


max := a;
max := b;
шартты оператордың

Нұсқа 1. Программа	max := a;max := b;шартты оператордың толымды түрі	program qq;	var

толымды түрі
program qq;
var a, b, max: integer;
begin
writeln(‘Екі

бүтін сан енгіз');
read ( a, b );
if a > b then begin

end
else begin

end;
writeln (‘Екі санның үлкені', max);
end.

Слайд 27
Шартты оператор
if then begin
{егер шарт

Шартты оператор	if then begin {егер шарт орындалса, не істеу керек}

орындалса, не істеу керек}
end
else

begin
{егер шарт орындалмаса, не істеу керек}
end;

Ерекшеліктері:
else-тің алдында нүктелі үтір болмауы керек
екінші бөліктің (else …) болмауы да мүмкін (толымсыз түрі)
егер блокта бір ғана оператор болса, begin мен end сөздерін жазбауға да болады


Слайд 28
Қай жері дұрыс емес?
if a > b then

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

begin
a := b;
end
else

b := a;
end;

if a > b then begin
a := b;
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 > a begin
b := a;
end;

begin

end

begin

end


Слайд 29
Нұсқа 2. Блок-схема

тармақталудың толымсыз түрі

Нұсқа 2. Блок-схематармақталудың толымсыз түрі

Слайд 30
Нұсқа 2. Программа


program qq;
var a, b, max: integer;
begin

Нұсқа 2. Программа		program qq;	var a, b, max: integer;	begin writeln(‘Екі бүтін сан

writeln(‘Екі бүтін сан енгіз');
read ( a,

b );
max := a;
if b > a then
max := b;
writeln (‘Екі санның үлкені', max);
end.

шартты оператордың толымсыз түрі


Слайд 31
Нұсқа 2Б. Программа


program qq;
var a, b, max: integer;
begin

Нұсқа 2Б. Программа	program qq;	var a, b, max: integer;	begin writeln('Екі бүтін сан

writeln('Екі бүтін сан енгіз');
read ( a,

b );
max := b;
if ??? then
???
writeln ('Екі санның үлкені', max);
end.

max := a;

a > b


Слайд 32
Қай жері дұрыс емес?
if a > b then

Қай жері дұрыс емес?	if a > b then begin  a

begin
a := b;
else

b := a;

if a > b then begin
a := b;
end;
else b := a;

if a > b then
else begin
b := a;
end;

if a > b then
a := b;
else b := a; end;

a := b

end

a := b



if b >= a then
b := a;



Слайд 33
Тапсырмалар
"4": Үш сан енгізіп олардың үлкенін табу.

Тапсырмалар

Мысал:
Үш сан енгіз:
4 15 9
Ең үлкен

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

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

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

Слайд 35
Күрделі шарттар
Есеп. Фирма 25 пен 40 жас арасындағы

Күрделі шарттарЕсеп. Фирма 25 пен 40 жас арасындағы қызметкерлерді жұмысқа алуда.

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

болатындығы немесе болмайтындығы туралы мәлімет шығару («болады» немесе «болмайды» деген жауап шығару).
Ерекшелігі: екі шарттың бір мезгілде орындалатынын немесе орындалмайтынын тексеру.

Слайд 36
Нұсқа 1. Алгоритм
басы
енгізу x
‘болады'
жоқ




иә
жоқ
x >= 25?


иә
жоқ
x

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

Слайд 37
Нұсқа 1. Программа



program qq;
var x: integer;
begin
writeln(‘Жасты

Нұсқа 1. Программа		program qq;	var x: integer;	begin writeln(‘Жасты енгіз'); read ( x

енгіз');
read ( x );
if x

>= 25 then
if x <= 40 then
writeln (‘Болады')
else writeln (‘Болмайды')
else
writeln (‘Болмайды');
end.

Слайд 38 Нұсқа 2. Алгоритм
басы
енгізу x
‘болады'


иә
жоқ
x >= 25 және
x

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

40?
'болмайды'


Слайд 39
Вариант 2. Программа


күрделі шарт
program qq;
var x: integer;
begin

Вариант 2. Программакүрделі шарт	program qq;	var x: integer;	begin writeln(‘Жасты енгіз'); read (

writeln(‘Жасты енгіз');
read ( x );
if

(x >= 25) and (x <= 40) then
writeln ('Болады')
else writeln ('Болмайды')
end.

Слайд 40
Күрделі шарттар
Күрделі шарт – бір-бірімен логикалық операциялардың көмегімен

Күрделі шарттарКүрделі шарт – бір-бірімен логикалық операциялардың көмегімен байланысатын бірнеше қарапайым

байланысатын бірнеше қарапайым шарттардан (қатынастардан) тұрады:
not – ЕМЕС (терістеу,

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

тең

тең емес


Слайд 41
Күрделі шарттар
Орындау тәртібі
жақша ішіндегі өрнектер
not
and
or, xor

Күрделі шарттарОрындау тәртібіжақша ішіндегі өрнектерnotandor, 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 :=

a := 2; b := 3; c := 4; болған жағдайда

4; болған жағдайда ақиқат немесе жалған:
not (a > b)
(a

< b) and (b < c)
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)


Күрделі шарттар

True

True

FALSE

(-∞, 6)


(6, 10)

(10, ∞)

(-∞, 10)

(-∞, 6) ∪ (10,∞)

(-∞, ∞)

(6, ∞)

x < 6

x > 10

x < 10

x > 6

True

True


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

Тапсырмалар

шығару.
Мысал:
Ай нөмірін енгіз:
4
көктем


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

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

Слайд 45
Циклдер
Цикл – белгілі бір әрекеттер тізбегінің бірнеше рет

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

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

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

Слайд 46
Алгоритм

басы
i, i2, i3
соңы
жоқ
иә
i

Алгоритмбасыi, i2, i3соңыжоқиәi

i + 1;

i2 := i * i;
i3 := i2

* i;

цикл айнымалысының бастапқы мәнін көрсету

барлығы да атқарылды ма? соны тексеру

квадрат пен куб-ты есептейміз

нәтижесін шығару

келесі i-ге өту


Слайд 47
Алгоритм ("цикл" блогімен)

басы
i, i2, i3
соңы

i2 := i *

Алгоритм (

i;
i3 := i2 * i;
i := 1,8
«цикл»блогі
цикл денесі


Слайд 48
Программа


program qq;
var i, i2, i3: integer;
begin


for

Программаprogram qq;var i, i2, i3: integer;begin for i:=1 to 8 do

i:=1 to 8 do begin
i2 := i*i;

i3 := i2*i;
writeln(i:4, i2:4, i3:4);
end;
end.

цикл айнымалысы

бастапқы мән

ең соңғы мән


Слайд 49
Айнымалысы кеміп отыратын цикл
Есеп. 8-ден 1-ге дейінгі бүтін

Айнымалысы кеміп отыратын циклЕсеп. 8-ден 1-ге дейінгі бүтін сандардың квадраттары мен

сандардың квадраттары мен кубтарын есептеп шығару (кері қарай есептеу).
Ерекшелігі:

цикл айнымалысы кеміп отыруы керек.
Шығарылуы:

for i:=8 1 do begin
i2 := i*i;
i3 := i2*i;
writeln(i:4, i2:4, i3:4);
end;

downto


Слайд 50
Айнымалысы бар цикл
for := to

Айнымалысы бар цикл	for := to  do begin {цикл денесі}

do begin
{цикл

денесі}
end;

Айнымалының 1-ге артуы:

for <айнымалы> := <алғашқы мән> downto
<ең соңғы мән> do begin
{цикл денесі}
end;

Айнымалының 1-ге кемуі:


Слайд 51
Айнымалысы бар цикл
Ерекшеліктері:
цикл айнымалысының мәні бүтін болуы керек

Айнымалысы бар циклЕрекшеліктері:цикл айнымалысының мәні бүтін болуы керек (integer)цикл айнымалысының өзгеру

(integer)
цикл айнымалысының өзгеру қадамы қашанда 1-ге (to) немесе -1-ге

(downto) тең
егер цикл денесінде бір ғана оператор болса, begin мен end сөздерін жазбай кетуге болады:
егер соңғы мән алғашқы мәннен кіші болса, (to) циклы бірде бір рет орындалмайды (шартты циклдың басында тексеру, шартты алдын ала тексеретін цикл)

for i:=1 to 8 do
writeln('Привет');


Слайд 52
Айнымалысы бар цикл
Ерекшеліктері:
Цикл денесінде цикл айнымалысын өзгертуге рұқсат

Айнымалысы бар циклЕрекшеліктері:Цикл денесінде цикл айнымалысын өзгертуге рұқсат етілмейді (неліктен?)Алғашқы және

етілмейді (неліктен?)
Алғашқы және соңғы мәндер өзгертілгенімен цикл ішіндегі қадамдар

саны өзгермейді:

n := 8;
for i:=1 to n do begin
writeln('Салем');
n := n + 1;
end;

мүдіріп қалу жоқ


Слайд 53
Цикл неше рет орындалған?
a := 1;
for i:=1 to

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

3 do a := a+1;
a = 4
a := 1;
for

i:=3 to 1 do a := a+1;

a = 1

a := 1;
for i:=1 downto 3 do a := a+1;

a = 1

a := 1;
for i:=3 downto 1 do a := a+1;

a = 4


Слайд 54 for i:=1 to 9 do begin
if

for i:=1 to 9 do begin if  ???  then

??? then begin

i2 := i*i;
i3 := i2*i;
writeln(i:4, i2:4, i3:4);
end;
end;


Қадамдарды қалай өзгертуге болады?

Есеп. Экранға 1-ден 9-ға дейінгі тақ сандардың квадраттары мен кубтарын есептеп шығару.
Ерекшелігі: цикл айнымалысы 2-ге артып отыру керек.
Мәселе: Паскальде қадамдар саны 1 немесе -1 болуы мүмкін.
Шығарылуы:

i mod 2 = 1

i2 := i*i;
i3 := i2*i;
writeln(i:4, i2:4, i3:4);

Тек қана тақ i-лермен орындалады


Слайд 55
Қадамдарды қалай өзгертуге болады? – II
Идея: Тек 5

Қадамдарды қалай өзгертуге болады? – IIИдея: Тек 5 санды ғана шығару

санды ғана шығару керек, k айнымалысы 1-ден 5-ке дейін

өзгереді. i-дің бастапқы мәні 1-ге тең, циклдың әр қадамы сайын i 2-ге артып отырады.
Шығарылуы:

???
for k:=1 to 5 do begin
i2 := i*i;
i3 := i2*i;
writeln(i:4, i2:4, i3:4);
???
end;

i := i + 2;

i := 1;


Слайд 56
Қадамдарды қалай өзгертуге болады? – III
Идея: Тек 5

Қадамдарды қалай өзгертуге болады? – IIIИдея: Тек 5 санды ғана шығару

санды ғана шығару керек, k айнымылысы 1-ден 5-ке дейін

өзгереді. k-ны біле отырып, i-ді есептеу қажет.


Шығарылуы:

i = 2k-1

for k:=1 to 5 do begin
???
i2 := i*i;
i3 := i2*i;
writeln(i:4, i2:4, i3:4);
end;

i := 2*k – 1;


Слайд 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. Шартты циклдер

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

Слайд 59
Қадамдар саны белгісіз цикл
Мысал: Бөренеден ағаштың бұтағын кесіп

Қадамдар саны белгісіз циклМысал: Бөренеден ағаштың бұтағын кесіп алу керек. Қолараны

алу керек. Қолараны әрі-бері неше рет қозғалтуымыз керек,. ?
Есеп:

(<2000000) бүтін сан енгізіп, ондағы цифрлардың санын анықтау.
Шығару амалы: Ең соңғы орналасқан цифрларды кезекпен алып тастай отырып, санаушыны арттырамыз.




Мәселе: неше қадам жасау керектігі белгісіз.
Шығарылуы: n = 0 болғанда тоқтау керек, яғни "n <> 0" болғанша орындай беру керек.

Слайд 60

Алгоритм

басы
count
соңы
жоқ
иә
n 0?

count := 0;

count := count +

Алгоритмбасыcountсоңыжоқиәn 0?count := 0;count := count + 1; n := n

1;
n := n div 10;
цифрлардың санаушысын нөлге

теңестіру

енгізу n


“n <> 0“ болғанша орындай беру


Слайд 61 Программа
program qq;
var n, count: integer;
begin
writeln(’Бүтін сан енгіз’);

Программаprogram qq;var n, count: integer;begin writeln(’Бүтін сан енгіз’); read(n); count :=

read(n);
count := 0;
while n 0 do

begin
count := count + 1;
n := n div 10;
end;
writeln( ’cанында’,count, ’цифр табылды’);
end.

while n <> 0 do begin
count := count + 1;
n := n div 10;
end;

, n1: integer;

n1 := n;

n1,

"n <> 0“ болғанша орындай беру


Слайд 62
Шартты цикл
while do begin
{цикл денесі}

Шартты цикл	while do begin {цикл денесі}  end;Ерекшеліктері:күрделі шарттарды қолдануға болады:егер


end;
Ерекшеліктері:
күрделі шарттарды қолдануға болады:
егер цикл денесінде

бір ғана оператор болса, begin мен end сөздерін жазбай кетуге болады:

while (a {цикл денесі}
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 :=

Цикл неше рет орындалған?a := 4; b := 6;while a <

6;
while a < b do a := a +

1;

2 рет
a = 6

a := 4; b := 6;
while a < b do a := a + b;

1 рет
a = 10

a := 4; b := 6;
while a > b do a := a + 1;

0 рет
a = 4

a := 4; b := 6;
while a < b do b := a - b;

1 рет b = -2

a := 4; b := 6;
while a < b do a := a - 1;

дағдарысқа ұшырау


Слайд 65
For-ны while-ға ауыстыру және керісінше
for i:=1 to 10

For-ны while-ға ауыстыру және керісіншеfor i:=1 to 10 do begin {цикл

do begin
{цикл денесі}
end;
i := 1;
while i

do begin
{цикл денесі}
i := i + 1;
end;

for i:=a downto b do
begin
{цикл денесі}
end;

i := a;
while i >= b do begin
{цикл денесі}
i := i - 1;
end;

while-ды for-ға , циклдегі қадамдар саны алдын ала белгілі болған жағдайда ғана ауыстыруға болады.

for-ны while –ауыстыруға қашанда болады.


Слайд 66
Тапсырмалар
"4": Бүтін сан енгізіп, ондағы цифрлардың қосындысын

Тапсырмалар

табу.
Мысал:
Бүтін сан енгіз:
1234
1234

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

Слайд 67
Тізбектер
Мысалдар:
1, 2, 3, 4, 5, …
1, 2, 4,

ТізбектерМысалдар:1, 2, 3, 4, 5, …1, 2, 4, 7, 11, 16,

7, 11, 16, …
1, 2, 4, 8, 16, 32,



an = n

a1 = 1, an+1 = an+1

a1 = 1, an+1 = an + n

an = 2n-1

a1 = 1, an+1 = 2an

b1 = 1, bn+1 = bn+1

c1 = 2, cn+1 = 2cn


Слайд 68
Тізбектер
Есеп: модулі бойынша 0,001-ден асып түсетін


тізбектегі барлық

ТізбектерЕсеп: модулі бойынша 0,001-ден асып түсетін тізбектегі барлық элементтердің қосындысын табу:

элементтердің қосындысын табу:
Тізбек элементтері (№2-ден бастап

):

b := b+1;

c := 2*c;

z := -z;


Слайд 69
Алгоритм

басы
S
соңы
жоқ
иә
|a| > 0.001?


S := S + a;

S :=

АлгоритмбасыSсоңыжоқиә|a| > 0.001?S := S + a;S := 0; b :=

0; b := 1; c := 2; z :=

-1; a := 1;

бастапқы мәндер

a := z*b/c;
b := b + 1; c := 2*c; z := -z;

бірінші элемент

a := 1;

S := 0;

жаңа элемент

өзгеріс


Слайд 70
Программа
program qq;
var b, c, z: integer;
S,

Программаprogram qq;var b, c, z: integer; S, a: real;begin 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.

z := - z;
b := b + 1;
c := c * 2;

келесі қосылғышқа өту

S := 0; z := -1;
b := 1; c := 2; a := 1;

бастапқы мәндер

қосындының артуы

тізбек элементін есепке алу


Слайд 71
Тапсырмалар
"4": Тізбектегі элементтердің қосындысын 0,001 дәлдікпен табу :


Тапсырмалар

Жауап:
S = 1.157
"5": Тізбектегі элементтердің қосындысын 0,001 дәлдікпен

табу :
Жауап:
S = 1.220

Слайд 72
Соңғышартты цикл
Есеп: Бүтін оң сан енгізіп(

Соңғышартты циклЕсеп: Бүтін оң сан енгізіп( шартын тексеруді циклдың соңында орындау

санын анықтау.
Мәселе: Теріс санның немесе нөлдің енгізілмеуін қалай

қадағалауға болады?
Шығарылуы: Егер бұрыс сан енгізілсе,берілгендерді енгізу үшін кері оралу (цикл!).
Ерекшелігі: Цикл денесі кемінде бір рет орындалады. => шартын тексеруді циклдың соңында орындау керек. (соңғышартты цикл).

Соңғышартты цикл – шарттың тексерілуі циклдың соңында орындалатын цикл түрін айтады.


Слайд 73
Соңғышартты цикл: алгоритм

басы
соңы
иә
жоқ
n > 0?


цикл денесі
ШЫҒУДЫҢ шарты
«типтік

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

процесс» блогі
енгізу n
негізгі алгоритм


Слайд 74
Программа
program qq;
var n: integer;
begin
repeat

Программаprogram qq;var n: integer;begin repeat  writeln('Введите положительное число');  read(n);

writeln('Введите положительное число');
read(n);
until n

> 0;
... { негізгі алгоритм }
end.

repeat
writeln(‘Оң сан енгіз');
read(n);
until n > 0;

until n > 0;

ШЫҒУДЫҢ шарты

Ерекшеліктері:
цикл денесі кемінде бір рет орындалады
until ("…болмайынша") сөзінен кейін циклдан ШЫҒУДЫҢ шарты қойылады


Слайд 75
Цикл неше рет орындалған?
a := 4; b :=

Цикл неше рет орындалған?a := 4; b := 6;repeat a :=

6;
repeat a := a + 1; until a >

b;

3 рет
a = 7

a := 4; b := 6;
repeat a := a + b; until a > b;

1 рет
a = 10

a := 4; b := 6;
repeat a := a + b; until a < b;

Мүдіріп қалу

a := 4; b := 6;
repeat b := a - b; until a < b;

2 рет
b = 6

a := 4; b := 6;
repeat a := a + 2; until a < b;

Мүдіріп қалу


Слайд 76
Тапсырмалар (бұрыс енгізуден қорғау)
"4": Натурал сан енгізіп, сол

сандағы цифрлардың қосындысы 10-ға тең екендігінің дұрыстығын

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

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

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

Слайд 78
Таңдау операторы
Есеп: Ай нөмірін енгізіп, осы айдағы күндердің

Таңдау операторыЕсеп: Ай нөмірін енгізіп, осы айдағы күндердің санын шығару. Шығарылуы:

санын шығару.
Шығарылуы: Айдағы күндер саны
28 күн –

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

Слайд 79 Алгоритм
басы
соңы

таңдау операторы
ешбір нұсқасы сәйкес келген жоқ
енгізу M

иә
жоқ
M =

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

1?
D := 31;
жоқ
M = 2?
D := 28;
иә
жоқ
M = 12?
D

:= 31;

иә

шығару D

қате





Слайд 80
Программа
program qq;
var M, D: integer;
begin
writeln(‘Айдың нөмірін

Программаprogram qq;var M, D: integer;begin writeln(‘Айдың нөмірін енгіз:'); read ( M

енгіз:');
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.

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;

ешбір нұсқасы сәйкес келген жоқ


Слайд 81
Таңдау операторы
Ерекшеліктері:
case-тен кейін айнымалы атауы немесе бүтін

Таңдау операторыЕрекшеліктері: case-тен кейін айнымалы атауы немесе бүтін типті (integer) арифметикалық

типті (integer) арифметикалық өрнек
немесе символдық типті (char)

арифметикалық өрнек

case i+3 of
1: begin a := b; end;
2: begin a := c; end;
end;

var c: char;
...
case c of
'а': writeln(‘Бөкен');
'б': writeln('Борсық');
else writeln(‘Білмеймін');
end;

болуы мүмкін


Слайд 82
Таңдау операторы
Ерекшеліктері:
егер бір ғана операторды орындау керек болса,

Таңдау операторыЕрекшеліктері:егер бір ғана операторды орындау керек болса, begin мен end

begin мен end сөздерін жазбай кетуге болады
бірдей екі мәнді

қоюға болмайды

case i+3 of
1: a := b;
1: a := c;
end;

case i+3 of
1: a := b;
2: a := c;
end;


Слайд 83
Таңдау операторы
Ерекшеліктері:
бірдей әрекеттер орындалатын кезде қолданылатын мәндерді топтастыру

Таңдау операторыЕрекшеліктері:бірдей әрекеттер орындалатын кезде қолданылатын мәндерді топтастыру қажетcase i of

қажет
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:

Қай жері дұрыс емес?case a of 2: begin a := b;

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 of
0..2: a := b;
6..3: a := c;
end;

3..6:

case a+c/2 of
2: a := b;
4: a := c;
end;

case a of
2: a := b; d := 0;
4: a := c;
end;

begin

end;



Слайд 85
Тапсырмалар (бұрыс енгізуден қорғаумен)
"4": Айдың нөмірін енгізе отырып,

Тапсырмалар (бұрыс енгізуден қорғаумен)

осы айдағы күндердің санын және енгізу кезінде жіберілген қателердің

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

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

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

Слайд 87
Координаталар жүйесі

(0,0)
(x,y)
X
Y

x
y

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

Слайд 88
Түстерді басқару
Cызықтың түсі мен қалыңдығы, нүктелердің түсі:

Түстерді басқаруCызықтың түсі мен қалыңдығы, нүктелердің түсі:  Pen ( 1,

Pen ( 1, 255, 0, 0 );
Бояудың түсі

мен стилі:
Brush ( 1, 0, 255, 0 );
Мәтін түсі:
TextColor ( 0, 0, 255 );

сызықтың қалыңдығы

R(red)
0..255

G(green)
0..255

B(blue)
0..255

0 – өшіру
1 - қосу

R

G

B

R

G

B


Слайд 89
Нүктелер, кесінділер және қисық сызықтар
Pen (1, 0, 255,

Нүктелер, кесінділер және қисық сызықтарPen (1, 0, 255, 0); Line (x1,

0); Line (x1, y1, x2, y2);
Pen (1, 0, 0,

255);
Point (x, y);

Pen (1, 255, 0, 0); MoveTo (x1, y1); LineTo (x2, y2);
LineTo (x3, y3);
LineTo (x4, y4);
LineTo (x5, y5);


Слайд 90
Фигуралардың ішін бояу
Pen (1, 0, 0, 255);
Brush

Фигуралардың ішін бояу Pen (1, 0, 0, 255);Brush (1, 255, 255,

(1, 255, 255, 0);
Rectangle (x1, y1, x2, y2);
Pen (1,

255, 0, 0);
Brush (1, 0, 255, 0);
Ellipse (x1, y1, x2, y2);

Brush (1, 100, 200, 255);
Fill (x, y);


Слайд 91
Мәтін
TextColor (0, 0, 255);
Brush (1, 255, 255, 0);
Font

МәтінTextColor (0, 0, 255);Brush (1, 255, 255, 0);Font (20, 30, 600);MoveTo

(20, 30, 600);
MoveTo (x, y);
writeln (‘Салем!');
Салем!
(x, y)

өлшемі
10 пиксель
айналу бұрышы
қанықтылық:

400 – қалыпты
600 – қалың


30о


Слайд 92
Мысал


(200, 50)
(100, 100)
(300, 200)



program qq;
begin
Pen(2, 255,

Мысал(200, 50)(100, 100)(300, 200)program qq;begin Pen(2, 255, 0, 255); Brush(1, 0,

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
Штрихтер салу
(x1, y1)
(x2, y2)



N сызық (N=5)
h



Rectangle (x1, y1,

Штрихтер салу(x1, y1)(x2, y2)N сызық (N=5)hRectangle (x1, y1, x2, y2);Line( x1+h,

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);
...

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;

x

жақын орналасқан бүтін санға дейін дөңгелектеу

x


Слайд 95

Түсті қалай өзгертуге болады?
(x1, y1)
(x2, y2)


Brush ( 1,

Түсті қалай өзгертуге болады?(x1, y1)(x2, y2)Brush ( 1, c, c, c

c, c, c );
Fill ( ???, ??? );
сұр: R

= G = B

Өзгеру қадамы c:

x

(x-1, y1+1)




var c, hc: integer;


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;


Слайд 96
Штрихтер салу
(x1, y1)

(x2, y2)
(x3, y2)



a
h
(x3+a, y1)



Line( x1+h,

Штрихтер салу(x1, y1)(x2, y2)(x3, y2)ah(x3+a, y1)Line( x1+h, y1, x1+h-a, y2);Line( x1+2*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);
...

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

x-a


Слайд 97
Штрихтер салу

(x1, y1)
(x2, y2)


hx
hy



y

x
y
Line( x1, y1+hy, x1+hx,

Штрихтер салу(x1, y1)(x2, y2)hxhyyxyLine( x1, y1+hy, x1+hx, y1+hy) ;Line( x1, y1+2*hy,

y1+hy) ;
Line( x1, y1+2*hy, x1+2*hx, y1+2*hy);
Line( x1, y1+3*hy,

x1+3*hx, 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. Функциялардың графигі

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

Слайд 100
Функция графиктерін құру
Есеп: 0 мен 2π интервалы арасындағы

Функция графиктерін құруЕсеп: 0 мен 2π интервалы арасындағы y = 3

y = 3 sin(x) функциясының графигін құру.
Анализ:
x =

π/2 болғанда максималды мән ymax = 3
x = 3π/2 болғанда минималды мән ymin = -3
Мәселе: функция координалардың математикалық жүйесінде көрсетілген, ал графикті координаталарын пиксельдермен көрсете отырып компьютер экранында шығару керек.

Слайд 101
Координаталардың түрленуі
(x,y)

X
Y
x
y
Координаталардың математикалық
жүйесі
Координаталардың экрандық жүйесі (пиксельдер)

(xэ,yэ)



(0,0)
(0,0)
a
b
k –

Координаталардың түрленуі(x,y)XYxyКоординаталардың математикалық жүйесіКоординаталардың экрандық жүйесі (пиксельдер)(xэ,yэ)xэyэ(0,0)(0,0)abk – масштаб (экрандағы жекелеген

масштаб (экрандағы жекелеген кесінді кескінінің ұзындығы)
xэ = a +

kx
yэ = b - ky

Слайд 102
Программа


h – x-тің өзгеру қадамы
w – ОХ осінің

Программа2πh – x-тің өзгеру қадамыw – ОХ осінің ұзындығы(пиксельдер саны)экрандакоординаталар осіграфиктің

ұзындығы(пиксельдер саны)
экранда
координаталар осі
графиктің құрылу циклі


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;
end.

Слайд 103
Нүктелерді қалай біріктіруге болады?
Алгоритм:
Егер бірінші нүкте болса

Нүктелерді қалай біріктіруге болады?Алгоритм:Егер бірінші нүкте болса (xэ,yэ) нүктесіне өтуәйтпесе (xэ,yэ)

(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 = x2 функциясының

Тапсырмалар

графигін құру.







"5": Функция графигін құру (эллипс)



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

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

Слайд 106
Процедуралар
Есеп: Мына фигураны құру:
Ерекшелігі: Үш ұқсас фигура.
жалпы:

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

өлшемдері, айналу бұрышы
айырмашылықтары: координаталары, түстері


Слайд 107
Процедуралар
Процедура – кейбір әрекеттерді орындау үшін қолданылатын көмекші.
Қолданылуы:
программаның

ПроцедураларПроцедура – кейбір әрекеттерді орындау үшін қолданылатын көмекші.Қолданылуы:программаның әр жерінде орналасқан

әр жерінде орналасқан бірдей әрекеттерді орындау
программаны түсіну оңай болу

үшін оны бірнеше қосалқы бөліктерге бөлу

Слайд 108
Процедуралар
Есепті орындау тәртібі:
бірдей немесе ұқсас әрекеттерді ерекшелеп алу

ПроцедураларЕсепті орындау тәртібі:бірдей немесе ұқсас әрекеттерді ерекшелеп алу (үш фигура)олардың ұқсас

(үш фигура)
олардың ұқсас жерлері (өлшемі, пішіні, айналу бұрышы) мен

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

(x+100, y)

(x, y-60)




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;

тақырыбы

MoveTo(x, y);
LineTo(x, y-60);
LineTo(x+100, y);
LineTo(x, y);
Brush(1, r, g, b);
Fill(x+20, y-20);

процедура тұлғасы

координаталар

түс

параметрлер


Слайд 109 Программа
program qq;




begin
Pen(1, 255, 0, 255);

Программаprogram qq;begin Pen(1, 255, 0, 255); Tr(100, 100, 0, 0, 255);

Tr(100, 100, 0, 0, 255);
Tr(200, 100, 0,

255, 0);
Tr(200, 160, 255, 0, 0);
end.

(100,100)

100

60

процедура

нақтылы параметрлер

процедураны шақырулар

procedure Tr( x, y, r, g, b: integer);
begin
...
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, b: real;
begin
a := (x + y)/6;
...
end;
begin
...
end.

procedure A(x, y: integer);
var a, b: real;
begin
a := (x + y)/6;
...
end;

локальді айнымалылар

var a, b: real;


Слайд 113 Параметр-айнымалылар
Есеп: екі айнымалы мәндерінің орындарын ауыстыратын процедураны құру.
Ерекшеліктері:

Параметр-айнымалыларЕсеп: екі айнымалы мәндерінің орындарын ауыстыратын процедураны құру.Ерекшеліктері: Процедурада жасалған өзгертулер


Процедурада жасалған өзгертулер шақырушы программаға белгілі болуы қажет.
program qq;
var

x, y: integer;





begin
x := 1; y := 2;
Exchange ( x, y );
writeln ( ’x = ’, x, ’ y = ’, y );
end;

procedure Exchange ( a, b: integer );
var c: integer;
begin
c := a; a := b; b := c;
end;


мына процедура параметрлердің көшірмесімен жұмыс істейді

x = 1 y = 2


Слайд 114 Параметр-айнымалылар
Қолданылуы: процедура(және функция) осындай әдіс арқылы бірнеше мән

Параметр-айнымалыларҚолданылуы: процедура(және функция) осындай әдіс арқылы бірнеше мән бере алады.Шақыртудың тыйым

бере алады.
Шақыртудың тыйым салынған нұсқалары
Exchange ( 2, 3 );

{ сандар }
Exchange ( x+z, y+2 ); { өрнектер }

procedure Exchange ( a, b: integer );
var c: integer;
begin
c := a; a := b; b := c;
end;

var

параметрлер өзгере алады






Слайд 115
Тапсырмалар
"4": Процедураларды пайдалана отырып, мына фигураны құрастыру.


Тапсырмалар






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

үшбұрыш

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

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

Слайд 117
Рекурсивті объектілер
Рекурсивті объект деп - бір объект немесе

Рекурсивті объектілерРекурсивті объект деп - бір объект немесе дәл осындай бірнеше

дәл осындай бірнеше объект арқылы анықталатын объектіні айтады.
Мысалдар:
Факториал:

егер
егер
Рекурсияланған

сурет:

Слайд 118
Пифагор ағашы
N деңгейлі Пифагор ағашы – бұл ағаштың

Пифагор ағашыN деңгейлі Пифагор ағашы – бұл ағаштың діңгегі мен осы

діңгегі мен осы діңгектен симметриялы түрде өсіп шыққан N-деңгейлі

екі Пифагор ағашы, бұл ағаштардың бағанының ұзындығы 2 есе кем және олардың арасындағы бұрыш 90o-қа тең.


6 деңгей:




Слайд 119
Пифагор ағашы
Ерекшеліктері:
қашан тоқтау керек?
ағаштардың иілу бұрышы әр түрлі
Қалған

Пифагор ағашыЕрекшеліктері:қашан тоқтау керек?ағаштардың иілу бұрышы әр түрліҚалған деңгейлердің саны нөлге

деңгейлердің саны нөлге тең болғанда!

(x1, y1)
(x0, y0)





α
α+45o

α-45o
L
x1 = x0

+ L·cos(α)
y1 = y0 – L·sin(α)

Еншілес ағаштардың иілу бұрышы

α + π/4
α – π/4


Слайд 120 Процедура

α бұрышы
баған ұзындығы

procedure Pifagor(x0, y0, a, L: real;

Процедураα бұрышыбаған ұзындығы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));
Pifagor (x1, y1, a+pi/4, L*k, N-1);
Pifagor (x1, y1, a-pi/4, L*k, N-1);
end;
end;

рекурсивті шақырулар

егер N=0 болса, аяқтау

Рекурсивті процедура деп өзін өзі шақыратын процедураны айтады


Слайд 121
Программа

program qq;
procedure Pifagor(x0, y0, a, L: real;

Программаprogram qq; procedure Pifagor(x0, y0, a, L: real;


N: integer);
...
end;
begin
Pifagor (250, 400, pi/2, 150, 8);
end;

α бұрышы

баған ұзындығы

деңгейлер саны

x0

y0

Pifagor (250, 400, 2*pi/3, 150, 8);


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

құрастыру:







"5": Рекурсивті процедураны қолдана отырып, мына

фигураларды құрастыру:


Задания


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

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

Слайд 124
Анимация
Анимация (ағылш. animation) – экрандағы кескінге жан бітіру.
Есеп:

АнимацияАнимация (ағылш. animation) – экрандағы кескінге жан бітіру.Есеп: 400х400 пиксельді көк

400х400 пиксельді көк квадраттың ішімен 20х20 пиксельді сары квадрат

солдан оңға қарай жылжып келеді. Программа өз жұмысын Esc пернесін басқанда немесе сары квадрат көк квадраттың оң жақ жетіне жеткен кезде тоқтатады.

Проблема: объектінің экранда қозғалуын қалай кескіндеуге болады?
Қосымша: объектінің қозғалысы (x,y) координаталарымен белгіленеді
Анимация қағидасы:
объектіні (x,y) нүктесінде саламыз
бірнеше миллисекундқа кідіру
объектіні өшіреміз
(x,y) координаталарын өзгертеміз
1-қадамға көшеміз


Слайд 125
«Пернелерді шертуді» қалай іске асыруға болады?
Оқиға деп қандай

«Пернелерді шертуді» қалай іске асыруға болады?Оқиға деп қандай да бір объектінің

да бір объектінің қалпында өзгерістің болуын немесе пайдаланушының әрекетін

айтады. (пернені басу, тышқанды шерту).
IsEvent – қолданушы тарапынан қандай да бір әрекеттің болған-болмағандығын анықтайтын логикалық функция.
Event – нақты қандай оқиғаның болғандығын анықтайтын процедура.

if IsEvent then begin
Event(k, x, y);
if k = 1 then
writeln(‘Коды бар перне ', x)
else { k = 2 }
writeln(‘Тышқан: x=', x, ' y=', y);
end;

var k, x, y: integer;


Слайд 126

Esc пернесін басып циклдан қалай шығуға болады?

program qq;
var

Esc пернесін басып циклдан қалай шығуға болады?program qq;var stop: boolean;

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;

егер бір нәрсе бола қалса...

қандай оқиға болды?

егер коды 27 (Esc) болатын перне басылса, онда стоп

егер тоқтау қажет болса, True

циклді іске қосу


Слайд 127

Процедура (сурет салу және өшіру)
procedure Draw(x, y: integer;

Процедура (сурет салу және өшіру)procedure Draw(x, y: integer; flag: boolean);begin if

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;


(x, y)



(x+20, y+20)

Идеялар
бір процедура суретті салады және өшіреді
өшіру = фонның түсімен бояу
квадраттың шекарасын өшіріп тастау (негізгі программада)

сурет салу (True) немесе салмау (False)?

сурет саламыз: қылқаламның түсі – сары

суретті өшіреміз: қылқаламның түсі – көк

тек қана құю!


Слайд 128

Толық программасы



program qq;
var x, y, k, code, i:

Толық программасыprogram qq;var x, y, k, code, i: integer; stop: boolean;

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;
if x >= 400-20 then stop := true;
until stop;
end.

процедура

бастапқы жағдайлары

Esc пернесімен шығу

шекараға тақалған кезде шығу

көк фон

10 мс күтеміз

шекараны өшіріп тастау



Слайд 129 "4": Екі квадрат бір біріне қарама-қарсы бағытта қозғалады:








"5": Екі квадрат бір біріне қарама-қарсы бағытта қозғалады

және көк квадраттың қабырғасына соқтығысып кері бағытта жылжиды:

Тапсырмалар














Слайд 130
Пернелермен басқару
Есеп: көк квадраттың ішінде орналасқан сары квадрат

Пернелермен басқаруЕсеп: көк квадраттың ішінде орналасқан сары квадрат бағыттаушы пернелермен басқарылатындай

бағыттаушы пернелермен басқарылатындай болуы керек. Пернелердің коды:
солға – 37 жоғары

– 38 Esc – 27
оңға – 39 төмен – 40
Проблема: қозғалыс бағытын қалай өзгертуге болады?
Шығарылуы:

if {оқиға болды} then begin
if {перне басулы} then begin
{перненің кодын алу - code}
if code = 37 then x := x – 1;
if code = 38 then y := y – 1;
if code = 39 then x := x + 1;
if code = 40 then y := y + 1;
if code = 27 then stop := True;
end;
end;

IsEvent

Event ( k, code, i);
if k = 1 then begin

case code of
37: x := x – 1; 38: y := y – 1;
39: x := x + 1; 40: y := y + 1;
27: stop := True;
end;

егер перне басылған болса, …


Слайд 131 Программасы
program qq;
var x, y, k, code, i: integer;

Программасыprogram qq;var x, y, k, code, i: integer; stop: boolean;begin ...

stop: boolean;



begin
...
repeat
Draw(x, y, True);

Delay(20);
Draw(x, y, False);



until stop;
end.

procedure Draw(x,y: integer; flag: Boolean);
begin
...
end;


if IsEvent then begin
...
end;

процедура

негізгі цикл

оқиғаларды өңдеу


Слайд 132 Жыпылықтауды қалай кетіруге болады?
Проблема: ешбір перне басылмағанның өзінде

Жыпылықтауды қалай кетіруге болады?Проблема: ешбір перне басылмағанның өзінде де квадрат әр

де квадрат әр 20 мс сайын басқа түске боялып

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

while not IsEvent do;


Слайд 133 Программасы
program qq;
var x, y, k, code, i: integer;

Программасыprogram qq;var x, y, k, code, i: integer; stop: boolean;begin ...

stop: boolean;




begin
...
repeat
Draw(x, y, True);

while not IsEvent do;



until stop;
end.

procedure Draw(x,y: integer; flag: Boolean);
begin
...
end;


Draw(x, y, False);
Event(k, code, i);
...

while not IsEvent do;

процедура

квадраттың суретін саламыз

оқиғаны күтеміз

енді өшіруге болады


Слайд 134 "4": Квадрат бағыттауыш пернелерді басқан бағытта жылжып отырады,

алайда көк квадраттың шекарасынан асып кете алмайды:





"5":

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

Тапсырмалар
















Слайд 135
Айналу
Есеп: Жердің Күнді айналу моделін бейнелеу.
Проблема: шеңбер бойымен

АйналуЕсеп: Жердің Күнді айналу моделін бейнелеу.Проблема: шеңбер бойымен айналу, координаталарды қалай

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

α –ның айналу бұрышын қолдану (циклде өзгерту)



(x0, y0)



α

L

(x, y)

x = x0 + L·cos(α)
y = y0 – L·sin(α)



Слайд 136 Процедура
procedure Draw(x, y: integer; flag: boolean);
const r =

Процедураprocedure Draw(x, y: integer; flag: boolean);const r = 10;begin if flag

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;

сурет салу (True) немесе салмау (False)?

суретін саламыз: қылқалам түсі – көгілдір

суретті өшіреміз: қылқалам түсі – қара

тек қана құю!

Жердің радиусы



(x-r, y-r)





(x,y)

(x+r, y+r)


Слайд 137 Тұрақтылар мен айнымалылар
program qq;
const rSun = 60;

Тұрақтылар мен айнымалыларprogram qq;const rSun = 60; { Күннің радиусы }

{ Күннің радиусы }
L = 150;

{ Жер орбитасының радиусы }
x0 = 200; { Күн центрінің координаталары }
y0 = 200;
var x, y, { Жердің координаталары }
k, code, i: integer; { Event үшін }
a, ha: real; { айналу бұрышы, қадам }
stop: boolean; { программаны тоқтату белгісі }




begin
...
end.

procedure Draw(x, y: integer; flag: Boolean);
begin
...
end;


Слайд 138 Негізгі программа
program qq;
...
begin
Brush(1, 0, 0, 0); Fill(1,1);

Негізгі программаprogram qq;...begin Brush(1, 0, 0, 0); Fill(1,1); Brush(1, 255, 255,

Brush(1, 255, 255, 0);
Ellipse(x0-rSun, y0-rSun, x0+rSun, y0+rSun);
a

:= 0; ha := 1*pi/180;{ бастапқы бұрыш, 100 мс-та 1o қадам}
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);
Draw(x, y, False);




a := a + ha;
until stop;
end.


фонды қара түске бояу

Күннің суретін саламыз

жаңа координаталар

ha бұрышына бұрылу

100 мс күтеміз

if IsEvent then begin
Event(k, code, i);
if (k = 1) and (code = 27) then stop := true;
end;


Слайд 139 "4": Күнді айналып жүрген екі планетаның моделін бейнелеу,

планеталар бір-біріне қарама-қарсы бағытта қозғалатын болсын:


"5": Күн-Жер-Ай

жүйесінің моделін бейнелеу:

Тапсырмалар










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

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

Слайд 141 Кездейсоқ сандар
Кездейсоқ көріністер: барлық жерде…
тиынды лақтыру ("орел" немесе

Кездейсоқ сандарКездейсоқ көріністер: барлық жерде…тиынды лақтыру (

"решка")
қардың түсуі
броундық қозғалыс
телефон байланысында болатын ақаулар
радиоэфирдің шуы
Кездейсоқ сандар –

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

Слайд 142 Жалған кездейсоқ сандар
Жалған кездейсоқ сандар – бойында кездейсоқ

Жалған кездейсоқ сандарЖалған кездейсоқ сандар – бойында кездейсоқ сандардың қасиеті бар,

сандардың қасиеті бар, бірақ әрбір келесі сан алдын ала

берілген формула бойынша есептелетін сандардың тізбегін айтады.
Мысалдар:
Кездейсоқ бүтін сандар [0,m) (сызықты конгруэнтті әдіс)

Кездейсоқ нақты сандар [0,1]

санның бөлшек бөлігі

a, c, m - бүтін сандар

жай сан

230-1

мысал, k = 5


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

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

түседі
орналасуы
бірқалыпты
бірқалыпты емес


Слайд 144 Кездейсоқ сандардың орналасуы
Ерекшеліктері:
орналасу – бұл бір ғана

Кездейсоқ сандардың орналасуыЕрекшеліктері: орналасу – бұл бір ғана санның емес бүкіл

санның емес бүкіл тізбектің сипаттамасы
бірқалыпсыздардың саны – көп
кез келген

бірқалыпсыз орналасуды бірқалыпты орналасудың көмегімен алуға болады.


a

b

a

b

бірқалыпты орналасу

бірқалыпсыз орналасу


Слайд 145 Паскальдегі кездейсоқ сандардың генераторы
[0,N] интервалындағы бүтін сандар:

Паскальдегі кездейсоқ сандардың генераторы [0,N] интервалындағы бүтін сандар: var x: integer;

var x: integer;
...
x := random ( 100

); { интервал [0,99] }
[0,1] интервалындағы бүтін сандар:
var x: real;
...
x := random; { интервал [0,1] }


Слайд 146 Кездейсоқ сандар
Есеп: 400х300 пиксельді тіктөртбұрыштың

Кездейсоқ сандарЕсеп: 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;

Программаprogram qq;var x, y, k, code, i: integer; stop: boolean;begin stop

stop: boolean;
begin
stop := False;
repeat

x := random(400);
y := random(300);
Pen(1, random(256), random(256), random(256));
Point(x, y );
if IsEvent then begin
Event(k, code, i);
if (k = 1) and (code = 27) then stop := True;
end;
until stop;
end.


кездейсоқ координаталар

кездейсоқ түс

Esc пернесін басып шығып кету


Слайд 148 "4": Пернетақтадан тіктөртбұрыш бұрыштарының координаталарын енгізіп, тіктөртбұрыштың ішін

түстері кездейсоқ нүктелермен толтыру керек.

"5": Үшбұрыштың ішін түстері

кездейсоқ болатын нүктелермен толтыру. (бірқалыпты немесе бірқалыпты емес).
Қосымша көмек: бұрышы 45о болатын теңбүйірлі үшбұрышты алу керек .

Тапсырмалар


(100,100)

(300,200)


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

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

Слайд 150 Функциялар
Функция – нәтижесі қандай да бір мәнге ие

ФункцияларФункция – нәтижесі қандай да бір мәнге ие болатын көмекші алгоритм

болатын көмекші алгоритм (қосалқы программа).
Мысалдар:

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

Слайд 151
Функциялар
Есеп: екі санның үлкенін анықтайтын функция құру

ФункцияларЕсеп: екі санның үлкенін анықтайтын функция құру және оны қолдануға мысал

және оны қолдануға мысал келтіру
Функция:
формальды параметрлер




function Max (a, b:

integer): integer;
begin
if a > b then Max := a
else Max := b;
end.

бұл функцияны нәтижесі



Слайд 152 Функциялар
Ерекшеліктері:
тақырыбы function сөзімен басталады
функцияда формальды параметрлер процедурадағыдай сипатталады
айнымалы

ФункцияларЕрекшеліктері:тақырыбы function сөзімен басталадыфункцияда формальды параметрлер процедурадағыдай сипатталадыайнымалы параметрлерді пайдалануға боладытақырыптың

параметрлерді пайдалануға болады
тақырыптың соңында қоснүктеден кейін нәтиженің типі көрсетіледі
функциялар

негізгі программадан ЖОҒАРЫ орналасады

Слайд 153 Функциялар
Ерекшеліктері:
жергілікті айнымалыларды жариялауға және пайдалануға болады
нәтиже болатын мән

ФункцияларЕрекшеліктері:жергілікті айнымалыларды жариялауға және пайдалануға боладынәтиже болатын мән - аты функцияның

- аты функцияның атымен сәйкес келетін айнымалыға жазылады; оны

жариялаудың ҚАЖЕТІ ЖОҚ:

Слайд 154 Программа
program qq;
var a, b, max: integer;




begin
writeln(‘Екі сан

Программаprogram qq;var a, b, max: integer;begin writeln(‘Екі сан енгіз'); read(a, b);

енгіз');
read(a, b);
max := Max ( a, b

);
writeln(‘Санның үлкені ', max );
end.

function Max (a, b: integer): integer;
begin
...
end;

c

c

c

нақты параметрлер

функцияны шақыру


Слайд 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 саны – құрама сан }

for i := 2 to N-1 do
if N mod i = 0 then
count := count + 1;


Слайд 156 Логикалық функциялар
program qq;
var N: integer;










begin
writeln(‘Бүтін сан енгіз');

Логикалық функцияларprogram qq;var N: integer;begin writeln(‘Бүтін сан енгіз'); read(N); if Prime(N)

read(N);
if Prime(N) then
writeln(N,

' – жай сан')
else writeln(N, ' – құрама сан');
end.

function Prime (N: integer): boolean;
var count, i: integer;
begin
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;


функцияны шақыру

нәтижесі – логикалық мән

шарт дегеніміз – логикалық мән

таңдап алу тек -ге дейін


Слайд 157
Тапсырмалар
"4": 1-ден N-ге дейінгі сандардың қосындысын анықтайтын функция

Тапсырмалар

құру және оны қолдануға мысал келтіру.
Мысал:
Сан

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

Слайд 158
Тапсырмалар (2-нұсқа)
"4": Екі натурал санның ең үлкен ортақ

Тапсырмалар (2-нұсқа)

бөлгішін анықтайтын функция құру және оны қолдануға мысал келтіру.

Мысал:
Екі сан енгіз:
14 21
ЕҮОБ(14,21)=7
"5": Синус функциясын қатардың қосындысы секілді есептейтін функция құру. (0.001 дәлдікпен)

Мысал:
Градус түріндегі бұрышты енгіз:
45
sin(45) = 0.707

x радиан түрінде!


  • Имя файла: paskal-tіlіnde-programmalau-negіzderі-boyynsha-prezentatsiya-pascal-tіlіnde-programmalau.pptx
  • Количество просмотров: 168
  • Количество скачиваний: 0