Паскаль тілінде программалау


Паскаль тілінде программалау



жүктеу 3,57 Mb.
бет8/8
Дата20.11.2018
өлшемі3,57 Mb.
#22485
түріПрограмма
1   2   3   4   5   6   7   8

Паскаль тілінде программалау

  • Тақырып 12. Кездейсоқ сандар
  • Кездейсоқ сандар
  • Кездейсоқ көріністер: барлық жерде…
    • тиынды лақтыру ("орел" немесе "решка")
    • қардың түсуі
    • броундық қозғалыс
    • телефон байланысында болатын ақаулар
    • радиоэфирдің шуы
  • Кездейсоқ сандар – бұған дейінгі сандардың ретін біліп отырсақ та, келесі санның қандай екені белгісіз болатын сандардың тізбегін айтады.
  • Проблема: компьютерде осыны қалай алуға болады?
  • Мүмкін болатын шешімдері:
  • шу ақауларының сыртқы көздерін пайдалану
  • математикалық түрлендірулерді пайдалану
  • Жалған кездейсоқ сандар
  • Жалған кездейсоқ сандар – бойында кездейсоқ сандардың қасиеті бар, бірақ әрбір келесі сан алдын ала берілген формула бойынша есептелетін сандардың тізбегін айтады.
  • Мысалдар:
    • Кездейсоқ бүтін сандар [0,m) (сызықты конгруэнтті әдіс)
    • Кездейсоқ нақты сандар [0,1]
  • a, c, m - бүтін сандар
  • жай сан
  • 230-1
  • мысал, k = 5
  • Кездейсоқ сандардың орналасуы
  • Модель: қар бұршақтары [a,b] кесіндісінің аралығына түседі
  • a
  • b
  • a
  • b
  • орналасуы
  • бірқалыпты
  • бірқалыпты емес
  • Әр түрлі орналастырулардың саны қанша болуы мүмкін?
  • ?
  • Кездейсоқ сандардың орналасуы
  • Ерекшеліктері:
    • орналасу – бұл бір ғана санның емес бүкіл тізбектің сипаттамасы
    • бірқалыпсыздардың саны – көп
    • кез келген бірқалыпсыз орналасуды бірқалыпты орналасудың көмегімен алуға болады.
  • a
  • b
  • a
  • b
  • бірқалыпсыз орналасу
  • Паскальдегі кездейсоқ сандардың генераторы
  • [0,N] интервалындағы бүтін сандар:
  • var x: integer;
  • ...
  • x := random ( 100 ); { интервал [0,99] }
  • [0,1] интервалындағы бүтін сандар:
  • var x: real;
  • ...
  • x := random; { интервал [0,1] }
  • Кездейсоқ сандар
  • Есеп: 400х300 пиксельді тіктөртбұрыштың ішін түстері кездейсоқ нүктелермен бірқалыпты етіп толтыру.
  • Нүктенің кездейсоқ координаталарын қалай алуға болады?
    • x := random ( 400 );
    • y := random ( 300 );
  • Бірқалыптылықты қалай алуға болады? random функциясы қолданылса автоматты түрде қамтамасыз етіледі
  • Кездейсоқ түстерді қалай алуға болады?
    • Pen (1, random(256), random(256), random(256));
    • Point ( x, y );
  • Программа
  • 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 );
  • if IsEvent then begin
  • Event(k, code, i);
  • if (k = 1) and (code = 27) then stop := True;
  • end;
  • until stop;
  • end.
  • кездейсоқ түс
  • Esc пернесін басып шығып кету
  • "4": Пернетақтадан тіктөртбұрыш бұрыштарының координаталарын енгізіп, тіктөртбұрыштың ішін түстері кездейсоқ нүктелермен толтыру керек.
  • "5": Үшбұрыштың ішін түстері кездейсоқ болатын нүктелермен толтыру. (бірқалыпты немесе бірқалыпты емес).
  • Қосымша көмек: бұрышы 45о болатын теңбүйірлі үшбұрышты алу керек .
  • Тапсырмалар
  • (100,100)
  • (300,200)

