ПОӘК 042-14-02-03.1.06.134/1-2012
|
№1 баспа
|
беттің -сі
|
Массивтер
Индексті айнымалылардың жиынтығын - массивтер дейді. Массивтерді программада ќолдану үшін, оларға белгілі бір ат беріледі. Содан соң программаның VAR бөлімінде ARRAY ќызметші сөзімен сипаттап, компьютердің жадынан массив элементтеріне орын бөледі. Массивтер бір өлшемді және екі өлшемді (матрицалар) болып бөлінеді. Массив элементтерін өндіру және шығару цикл арќылы жүзеге асырылады. Екі өлшемді массивтердің бірінші индексі ќатардың, ал екіншісі - бағанның номерін білдіреді. Екі өлшемді массивтерді ендіргенде екі цикл ұйымдастырылады, сыртќы цикл - ќатарлар бойынша және ішкі цикл - бағандар номері бойынша.
Бір өлшемді массивтердің сипатталу түрлері:
CONST N=100; { N-элементтер саны}
TYPE MAS=ARRAY [1..N] OF REAL;
VAR A: MAS;
Немесе бірден VAR бөлімінде:
CONST N=100;
VAR A: ARRAY[1..N] OF REAL;
Екі өлшемді массивтер (матрицалар) сипатталу түрлері:
CONST N =100; M=100;
TYPE MAS = ARRAY [1..N, 1..M] OF REAL;
{N- ќатарлар саны, М- бағдар саны}
Массивтерге программа ќұру.
1. Массивтің теріс элементтерінің ќосындысын шығару.
PROGRAM PR1;
CONST N=20;
VAR K:INTEGER;X:ARRAY [1..N] OF REAL;
S:REAL;
BEGIN FOR K:=1 TO N DO REFD (X[K]);
S:=0; FOR K:=1 TO N DO IF X [K]<0
THEN S:=S+X [K];
WRITELN (Теріс элементтер ќосындысы',S:7:2); END.
2. Массивтің 5-тен үлкен элементтерінің көбейтіндісі.
PROGRAM PROIZV;
CONST N=20;
VAR K,N:INTEGER;
X:ARRAY [1..100] OF REAL; S: REAL;
BEGIN WRITLEN ('Массив элементтерінің санын енгіз');
READ (N); FOR K:=1 TO N DO IF X[K]> 5 THEN
S:=S*X[K];
WRITELN ('5 -тен үлкен элементтер ќосындысы=',S:7:2); END.
3. Массивтің таќ номерлері элементтерінің ішінде 0-ге тең элементтерінің санын шығару.
PROGRAM POV;
TYPE MAS=ARRAY[1..10] OF REAL;
VAR K: ITEGER; X:MAS; S: REAL;
BEGIN
FOR K:=1 TO 10 DO READ (X[K]);
S:=0;
FOR K:=0 TO 9 DO BEGIN K:=K+1; IF X [K]=0 THEN
S:=S+1; END;
WRITELN ('0-ге тең элементтер саны=',S:7:2); END.
4. Массивтің жұп номерлері элементтерінің ішінде 5-тен артыќ элементтерінің номерін экранға шығару.
PROGRAM POV;
TYPE MAS =ARRAY [1..10] OF REAL;
VAR K: INTEGER; X:MAS; S:REAL;
BEGIN
FOR K:=1 TO 10 DO READ (X[K]);
S:=0;
FOR K:=1 TO 10DO
BEGIN K:=K+1; IF X[K]>5THEN
WRITELN ('5-тен үлкен элементтер саны =',K); END'END.
5.Массивтің бүтін элементтерін шығару.
PROGRAM 2PR2;
CONST N=5;
VAR A:?ARRAY [1..N] OF REAL;
P,K:INTEGER;
BEGIN
FOR K:=1 TO N DO
IF A [K]=TRUNC(A [K]) THEN P:=P+1;
WRITELN(?бүтін элементтер=?,P); END.
6.Массивтің жұп элементтерінің санын табу.
PROGRAM PR3;
CNST N=15;
VAR A: ARRAY[1..N]OF INTEGER;
P,K,I:INTEGER;
BEGIN
FOR K:=1 TO N DO
IF ODD(A[K]) THEN P:=P+1;
I:=N-P;
WRITELN('Жұп элементтер саны=',); END.
7. Массивтің таќ элементтерін экранға шығару.
PROGRAM NESHETN;
LABEL 1;
CONST N=15;
VAR A:ARRAY [1..N] OF INTEGER;
P,K:INTEGER;
BEGIN
FOR K:=1 TO N DO READ (A[K]);
P:=0;
FOR K:=1 TO NDO
BEGIN
IF ODD (A[K]) THEN GOTO 1 ELSE
WRITELN(?Таќ элемент=?,A[K]);
1:END;END.
8.Массивтің ең үлкен элементін шығару.
A) DOWNTO операторымен
PROGRAM MAX; CONST N=10;
VAR A:ARRAY [1..N] OF REAL; P:REAL; K,I:INEGER;
BEGIN FOR K:=1 TO N DO READ ( A[K]);
P:=A[N]; I:=N;
FOR K:=N DOWNTO 1 DO
IF A[K]>P THEN BEGIN I:=K; P:=A[K] END;
WRITELN('Ең үлкен элемент='A[I]:4:2);
END.
В) FOR ТО операторымен
PROGRAM MAX;
CONST N=10;
VAR A:ARRAY [1..N]OF REAL; P:REAL;
K,I:INTEGER;
BEGIN
FOR K:=1 TO N DO READ (A[K]);
P:=A[1]; I:=N;
FOR K:=1 TO N DO
IF A[K] >P THEN BEGIN I:=K; P:=A[K] END;
WRITELN (?=Ең үлкен элемент?,A[I]:4:2);
END.
9. Спортсмендерге ќорытынды баға шығару программасы.
( Гимнастика жарысында спортсмендердің жаттығуларын 10 төреші бағалайды.
Ќорытынды баға шығарғанда, жарыс ережесі бойынша жалпы бағадан спортсменнің ең төменгі жєне ең жоғарғы алған бағаларын бір- бірден алып тастап, арифметикалыќ ортасын шығарады.
PROGRAM SRBALL;
VAR X:ARRAY [1..10] OF INTEGER;
A: REAL; K,S, MAX, MIN:INTEGER;
BEGIN
FOR K:=TO 10 DO READ (X[K]);
MIN:=X[1];
FOR K:=2 TO 10DO
IF X[K]>MAX THEN MAX:=X[K];
S:=0;
FOR K:=1 TO 10 DO S:= S+X[K]; A:= (S-MIN-MAX)/8;
WRITELN (?Ќорытынды баға A=?,A[I]:7:3);
END.
10. Массив элементтерін кему бойынша реттеу.
PROGRAM UBIV;
VAR K,I:INTEGER;
X:ARRAY [1..10] OF INTEGER;
S,MAX,A:INTEGER;
BEGIN
FOR K:=1 TO 10 DO READ (X[K]);
FOR K:=10 DOWNTO I DO
IF X[K]> MAX THEN
BEGIN A:=K; MAX:=X[K]) END;
X[A]:=X[I];
X[I]:=MAX;
END;
FOR K:=1 TO 10 DO WRITELN ('X[K]:5);
END.
11.Сыныптағы әр оќушының үлгерім проценті берілген, үлгерімі ең төмен оќушының сыныптың орта үлгерім процентіне жетуі үшін үлгерімін ќанша процентке арттыру керектігін есептеу программасы.
PROGRAM UKP;
VAR K,I:INTEGER;
X:ARRAY [1..20] OF REAL;
S,MIN,A:REAL;
BEGIN
PEREAT
READLN (X[1]>0);
UNTIL (X[1]<101) AND (X[1]>0);
MIN:=X[1]; S:=MIN;
FOR K:=2 TO 20 DO
BEGIN
REPEAT
READLN (X[K]);
UNTIL (X[1]<101) AND (X[1]>0);
S:=S+X[K];
IF MIN>X[K] THEN MIN:=X[K]
END;
WRITELN(?үлгерімді-',(S/5-MIN):7:2,'- процентке көбейту ќажет');
END.
0>
Достарыңызбен бөлісу: |