Оу тобы ет918г пн аты Алгоритмдеу жне бадарламалау Кні 03. 04. 2020 саат 13 30
Скачать 223.61 Kb.
|
Оқу тобы: ЕТ-9-18Г Пән аты: Алгоритмдеу және бағдарламалау Күні: 03.04.2020 сағат 13:30 Оқытушы: Тажикова Г. Сабақтың тақырыбы: Бірөлшемді жиымдар үшін көпжолдық редактор компоненттерін қолдану Жиымдар (массивтер). Жиым дегеніміз – бұл бір атаумен белгіленіп біріктірілген біртекті элемнттер жиыны. Жиымға кіретін айнымалыларды массивтің элементтері дейді. Олардың саны сипаттау бөлімінде анықталады да, программаның орындалу барысында өзгермейді. Жиым элементтерінің типі файлдан басқа кез келген (бүтін, нақты, символдық, жолдық, жиымдық т.б) тип бола алады. Жиым тұтасымен бір атпен аталады, ал элементтерінің реті индекс арқылы көрсетіледі (а[1], x[16,1]) Жиымның типін анықтау үшін array, of қызметші сөздері қолданылады. Жиым жазылуының жалпы түрі: var жиым аты:array[бас.индекс .. макс.индекс] of элемент типі; Мысалы, var a : array [1 .. 4] of integer; Мұнда array - жиым of - дан, -ден, -тан, -тен түйінді сөздер. Мысалы, жиым элементтерін енгізу үшін: For i:=1 to n do Readln (A[i]); Ал шығару үшін: For i:=1 to n do Writeln (‘A[i]=’, A[i]); Жиым Паскаль тілінің сипаттау бөлімінде былай көрсетіледі: Айнымалылар тарауында массивті сипаттау форматы: Var <массив аты>:array[<индекстің типі>] of <базалық тип> var A : array[ 1 .. 10 ] of integer; аты бастапқы индекс соңғы индекс Элемент типі Мысалы: i 1 2 3 4 5 6 7 8 9 10 А[i] 2 3.5 -7.11 0 91 -75 0 0.05 8.8 -9.81 Егер жиым атауында бір ғана индекс болса, онда ол жиымды бір өлшемді (сызықтық) жиым деп атаймыз. ндекс болса, онда ол жиымды бір өлшемді (сызықтық) жиым деп атаймыз. Бір өлшемді жиымдар Мысалы: Бірөлшемді жиым ұғымы Өмірден бір мысал келтірейік. Сынып журналының өзі бір массив болып саналады.Ал, осы журналдағы оқушылардың тізімі индекс болып табылады. Әрбір оқушы осы жиымның элементі. Р/с Окушының аты-жөні Туған жылы,айы, күні 1 Асқаров Мерхан 18.08.1998 2 Бақтығалиева Айбану 22.05.1998 3 Бисенғалиева Мира 21.12.1998 ж 4 Дұздыбеков Ғайнибек 20.09.1998ж 5 Ермекова Диляра 15.08.19948ж ****** ********************* ************ 14 Мақсотова Гульфара 13.09.1998ж 15 Нармұхамедова Асия 09.12.1998 ж. Дельфиде компонеттері Массивтермен жұмыс Бір атау арқылы байланыстырылған бір типті айнымалылардын (неолардың мәндерінің) жиынтығы массив депаталады. Сызықтық массивжәне матрицаменжұмыс істеу негіздері Паскальдағы сияқгы. 1-Мысал. 0..99 аралығындағы бүтін типті кездейсоқ n саннан тұратын сызықтық массивқұрып, оның минимумын, максимумын және орта мәнін табукерек (n = 500). Жаңа проекташу; Формада Label1, Button1 компоненттерін орнатып, олардың Caption қасиеттеріне мәндер меншіктеу (біріншісін бос ету,екіншісіне ОK мәнін меншіктеу); ОK түймесінің OnClickоқиғасын өндейтін процедурақұру: procedureTForm1.OnClickClick(Sender: TObject); const n=500; // массив элементтерінің саны m=100; // кездейсоқ саңдар алынатын // аралықтың жоғарғы шегі var ms : array [1..n] of integer; //бүгін сандар массиві k : integer; // массив индексі min, max : integer; // ең кіші және ең үлкен сан sum: real; // сандар қосындысы begin for k := 1 to n do ms[k] := round(random(m)); // массивті кездейсоқ // бүтін сандармен толтыру min := ms[l]; max := ms[l]; sum := 0; for k := 1 to n do begin sum := sum+ms[k]; if ms[k] else if ms[k]>max then max := ms[k] ; sum:= sum/n ; Label1.Color:= clWhite; Label1.Caption := 'min='+IntToStr(min) +#13 +'maxs'+IntToStr(max) +#13+'orta man=' +FloatToStr(sum); end ; 4. Проектіні сақтап, іске қосу. Көрінген форманың ОК түймесін шерту. Нәтижелік форма 2.20-суретте көрсетілген. 2.20-сурет. Нәтижелер шығарылған форма Матрицамен жұмыс 2-мысал. 100метрлік қашықтыққа жүгіру барысында үш топтың әрқайсысынан төрт студентіріктеп алынды. Олардың секөнтпен өлшенген жүгіру нәтижелері 2.6-кестеге енгізілген. Қайсы топтың студенттері бірінші орынға шықты? Орта есеппенолардың әрқайсысы 100метрді қанша уақытта өтті? 1-топ 2-топ 3-топ
1 2 3 4 1. Жаңа проект ашу; 2. Формата Label1, Label2 өрістері менButton1 түймесін opнату; 3. Label1, Label1 компонеттерінің Caption қасиеттерінің мәндерін тазалау (босету), Button1 түймесінің сәйкес қасиетіне ОК мәнін, форманың сәйкес қасиетіне Нәтиже сөзін меншіктеу. 4. Код терезесінде Button1 түймесінің onClick оқиғасын өндейіш процедурасын құру. procedure TffFixed.Button1Click(Sender: TObject); var a : array [1..4, 1..3] of string; s: array [1..3] of real; nomer, k, j : integer; min : real; nomerT : string; begin {енгізу терезесіне массив элемен-ттерін ретімен енгізу for k := 1 to 4 do for j := 1 to 3 do a[kj] := InputBox(", 'кезекті элемент- ', "); {op баган элементтерін косындььтаұ} s[1] :=0; s[2] := 0; s[3] := 0; for j := 1 to 3 do for k:=1 to 4 do s[j]:= s[j]+StrToFloat(a[k,j]); {жеңімпаз топтын, жинаған барлық үпайы, топ нөмірі} min := s[1]; nomer := 1; for j := 2 to 3 do if s[j] begin min := s[j]; nomer :=j; end; nomerT := IntToStr(nomer); min := min/4; {нәтиже} Label1.Color := clWhite; Label1.Caption := '1-орынға шыкканы: '+ nomerT+' - топ'; Label2.Color := clWhite; Label2.Caption :='Бір студенттің орташа уақыты'+FloatToStr(min, ffFixed,''); end; 5. Проектіні сақтап, іске қосу. Форма көрінеді. Онын Button1 түймесін шерту. Енгізу терезесі көрінеді. Оған элементтерді енгізу. Нәтиже көрінеді (2.21-сурет). 2.21-сурет. Жарыс нәтижесі Ескерту. Енгізу терезесіне элементтерді цикл бойыншаенгізу үшін ер элементклавиатрурадан енгізілген сайын оньщ ОК түймесін шерту неКҚ клавишін басу керек. Негізгіәдебиеттер:2[37-56], 12[15-35], 7[17-32] |