Массивы
Вариант 1 Program upr1; Var s,a:real; I: integer; Begin S:=0; For I:=1 to 10 do Begin Writeln (введите очередное число'); Readln(a); S: =s+a; End; Writeln(s=,s); end. Вариант 2 Program upr2; Var s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a20:real; Begin S:=0; Writeln(Введите десять чисел); Readln(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); S:=a1+a2+a3+a4+a5+a6+a7+a8+a9+a10; Writeln(s=,s); end. Ввести с клавиатуры 10 чисел и вычислить их сумму.
Если переменная величина может принимать различные значения в какие-то моменты времени то эти данные можно занести в таблицу. Например, температура воздуха в сентябре принимала различные значения: число T Данный пример является одномерным массивом состоящим из 9 элементов. Элементы в массиве пронумерованы от 1 до
ОДНОМЕРНЫЕ МНОГОМЕРНЫЕ
Массив – совокупность однородных элементов, объединенных одним именем причем, каждый элемент имеет свой порядковый номер. Элемент массива – отдельная переменная, входящая в массив. Индекс – числовой или буквенный указатель, которым снабжаются выражения для того, чтобы их отличить друг от друга. Индекс элемента массива – номер элемента в массиве(любой порядковый тип, кроме longint) Размерность массива – количество элементов, которое содержит массив. Чтобы обратиться к элементу массива необходимо указать имя массива и в квадратных скобках номер элемента(его индекс) Сегодня на уроке мы рассмотрим одномерные массивы. Одномерным массивом называется массив в котором каждый элемент имеет свой порядковый номер (один).
Этапы работы с массивами 1. Описание массива 2. Заполнение массива значениями 3. Обработка массива по заданному алгоритму 4. Вывод результата
1. Описание массивов Для описания массивов используются служебные слова Array, of (массив, из) 1. Явное описание Var mas:array[1..10] of integer; 2. Неявное описание Const=10; Var mas:array[1..10] of integer; 3. Через массив констант Const Mas:array[1..10] of byte=(12,4,34,5,13,8,10,26,0,15); 4. Через пользовательские типы Type mas=array[1..10] of byte; Var x:mas;
Количество элементов в массиве можно подсчитать : Например: M [1..5] 5 элементов в массиве M M [0..5] 6 элементов в массиве M M [-1..5] 7 элементов в массиве M Количество элементов(размерность) в массиве вычисляется по формуле: B-A+1 Конечное Начальное значение индекса
2. Заполнение массива: 1. Ввод с клавиатуры For i:=1 to 10 do Begin Writeln{Введите значение, i, элемента); Readln(mas[i]); End; 2. По формуле For i:=1 to 10 do Begin mas[i]:=2*i; Writeln{mas[,i,]=,mas[i]); End; 3. Случайным образом Randomize; For i:=1 to 10 do Begin mas[i]:=random(20); {будут выбираться числа на интервале от 0 до 19 включительно, если брать на произвольном интервале [a,b], то формула примет вид: mas[i]:=random(b- a+1)+a;} Writeln{mas[,i,]=,mas[i]); End;
3. Базовые алгоритмы : 1. Вычисление суммы( произведения) элементов массива: S:=0; For i:=1 to 10 do S:=s+mas[i]; {S:=1; For i:=1 to 10 do S:=s*mas[i];} 2. Подсчет количества( суммы, произведения) элементов массива, обладающих заданным свойством: a. K:=0; For i:=1 to 10 do If mas[i]>0 then k:=k+1; {подсчет количества положительных элементов} b. K:=0; For i:=1 to 10 do If mas[i]>0 then k:=k+mas[i]; {подсчет суммы положительных элементов} c. K:=1; For i:=1 to 10 do If mas[i]>0 then k:=k*mas[i]; {подсчет произведения положительных элементов}
3. Поиск максимального (минимального) элемента массива и его номера: a. K:=1;max:=mas[1]; For i:=2 to 10 do If mas[i]>mas[k] then begin k:=i; max:=mas[i]; end;{поиск максимального элемента и его номера} b. K:=1;max:=min[1]; For i:=2 to 10 do If mas[i]
4. Вставка некоторого значения x в массив с заданного номера k: Readln(k); readln(x); For i:=10 downto k do mas[i+1]:=mas[i]; mas[k]:=x; 5. Удаление элемента из массива с заданного номера k: Readln(k); For i:=k to 9 do mas[i]:=mas[i+1];
Вывод результата a. Если результатом работы является массив, то выполняют следующую группу операторов: For i:=1 to 10 do Writeln{mas[,i,]=,mas[i]); b. Если результатом обработки массивов является какая-то переменная, то выводят на экран данную переменную. Writeln(количество положительных элементов =,k);
Составить и отладить программы для следующих задач: 1. Вычислить среднее арифметическое элементов одномерного массива, размерностью 5. Элементы вводить с клавиатуры. 2. Вычислить произведение элементов массива. Элементы массива заполняются по формуле: a[i]:=i*I; 3. Вычислить значение функции y=x 2, x изменяется от -4 до 4 с шагом 1. Результаты занести в массив. 4. Изменить порядок значений элементов массива на обратный с использованием дополнительной переменной( для сильных учеников без дополнительной переменной): задано должно быть в результате
Примеры задач: 1. Найти среднее арифметическое всех элементов одномерного массива с целыми значениями, размерностью 5. Ввод элементов осуществлять с клавиатуры. Пусть массив имеет вид: А(5,8,3,1,4). Среднее арифметическое данного массива находится следующим образом: Среднее=( )/5.
На языке Паскаль это будет выглядеть так: Program u1; Uses crt; Const n=5; Var I:integer; a: array[1..n] of integer; S:real; Begin Clrscr; S:=0; For i:=1 to n do Begin Writeln{Введите значение,i,элемента); Readln(a[i]); S:= s+a[i]; End; S:=s/n; Writeln(среднее арифметическое =,s:6:1); End.