СУММА ЭЛЕМЕНТОВ МАССИВА ПО УСЛОВИЮ



.

М А С С И В Ы

 

ПОСТАНОВКА ЗАДАЧИ - существует большое число задач, требующих много однотипных переменных. Например, присвоить переменным значения среднесуточных температур в течение года.

Работать с таким количеством переменных очень трудно: процесс описания, присваивания, способы обработки переменных и т.д.

 

РЕШЕНИЕ ЗАДАЧИ - введем новое понятие - массив.

МАССИВ - это упорядоченный по номерам набор значений, объединенных общим типом и именем. Упорядоченность в том, что элементы массива располагаются в последовательных, пронумерованных ячейках памяти. Массив имеет фиксированные: имя, тип и количество значений. Массиву выделяется место в памяти.

Элементы массива - это переменные с индексами. Индексы можно вычислять.

 

ОПРЕДЕЛЕНИЕ МАССИВА - массивы, как и простые переменные, подлежат описанию в разделе переменных:

 

VAR <имя>: ARRAY[<min индекс..max индекс>] OF <тип элементов>;

 

array (эррэй) - массив. of (оф) - из.

Тип индексов - любой скалярный тип кроме real. Индексы можно вычислять.

Тип элементов - любой для данной версии языка.

[min..max] - размер массива. min - нижняя, max –верхняя границы индексов. min<=max. Границы можно задать с помощью переменных.

 

Можно задавать постоянный массив:

const x: array [1..10] of integer=(4,6,3,5,2,1,7,8,9,13);

const x: array [1..8] of char=('a','b','c','d','e','f','g','h');

Элементы таких массивов являются константами.

 

Если массивы одинаковы и отличаются лишь именами, то их можно описать в одной строке:

var a,b,c :array[1..n] of real; , где n -верхняя граница индекса и n описывается в разделе констант.

 

ВИДЫ МАССИВОВ :

 

Одномерные - ряд элементов. B[5] - 5-ый элемент массива.

Двумерные   - таблицы. B[3,5] - элемент таблицы B ,стоящий в 3 строке и в 5 столбце.

Многомерные- ряд таблиц (изучаются в Вузе).

 

ЗАПОЛНЕНИЕ МАССИВА:

1. С помощью CONST.

2. С помощью READ и циклической конструкции.

3. Часто требуется обнуление ячеек массива. For I:=1 to n do A[I]:=0;

4. Для отладки программ и для программирования игр, тестов применяют заполнение массива случайными числами. randomize;For I:=1 to n do A[I]:=random(q-p+1)+p; q³p

5. Присваивание значений. A[1]:=7; A[2]:=77; A[3}:=33; и т. д.


ПРАКТИЧЕСКОЕ ЗАДАНИЕ № 1

ЗАПОЛНЕНИЕ И ВЫВОД МАССИВОВ

 

Заполнить и вывести на экран одномерный массив целых чисел.

 

Program Primer1;

var a: array[1..5] of integer;

    i: integer;

Begin

{******* заполнение массива c клавиатуры *******}

for i:=1 to 5 do

Begin

  write('a[',i,']='); readln(a[i]);

end;

clrscr;

{***** вывод массива на экран *****}

 Write(‘Массив А: ’); for i:=1 to 5 do write(a[i],’ ‘);

End.

 

 

З А Д А Н И Я:

 

1.1. Набрать и исполнить программу.

 

1.2. Увеличить число элементов массива.

 

1.3. Описать размерность массива с помощью констант.

 

1.4. Оформить программу с помощью процедуры ввода массива и процедуры вывода массива на экран.

 

 

ПРАКТИЧЕСКОЕ ЗАДАНИЕ № 2

Заполнить и вывести на экран одномерный массив символов.

 

Program Primer2;

const a: array[1..5] of char=('a','b','c','d','e');

procedure Print(n: integer);

var i: integer;

Begin

for i:=1 to n do write (a[i]:2)

end;

Begin

write('Массив А: '); Print(5);

End.

 

 

З А Д А Н И Я:

 

2.1. Набрать и исполнить программу.

 

2.2. Вывести на экран первые 3 буквы.

 

2.3. Заполнить массив дробными и отрицательными значениями.

 

2.4. Заполнить и вывести на экран одномерный массив, содержащий 200 одинаковых элементов.

 

 

ПРАКТИЧЕСКОЕ ЗАДАНИЕ № 3

 

ОБРАБОТКА ОДНОМЕРНЫХ ЧИСЛОВЫХ МАССИВОВ.

#1. СУММИРОВАНИЕ ЭЛЕМЕНТОВ МАССИВА

 

ПОСТАНОВКА ЗАДАЧИ: Найти сумму элементов одномерного массива.

Найти среднее арифметическое.

Program Summa;

const n=5;

var a: array[1..n] of integer;

m,i,s: integer;                                                    Автоматическое заполнение

                                                                             случайными числами от1 до20

procedure Input;                                                  Procedure Input;

begin                                                                 begin

for i:=1 to n do                                                  p:=1; q:=20; randomize;

begin                                                                for i:=1 to n do a[i]:=random(q-p+1)+p;

   write('a[',i,']='); readln(a[i]);                        end;

End

end;

procedure Print;

Begin

write('Массив целых чисел А: ');

  for i:=1 to n do write(' ',a[i])

writeln; writeln;           { пропуск строки                                    }

end;

procedure Sum( m: integer);

Begin

s:=0;

for i:=1 to m do s:=s+a[i];

end;

Begin

Input;                                         { заполнение массива из 5 элементов  }

ClrScr;

Print;                                         { печать заполненного массива            }

write('Сколько элементов суммировать: '); readln(m);

Sum(m); writeln;           { суммирование m элементов массива }

writeln('Сумма ',m,' элементов массива равна: ', s);

                                          { суммирование всех элементов массива }

Sum(n); writeln;

writeln('Сумма всех ',n,' элементов массива равна: ', s);

Write ('Среднее арифметическое всех элементов равно ', s/n);

End.

З А Д А Н И Я:

 

3.1. Набрать и исполнить программу.

 

3.2. Увеличить число элементов массива.

 

3.3. Найти сумму 8 элементов массива.

 

3.4. Осуществить ввод количества элементов массива с клавиатуры.

 

ПРАКТИЧЕСКОЕ ЗАДАНИЕ № 4

 

     #2. ОБРАБОТКА ОДНОМЕРНЫХ ЧИСЛОВЫХ МАССИВОВ

СУММА ЭЛЕМЕНТОВ МАССИВА ПО УСЛОВИЮ

 

 

ПОСТАНОВКА ЗАДАЧИ: Заполнить и вывести массив на экран.

               Ввести условие суммирования ( а[i]<u ).

              Найти сумму и вывести на экран результат.

 

Program SumUsl; uses crt;

const a: array[1..10] of integer=(3,5,2,1,6,3,8,7,5,9);

var i, s, u: integer;

procedure Su;

Begin

s:=0;

for i:=1 to 10 do if a[i]<u then s:=s+a[i]

write('Сумма элементов меньших ',u,' равна ',s);

end;

Begin

ClrScr;

Print;          { смотри занятие 32 }

writeln; writeln;

write('Введите условие суммирования : '); readln(u);

Su;

Readkey;

End.

З А Д А Н И Я:

4.1. Изменить условие суммирования.

 

4.2. Найти произведение элементов по условию.

 

ПРАКТИЧЕСКОЕ ЗАДАНИЕ № 5

#3. ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ


Дата добавления: 2018-04-15; просмотров: 667; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!