Паскаль тілінде программалау

  • Тақырып 13. Функциялар
  • Функциялар
  • Функция – нәтижесі қандай да бір мәнге ие болатын көмекші алгоритм (қосалқы программа).
  • Мысалдар:
    • , , есептеу
    • өрнектерді күрделі формулалармен есептеу
    • сұраққа жауап (жай сан ба, әлде жай сан емес пе?)
  • Неліктен?
    • программаның әр жерінде орналасқан бірдей есептеулерді орындау үшін
    • функциялардың жалпыға бірдей кітапханаларын құру үшін
  • Процедурадан айырмашылығы неде?
  • ?
  • Функциялар
  • формальды параметрлер
  • function Max (a, b: integer): integer;
  • begin
  • if a > b then Max := a
  • else Max := b;
  • end.
  • бұл функцияны нәтижесі
  • Функциялар
  • Ерекшеліктері:
    • тақырыбы function сөзімен басталады
    • функцияда формальды параметрлер процедурадағыдай сипатталады
    • айнымалы параметрлерді пайдалануға болады
    • тақырыптың соңында қоснүктеден кейін нәтиженің типі көрсетіледі
    • функциялар негізгі программадан ЖОҒАРЫ орналасады
  • Max (a, b: integer): integer;
  • function
  • function Max (a, b: integer): ;
  • integer
  • function qq( a, b: integer; x: real ): real;
  • a, b: integer; x: real
  • function Max ( a, b: integer): integer;
  • var
  • Функциялар
  • Ерекшеліктері:
    • жергілікті айнымалыларды жариялауға және пайдалануға болады
    • нәтиже болатын мән - аты функцияның атымен сәйкес келетін айнымалыға жазылады; оны жариялаудың ҚАЖЕТІ ЖОҚ:
  • function Max (a, b: integer): integer;
  • begin
  • ...
  • end;
  • Max := a;
  • function qq (a, b: integer): float;
  • begin
  • ...
  • end;
  • var x, y: float;
  • Delphi-де:
  • !
  • Result := a;
  • Программа
  • program qq;
  • var a, b, max: integer;
  • begin
  • writeln(‘Екі сан енгіз');
  • read(a, b);
  • max := Max ( a, b );
  • writeln(‘Санның үлкені ', max );
  • end.
  • function Max (a, b: integer): integer;
  • begin
  • ...
  • end;
  • c
  • c
  • c
  • Айнымалылардың, функциялардың және процедуралардың аттары бірдей болмауы керек!
  • !
  • нақты параметрлер
  • функцияны шақыру
  • Логикалық функциялар
  • Есеп: енгізілген санның - жай сан екендігін анықтайтын функция құру.
  • Ерекшеліктері:
    • жауабы – логикалық мән (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;
  • Қалай жақсартуға болады?
  • ?
  • Логикалық функциялар
  • program qq;
  • var N: integer;
  • begin
  • writeln(‘Бүтін сан енгіз');
  • 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;
  • функцияны шақыру
  • нәтижесі – логикалық мән
  • шарт дегеніміз – логикалық мән
  • таңдап алу тек -ге дейін
  • Тапсырмалар
  • "4": 1-ден N-ге дейінгі сандардың қосындысын анықтайтын функция құру және оны қолдануға мысал келтіру.
  • Мысал:
  • Сан енгіз:
  • 100
  • қосынды = 5050
  • "5": Шахматты ойлап шығарған адамның N-ші торға неше бидайдың қоюын сұрағанын анықтайтын функция құру. ( 1-шісіне – 1 дән, 2-шісіне – 2 дән, 3-шісіне – 4 бидай дәнін, …)
  • Мысал:
  • Тордың нөмірін енгіз:
  • 28
  • 28-шісі торда 134217728 бидай дәні.
  • Тапсырмалар (2-нұсқа)
  • "4": Екі натурал санның ең үлкен ортақ бөлгішін анықтайтын функция құру және оны қолдануға мысал келтіру.
  • Мысал:
  • Екі сан енгіз:
  • 14 21
  • ЕҮОБ(14,21)=7
  • "5": Синус функциясын қатардың қосындысы секілді есептейтін функция құру. (0.001 дәлдікпен)
  • Мысал:
  • Градус түріндегі бұрышты енгіз:
  • 45
  • sin(45) = 0.707
  • x радиан түрінде!
  • Фильмнің соңы

жүктеу 3,57 Mb.

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8




©g.engime.org 2024
әкімшілігінің қараңыз

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