Теория недели 15.01 - 22.01.2013: Массивы

 

Одномерные массивы – повторение

 

1. Представление  массива.

 

Массив X , состоящий из 10 элементов:

 

Элемент массива

X[1]

X[2]

X[3]

X[4]

X[5]

X[6]

X[7]

X[8]

X[9]

X[10]

Индекс

1

2

3

4

5

6

7

8

9

10

Значение элемента массива

2

3

5.6

7

2

9

11

6

3.5

9

 

2. Описание массива:

 

Var
X1, x2: array [0..60] of integer;

 

3. Вводэлементовмассива:

 

Первый вариант: ввод массива с использованием цикла с предусловием

 

     While i <= 30 Do

 

         Begin

 

            Read (X[i]); i := i + 1

 

          End;

 

Второй вариант: ввод массива с использованием цикла с постусловием

 

 

 

     Repeat

 

           Read (X[i]); i := i + 1

 

     Until i > 30;

 

 

 

Третий вариант: ввод массива с использованием цикла с параметром

 

 

 

     For i := 1 To 30 Do Read (X[i]);

 

Массив вводится с помощью цикла с параметром, где в качестве параметра используется индекс элемента массива (i).

 

4. Вывод элементов массива:

 

Вывод одномерного массива осуществляется аналогично.

 

В программе вместо операторов Read или Readln используются операторы Write или Writeln. Но просто заменить одни операторы на другие здесь недостаточно. Для того чтобы выводимые значения не сливались между собой, надо явным образом вставлять между ними разделитель – пробел или перевод строки. Приведем два возможных способа вывода массива:

 

  • For i := 1 To n Do Write (X[i],’ ‘);
  • For i := 1 To n Do Writeln (x[i]).

Задача 1: Дан целочисленный одномерный массив, состоящий из n элементов. Найти сумму и произведение нечетных элементов, кратных 3.

Program Primer1_1;

Var A: Array[1..20] Of Integer;

      i, n, s, p: Integer;

Begin

     Write (‘n=’); Readln (n);

     For i:=1 To n Do Readln (A[i]);   {вводмассива}

     s:= 0;  p:=1;

     For i:=1 To n Do   {обработкамассива}

      If (A[i] mod 2 <>0) and (A[i] mod 3 = 0) Then

      Begin

          s:=s+A[i];

          p:= p*A[i]

      End;

      Writeln (‘s=’, s, ‘p=’, p);

      Readln

      End.

Домашнее задание: Составить программу вычисления суммы элементов массива, стоящих на четных местах