Зертханалық жұмыс №7

Сабақтың тақырыбы: Бағдарламалау тілдері. Массивтер(2 сағат)

Сабақтың мақсаты: Массивтермен танысу. Массивтермен жұмыс жасауға арналған есептердің блок-схемасын және программасын құру.

Сұрақтар:

1. Массив дегеніміз не?

2. Массив қандай жағдайда қолданылады?

3. Массив элементерін қалай енгізуге және шығаруға болады?

4. Бірөлшемді массив немесе вектор дегеніміз не?

5. Екіөлшемді массив немесе матрица дегеніміз не?

6. Индекс типі қандай?

Әдебиеттер тізімі:

1. С.У.Калдыбаев, Н.Д.Лукашенок, А.Т.Ахмедиярова. Программи-рование на языке Паскаль. Учебно-методический комплекс. Алматы-2005г. 130 стр.

2. С.У.Калдыбаев, А.Т.Ахмедиярова, Г.Т.Доскараева. Лабораторный практикум по программированию на языке Паскаль. Изд. Института непрерывного образования, 2003 г, - 52 с.

3. Ж.К.Масанов, Б.А.Бельгибаев, А.С.Бижанова, К.К.Макулов. Turbo Pascal. Алматы-2004 ж. 220 бет.

4. К.З.Халыкова. Паскаль тілінде программалау. Алматы-2002 ж. 200 бет.

5. С.И.Молчанова. Основы программирования. Москва «Аквариум» ACT-1999 г.-222 стр.

6. Н.Культин. Turbo Pascal в задачах и примерах. Санкт-Петербург-2000 г. -256 стр.

7. Б.Хамзина, Г.Каниев. Курс лабораторных работ по языкам программирования Паскаль и Бейсик. Алма-Ата-1992 г. -57стр.

8. С.А.Абрамов, Г.Г.Гнездилова- Задачи по программированию. Москва «Наука»-1988 г.-224стр.

9. С.А.Абрамов, Е.В.Зима. Начала программирования на языке Паскаль. Москва «Наука»-1987г.

10. В.В.Фараонов. Программирование на ПЭВМ в среде Турбо-Паскаль. Москва, изд-во МГТУ-1990г.

Тапсырмалар:

1. Зертханалық жұмыс №7 - student2.ru векторы берілген. Вектор компоненттерін әуелі барлық теріс, сонан соң барлық оң компоненттер орналасатындай етіп реттеу керек.

2. Зертханалық жұмыс №7 - student2.ru массиві элементтерінің алғашқы аi теріс элементіне дейінгі (яғни ол элементтің алдындағы) элементтердің арифметикалық ортасын табу керек.

3. Зертханалық жұмыс №7 - student2.ru массивінде теріс элементтерінің қосындысын, оң элементтерінің көбейтіндісін және нөлдік элементтерінің санын есептеу керек.

4. Зертханалық жұмыс №7 - student2.ru массивін енгізу керек. [-1; 1] аралығында орналасқан сандардың санын және барлық қалған сандардың қосындысын есептеу керек. A(a1,a2 ,…, a50) массиві берілген. Мәндері 50-ден кіші барлық элементтердің көбейтіндісін тауып, оны мәні 100-ден үлкен элементтердің көбейтіндісіне қосу керек.

5. Зертханалық жұмыс №7 - student2.ru массивіндегі теріс элементтерінің санын, оң элементтерінің қосындысын есептейтін программа құрыңыз.

6. Зертханалық жұмыс №7 - student2.ru массиві берілген. Мәні ең кіші bi элементі орнына массив элементтері мәндерінің арифметикалық ортасын жазатын программа құрыңыз.

7. Зертханалық жұмыс №7 - student2.ru массивіндегі k нөлдік элементтер санын және Зертханалық жұмыс №7 - student2.ru есептейтін программа құрыңыз.

8. Зертханалық жұмыс №7 - student2.ru массиві берілген. Мәні ең үлкен сi элементінен кейін тұрған барлық элементтерді нөлмен алмастыру керек.

9. Зертханалық жұмыс №7 - student2.ru массиві берілген. s=a1a2a3a4+a5a6a7a8+…+a21a22a23a24 қосындысын есептеу керек.

