СУММА ЭЛЕМЕНТОВ МАССИВА ПО УСЛОВИЮ
.
М А С С И В Ы
ПОСТАНОВКА ЗАДАЧИ - существует большое число задач, требующих много однотипных переменных. Например, присвоить переменным значения среднесуточных температур в течение года.
Работать с таким количеством переменных очень трудно: процесс описания, присваивания, способы обработки переменных и т.д.
РЕШЕНИЕ ЗАДАЧИ - введем новое понятие - массив.
МАССИВ - это упорядоченный по номерам набор значений, объединенных общим типом и именем. Упорядоченность в том, что элементы массива располагаются в последовательных, пронумерованных ячейках памяти. Массив имеет фиксированные: имя, тип и количество значений. Массиву выделяется место в памяти.
Элементы массива - это переменные с индексами. Индексы можно вычислять.
ОПРЕДЕЛЕНИЕ МАССИВА - массивы, как и простые переменные, подлежат описанию в разделе переменных:
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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!