Программирование в среде Turbo Pascal Массивы
9”а”класс
2011-2012 уч.год
Что такое массив?
Массив - совокупность однотипных данных, хранящихся в последовательных ячейках памяти и имеющих общее имя.
Ячейки называются элементами массива.
Все элементы пронумерованы по порядку, и этот номер называется индексом элемента массива.
Простейший вид массива – одномерный массив.
-15 0
08 ян
-15 0
01 ян
-16 0
02 ян
-10 0
09 ян
03 ян
-09 0
10 ян
-10 0
-11 0
11 ян
-15 0
04 ян
-10 0
-16 0
12 ян
05 ян
-09 0
06 ян
13 ян
-13 0
-14 0
14 ян
07 ян
-10 0
Январь:
Январь имя массива,
01 ян, 02 ян… – номера элементов массива,
-15 0 , -16 0 , -10 0 … – элементы массива.
Рассмотрим запись: A[3]=80.
В этой записи:
- А – имя массива,
- 3 – номер элемента массива (индекс),
- A[3] – обозначение третьего элемента массива,
- 80 – значение третьего элемента массива.
Объявления массива в разделе описания переменных
Program name;
Uses crt;
Var
a: array [1..15] of integer ; {Массив состоящий
из 15 целочисленных элементов}
b: array [6..8] of char ; {Массив состоящий
из 3 (8-6+1) символьных элементов}
Объявление массива в разделе описания констант
Program name;
Uses crt;
Const n=10;
A: array [1..n] of integer=(11,12,13,14,15,16,17,18,19,20);
Var i:integer;
P.S. В отличие от переменных массив, объявленный в разделе констант, может изменяться в процессе работы программы.
Но количество элементов остается неизменным!
Заполнение массива вводом с клавиатуры
Var i,n : integer,
a : array [1..n] of Integer; {описание массива}
BEGIN clrscr;
Write(‘размер массива - ’);
Readln(n);
for i:=1 to n do
begin
Write(‘a[ ‘,I,’]=’);
Readln(a[i]);
еnd;
Writeln;
for i:=1 to n do
Write(a[i],’_’,); {вывод в строку}
Readkey;
ЕND.
{заполнение массива}
Заполнение массива с помощью генератора случайных чисел
Var i,n : integer,
a : array [1..n] of Integer; {описание массива}
BEGIN clrscr;
Write(‘размер массива -’);
Readln(n);
For i:=1 to n do
begin
a:=random(100)-50; {заполнение массива}
Writeln(‘a[‘,I,’]=’,a[i]); {вывод в столбик}
end ;
Readkey;
End.
Задача
В массив, состоящий из 10 элементов, добавить на 5 место новый элемент (оставив количество элементов неизмененным, послед-ний элемент изгоняется).
Массив объявляется в разделе const.
Решение
const
n=10;
a : array [1..n] of Integer=(11,12, 13,14,16,
17,18,19,20,21); {описание массива}
var
i:integеr;
BEGIN
clrscr;
for i:=10 downto 6 do
A[i]:=a[i-1]; {сдвигаем элементы, вправо, освобождая 5-е место}
A[5]:=15;
for i:=1 to n do
Write(a[i],’_’,); {вывод в строку}
Readkey;
ЕND.
Задача
В группе 14 человек. Подсчитать и вывести количество 5,4,3, полученных за контрольную работу.
Оценки задать с помощью генератора случайных чисел.
Решение
Program name;
Uses crt;
Var a: array [1..14] of integer; {описание массива}
I,k3,k4,k5:integer;
BEGIN clrscr;
For i:=1 to 14 do
begin
a[i]:=random (3)+3; {заполнение массива}
If a[i]=3 then k3:=k3+1; {количество троек}
If a[i]=4 then k4:=k4+1; {количество четвёрок}
If a[i]=5 then k5:=k5+1; {количество пятёрок}
еnd ;
Writeln(‘k3=’,k3, ‘k4=’,k4, ‘k5=’,k5,);
Readkey;
END.
Задача (самостоятельно)
В массиве, состоящем из 10 элементов, поставить недостающий элемент на 5 место, оставив количество элементов неизмененными.