10. А(15,15) матрицасы мен В(b1,,..., b15) векторының көбейтіндісіне тең векторды есептеу керек.

11. В(10,8) матрицасында әрбір жолының соңғы элементінің орнына осы жолдың алдыңғы элементтерінің қосындысын жазыңыз.

12. С(9,5) матрицасының 0,5 Зертханалық жұмыс №7 - student2.ru сij Зертханалық жұмыс №7 - student2.ru 10,5 шартын қанағаттандыратын барлық элементтерінің арифметикалық ортасын табу қажет.

13. А(7,9) матрицасында mах и min элементтерді анықтап және олардың орындарын алмастыру қажет.

14. А(8,9) матрицасында оң және теріс элементтердің арифметикалық ортасын табу керек.

15. Зертханалық жұмыс №7 - student2.ru есептеу керек, мұндағы Зертханалық жұмыс №7 - student2.ru -В(10,10) матрицасының нөлдік элементтерінің саны.

16. А(6,6) матрицасында диагональдық элементтердің бәрін нөлмен алмастыру қажет.

17. D(10,15) матрицасында әрбір жұп жолдардағы элементтердің қосындысы мен әрбір тақ жолдардағы элементтердің көбейтіндісін табу керек.

18. Х(12,4) матрицасының әрбір жолдындағы -10 Зертханалық жұмыс №7 - student2.ru хij Зертханалық жұмыс №7 - student2.ru 10 аралығында жататын элементтердің қосындысын табу керек.

19. Х(7,11) матрицасы берілген. Келтірілген матрицаның барлық элементтерін ең үлкен элементке бөлу жолымен Y(7,11) матрицасын құрастыру керек.

20. C(4,7) массивіндегі k нөлдік элементтер санын және Зертханалық жұмыс №7 - student2.ru есептейтін программа құрыңыз

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

Массив – бұл бір типтегі элементтердің жиынтығын құрайтын берілгендер құрылымы. Берілгендер массивтері біртипті қарапайым айнымалылар тізбегін береді. Әрбір жеке алынған айнымалы массив элементі деп аталады. Массивтің әрбір элементіне бір сандық немесе символдық мән меншіктелуі мүмкін. Массивтің әрбір элементі индексті массив атымен белгіленеді. Паскаль тілінде индекс квадрат жақшаға алынып жазылады А [I].

Массивтер бірөлшемді және көпөлшемді болуы мүмкін.

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

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

Егер массивтің әрбір элементі бір индексті болса, онда ол көпөлшемді массив деп аталады. Көпөлшемді массивтер математикада жиі қолданылады, әсіресе екіөлшемді массивтер, немесе матрицалар кең таралған.

1-мысал: Зертханалық жұмыс №7 - student2.ru массивінің ең үлкен және ең кіші элементін табатын программа құрыңыз.

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

Зертханалық жұмыс №7 - student2.ru

 
  Зертханалық жұмыс №7 - student2.ru

2-мысал:А(5,6) матрицасы берілген. і-ші компоненті А матрицасының і-ші жолының оң элементтерінің санына тең болатын Зертханалық жұмыс №7 - student2.ru векторын құру керек.

Әрбір жолдағы Зертханалық жұмыс №7 - student2.ru оң элементтер санын есептеу үшін сыртқы циклді (i=1,n) ашқаннан кейін Зертханалық жұмыс №7 - student2.ru деп аламыз. Сонан соң ішкі циклді (j=1,m)ашып, шартты тексереміз. Егер шарт орындалса, онда тағы бір оң элемент бар деп санаймыз ( Зертханалық жұмыс №7 - student2.ru ).

Осылай әрбір жолдағы оң элементтер санын тауып, алынған нәтижелерді b векторына меншіктейміз.

program pr;

const n=5; m=6;

var a:array[l..n,l..m]of real;

b:array[l..n]of integer;

i,j:byte;

k:integer;

begin

for I:=l to n do

for j:=1 to m do

begin

writeln(‘a[‘,I,’,’,j,’]’);

read(a[i,j]);

end;

for I:=l to n do

begin

k:=0;

for j:=1 to m do

if a[i,j]>0 then k:=k+l;

b[i]:=k;

end;

for I:=l to n do

writeln (‘b[‘,i,’]=’b[i]);

end.

Наши рекомендации