Хелпикс

Главная

Контакты

Случайная статья





Пример №1. Пример №2. Пример №3.



Пример №1

Задан массив Y(8) из восьми элементов, как положительных так и отрицательных. Если индекс YMAX<7, то заменить в исходном ряду положительные элементы Yi на YMAX.

 

Исходный массив (значения): 4   3  -45  2 -98   10   2 -67

Индексы элементов:            1   2     3      4    5  6     7      8 

YMAX=10 N=6 N<7

Результирующий массив:  10 10  -45 10 -98 10 10 -67

 

N- индекс YMAX

I – переменная цикла

 

PROGRAM LAB;

VAR Y:ARRAY[1..8] OF REAL;

       YMAX:REAL;

        N,I:INTEGER;

BEGIN

        WRITELN(‘Ввод массива Y’);

         FOR I:=1 TO 8 DO

         READ(Y[I]);

         YMAX:=Y[1]; N:=1;

          FOR I:=1 TO 8 DO

         IF YMAX<Y[I] THEN BEGIN YMAX:=Y[I]; N:=I; END;

         IF N<7 THEN BEGIN FOR I:=1 TO 8 DO

         IF Y[I]>0 THEN Y[I]:=YMAX; END;

         WRITELN(‘Новый массив Y’);   

          FOR I:=1 TO 8 DO

          WRITELN(Y[I]:8:3);

          WRITELN(‘YMAX=’, YMAX:9:3, ‘N=’,N:2);

END.

       

Пример №2

 

Дано: массив B(12) из двенадцати элементов. Заменить BMIN на сумму первых трех элементов массива B.

 

Исходный массив :  5 2 8  6  3 -45   4 2   34 7   23 16

Индексы элементов: 1 2  3   4   5    6 7    8  9 10 11 12

BMIN=-45 S=5+2+8=15

Результирующий массив:5  2   8  6  3  15  4 2  34  7 23 16

Индексы:                      1 2 3 4 5 6 7 8 9 10 11 12

N – индекс BMIN

S – сумма первых трех элементов массива B

I – переменная цикла

 

PROGRAM LAB;

VAR B:ARRAY[1..12] OF REAL;

      BMIN,S:REAL;

      N,I: BYTE;  

BEGIN

      WRITELN(‘Ввод массива B’);

       FOR I:=1 TO 12 DO

       READ(B[I]);

       BMIN:=B[1]; N:=1;

       FOR I:=1 TO 12 DO

        IF BMIN>B[I] THEN BEGIN BMIN:=B[I]; N:=I; END;

           S:=0;

       FOR I:=1 TO 3 DO

       S:=S+B[I];

        B[N]:=S;

        WRITELN(‘BMIN=’,BMIN:8:3, ‘S=’,S:9:3, ‘N=’,N:2)

        WRITELN(‘Новый массив  B’);

        FOR I:=1 TO 12 DO

         WRITELN(B[I]:8:3);

END. 

       

Пример №3.

 

Задан массив R(10) из десяти элементов. Определить номера первого и последнего отрицательных элементов. Найти сумму этих элементов.

 

Исходный массив: 5 9 -4 -8 2 1 6 -8 -34 4

Индексы массива: 1 2 3 4 5 6 7 8 9 10

 N1 – индекс первого отрицательного элемента массива

 N2 - индекс последнего отрицательного элемента

  N1=3 N2=9

 S - сумма этих элементов S=-4-34=-38

 I – переменная цикла

 

PROGRAM VAR31;

VAR R:ARRAY[1..10] OF REAL;

N1,N2,I:BYTE;

S:REAL;

BEGIN

      WRITELN(‘Ввод массива R’);

       FOR I:=1 TO 10 DO

       READ(R[I]);

        N1:=1;

        WHILE R[N1]>0 DO N1:=N1+1;

        N2:=10;

        WHILE R[N2]>0 DO N2:=N2-1;

        S:=R[N1]+R[N2];

        WRITELN(‘N1=’,N1:2,’N2=’,N2:2,’S=’,S:9:3);

END.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.